Skip to content

Commit 3ae8825

Browse files
authored
Merge pull request #13769 from notatallshaw/create-package-selection-options
Package selection CLI group
2 parents 5534937 + 9646666 commit 3ae8825

File tree

7 files changed

+48
-49
lines changed

7 files changed

+48
-49
lines changed

src/pip/_internal/cli/cmdoptions.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1253,3 +1253,15 @@ def check_list_path_option(options: Values) -> None:
12531253
uploaded_prior_to,
12541254
],
12551255
}
1256+
1257+
package_selection_group: dict[str, Any] = {
1258+
"name": "Package Selection Options",
1259+
"options": [
1260+
pre,
1261+
all_releases,
1262+
only_final,
1263+
no_binary,
1264+
only_binary,
1265+
prefer_binary,
1266+
],
1267+
}

src/pip/_internal/commands/download.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,7 @@ def add_options(self) -> None:
3939
self.cmd_opts.add_option(cmdoptions.requirements())
4040
self.cmd_opts.add_option(cmdoptions.requirements_from_scripts())
4141
self.cmd_opts.add_option(cmdoptions.no_deps())
42-
self.cmd_opts.add_option(cmdoptions.no_binary())
43-
self.cmd_opts.add_option(cmdoptions.only_binary())
44-
self.cmd_opts.add_option(cmdoptions.prefer_binary())
4542
self.cmd_opts.add_option(cmdoptions.src())
46-
self.cmd_opts.add_option(cmdoptions.pre())
47-
self.cmd_opts.add_option(cmdoptions.all_releases())
48-
self.cmd_opts.add_option(cmdoptions.only_final())
4943
self.cmd_opts.add_option(cmdoptions.require_hashes())
5044
self.cmd_opts.add_option(cmdoptions.progress_bar())
5145
self.cmd_opts.add_option(cmdoptions.no_build_isolation())
@@ -71,7 +65,13 @@ def add_options(self) -> None:
7165
self.parser,
7266
)
7367

68+
selection_opts = cmdoptions.make_option_group(
69+
cmdoptions.package_selection_group,
70+
self.parser,
71+
)
72+
7473
self.parser.insert_option_group(0, index_opts)
74+
self.parser.insert_option_group(0, selection_opts)
7575
self.parser.insert_option_group(0, self.cmd_opts)
7676

7777
@with_cleanup

src/pip/_internal/commands/index.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,19 +41,20 @@ def add_options(self) -> None:
4141
cmdoptions.add_target_python_options(self.cmd_opts)
4242

4343
self.cmd_opts.add_option(cmdoptions.ignore_requires_python())
44-
self.cmd_opts.add_option(cmdoptions.pre())
45-
self.cmd_opts.add_option(cmdoptions.all_releases())
46-
self.cmd_opts.add_option(cmdoptions.only_final())
4744
self.cmd_opts.add_option(cmdoptions.json())
48-
self.cmd_opts.add_option(cmdoptions.no_binary())
49-
self.cmd_opts.add_option(cmdoptions.only_binary())
5045

5146
index_opts = cmdoptions.make_option_group(
5247
cmdoptions.index_group,
5348
self.parser,
5449
)
5550

51+
selection_opts = cmdoptions.make_option_group(
52+
cmdoptions.package_selection_group,
53+
self.parser,
54+
)
55+
5656
self.parser.insert_option_group(0, index_opts)
57+
self.parser.insert_option_group(0, selection_opts)
5758
self.parser.insert_option_group(0, self.cmd_opts)
5859

5960
def handler_map(self) -> dict[str, Callable[[Values, list[str]], None]]:

src/pip/_internal/commands/install.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -89,9 +89,6 @@ def add_options(self) -> None:
8989
self.cmd_opts.add_option(cmdoptions.build_constraints())
9090
self.cmd_opts.add_option(cmdoptions.requirements_from_scripts())
9191
self.cmd_opts.add_option(cmdoptions.no_deps())
92-
self.cmd_opts.add_option(cmdoptions.pre())
93-
self.cmd_opts.add_option(cmdoptions.all_releases())
94-
self.cmd_opts.add_option(cmdoptions.only_final())
9592

9693
self.cmd_opts.add_option(cmdoptions.editable())
9794
self.cmd_opts.add_option(
@@ -247,9 +244,6 @@ def add_options(self) -> None:
247244
default=True,
248245
help="Do not warn about broken dependencies",
249246
)
250-
self.cmd_opts.add_option(cmdoptions.no_binary())
251-
self.cmd_opts.add_option(cmdoptions.only_binary())
252-
self.cmd_opts.add_option(cmdoptions.prefer_binary())
253247
self.cmd_opts.add_option(cmdoptions.require_hashes())
254248
self.cmd_opts.add_option(cmdoptions.progress_bar())
255249
self.cmd_opts.add_option(cmdoptions.root_user_action())
@@ -259,7 +253,13 @@ def add_options(self) -> None:
259253
self.parser,
260254
)
261255

256+
selection_opts = cmdoptions.make_option_group(
257+
cmdoptions.package_selection_group,
258+
self.parser,
259+
)
260+
262261
self.parser.insert_option_group(0, index_opts)
262+
self.parser.insert_option_group(0, selection_opts)
263263
self.parser.insert_option_group(0, self.cmd_opts)
264264

265265
self.cmd_opts.add_option(

src/pip/_internal/commands/list.py

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -90,17 +90,6 @@ def add_options(self) -> None:
9090
help="Only output packages installed in user-site.",
9191
)
9292
self.cmd_opts.add_option(cmdoptions.list_path())
93-
self.cmd_opts.add_option(
94-
"--pre",
95-
action="store_true",
96-
default=False,
97-
help=(
98-
"Include pre-release and development versions. By default, "
99-
"pip only finds stable versions."
100-
),
101-
)
102-
self.cmd_opts.add_option(cmdoptions.all_releases())
103-
self.cmd_opts.add_option(cmdoptions.only_final())
10493

10594
self.cmd_opts.add_option(
10695
"--format",
@@ -137,7 +126,13 @@ def add_options(self) -> None:
137126
self.cmd_opts.add_option(cmdoptions.list_exclude())
138127
index_opts = cmdoptions.make_option_group(cmdoptions.index_group, self.parser)
139128

129+
selection_opts = cmdoptions.make_option_group(
130+
cmdoptions.package_selection_group,
131+
self.parser,
132+
)
133+
140134
self.parser.insert_option_group(0, index_opts)
135+
self.parser.insert_option_group(0, selection_opts)
141136
self.parser.insert_option_group(0, self.cmd_opts)
142137

143138
def handle_pip_version_check(self, options: Values) -> None:

src/pip/_internal/commands/lock.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,6 @@ def add_options(self) -> None:
6262
self.cmd_opts.add_option(cmdoptions.constraints())
6363
self.cmd_opts.add_option(cmdoptions.build_constraints())
6464
self.cmd_opts.add_option(cmdoptions.no_deps())
65-
self.cmd_opts.add_option(cmdoptions.pre())
66-
self.cmd_opts.add_option(cmdoptions.all_releases())
67-
self.cmd_opts.add_option(cmdoptions.only_final())
6865

6966
self.cmd_opts.add_option(cmdoptions.editable())
7067

@@ -77,9 +74,6 @@ def add_options(self) -> None:
7774

7875
self.cmd_opts.add_option(cmdoptions.config_settings())
7976

80-
self.cmd_opts.add_option(cmdoptions.no_binary())
81-
self.cmd_opts.add_option(cmdoptions.only_binary())
82-
self.cmd_opts.add_option(cmdoptions.prefer_binary())
8377
self.cmd_opts.add_option(cmdoptions.require_hashes())
8478
self.cmd_opts.add_option(cmdoptions.progress_bar())
8579

@@ -88,7 +82,13 @@ def add_options(self) -> None:
8882
self.parser,
8983
)
9084

85+
selection_opts = cmdoptions.make_option_group(
86+
cmdoptions.package_selection_group,
87+
self.parser,
88+
)
89+
9190
self.parser.insert_option_group(0, index_opts)
91+
self.parser.insert_option_group(0, selection_opts)
9292
self.parser.insert_option_group(0, self.cmd_opts)
9393

9494
@with_cleanup

src/pip/_internal/commands/wheel.py

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,6 @@ def add_options(self) -> None:
5151
"current working directory."
5252
),
5353
)
54-
self.cmd_opts.add_option(cmdoptions.no_binary())
55-
self.cmd_opts.add_option(cmdoptions.only_binary())
56-
self.cmd_opts.add_option(cmdoptions.prefer_binary())
5754
self.cmd_opts.add_option(cmdoptions.no_build_isolation())
5855
self.cmd_opts.add_option(cmdoptions.use_pep517())
5956
self.cmd_opts.add_option(cmdoptions.check_build_deps())
@@ -77,26 +74,20 @@ def add_options(self) -> None:
7774

7875
self.cmd_opts.add_option(cmdoptions.config_settings())
7976

80-
self.cmd_opts.add_option(
81-
"--pre",
82-
action="store_true",
83-
default=False,
84-
help=(
85-
"Include pre-release and development versions. By default, "
86-
"pip only finds stable versions."
87-
),
88-
)
89-
self.cmd_opts.add_option(cmdoptions.all_releases())
90-
self.cmd_opts.add_option(cmdoptions.only_final())
91-
9277
self.cmd_opts.add_option(cmdoptions.require_hashes())
9378

9479
index_opts = cmdoptions.make_option_group(
9580
cmdoptions.index_group,
9681
self.parser,
9782
)
9883

84+
selection_opts = cmdoptions.make_option_group(
85+
cmdoptions.package_selection_group,
86+
self.parser,
87+
)
88+
9989
self.parser.insert_option_group(0, index_opts)
90+
self.parser.insert_option_group(0, selection_opts)
10091
self.parser.insert_option_group(0, self.cmd_opts)
10192

10293
@with_cleanup

0 commit comments

Comments
 (0)