Skip to content
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

PEP 517 implementation #5743

Merged
merged 30 commits into from
Nov 15, 2018
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
744b8cf
improve build environment
benoit-pierre Oct 25, 2018
de4d503
Phase 1 - build wheels using PEP 517 hook
pfmoore Aug 16, 2018
14f35f9
Experimental fix to pep517 to use pip's subprocess caller
pfmoore Aug 17, 2018
8fbf78d
Phase 2 - generate metadata using PEP 517 hook
pfmoore Aug 20, 2018
4de2915
Update required setuptools version for PEP 517
pfmoore Aug 24, 2018
b9e92a7
With build isolation, we shouldn't check if wheel is installed to dec…
pfmoore Aug 27, 2018
b62284a
Build PEP 517 and legacy wheels separately
pfmoore Aug 27, 2018
48e9cb6
Address test failures
pfmoore Aug 28, 2018
ab3e216
Add a news file
pfmoore Aug 28, 2018
a82b7ce
Fix test_pep518_with_user_pip which was getting errors due to irrelev…
pfmoore Aug 28, 2018
4281bf8
Correct an out of date comment
pfmoore Aug 28, 2018
c8d8e37
Fix copy and paste error
pfmoore Sep 7, 2018
c0ed438
Fix for test_install_no_binary_disables_building_wheels
pfmoore Sep 7, 2018
41b07c9
Include backend-provided requirements in build environment
pfmoore Oct 9, 2018
9d2b178
Add --[no-]use-pep517 command line flag
pfmoore Oct 9, 2018
f40491b
Vendor the new version of pep517
pfmoore Oct 9, 2018
83979fe
Actually use the new --[no-]use-pep517 option
pfmoore Oct 9, 2018
f10be25
PEP 517 tests
pfmoore Oct 10, 2018
3c94d81
Support --python-tag for PEP 517 builds
pfmoore Oct 16, 2018
a4c7d7d
Add documentation
pfmoore Oct 19, 2018
f805ac1
Properly wrap all hook calls in our subprocess runner
pfmoore Oct 19, 2018
689f97c
fix failing tests
benoit-pierre Oct 26, 2018
817ef1a
add a couple of additional PEP 517 tests
benoit-pierre Oct 26, 2018
4ca38e0
Merge with master
pfmoore Nov 11, 2018
cf4d84e
Address doc review comments
pfmoore Nov 14, 2018
e8f7aa1
Pass use_pep517 option to resolver
pfmoore Nov 14, 2018
3a0f9b1
Remove unneeded TODO
pfmoore Nov 14, 2018
6b7473d
Pass --use-pep517 option to the resolver in the pip wheel command
pfmoore Nov 14, 2018
85e4f8e
Fix some remaining TODO comments
pfmoore Nov 14, 2018
f06a0cb
Move setup.py egg_info logging into run_egg_info
pfmoore Nov 14, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Pass use_pep517 option to resolver
  • Loading branch information
pfmoore committed Nov 14, 2018
commit e8f7aa1446d7aa9093912991b9d4ef649df185d3
1 change: 1 addition & 0 deletions src/pip/_internal/commands/install.py
Original file line number Diff line number Diff line change
Expand Up @@ -310,6 +310,7 @@ def run(self, options, args):
ignore_requires_python=options.ignore_requires_python,
ignore_installed=options.ignore_installed,
isolated=options.isolated_mode,
use_pep517=options.use_pep517
)
resolver.resolve(requirement_set)

Expand Down
7 changes: 4 additions & 3 deletions src/pip/_internal/req/constructors.py
Original file line number Diff line number Diff line change
Expand Up @@ -274,7 +274,8 @@ def install_req_from_line(


def install_req_from_req(
req, comes_from=None, isolated=False, wheel_cache=None
req, comes_from=None, isolated=False, wheel_cache=None,
use_pep517=None
):
try:
req = Requirement(req)
Expand All @@ -293,7 +294,7 @@ def install_req_from_req(
"%s depends on %s " % (comes_from.name, req)
)

# TODO: use_pep517?
return InstallRequirement(
req, comes_from, isolated=isolated, wheel_cache=wheel_cache
req, comes_from, isolated=isolated, wheel_cache=wheel_cache,
use_pep517=use_pep517
)
4 changes: 3 additions & 1 deletion src/pip/_internal/resolve.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ class Resolver(object):

def __init__(self, preparer, session, finder, wheel_cache, use_user_site,
ignore_dependencies, ignore_installed, ignore_requires_python,
force_reinstall, isolated, upgrade_strategy):
force_reinstall, isolated, upgrade_strategy, use_pep517=None):
super(Resolver, self).__init__()
assert upgrade_strategy in self._allowed_strategies

Expand All @@ -56,6 +56,7 @@ def __init__(self, preparer, session, finder, wheel_cache, use_user_site,
self.ignore_installed = ignore_installed
self.ignore_requires_python = ignore_requires_python
self.use_user_site = use_user_site
self.use_pep517 = use_pep517

self._discovered_dependencies = defaultdict(list)

Expand Down Expand Up @@ -273,6 +274,7 @@ def add_req(subreq, extras_requested):
req_to_install,
isolated=self.isolated,
wheel_cache=self.wheel_cache,
use_pep517=self.use_pep517
)
parent_req_name = req_to_install.name
to_scan_again, add_to_parent = requirement_set.add_requirement(
Expand Down