Skip to content

Commit b9a19f6

Browse files
committed
Rename is_direct to user_supplied
1 parent a226f65 commit b9a19f6

File tree

6 files changed

+20
-17
lines changed

6 files changed

+20
-17
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
@@ -107,7 +107,7 @@ def add_requirement(
107107
)
108108

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

@@ -166,8 +166,8 @@ def add_requirement(
166166
existing_req.constraint = False
167167
# If we're now installing a top level requirement, mark the existing
168168
# object as top level.
169-
if install_req.is_direct:
170-
existing_req.is_direct = True
169+
if install_req.user_supplied:
170+
existing_req.user_supplied = True
171171
existing_req.extras = tuple(sorted(
172172
set(existing_req.extras) | set(install_req.extras)
173173
))

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
)

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ def resolve(self, root_reqs, check_supported_wheels):
118118
else:
119119
constraints[name] = req.specifier
120120
else:
121-
if req.is_direct and req.name:
121+
if req.user_supplied and req.name:
122122
user_requested.add(canonicalize_name(req.name))
123123
requirements.append(
124124
self.factory.make_requirement_from_install_req(req)

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)