-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Description
What's the problem this feature will solve?
Would like pip install mypackage-0.1.0-py3-none-any.whl
to be able to optionally install the provides_extras
metadata present within the wheel.
Describe the solution you'd like
Consider a package that contains the following in its setup.py
:
setup(
...
extras_require={
"encryption": ["tinyaes"],
},
Building a bdist_wheel
, we can see that this information is persisted into the wheel using pkginfo
:
% pkginfo mypackage-0.1.0-py3-none-any.whl
...
provides_extras: ['encryption']
Distributing the .whl
file to users is a convenient way to distribute the packaged application. It would be helpful if pip
allowed for installing the provides_extras
like is possible if the wheel were published to PyPI. The normal [encryption]
prefix syntax does not work because pip
is expecting a file path.
$ pip install --with-extras=encryption mypackage-0.1.0-py3-none-any.whl
Alternative Solutions
pip
could try to re-use the same magic syntax and strip [...]
from the end of file names.
$ pip install mypackage-0.1.0-py3-none-any.whl[encryption]