Skip to content

Commit eb36dc7

Browse files
committed
Rename is_direct to user_supplied
1 parent e10a2b5 commit eb36dc7

File tree

5 files changed

+19
-16
lines changed

5 files changed

+19
-16
lines changed

src/pip/_internal/cli/req_command.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -310,15 +310,15 @@ def get_requirements(
310310
parsed_req,
311311
isolated=options.isolated_mode,
312312
)
313-
req_to_add.is_direct = False
313+
req_to_add.user_supplied = False
314314
requirements.append(req_to_add)
315315

316316
for req in args:
317317
req_to_add = install_req_from_line(
318318
req, None, isolated=options.isolated_mode,
319319
use_pep517=options.use_pep517,
320320
)
321-
req_to_add.is_direct = True
321+
req_to_add.user_supplied = True
322322
requirements.append(req_to_add)
323323

324324
for req in options.editables:
@@ -327,7 +327,7 @@ def get_requirements(
327327
isolated=options.isolated_mode,
328328
use_pep517=options.use_pep517,
329329
)
330-
req_to_add.is_direct = True
330+
req_to_add.user_supplied = True
331331
requirements.append(req_to_add)
332332

333333
# NOTE: options.require_hashes may be set if --require-hashes is True
@@ -340,7 +340,7 @@ def get_requirements(
340340
isolated=options.isolated_mode,
341341
use_pep517=options.use_pep517
342342
)
343-
req_to_add.is_direct = True
343+
req_to_add.user_supplied = True
344344
requirements.append(req_to_add)
345345

346346
# If any requirement has hash options, enable hash checking.

src/pip/_internal/req/req_install.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,10 @@ def __init__(
171171
self.hash_options = hash_options if hash_options else {}
172172
# Set to True after successful preparation of this requirement
173173
self.prepared = False
174-
self.is_direct = False
174+
# User supplied requirement are explicitly requested for installation
175+
# by the user via CLI arguments or requirements files, as opposed to,
176+
# e.g. dependencies, extras or constraints.
177+
self.user_supplied = False
175178

176179
# Set by the legacy resolver when the requirement has been downloaded
177180
# TODO: This introduces a strong coupling between the resolver and the
@@ -809,7 +812,7 @@ def install(
809812
pycompile=pycompile,
810813
warn_script_location=warn_script_location,
811814
direct_url=direct_url,
812-
requested=self.is_direct,
815+
requested=self.user_supplied,
813816
)
814817
self.install_succeeded = True
815818
return

src/pip/_internal/req/req_set.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ def add_requirement(
110110
)
111111

112112
# This next bit is really a sanity check.
113-
assert not install_req.is_direct or parent_req_name is None, (
113+
assert not install_req.user_supplied or parent_req_name is None, (
114114
"a direct req shouldn't have a parent"
115115
)
116116

@@ -168,8 +168,8 @@ def add_requirement(
168168
existing_req.constraint = False
169169
# If we're now installing a top level requirement, mark the existing
170170
# object as top level.
171-
if install_req.is_direct:
172-
existing_req.is_direct = True
171+
if install_req.user_supplied:
172+
existing_req.user_supplied = True
173173
existing_req.extras = tuple(sorted(
174174
set(existing_req.extras) | set(install_req.extras)
175175
))

src/pip/_internal/resolution/legacy/resolver.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ def _is_upgrade_allowed(self, req):
195195
return True
196196
else:
197197
assert self.upgrade_strategy == "only-if-needed"
198-
return req.is_direct or req.constraint
198+
return req.user_supplied or req.constraint
199199

200200
def _set_req_to_reinstall(self, req):
201201
# type: (InstallRequirement) -> None
@@ -419,7 +419,7 @@ def add_req(subreq, extras_requested):
419419
# 'unnamed' requirements will get added here
420420
# 'unnamed' requirements can only come from being directly
421421
# provided by the user.
422-
assert req_to_install.is_direct
422+
assert req_to_install.user_supplied
423423
requirement_set.add_requirement(
424424
req_to_install, parent_req_name=None,
425425
)

tests/unit/test_req.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ def get_processed_req_from_line(line, fname='file', lineno=1):
5656
parsed_req = handle_requirement_line(parsed_line)
5757
assert parsed_req is not None
5858
req = install_req_from_parsed_requirement(parsed_req)
59-
req.is_direct = True
59+
req.user_supplied = True
6060
return req
6161

6262

@@ -109,7 +109,7 @@ def test_no_reuse_existing_build_dir(self, data):
109109
pass
110110
reqset = RequirementSet()
111111
req = install_req_from_line('simple')
112-
req.is_direct = True
112+
req.user_supplied = True
113113
reqset.add_requirement(req)
114114
finder = make_test_finder(find_links=[data.find_links])
115115
with self._basic_resolver(finder) as resolver:
@@ -133,7 +133,7 @@ def test_environment_marker_extras(self, data):
133133
req = install_req_from_editable(
134134
data.packages.joinpath("LocalEnvironMarker")
135135
)
136-
req.is_direct = True
136+
req.user_supplied = True
137137
reqset.add_requirement(req)
138138
finder = make_test_finder(find_links=[data.find_links])
139139
with self._basic_resolver(finder) as resolver:
@@ -626,10 +626,10 @@ def test_exclusive_environment_markers():
626626
"""Make sure RequirementSet accepts several excluding env markers"""
627627
eq36 = install_req_from_line(
628628
"Django>=1.6.10,<1.7 ; python_version == '3.6'")
629-
eq36.is_direct = True
629+
eq36.user_supplied = True
630630
ne36 = install_req_from_line(
631631
"Django>=1.6.10,<1.8 ; python_version != '3.6'")
632-
ne36.is_direct = True
632+
ne36.user_supplied = True
633633

634634
req_set = RequirementSet()
635635
req_set.add_requirement(eq36)

0 commit comments

Comments
 (0)