Skip to content

Commit 4f35981

Browse files
committed
pip list --not-required --outdated should list only outdated packages that are not dependencies of installed packages
1 parent 740b1ac commit 4f35981

File tree

3 files changed

+20
-3
lines changed

3 files changed

+20
-3
lines changed

news/5737.bugfix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
`pip list --outdated --not-required` should list only outdated packages that are not dependencies of installed packages

src/pip/_internal/commands/list.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -134,14 +134,14 @@ def run(self, options, args):
134134
include_editables=options.include_editable,
135135
)
136136

137+
if options.not_required:
138+
packages = self.get_not_required(packages, options)
139+
137140
if options.outdated:
138141
packages = self.get_outdated(packages, options)
139142
elif options.uptodate:
140143
packages = self.get_uptodate(packages, options)
141144

142-
if options.not_required:
143-
packages = self.get_not_required(packages, options)
144-
145145
self.output_package_listing(packages, options)
146146

147147
def get_outdated(self, packages, options):

tests/functional/test_list.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -384,6 +384,22 @@ def test_outdated_editables_columns_flag(script, data):
384384
)
385385

386386

387+
@pytest.mark.network
388+
def test_outdated_not_required_flag(script, data):
389+
"""
390+
test the behavior of --outdated --not-required flag in the list command
391+
"""
392+
script.pip(
393+
'install', '-f', data.find_links, '--no-index',
394+
'simple==2.0', 'require_simple==1.0'
395+
)
396+
result = script.pip(
397+
'list', '-f', data.find_links, '--no-index', '--outdated',
398+
'--not-required', '--format=json',
399+
)
400+
assert [] == json.loads(result.stdout)
401+
402+
387403
def test_outdated_pre(script, data):
388404
script.pip('install', '-f', data.find_links, '--no-index', 'simple==1.0')
389405

0 commit comments

Comments
 (0)