Skip to content

pip download should handle ABI3 tags better #6070

Closed
@dan-blanchard

Description

@dan-blanchard

What's the problem this feature will solve?
I'm trying to download all of the manylinux wheels for the packages in our requirements.txt file by running:

pip download --python-version 36 --platform manylinux1_x86_64 --implementation cp --abi cp36m --only-binary=:all: -r requirements.txt

It works very well until it encounters a package for which the ABI tag is abi3, like Cryptography's latest releases use.

Describe the solution you'd like

I would like to be able to run pip download once and have it download all of the wheels compatible with the specified version-platform-implementation. pip download should be smart enough to know abi3 is compatible with the same interpreter that has the cp36m ABI tag and that python-version doesn't matter in the ABI3 case either.

Alternative Solutions

I could manually split up the requirements file into ones with the abi3 tag and ones with cp36m tag, but I have no way of knowing which one will be which in advance, and they could change in the future.

Additional context
I really only want this to work so that I can use shiv cross-platform and it offloads all the package downloading duties to pip download.

Metadata

Metadata

Assignees

No one assigned

    Labels

    auto-lockedOutdated issues that have been locked by automationtype: enhancementImprovements to functionality

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions