Skip to content

Allow installing provides_extras from local wheel file #9694

@johnthagen

Description

@johnthagen

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]

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions