Skip to content

Commit b2b6295

Browse files
authored
Merge pull request #5668 from pradyunsg/refactor/pip-cli-subpackage
Add a pip._internal.cli subpackage and move some CLI related modules into it
2 parents 8650edd + b13cee6 commit b2b6295

32 files changed

+53
-46
lines changed

src/pip/_internal/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,12 @@
3939
securetransport.inject_into_urllib3()
4040

4141
from pip import __version__
42-
from pip._internal import cmdoptions
42+
from pip._internal.cli import cmdoptions
4343
from pip._internal.exceptions import CommandError, PipError
4444
from pip._internal.utils.misc import get_installed_distributions, get_prog
4545
from pip._internal.utils import deprecation
4646
from pip._internal.vcs import git, mercurial, subversion, bazaar # noqa
47-
from pip._internal.baseparser import (
47+
from pip._internal.cli.parser import (
4848
ConfigOptionParser, UpdatingDefaultsHelpFormatter,
4949
)
5050
from pip._internal.commands import get_summaries, get_similar_commands

src/pip/_internal/cli/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
"""Subpackage containing all of pip's command line interface related code
2+
"""
3+
4+
# This file intentionally does not import submodules

src/pip/_internal/basecommand.py renamed to src/pip/_internal/cli/base_command.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,14 @@
77
import os
88
import sys
99

10-
from pip._internal import cmdoptions
11-
from pip._internal.baseparser import (
10+
from pip._internal.cli import cmdoptions
11+
from pip._internal.cli.parser import (
1212
ConfigOptionParser, UpdatingDefaultsHelpFormatter,
1313
)
14+
from pip._internal.cli.status_codes import (
15+
ERROR, PREVIOUS_BUILD_DIR_ERROR, SUCCESS, UNKNOWN_ERROR,
16+
VIRTUALENV_NOT_FOUND,
17+
)
1418
from pip._internal.download import PipSession
1519
from pip._internal.exceptions import (
1620
BadCommand, CommandError, InstallationError, PreviousBuildDirError,
@@ -20,10 +24,6 @@
2024
from pip._internal.locations import running_under_virtualenv
2125
from pip._internal.req.req_file import parse_requirements
2226
from pip._internal.req.req_install import InstallRequirement
23-
from pip._internal.status_codes import (
24-
ERROR, PREVIOUS_BUILD_DIR_ERROR, SUCCESS, UNKNOWN_ERROR,
25-
VIRTUALENV_NOT_FOUND,
26-
)
2727
from pip._internal.utils.logging import setup_logging
2828
from pip._internal.utils.misc import get_prog, normalize_path
2929
from pip._internal.utils.outdated import pip_version_check
File renamed without changes.
File renamed without changes.

src/pip/_internal/commands/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222
if MYPY_CHECK_RUNNING:
2323
from typing import List, Type # noqa: F401
24-
from pip._internal.basecommand import Command # noqa: F401
24+
from pip._internal.cli.base_command import Command # noqa: F401
2525

2626
commands_order = [
2727
InstallCommand,

src/pip/_internal/commands/check.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import logging
22

3-
from pip._internal.basecommand import Command
3+
from pip._internal.cli.base_command import Command
44
from pip._internal.operations.check import (
55
check_package_set, create_package_set_from_installed,
66
)

src/pip/_internal/commands/completion.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import sys
44
import textwrap
55

6-
from pip._internal.basecommand import Command
6+
from pip._internal.cli.base_command import Command
77
from pip._internal.utils.misc import get_prog
88

99
BASE_COMPLETION = """

src/pip/_internal/commands/configuration.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
import os
33
import subprocess
44

5-
from pip._internal.basecommand import Command
5+
from pip._internal.cli.base_command import Command
6+
from pip._internal.cli.status_codes import ERROR, SUCCESS
67
from pip._internal.configuration import Configuration, kinds
78
from pip._internal.exceptions import PipError
89
from pip._internal.locations import venv_config_file
9-
from pip._internal.status_codes import ERROR, SUCCESS
1010
from pip._internal.utils.misc import get_prog
1111

1212
logger = logging.getLogger(__name__)

src/pip/_internal/commands/download.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
import logging
44
import os
55

6-
from pip._internal import cmdoptions
7-
from pip._internal.basecommand import RequirementCommand
6+
from pip._internal.cli import cmdoptions
7+
from pip._internal.cli.base_command import RequirementCommand
88
from pip._internal.exceptions import CommandError
99
from pip._internal.index import FormatControl
1010
from pip._internal.operations.prepare import RequirementPreparer

src/pip/_internal/commands/freeze.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
import sys
44

55
from pip._internal import index
6-
from pip._internal.basecommand import Command
76
from pip._internal.cache import WheelCache
7+
from pip._internal.cli.base_command import Command
88
from pip._internal.operations.freeze import freeze
99
from pip._internal.utils.compat import stdlib_pkgs
1010

src/pip/_internal/commands/hash.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
import logging
55
import sys
66

7-
from pip._internal.basecommand import Command
8-
from pip._internal.status_codes import ERROR
7+
from pip._internal.cli.base_command import Command
8+
from pip._internal.cli.status_codes import ERROR
99
from pip._internal.utils.hashes import FAVORITE_HASH, STRONG_HASHES
1010
from pip._internal.utils.misc import read_chunks
1111

src/pip/_internal/commands/help.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from __future__ import absolute_import
22

3-
from pip._internal.basecommand import SUCCESS, Command
3+
from pip._internal.cli.base_command import Command
4+
from pip._internal.cli.status_codes import SUCCESS
45
from pip._internal.exceptions import CommandError
56

67

src/pip/_internal/commands/install.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,10 @@
99

1010
from pip._vendor import pkg_resources
1111

12-
from pip._internal import cmdoptions
13-
from pip._internal.basecommand import RequirementCommand
1412
from pip._internal.cache import WheelCache
13+
from pip._internal.cli import cmdoptions
14+
from pip._internal.cli.base_command import RequirementCommand
15+
from pip._internal.cli.status_codes import ERROR
1516
from pip._internal.exceptions import (
1617
CommandError, InstallationError, PreviousBuildDirError,
1718
)
@@ -21,7 +22,6 @@
2122
from pip._internal.req import RequirementSet, install_given_reqs
2223
from pip._internal.req.req_tracker import RequirementTracker
2324
from pip._internal.resolve import Resolver
24-
from pip._internal.status_codes import ERROR
2525
from pip._internal.utils.filesystem import check_path_owner
2626
from pip._internal.utils.misc import (
2727
ensure_dir, get_installed_version,

src/pip/_internal/commands/list.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
from pip._vendor import six
77
from pip._vendor.six.moves import zip_longest
88

9-
from pip._internal.basecommand import Command
10-
from pip._internal.cmdoptions import index_group, make_option_group
9+
from pip._internal.cli import cmdoptions
10+
from pip._internal.cli.base_command import Command
1111
from pip._internal.exceptions import CommandError
1212
from pip._internal.index import PackageFinder
1313
from pip._internal.utils.misc import (
@@ -102,7 +102,9 @@ def __init__(self, *args, **kw):
102102
help='Include editable package from output.',
103103
default=True,
104104
)
105-
index_opts = make_option_group(index_group, self.parser)
105+
index_opts = cmdoptions.make_option_group(
106+
cmdoptions.index_group, self.parser
107+
)
106108

107109
self.parser.insert_option_group(0, index_opts)
108110
self.parser.insert_option_group(0, cmd_opts)

src/pip/_internal/commands/search.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@
1111
# why we ignore the type on this import
1212
from pip._vendor.six.moves import xmlrpc_client # type: ignore
1313

14-
from pip._internal.basecommand import SUCCESS, Command
14+
from pip._internal.cli.base_command import Command
15+
from pip._internal.cli.status_codes import NO_MATCHES_FOUND, SUCCESS
1516
from pip._internal.download import PipXmlrpcTransport
1617
from pip._internal.exceptions import CommandError
1718
from pip._internal.models.index import PyPI
18-
from pip._internal.status_codes import NO_MATCHES_FOUND
1919
from pip._internal.utils.compat import get_terminal_size
2020
from pip._internal.utils.logging import indent_log
2121

src/pip/_internal/commands/show.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
from pip._vendor import pkg_resources
88
from pip._vendor.packaging.utils import canonicalize_name
99

10-
from pip._internal.basecommand import Command
11-
from pip._internal.status_codes import ERROR, SUCCESS
10+
from pip._internal.cli.base_command import Command
11+
from pip._internal.cli.status_codes import ERROR, SUCCESS
1212

1313
logger = logging.getLogger(__name__)
1414

src/pip/_internal/commands/uninstall.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from pip._vendor.packaging.utils import canonicalize_name
44

5-
from pip._internal.basecommand import Command
5+
from pip._internal.cli.base_command import Command
66
from pip._internal.exceptions import InstallationError
77
from pip._internal.req import InstallRequirement, parse_requirements
88
from pip._internal.utils.misc import protect_pip_from_modification_on_windows

src/pip/_internal/commands/wheel.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
import logging
55
import os
66

7-
from pip._internal import cmdoptions
8-
from pip._internal.basecommand import RequirementCommand
97
from pip._internal.cache import WheelCache
8+
from pip._internal.cli import cmdoptions
9+
from pip._internal.cli.base_command import RequirementCommand
1010
from pip._internal.exceptions import CommandError, PreviousBuildDirError
1111
from pip._internal.operations.prepare import RequirementPreparer
1212
from pip._internal.req import RequirementSet

src/pip/_internal/req/req_file.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
from pip._vendor.six.moves import filterfalse
1414
from pip._vendor.six.moves.urllib import parse as urllib_parse
1515

16-
from pip._internal import cmdoptions
16+
from pip._internal.cli import cmdoptions
1717
from pip._internal.download import get_file_content
1818
from pip._internal.exceptions import RequirementsFileParseError
1919
from pip._internal.req.req_install import InstallRequirement

src/pip/_internal/vcs/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
if MYPY_CHECK_RUNNING:
1919
from typing import Dict, Optional, Tuple # noqa: F401
20-
from pip._internal.basecommand import Command # noqa: F401
20+
from pip._internal.cli.base_command import Command # noqa: F401
2121

2222
__all__ = ['vcs', 'get_src_requirement']
2323

tests/functional/test_configuration.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
import pytest
77

8-
from pip._internal.status_codes import ERROR
8+
from pip._internal.cli.status_codes import ERROR
99
from tests.lib.configuration_helpers import ConfigurationMixin, kinds
1010

1111

tests/functional/test_download.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import pytest
44

5-
from pip._internal.status_codes import ERROR
5+
from pip._internal.cli.status_codes import ERROR
66
from tests.lib.path import Path
77

88

tests/functional/test_help.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import pytest
22
from mock import Mock
33

4-
from pip._internal.basecommand import ERROR, SUCCESS
4+
from pip._internal.cli.base_command import ERROR, SUCCESS
55
from pip._internal.commands import commands_dict as commands
66
from pip._internal.commands.help import HelpCommand
77
from pip._internal.exceptions import CommandError

tests/functional/test_install.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
import pytest
99

1010
from pip._internal import pep425tags
11+
from pip._internal.cli.status_codes import ERROR
1112
from pip._internal.models.index import PyPI, TestPyPI
12-
from pip._internal.status_codes import ERROR
1313
from pip._internal.utils.misc import rmtree
1414
from tests.lib import (
1515
_create_svn_repo, _create_test_package, create_test_package_with_setup,

tests/functional/test_install_cleanup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33

44
import pytest
55

6+
from pip._internal.cli.status_codes import PREVIOUS_BUILD_DIR_ERROR
67
from pip._internal.locations import write_delete_marker_file
7-
from pip._internal.status_codes import PREVIOUS_BUILD_DIR_ERROR
88
from tests.lib import need_mercurial
99
from tests.lib.local_repos import local_checkout
1010

tests/functional/test_search.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
import pytest
44

5+
from pip._internal.cli.status_codes import NO_MATCHES_FOUND, SUCCESS
56
from pip._internal.commands.search import (
67
SearchCommand, highest_version, print_results, transform_hits,
78
)
8-
from pip._internal.status_codes import NO_MATCHES_FOUND, SUCCESS
99
from tests.lib import pyversion
1010

1111
if pyversion >= '3':

tests/functional/test_wheel.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44

55
import pytest
66

7+
from pip._internal.cli.status_codes import ERROR, PREVIOUS_BUILD_DIR_ERROR
78
from pip._internal.locations import write_delete_marker_file
8-
from pip._internal.status_codes import ERROR, PREVIOUS_BUILD_DIR_ERROR
99
from tests.lib import pyversion
1010

1111

tests/lib/options_helpers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import os
55

66
from pip._internal import cmdoptions
7-
from pip._internal.basecommand import Command
7+
from pip._internal.cli.base_command import Command
88
from pip._internal.commands import commands_dict
99

1010

tests/unit/test_basecommand.py renamed to tests/unit/test_base_command.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import logging
22

3-
from pip._internal.basecommand import Command
3+
from pip._internal.cli.base_command import Command
44

55

66
class FakeCommand(Command):
@@ -32,9 +32,9 @@ def run(self, options, args):
3232
)
3333

3434

35-
class Test_basecommand_logging(object):
35+
class Test_base_command_logging(object):
3636
"""
37-
Test `pip.basecommand.Command` setting up logging consumers based on
37+
Test `pip.base_command.Command` setting up logging consumers based on
3838
options
3939
"""
4040

tests/unit/test_cmdoptions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from pip._internal import cmdoptions, index
2-
from pip._internal.basecommand import Command
2+
from pip._internal.cli.base_command import Command
33

44

55
class SimpleCommand(Command):

0 commit comments

Comments
 (0)