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

Issue 2675 #2699

Merged
merged 1 commit into from Apr 24, 2015

Conversation

Projects
None yet
4 participants
@rbtcollins
Contributor

rbtcollins commented Apr 20, 2015

Issue #2675: Granular control over wheels/sdists

With wheel autobuilding in place a release blocker is having some granular way to opt-out of wheels for known-bad packages. This patch introduces two new options: --no-binary and --only-binary to control what archives we are willing to use on both a global and per-package basis.

This also closes #2084

Show outdated Hide outdated pip/index.py Outdated
def no_binary():
return Option(
"--no-binary", dest="format_control", action="callback",

This comment has been minimized.

@qwcode

qwcode Apr 21, 2015

Contributor

I don't like "binary". I think it should be "wheel". Are we considering other built package types?

In the Packaging User Guide, we specifically describe wheels generally as "built" packages. "Binary" is reserved for when wheels contain compiled extensions.

@qwcode

qwcode Apr 21, 2015

Contributor

I don't like "binary". I think it should be "wheel". Are we considering other built package types?

In the Packaging User Guide, we specifically describe wheels generally as "built" packages. "Binary" is reserved for when wheels contain compiled extensions.

This comment has been minimized.

@rbtcollins

rbtcollins Apr 21, 2015

Contributor

I was going with the options discussed in #2084 and #2675.

@rbtcollins

rbtcollins Apr 21, 2015

Contributor

I was going with the options discussed in #2084 and #2675.

This comment has been minimized.

@dstufft

dstufft Apr 21, 2015

Member

Hmm, so there is a problem about "Binary" when it means compiled and "Binary" when it means wheels in general. One problem I'd like to address is baking the format names directly into the UI of pip. I was thinking about sdist 2.0 and what we'd end up calling that and an idea that popped into my head was "Source Wheel" (similar to RPM and Source RPM). In that vein the --use-wheel moniker would be kind of confusing to people.

Maybe that was a bad idea, I don't know.

@dstufft

dstufft Apr 21, 2015

Member

Hmm, so there is a problem about "Binary" when it means compiled and "Binary" when it means wheels in general. One problem I'd like to address is baking the format names directly into the UI of pip. I was thinking about sdist 2.0 and what we'd end up calling that and an idea that popped into my head was "Source Wheel" (similar to RPM and Source RPM). In that vein the --use-wheel moniker would be kind of confusing to people.

Maybe that was a bad idea, I don't know.

This comment has been minimized.

@qwcode

qwcode Apr 21, 2015

Contributor

WHL and sWHL..... catchy....

@qwcode

qwcode Apr 21, 2015

Contributor

WHL and sWHL..... catchy....

frozenset(formats))
canonical_name = pkg_resources.safe_name(project_name).lower()
formats = fmt_ctl_formats(self.format_control, canonical_name)
search = Search(project_name.lower(), canonical_name, formats)

This comment has been minimized.

@xavfernandez

xavfernandez Apr 23, 2015

Contributor

It didnt catch it on the previous PR but it seems strange to set project_name.lower() as the user supplied name (since the user obviously supplied project_name).

@xavfernandez

xavfernandez Apr 23, 2015

Contributor

It didnt catch it on the previous PR but it seems strange to set project_name.lower() as the user supplied name (since the user obviously supplied project_name).

This comment has been minimized.

@rbtcollins

rbtcollins Apr 24, 2015

Contributor

This is what the prior code was doing. I think its fine to want to change it but its unrelated to this goal, and since it might cause test fallout etc, I'd rather someone do that separately.

@rbtcollins

rbtcollins Apr 24, 2015

Contributor

This is what the prior code was doing. I think its fine to want to change it but its unrelated to this goal, and since it might cause test fallout etc, I'd rather someone do that separately.

Robert Collins
Issue #2675: Granular control over wheels/sdists
With wheel autobuilding in place a release blocker is some granular
way to opt-out of wheels for known-bad packages. This patch introduces
two new options: --no-binary and --only-binary to control what
archives we are willing to use on both a global and per-package basis.

This also closes #2084
@@ -1,5 +1,6 @@
from __future__ import absolute_import
import pip

This comment has been minimized.

@dstufft

dstufft Apr 24, 2015

Member

This should import like from pip.index import FormatControl or import pip.index.

@dstufft

dstufft Apr 24, 2015

Member

This should import like from pip.index import FormatControl or import pip.index.

@@ -12,6 +12,7 @@
from pip._vendor.six.moves.urllib import parse as urllib_parse
from pip._vendor.six.moves import filterfalse
import pip

This comment has been minimized.

@dstufft

dstufft Apr 24, 2015

Member

Same thing with this import.

@dstufft

dstufft Apr 24, 2015

Member

Same thing with this import.

This comment has been minimized.

@rbtcollins

rbtcollins Apr 24, 2015

Contributor

the import pip thing was to deal with circular imports. Its possible some of them would work, but I got tired of trying :(.

@rbtcollins

rbtcollins Apr 24, 2015

Contributor

the import pip thing was to deal with circular imports. Its possible some of them would work, but I got tired of trying :(.

dstufft added a commit that referenced this pull request Apr 24, 2015

@dstufft dstufft merged commit ff1206f into pypa:develop Apr 24, 2015

1 check passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details

@rbtcollins rbtcollins deleted the rbtcollins:issue-2675 branch Apr 24, 2015

@qwcode

This comment has been minimized.

Show comment
Hide comment
@qwcode

qwcode Apr 24, 2015

Contributor

can we have the changelog mention the new options by name, and also the deprecation of --[no]-use-wheel

Contributor

qwcode commented Apr 24, 2015

can we have the changelog mention the new options by name, and also the deprecation of --[no]-use-wheel

@rbtcollins

This comment has been minimized.

Show comment
Hide comment
@rbtcollins

rbtcollins Apr 24, 2015

Contributor

See #2722

Contributor

rbtcollins commented Apr 24, 2015

See #2722

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment