-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Add distribution constraint options to pip download #3092
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add distribution constraint options to pip download #3092
Conversation
2c9ea7a
to
dc42857
Compare
Working on updating this and adding some more thorough tests now |
Hello @patricklaw I'm really looking forward to |
Hi @jorgebastida, this ended up falling to the backburner as I got caught up in other things. I'll try to refresh my memory on it today and report back. Last I remember there were still some issues with plumbing the pep425 tags down. Nothing seemed particularly monumental, just needs a little tweaking and some more tests. |
dc42857
to
b84836a
Compare
Could someone clarify what the issue is with this shard? https://travis-ci.org/pypa/pip/jobs/125431745 I wasn't particularly comfortable checking in binaries, but it seemed to be the standard practice for the test fixture. If it's preferred, I can instead programmatically generate these wheels in a temp directory using a fixture. |
Okay, based on the failing pypy shard it seems like I should just generalize this patch to also deal with interpreter implementation and ABI. Working on that now. |
Added those options and figured out the packaging issue (silly mistake; accidentally checked in some debugging output). If this CI run is green then this PR is ready for review. |
It looks like a couple of shards are failing due to unrelated timeouts. Hopefully this next run is green. This is finished from my end and ready to be reviewed/merged. Please let me know if there's anything else that needs to be done. |
) | ||
|
||
cmd_opts.add_option( | ||
'--manylinux1', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we really need this special case flag ?
pip download numpy --platform=manylinux1_x86_64
could maybe do the job ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed, with the caveat that when the user is specifying a platform, manylinux1
should definitely be considered false, since it could otherwise leak into the tags in addition to what the user specified.
@xavfernandez Done! |
This needs more documentation I think with a big warning on its limitation: |
@xavfernandez Good catch. I changed it to enforce |
Travis shard failure looks spurious. |
Anything in particular blocking this being merged? |
cf43c49
to
35034d1
Compare
Rebased and squashed to fix merge conflicts. |
With the --platform option, a user can download wheels with a different platform than that of the local machine running the command. With the --python-version option, a user can download wheels that are explicitly compatible with a specific Python interpreter version. This functionality is meant for utilities that gather dependencies and prepare distributions for other platforms.
Add thorough tests, usage documentation, and handle some merge issues.
b76b0cd
to
bdb5741
Compare
Force pushed to resolve another merge conflict |
Accidentally closed this, reopening. Sorry! |
Hello! As part of an effort to ease the contribution process and adopt a more standard workflow pip has switched to doing development on the If you do nothing, this Pull Request will be automatically closed by @BrownTruck since it cannot be merged. If this pull request is still valid, please rebase it against If you choose to rebase/merge and resubmit this Pull Request, here is an example message that you can copy and paste:
|
This Pull Request was closed because it cannot be automatically reparented to the Please feel free to re-open it or re-submit it if it is still valid and you have rebased it onto |
This is a continuation of #2965. Right now this branch also includes the changes in #3085, pending 3085 being merged. This PR is to trigger Travis and to prepare for a quick followup once 3085 is merged.