diff options
Diffstat (limited to 'src')
120 files changed, 252 insertions, 302 deletions
diff --git a/src/pip/__init__.py b/src/pip/__init__.py index 9de6dc0f2..97b5e2f88 100644 --- a/src/pip/__init__.py +++ b/src/pip/__init__.py @@ -1,6 +1,6 @@ -from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from typing import TYPE_CHECKING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import List, Optional diff --git a/src/pip/_internal/__init__.py b/src/pip/_internal/__init__.py index a778e9948..23652fadc 100755 --- a/src/pip/_internal/__init__.py +++ b/src/pip/_internal/__init__.py @@ -1,7 +1,8 @@ +from typing import TYPE_CHECKING + import pip._internal.utils.inject_securetransport # noqa -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import List, Optional diff --git a/src/pip/_internal/build_env.py b/src/pip/_internal/build_env.py index a587d9f7c..9df467f30 100644 --- a/src/pip/_internal/build_env.py +++ b/src/pip/_internal/build_env.py @@ -8,6 +8,7 @@ import textwrap from collections import OrderedDict from distutils.sysconfig import get_python_lib from sysconfig import get_paths +from typing import TYPE_CHECKING from pip._vendor.pkg_resources import Requirement, VersionConflict, WorkingSet @@ -15,9 +16,8 @@ from pip import __file__ as pip_location from pip._internal.cli.spinners import open_spinner from pip._internal.utils.subprocess import call_subprocess from pip._internal.utils.temp_dir import TempDirectory, tempdir_kinds -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from types import TracebackType from typing import Iterable, List, Optional, Set, Tuple, Type diff --git a/src/pip/_internal/cache.py b/src/pip/_internal/cache.py index 5e7db9c1f..83ea57ad4 100644 --- a/src/pip/_internal/cache.py +++ b/src/pip/_internal/cache.py @@ -5,6 +5,7 @@ import hashlib import json import logging import os +from typing import TYPE_CHECKING from pip._vendor.packaging.tags import interpreter_name, interpreter_version from pip._vendor.packaging.utils import canonicalize_name @@ -13,10 +14,9 @@ from pip._internal.exceptions import InvalidWheelFilename from pip._internal.models.link import Link from pip._internal.models.wheel import Wheel from pip._internal.utils.temp_dir import TempDirectory, tempdir_kinds -from pip._internal.utils.typing import MYPY_CHECK_RUNNING from pip._internal.utils.urls import path_to_url -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Any, Dict, List, Optional, Set from pip._vendor.packaging.tags import Tag diff --git a/src/pip/_internal/cli/autocompletion.py b/src/pip/_internal/cli/autocompletion.py index 329de6025..3b4fc339e 100644 --- a/src/pip/_internal/cli/autocompletion.py +++ b/src/pip/_internal/cli/autocompletion.py @@ -5,13 +5,13 @@ import optparse import os import sys from itertools import chain +from typing import TYPE_CHECKING from pip._internal.cli.main_parser import create_main_parser from pip._internal.commands import commands_dict, create_command from pip._internal.utils.misc import get_installed_distributions -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Any, Iterable, List, Optional diff --git a/src/pip/_internal/cli/base_command.py b/src/pip/_internal/cli/base_command.py index 108435a84..380ba8a71 100644 --- a/src/pip/_internal/cli/base_command.py +++ b/src/pip/_internal/cli/base_command.py @@ -6,6 +6,7 @@ import optparse import os import sys import traceback +from typing import TYPE_CHECKING from pip._internal.cli import cmdoptions from pip._internal.cli.command_context import CommandContextMixIn @@ -29,10 +30,9 @@ from pip._internal.utils.filesystem import check_path_owner from pip._internal.utils.logging import BrokenStdoutLoggingError, setup_logging from pip._internal.utils.misc import get_prog, normalize_path from pip._internal.utils.temp_dir import global_tempdir_manager, tempdir_registry -from pip._internal.utils.typing import MYPY_CHECK_RUNNING from pip._internal.utils.virtualenv import running_under_virtualenv -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from optparse import Values from typing import Any, List, Optional, Tuple diff --git a/src/pip/_internal/cli/cmdoptions.py b/src/pip/_internal/cli/cmdoptions.py index 663143950..bcecf6748 100644 --- a/src/pip/_internal/cli/cmdoptions.py +++ b/src/pip/_internal/cli/cmdoptions.py @@ -16,6 +16,7 @@ import warnings from functools import partial from optparse import SUPPRESS_HELP, Option, OptionGroup from textwrap import dedent +from typing import TYPE_CHECKING from pip._vendor.packaging.utils import canonicalize_name @@ -27,9 +28,8 @@ from pip._internal.models.index import PyPI from pip._internal.models.target_python import TargetPython from pip._internal.utils.hashes import STRONG_HASHES from pip._internal.utils.misc import strtobool -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from optparse import OptionParser, Values from typing import Any, Callable, Dict, Optional, Tuple diff --git a/src/pip/_internal/cli/command_context.py b/src/pip/_internal/cli/command_context.py index ade14f2f6..d04b35db4 100644 --- a/src/pip/_internal/cli/command_context.py +++ b/src/pip/_internal/cli/command_context.py @@ -1,10 +1,9 @@ from contextlib import contextmanager +from typing import TYPE_CHECKING from pip._vendor.contextlib2 import ExitStack -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import ContextManager, Iterator, TypeVar _T = TypeVar('_T', covariant=True) diff --git a/src/pip/_internal/cli/main.py b/src/pip/_internal/cli/main.py index ed5907307..64210aeba 100644 --- a/src/pip/_internal/cli/main.py +++ b/src/pip/_internal/cli/main.py @@ -4,15 +4,15 @@ import locale import logging import os import sys +from typing import TYPE_CHECKING from pip._internal.cli.autocompletion import autocomplete from pip._internal.cli.main_parser import parse_command from pip._internal.commands import create_command from pip._internal.exceptions import PipError from pip._internal.utils import deprecation -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import List, Optional logger = logging.getLogger(__name__) diff --git a/src/pip/_internal/cli/main_parser.py b/src/pip/_internal/cli/main_parser.py index 7351cdda0..1ad8d7de3 100644 --- a/src/pip/_internal/cli/main_parser.py +++ b/src/pip/_internal/cli/main_parser.py @@ -3,15 +3,15 @@ import os import sys +from typing import TYPE_CHECKING from pip._internal.cli import cmdoptions from pip._internal.cli.parser import ConfigOptionParser, UpdatingDefaultsHelpFormatter from pip._internal.commands import commands_dict, get_similar_commands from pip._internal.exceptions import CommandError from pip._internal.utils.misc import get_pip_version, get_prog -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import List, Tuple diff --git a/src/pip/_internal/cli/parser.py b/src/pip/_internal/cli/parser.py index 89591fa7f..d5389a9a1 100644 --- a/src/pip/_internal/cli/parser.py +++ b/src/pip/_internal/cli/parser.py @@ -8,15 +8,15 @@ import optparse import shutil import sys import textwrap +from typing import TYPE_CHECKING from pip._vendor.contextlib2 import suppress from pip._internal.cli.status_codes import UNKNOWN_ERROR from pip._internal.configuration import Configuration, ConfigurationError from pip._internal.utils.misc import redact_auth_from_url, strtobool -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Any logger = logging.getLogger(__name__) diff --git a/src/pip/_internal/cli/progress_bars.py b/src/pip/_internal/cli/progress_bars.py index 59b01a6d0..2d3847082 100644 --- a/src/pip/_internal/cli/progress_bars.py +++ b/src/pip/_internal/cli/progress_bars.py @@ -1,6 +1,7 @@ import itertools import sys from signal import SIGINT, default_int_handler, signal +from typing import TYPE_CHECKING from pip._vendor.progress.bar import Bar, FillingCirclesBar, IncrementalBar from pip._vendor.progress.spinner import Spinner @@ -8,9 +9,8 @@ from pip._vendor.progress.spinner import Spinner from pip._internal.utils.compat import WINDOWS from pip._internal.utils.logging import get_indentation from pip._internal.utils.misc import format_size -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Any, Dict, List try: diff --git a/src/pip/_internal/cli/req_command.py b/src/pip/_internal/cli/req_command.py index 468b3ccea..436cd8dda 100644 --- a/src/pip/_internal/cli/req_command.py +++ b/src/pip/_internal/cli/req_command.py @@ -8,6 +8,7 @@ PackageFinder machinery and all its vendored dependencies, etc. import logging import os from functools import partial +from typing import TYPE_CHECKING from pip._internal.cli import cmdoptions from pip._internal.cli.base_command import Command @@ -27,9 +28,8 @@ from pip._internal.req.constructors import ( from pip._internal.req.req_file import parse_requirements from pip._internal.self_outdated_check import pip_self_version_check from pip._internal.utils.temp_dir import tempdir_kinds -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from optparse import Values from typing import Any, List, Optional, Tuple diff --git a/src/pip/_internal/cli/spinners.py b/src/pip/_internal/cli/spinners.py index 05ec2dcc7..d55434e60 100644 --- a/src/pip/_internal/cli/spinners.py +++ b/src/pip/_internal/cli/spinners.py @@ -3,14 +3,14 @@ import itertools import logging import sys import time +from typing import TYPE_CHECKING from pip._vendor.progress import HIDE_CURSOR, SHOW_CURSOR from pip._internal.utils.compat import WINDOWS from pip._internal.utils.logging import get_indentation -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import IO, Iterator logger = logging.getLogger(__name__) diff --git a/src/pip/_internal/commands/__init__.py b/src/pip/_internal/commands/__init__.py index f2411201c..3037e9da8 100644 --- a/src/pip/_internal/commands/__init__.py +++ b/src/pip/_internal/commands/__init__.py @@ -4,10 +4,9 @@ Package containing all pip commands import importlib from collections import OrderedDict, namedtuple +from typing import TYPE_CHECKING -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Any, Optional from pip._internal.cli.base_command import Command diff --git a/src/pip/_internal/commands/cache.py b/src/pip/_internal/commands/cache.py index d5ac45ad7..4f746dd98 100644 --- a/src/pip/_internal/commands/cache.py +++ b/src/pip/_internal/commands/cache.py @@ -1,14 +1,14 @@ import logging import os import textwrap +from typing import TYPE_CHECKING import pip._internal.utils.filesystem as filesystem from pip._internal.cli.base_command import Command from pip._internal.cli.status_codes import ERROR, SUCCESS from pip._internal.exceptions import CommandError, PipError -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from optparse import Values from typing import Any, List diff --git a/src/pip/_internal/commands/check.py b/src/pip/_internal/commands/check.py index e066bb63c..5bc07cb7e 100644 --- a/src/pip/_internal/commands/check.py +++ b/src/pip/_internal/commands/check.py @@ -1,4 +1,5 @@ import logging +from typing import TYPE_CHECKING from pip._internal.cli.base_command import Command from pip._internal.cli.status_codes import ERROR, SUCCESS @@ -7,11 +8,10 @@ from pip._internal.operations.check import ( create_package_set_from_installed, ) from pip._internal.utils.misc import write_output -from pip._internal.utils.typing import MYPY_CHECK_RUNNING logger = logging.getLogger(__name__) -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from optparse import Values from typing import Any, List diff --git a/src/pip/_internal/commands/completion.py b/src/pip/_internal/commands/completion.py index 2c19d5686..ca3360752 100644 --- a/src/pip/_internal/commands/completion.py +++ b/src/pip/_internal/commands/completion.py @@ -1,12 +1,12 @@ import sys import textwrap +from typing import TYPE_CHECKING from pip._internal.cli.base_command import Command from pip._internal.cli.status_codes import SUCCESS from pip._internal.utils.misc import get_prog -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from optparse import Values from typing import List diff --git a/src/pip/_internal/commands/configuration.py b/src/pip/_internal/commands/configuration.py index a440a2b17..8cf034aaf 100644 --- a/src/pip/_internal/commands/configuration.py +++ b/src/pip/_internal/commands/configuration.py @@ -1,6 +1,7 @@ import logging import os import subprocess +from typing import TYPE_CHECKING from pip._internal.cli.base_command import Command from pip._internal.cli.status_codes import ERROR, SUCCESS @@ -8,9 +9,8 @@ from pip._internal.configuration import Configuration, get_configuration_files, from pip._internal.exceptions import PipError from pip._internal.utils.logging import indent_log from pip._internal.utils.misc import get_prog, write_output -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from optparse import Values from typing import Any, List, Optional diff --git a/src/pip/_internal/commands/debug.py b/src/pip/_internal/commands/debug.py index c1af3630e..15c66fd53 100644 --- a/src/pip/_internal/commands/debug.py +++ b/src/pip/_internal/commands/debug.py @@ -2,6 +2,7 @@ import locale import logging import os import sys +from typing import TYPE_CHECKING import pip._vendor from pip._vendor.certifi import where @@ -15,9 +16,8 @@ from pip._internal.cli.status_codes import SUCCESS from pip._internal.metadata import get_environment from pip._internal.utils.logging import indent_log from pip._internal.utils.misc import get_pip_version -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from optparse import Values from types import ModuleType from typing import Dict, List, Optional diff --git a/src/pip/_internal/commands/download.py b/src/pip/_internal/commands/download.py index 0f09fcc0e..212b75c7a 100644 --- a/src/pip/_internal/commands/download.py +++ b/src/pip/_internal/commands/download.py @@ -1,5 +1,6 @@ import logging import os +from typing import TYPE_CHECKING from pip._internal.cli import cmdoptions from pip._internal.cli.cmdoptions import make_target_python @@ -8,9 +9,8 @@ from pip._internal.cli.status_codes import SUCCESS from pip._internal.req.req_tracker import get_requirement_tracker from pip._internal.utils.misc import ensure_dir, normalize_path, write_output from pip._internal.utils.temp_dir import TempDirectory -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from optparse import Values from typing import List diff --git a/src/pip/_internal/commands/freeze.py b/src/pip/_internal/commands/freeze.py index bf20db6c3..6a3288d6b 100644 --- a/src/pip/_internal/commands/freeze.py +++ b/src/pip/_internal/commands/freeze.py @@ -1,4 +1,5 @@ import sys +from typing import TYPE_CHECKING from pip._internal.cli import cmdoptions from pip._internal.cli.base_command import Command @@ -6,11 +7,10 @@ from pip._internal.cli.status_codes import SUCCESS from pip._internal.operations.freeze import freeze from pip._internal.utils.compat import stdlib_pkgs from pip._internal.utils.deprecation import deprecated -from pip._internal.utils.typing import MYPY_CHECK_RUNNING DEV_PKGS = {'pip', 'setuptools', 'distribute', 'wheel'} -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from optparse import Values from typing import List diff --git a/src/pip/_internal/commands/hash.py b/src/pip/_internal/commands/hash.py index db68f6ce7..ff871b806 100644 --- a/src/pip/_internal/commands/hash.py +++ b/src/pip/_internal/commands/hash.py @@ -1,14 +1,14 @@ import hashlib import logging import sys +from typing import TYPE_CHECKING from pip._internal.cli.base_command import Command from pip._internal.cli.status_codes import ERROR, SUCCESS from pip._internal.utils.hashes import FAVORITE_HASH, STRONG_HASHES from pip._internal.utils.misc import read_chunks, write_output -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from optparse import Values from typing import List diff --git a/src/pip/_internal/commands/help.py b/src/pip/_internal/commands/help.py index 8372ac615..0e1dc81ff 100644 --- a/src/pip/_internal/commands/help.py +++ b/src/pip/_internal/commands/help.py @@ -1,9 +1,10 @@ +from typing import TYPE_CHECKING + from pip._internal.cli.base_command import Command from pip._internal.cli.status_codes import SUCCESS from pip._internal.exceptions import CommandError -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from optparse import Values from typing import List diff --git a/src/pip/_internal/commands/install.py b/src/pip/_internal/commands/install.py index e303adf86..a6989a0f8 100644 --- a/src/pip/_internal/commands/install.py +++ b/src/pip/_internal/commands/install.py @@ -5,6 +5,7 @@ import os import shutil import site from optparse import SUPPRESS_HELP +from typing import TYPE_CHECKING from pip._vendor import pkg_resources from pip._vendor.packaging.utils import canonicalize_name @@ -29,11 +30,10 @@ from pip._internal.utils.misc import ( write_output, ) from pip._internal.utils.temp_dir import TempDirectory -from pip._internal.utils.typing import MYPY_CHECK_RUNNING from pip._internal.utils.virtualenv import virtualenv_no_global from pip._internal.wheel_builder import build, should_build_for_install_command -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from optparse import Values from typing import Iterable, List, Optional diff --git a/src/pip/_internal/commands/list.py b/src/pip/_internal/commands/list.py index 89cfb625e..4ee0d54b4 100644 --- a/src/pip/_internal/commands/list.py +++ b/src/pip/_internal/commands/list.py @@ -1,5 +1,6 @@ import json import logging +from typing import TYPE_CHECKING from pip._internal.cli import cmdoptions from pip._internal.cli.req_command import IndexGroupCommand @@ -17,9 +18,8 @@ from pip._internal.utils.misc import ( ) from pip._internal.utils.packaging import get_installer from pip._internal.utils.parallel import map_multithread -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from optparse import Values from typing import Iterator, List, Set, Tuple diff --git a/src/pip/_internal/commands/search.py b/src/pip/_internal/commands/search.py index 90a5b512d..1c7fa74ae 100644 --- a/src/pip/_internal/commands/search.py +++ b/src/pip/_internal/commands/search.py @@ -3,6 +3,7 @@ import shutil import sys import textwrap from collections import OrderedDict +from typing import TYPE_CHECKING from pip._vendor.packaging.version import parse as parse_version @@ -19,9 +20,8 @@ from pip._internal.models.index import PyPI from pip._internal.network.xmlrpc import PipXmlrpcTransport from pip._internal.utils.logging import indent_log from pip._internal.utils.misc import write_output -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from optparse import Values from typing import Dict, List, Optional diff --git a/src/pip/_internal/commands/show.py b/src/pip/_internal/commands/show.py index a6363cfd0..e4d250290 100644 --- a/src/pip/_internal/commands/show.py +++ b/src/pip/_internal/commands/show.py @@ -1,6 +1,7 @@ import logging import os from email.parser import FeedParser +from typing import TYPE_CHECKING from pip._vendor import pkg_resources from pip._vendor.packaging.utils import canonicalize_name @@ -8,9 +9,8 @@ from pip._vendor.packaging.utils import canonicalize_name from pip._internal.cli.base_command import Command from pip._internal.cli.status_codes import ERROR, SUCCESS from pip._internal.utils.misc import write_output -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from optparse import Values from typing import Dict, Iterator, List diff --git a/src/pip/_internal/commands/uninstall.py b/src/pip/_internal/commands/uninstall.py index 6dc96c3d6..5084f32d2 100644 --- a/src/pip/_internal/commands/uninstall.py +++ b/src/pip/_internal/commands/uninstall.py @@ -1,3 +1,5 @@ +from typing import TYPE_CHECKING + from pip._vendor.packaging.utils import canonicalize_name from pip._internal.cli.base_command import Command @@ -10,9 +12,8 @@ from pip._internal.req.constructors import ( install_req_from_parsed_requirement, ) from pip._internal.utils.misc import protect_pip_from_modification_on_windows -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from optparse import Values from typing import List diff --git a/src/pip/_internal/commands/wheel.py b/src/pip/_internal/commands/wheel.py index 28918fa74..d97ac00c4 100644 --- a/src/pip/_internal/commands/wheel.py +++ b/src/pip/_internal/commands/wheel.py @@ -1,6 +1,7 @@ import logging import os import shutil +from typing import TYPE_CHECKING from pip._internal.cache import WheelCache from pip._internal.cli import cmdoptions @@ -10,10 +11,9 @@ from pip._internal.exceptions import CommandError from pip._internal.req.req_tracker import get_requirement_tracker from pip._internal.utils.misc import ensure_dir, normalize_path from pip._internal.utils.temp_dir import TempDirectory -from pip._internal.utils.typing import MYPY_CHECK_RUNNING from pip._internal.wheel_builder import build, should_build_for_wheel_command -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from optparse import Values from typing import List diff --git a/src/pip/_internal/configuration.py b/src/pip/_internal/configuration.py index 9d9a36e80..a52b83a11 100644 --- a/src/pip/_internal/configuration.py +++ b/src/pip/_internal/configuration.py @@ -16,6 +16,7 @@ import locale import logging import os import sys +from typing import TYPE_CHECKING from pip._internal.exceptions import ( ConfigurationError, @@ -24,9 +25,8 @@ from pip._internal.exceptions import ( from pip._internal.utils import appdirs from pip._internal.utils.compat import WINDOWS from pip._internal.utils.misc import ensure_dir, enum -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Any, Dict, Iterable, List, NewType, Optional, Tuple RawConfigParser = configparser.RawConfigParser # Shorthand diff --git a/src/pip/_internal/distributions/__init__.py b/src/pip/_internal/distributions/__init__.py index d5c1afc5b..d68f358e2 100644 --- a/src/pip/_internal/distributions/__init__.py +++ b/src/pip/_internal/distributions/__init__.py @@ -1,8 +1,9 @@ +from typing import TYPE_CHECKING + from pip._internal.distributions.sdist import SourceDistribution from pip._internal.distributions.wheel import WheelDistribution -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from pip._internal.distributions.base import AbstractDistribution from pip._internal.req.req_install import InstallRequirement diff --git a/src/pip/_internal/distributions/base.py b/src/pip/_internal/distributions/base.py index 37db810b3..50a21deff 100644 --- a/src/pip/_internal/distributions/base.py +++ b/src/pip/_internal/distributions/base.py @@ -1,8 +1,7 @@ import abc +from typing import TYPE_CHECKING -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Optional from pip._vendor.pkg_resources import Distribution diff --git a/src/pip/_internal/distributions/installed.py b/src/pip/_internal/distributions/installed.py index a813b211f..70f16499b 100644 --- a/src/pip/_internal/distributions/installed.py +++ b/src/pip/_internal/distributions/installed.py @@ -1,7 +1,8 @@ +from typing import TYPE_CHECKING + from pip._internal.distributions.base import AbstractDistribution -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Optional from pip._vendor.pkg_resources import Distribution diff --git a/src/pip/_internal/distributions/sdist.py b/src/pip/_internal/distributions/sdist.py index 9b708fdd8..538bbfe8e 100644 --- a/src/pip/_internal/distributions/sdist.py +++ b/src/pip/_internal/distributions/sdist.py @@ -1,12 +1,12 @@ import logging +from typing import TYPE_CHECKING from pip._internal.build_env import BuildEnvironment from pip._internal.distributions.base import AbstractDistribution from pip._internal.exceptions import InstallationError from pip._internal.utils.subprocess import runner_with_spinner_message -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Set, Tuple from pip._vendor.pkg_resources import Distribution diff --git a/src/pip/_internal/distributions/wheel.py b/src/pip/_internal/distributions/wheel.py index 2adc22862..bc8ab99c0 100644 --- a/src/pip/_internal/distributions/wheel.py +++ b/src/pip/_internal/distributions/wheel.py @@ -1,10 +1,10 @@ +from typing import TYPE_CHECKING from zipfile import ZipFile from pip._internal.distributions.base import AbstractDistribution -from pip._internal.utils.typing import MYPY_CHECK_RUNNING from pip._internal.utils.wheel import pkg_resources_distribution_for_wheel -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from pip._vendor.pkg_resources import Distribution from pip._internal.index.package_finder import PackageFinder diff --git a/src/pip/_internal/exceptions.py b/src/pip/_internal/exceptions.py index 891f8c376..9af1961ff 100644 --- a/src/pip/_internal/exceptions.py +++ b/src/pip/_internal/exceptions.py @@ -1,10 +1,9 @@ """Exceptions used throughout package""" from itertools import chain, groupby, repeat +from typing import TYPE_CHECKING -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: import configparser from hashlib import _Hash from typing import Dict, List, Optional diff --git a/src/pip/_internal/index/collector.py b/src/pip/_internal/index/collector.py index ee4eb7199..1472c763e 100644 --- a/src/pip/_internal/index/collector.py +++ b/src/pip/_internal/index/collector.py @@ -12,6 +12,7 @@ import re import urllib.parse import urllib.request from collections import OrderedDict +from typing import TYPE_CHECKING from pip._vendor import html5lib, requests from pip._vendor.distlib.compat import unescape @@ -23,11 +24,10 @@ from pip._internal.models.search_scope import SearchScope from pip._internal.network.utils import raise_for_status from pip._internal.utils.filetypes import is_archive_file from pip._internal.utils.misc import pairwise, redact_auth_from_url -from pip._internal.utils.typing import MYPY_CHECK_RUNNING from pip._internal.utils.urls import path_to_url, url_to_path from pip._internal.vcs import is_url, vcs -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: import xml.etree.ElementTree from optparse import Values from typing import ( diff --git a/src/pip/_internal/index/package_finder.py b/src/pip/_internal/index/package_finder.py index 731188926..5e603ef15 100644 --- a/src/pip/_internal/index/package_finder.py +++ b/src/pip/_internal/index/package_finder.py @@ -6,6 +6,7 @@ import functools import logging import re +from typing import TYPE_CHECKING from pip._vendor.packaging import specifiers from pip._vendor.packaging.utils import canonicalize_name @@ -28,11 +29,10 @@ from pip._internal.utils.filetypes import WHEEL_EXTENSION from pip._internal.utils.logging import indent_log from pip._internal.utils.misc import build_netloc from pip._internal.utils.packaging import check_requires_python -from pip._internal.utils.typing import MYPY_CHECK_RUNNING from pip._internal.utils.unpacking import SUPPORTED_EXTENSIONS from pip._internal.utils.urls import url_to_path -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import FrozenSet, Iterable, List, Optional, Set, Tuple, Union from pip._vendor.packaging.tags import Tag diff --git a/src/pip/_internal/locations.py b/src/pip/_internal/locations.py index 88b9e43cd..4e6b28105 100644 --- a/src/pip/_internal/locations.py +++ b/src/pip/_internal/locations.py @@ -10,14 +10,14 @@ import sys import sysconfig from distutils.command.install import SCHEME_KEYS from distutils.command.install import install as distutils_install_command +from typing import TYPE_CHECKING, cast from pip._internal.models.scheme import Scheme from pip._internal.utils import appdirs from pip._internal.utils.compat import WINDOWS -from pip._internal.utils.typing import MYPY_CHECK_RUNNING, cast from pip._internal.utils.virtualenv import running_under_virtualenv -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from distutils.cmd import Command as DistutilsCommand from typing import Dict, List, Optional, Union diff --git a/src/pip/_internal/main.py b/src/pip/_internal/main.py index 1c99c49a1..647cde25f 100644 --- a/src/pip/_internal/main.py +++ b/src/pip/_internal/main.py @@ -1,6 +1,6 @@ -from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from typing import TYPE_CHECKING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import List, Optional diff --git a/src/pip/_internal/metadata/__init__.py b/src/pip/_internal/metadata/__init__.py index ba0471aa1..ecf2550e1 100644 --- a/src/pip/_internal/metadata/__init__.py +++ b/src/pip/_internal/metadata/__init__.py @@ -1,6 +1,6 @@ -from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from typing import TYPE_CHECKING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import List, Optional from .base import BaseDistribution, BaseEnvironment diff --git a/src/pip/_internal/metadata/base.py b/src/pip/_internal/metadata/base.py index fb1f8579a..8ff57374c 100644 --- a/src/pip/_internal/metadata/base.py +++ b/src/pip/_internal/metadata/base.py @@ -1,7 +1,8 @@ +from typing import TYPE_CHECKING + from pip._internal.utils.misc import stdlib_pkgs # TODO: Move definition here. -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Container, Iterator, List, Optional from pip._vendor.packaging.version import _BaseVersion diff --git a/src/pip/_internal/metadata/pkg_resources.py b/src/pip/_internal/metadata/pkg_resources.py index 48d959a37..ccc3cc57b 100644 --- a/src/pip/_internal/metadata/pkg_resources.py +++ b/src/pip/_internal/metadata/pkg_resources.py @@ -1,16 +1,16 @@ import zipfile +from typing import TYPE_CHECKING from pip._vendor import pkg_resources from pip._vendor.packaging.utils import canonicalize_name from pip._internal.utils import misc # TODO: Move definition here. from pip._internal.utils.packaging import get_installer -from pip._internal.utils.typing import MYPY_CHECK_RUNNING from pip._internal.utils.wheel import pkg_resources_distribution_for_wheel from .base import BaseDistribution, BaseEnvironment -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Iterator, List, Optional from pip._vendor.packaging.version import _BaseVersion diff --git a/src/pip/_internal/models/candidate.py b/src/pip/_internal/models/candidate.py index d8a8d42eb..d4eade13e 100644 --- a/src/pip/_internal/models/candidate.py +++ b/src/pip/_internal/models/candidate.py @@ -1,9 +1,10 @@ +from typing import TYPE_CHECKING + from pip._vendor.packaging.version import parse as parse_version from pip._internal.utils.models import KeyBasedCompareMixin -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from pip._vendor.packaging.version import _BaseVersion from pip._internal.models.link import Link diff --git a/src/pip/_internal/models/direct_url.py b/src/pip/_internal/models/direct_url.py index a8869bd04..d10a8044d 100644 --- a/src/pip/_internal/models/direct_url.py +++ b/src/pip/_internal/models/direct_url.py @@ -2,10 +2,9 @@ import json import re import urllib.parse +from typing import TYPE_CHECKING -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Any, Dict, Iterable, Optional, Type, TypeVar, Union T = TypeVar("T") @@ -156,7 +155,7 @@ class DirInfo: return _filter_none(editable=self.editable or None) -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: InfoType = Union[ArchiveInfo, DirInfo, VcsInfo] diff --git a/src/pip/_internal/models/format_control.py b/src/pip/_internal/models/format_control.py index eb46f2535..73d045728 100644 --- a/src/pip/_internal/models/format_control.py +++ b/src/pip/_internal/models/format_control.py @@ -1,9 +1,10 @@ +from typing import TYPE_CHECKING + from pip._vendor.packaging.utils import canonicalize_name from pip._internal.exceptions import CommandError -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import FrozenSet, Optional, Set diff --git a/src/pip/_internal/models/link.py b/src/pip/_internal/models/link.py index 06a7ceb3f..757f43b90 100644 --- a/src/pip/_internal/models/link.py +++ b/src/pip/_internal/models/link.py @@ -2,6 +2,7 @@ import os import posixpath import re import urllib.parse +from typing import TYPE_CHECKING from pip._internal.utils.filetypes import WHEEL_EXTENSION from pip._internal.utils.misc import ( @@ -10,10 +11,9 @@ from pip._internal.utils.misc import ( splitext, ) from pip._internal.utils.models import KeyBasedCompareMixin -from pip._internal.utils.typing import MYPY_CHECK_RUNNING from pip._internal.utils.urls import path_to_url, url_to_path -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Optional, Tuple, Union from pip._internal.index.collector import HTMLPage diff --git a/src/pip/_internal/models/search_scope.py b/src/pip/_internal/models/search_scope.py index c972f1d17..21907aab7 100644 --- a/src/pip/_internal/models/search_scope.py +++ b/src/pip/_internal/models/search_scope.py @@ -3,15 +3,15 @@ import logging import os import posixpath import urllib.parse +from typing import TYPE_CHECKING from pip._vendor.packaging.utils import canonicalize_name from pip._internal.models.index import PyPI from pip._internal.utils.compat import has_tls from pip._internal.utils.misc import normalize_path, redact_auth_from_url -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import List diff --git a/src/pip/_internal/models/selection_prefs.py b/src/pip/_internal/models/selection_prefs.py index 4d5822268..65750ebb2 100644 --- a/src/pip/_internal/models/selection_prefs.py +++ b/src/pip/_internal/models/selection_prefs.py @@ -1,6 +1,6 @@ -from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from typing import TYPE_CHECKING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Optional from pip._internal.models.format_control import FormatControl diff --git a/src/pip/_internal/models/target_python.py b/src/pip/_internal/models/target_python.py index 6e6e8b52e..742c089eb 100644 --- a/src/pip/_internal/models/target_python.py +++ b/src/pip/_internal/models/target_python.py @@ -1,10 +1,10 @@ import sys +from typing import TYPE_CHECKING from pip._internal.utils.compatibility_tags import get_supported, version_info_to_nodot from pip._internal.utils.misc import normalize_version_info -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import List, Optional, Tuple from pip._vendor.packaging.tags import Tag diff --git a/src/pip/_internal/models/wheel.py b/src/pip/_internal/models/wheel.py index 5e03f9ff8..484596aaa 100644 --- a/src/pip/_internal/models/wheel.py +++ b/src/pip/_internal/models/wheel.py @@ -2,13 +2,13 @@ name that have meaning. """ import re +from typing import TYPE_CHECKING from pip._vendor.packaging.tags import Tag from pip._internal.exceptions import InvalidWheelFilename -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import List diff --git a/src/pip/_internal/network/auth.py b/src/pip/_internal/network/auth.py index 99fa2bd67..315aca699 100644 --- a/src/pip/_internal/network/auth.py +++ b/src/pip/_internal/network/auth.py @@ -6,6 +6,7 @@ providing credentials in the context of network requests. import logging import urllib.parse +from typing import TYPE_CHECKING from pip._vendor.requests.auth import AuthBase, HTTPBasicAuth from pip._vendor.requests.utils import get_netrc_auth @@ -17,9 +18,8 @@ from pip._internal.utils.misc import ( remove_auth_from_url, split_auth_netloc_from_url, ) -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Any, Dict, List, Optional, Tuple from pip._vendor.requests.models import Request, Response diff --git a/src/pip/_internal/network/cache.py b/src/pip/_internal/network/cache.py index 9253b2047..cdec4949c 100644 --- a/src/pip/_internal/network/cache.py +++ b/src/pip/_internal/network/cache.py @@ -3,6 +3,7 @@ import os from contextlib import contextmanager +from typing import TYPE_CHECKING from pip._vendor.cachecontrol.cache import BaseCache from pip._vendor.cachecontrol.caches import FileCache @@ -10,9 +11,8 @@ from pip._vendor.requests.models import Response from pip._internal.utils.filesystem import adjacent_tmp_file, replace from pip._internal.utils.misc import ensure_dir -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Iterator, Optional diff --git a/src/pip/_internal/network/download.py b/src/pip/_internal/network/download.py index a2a0e8e2a..7f02fa6f6 100644 --- a/src/pip/_internal/network/download.py +++ b/src/pip/_internal/network/download.py @@ -4,6 +4,7 @@ import cgi import logging import mimetypes import os +from typing import TYPE_CHECKING from pip._vendor.requests.models import CONTENT_CHUNK_SIZE @@ -13,9 +14,8 @@ from pip._internal.models.index import PyPI from pip._internal.network.cache import is_from_cache from pip._internal.network.utils import HEADERS, raise_for_status, response_chunks from pip._internal.utils.misc import format_size, redact_auth_from_url, splitext -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Iterable, Optional, Tuple from pip._vendor.requests.models import Response diff --git a/src/pip/_internal/network/lazy_wheel.py b/src/pip/_internal/network/lazy_wheel.py index c5176a4bb..fd7ab7f03 100644 --- a/src/pip/_internal/network/lazy_wheel.py +++ b/src/pip/_internal/network/lazy_wheel.py @@ -5,15 +5,15 @@ __all__ = ['HTTPRangeRequestUnsupported', 'dist_from_wheel_url'] from bisect import bisect_left, bisect_right from contextlib import contextmanager from tempfile import NamedTemporaryFile +from typing import TYPE_CHECKING from zipfile import BadZipfile, ZipFile from pip._vendor.requests.models import CONTENT_CHUNK_SIZE from pip._internal.network.utils import HEADERS, raise_for_status, response_chunks -from pip._internal.utils.typing import MYPY_CHECK_RUNNING from pip._internal.utils.wheel import pkg_resources_distribution_for_wheel -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Any, Dict, Iterator, List, Optional, Tuple from pip._vendor.pkg_resources import Distribution diff --git a/src/pip/_internal/network/session.py b/src/pip/_internal/network/session.py index 1128e6253..83bcecca3 100644 --- a/src/pip/_internal/network/session.py +++ b/src/pip/_internal/network/session.py @@ -15,6 +15,7 @@ import platform import sys import urllib.parse import warnings +from typing import TYPE_CHECKING from pip._vendor import requests, urllib3 from pip._vendor.cachecontrol import CacheControlAdapter @@ -35,10 +36,9 @@ from pip._internal.utils.misc import ( get_installed_version, parse_netloc, ) -from pip._internal.utils.typing import MYPY_CHECK_RUNNING from pip._internal.utils.urls import url_to_path -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Any, Iterator, List, Optional, Sequence, Tuple, Union from pip._internal.models.link import Link diff --git a/src/pip/_internal/network/utils.py b/src/pip/_internal/network/utils.py index f4ff95010..47ece6d13 100644 --- a/src/pip/_internal/network/utils.py +++ b/src/pip/_internal/network/utils.py @@ -1,9 +1,10 @@ +from typing import TYPE_CHECKING + from pip._vendor.requests.models import CONTENT_CHUNK_SIZE, Response from pip._internal.exceptions import NetworkConnectionError -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Dict, Iterator # The following comments and HTTP headers were originally added by diff --git a/src/pip/_internal/network/xmlrpc.py b/src/pip/_internal/network/xmlrpc.py index 874904532..d4aa71c09 100644 --- a/src/pip/_internal/network/xmlrpc.py +++ b/src/pip/_internal/network/xmlrpc.py @@ -3,6 +3,7 @@ import logging import urllib.parse +from typing import TYPE_CHECKING # NOTE: XMLRPC Client is not annotated in typeshed as on 2017-07-17, which is # why we ignore the type on this import @@ -10,9 +11,8 @@ from pip._vendor.six.moves import xmlrpc_client # type: ignore from pip._internal.exceptions import NetworkConnectionError from pip._internal.network.utils import raise_for_status -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Dict from pip._internal.network.session import PipSession diff --git a/src/pip/_internal/operations/build/metadata.py b/src/pip/_internal/operations/build/metadata.py index 5709962b0..21f86c8dc 100644 --- a/src/pip/_internal/operations/build/metadata.py +++ b/src/pip/_internal/operations/build/metadata.py @@ -2,12 +2,12 @@ """ import os +from typing import TYPE_CHECKING from pip._internal.utils.subprocess import runner_with_spinner_message from pip._internal.utils.temp_dir import TempDirectory -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from pip._vendor.pep517.wrappers import Pep517HookCaller from pip._internal.build_env import BuildEnvironment diff --git a/src/pip/_internal/operations/build/metadata_legacy.py b/src/pip/_internal/operations/build/metadata_legacy.py index d44589666..a113a4a4e 100644 --- a/src/pip/_internal/operations/build/metadata_legacy.py +++ b/src/pip/_internal/operations/build/metadata_legacy.py @@ -3,14 +3,14 @@ import logging import os +from typing import TYPE_CHECKING from pip._internal.exceptions import InstallationError from pip._internal.utils.setuptools_build import make_setuptools_egg_info_args from pip._internal.utils.subprocess import call_subprocess from pip._internal.utils.temp_dir import TempDirectory -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from pip._internal.build_env import BuildEnvironment logger = logging.getLogger(__name__) diff --git a/src/pip/_internal/operations/build/wheel.py b/src/pip/_internal/operations/build/wheel.py index d25f9c42f..9af53caa2 100644 --- a/src/pip/_internal/operations/build/wheel.py +++ b/src/pip/_internal/operations/build/wheel.py @@ -1,10 +1,10 @@ import logging import os +from typing import TYPE_CHECKING from pip._internal.utils.subprocess import runner_with_spinner_message -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import List, Optional from pip._vendor.pep517.wrappers import Pep517HookCaller diff --git a/src/pip/_internal/operations/build/wheel_legacy.py b/src/pip/_internal/operations/build/wheel_legacy.py index 82fa44406..0a4a68d20 100644 --- a/src/pip/_internal/operations/build/wheel_legacy.py +++ b/src/pip/_internal/operations/build/wheel_legacy.py @@ -1,5 +1,6 @@ import logging import os.path +from typing import TYPE_CHECKING from pip._internal.cli.spinners import open_spinner from pip._internal.utils.setuptools_build import make_setuptools_bdist_wheel_args @@ -8,9 +9,8 @@ from pip._internal.utils.subprocess import ( call_subprocess, format_command_args, ) -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import List, Optional logger = logging.getLogger(__name__) diff --git a/src/pip/_internal/operations/check.py b/src/pip/_internal/operations/check.py index 5dee6bcb4..a3189061c 100644 --- a/src/pip/_internal/operations/check.py +++ b/src/pip/_internal/operations/check.py @@ -3,17 +3,17 @@ import logging from collections import namedtuple +from typing import TYPE_CHECKING from pip._vendor.packaging.utils import canonicalize_name from pip._vendor.pkg_resources import RequirementParseError from pip._internal.distributions import make_distribution_for_install_requirement from pip._internal.utils.misc import get_installed_distributions -from pip._internal.utils.typing import MYPY_CHECK_RUNNING logger = logging.getLogger(__name__) -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Any, Callable, Dict, List, Optional, Set, Tuple from pip._internal.req.req_install import InstallRequirement diff --git a/src/pip/_internal/operations/freeze.py b/src/pip/_internal/operations/freeze.py index 5d63c12fa..b082caa8a 100644 --- a/src/pip/_internal/operations/freeze.py +++ b/src/pip/_internal/operations/freeze.py @@ -1,6 +1,7 @@ import collections import logging import os +from typing import TYPE_CHECKING from pip._vendor.packaging.utils import canonicalize_name from pip._vendor.pkg_resources import RequirementParseError @@ -16,9 +17,8 @@ from pip._internal.utils.direct_url_helpers import ( dist_get_direct_url, ) from pip._internal.utils.misc import dist_is_editable, get_installed_distributions -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import ( Container, Dict, diff --git a/src/pip/_internal/operations/install/editable_legacy.py b/src/pip/_internal/operations/install/editable_legacy.py index a668a61dc..f2ec1f882 100644 --- a/src/pip/_internal/operations/install/editable_legacy.py +++ b/src/pip/_internal/operations/install/editable_legacy.py @@ -1,13 +1,13 @@ """Legacy editable installation process, i.e. `setup.py develop`. """ import logging +from typing import TYPE_CHECKING from pip._internal.utils.logging import indent_log from pip._internal.utils.setuptools_build import make_setuptools_develop_args from pip._internal.utils.subprocess import call_subprocess -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import List, Optional, Sequence from pip._internal.build_env import BuildEnvironment diff --git a/src/pip/_internal/operations/install/legacy.py b/src/pip/_internal/operations/install/legacy.py index 63a693a91..a70be0d22 100644 --- a/src/pip/_internal/operations/install/legacy.py +++ b/src/pip/_internal/operations/install/legacy.py @@ -5,6 +5,7 @@ import logging import os import sys from distutils.util import change_root +from typing import TYPE_CHECKING from pip._internal.exceptions import InstallationError from pip._internal.utils.logging import indent_log @@ -12,9 +13,8 @@ from pip._internal.utils.misc import ensure_dir from pip._internal.utils.setuptools_build import make_setuptools_install_args from pip._internal.utils.subprocess import runner_with_spinner_message from pip._internal.utils.temp_dir import TempDirectory -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import List, Optional, Sequence from pip._internal.build_env import BuildEnvironment diff --git a/src/pip/_internal/operations/install/wheel.py b/src/pip/_internal/operations/install/wheel.py index e3ce62c5c..db72f7111 100644 --- a/src/pip/_internal/operations/install/wheel.py +++ b/src/pip/_internal/operations/install/wheel.py @@ -14,6 +14,7 @@ import sys import warnings from base64 import urlsafe_b64encode from itertools import chain, filterfalse, starmap +from typing import TYPE_CHECKING, cast from zipfile import ZipFile from pip._vendor import pkg_resources @@ -27,7 +28,6 @@ from pip._internal.models.direct_url import DIRECT_URL_METADATA_NAME, DirectUrl from pip._internal.models.scheme import SCHEME_KEYS from pip._internal.utils.filesystem import adjacent_tmp_file, replace from pip._internal.utils.misc import captured_stdout, ensure_dir, hash_file, partition -from pip._internal.utils.typing import MYPY_CHECK_RUNNING from pip._internal.utils.unpacking import ( current_umask, is_within_directory, @@ -36,12 +36,7 @@ from pip._internal.utils.unpacking import ( ) from pip._internal.utils.wheel import parse_wheel, pkg_resources_distribution_for_wheel -# Use the custom cast function at runtime to make cast work, -# and import typing.cast when performing pre-commit and type -# checks -if not MYPY_CHECK_RUNNING: - from pip._internal.utils.typing import cast -else: +if TYPE_CHECKING: from email.message import Message from typing import ( IO, @@ -59,7 +54,6 @@ else: Set, Tuple, Union, - cast, ) from zipfile import ZipInfo diff --git a/src/pip/_internal/operations/prepare.py b/src/pip/_internal/operations/prepare.py index 715c3debd..e09fa7fb0 100644 --- a/src/pip/_internal/operations/prepare.py +++ b/src/pip/_internal/operations/prepare.py @@ -8,6 +8,7 @@ import logging import mimetypes import os import shutil +from typing import TYPE_CHECKING from pip._vendor.packaging.utils import canonicalize_name @@ -33,11 +34,10 @@ from pip._internal.utils.hashes import MissingHashes from pip._internal.utils.logging import indent_log from pip._internal.utils.misc import display_path, hide_url, path_to_display, rmtree from pip._internal.utils.temp_dir import TempDirectory -from pip._internal.utils.typing import MYPY_CHECK_RUNNING from pip._internal.utils.unpacking import unpack_file from pip._internal.vcs import vcs -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Dict, Iterable, List, Optional, Tuple from pip._vendor.pkg_resources import Distribution diff --git a/src/pip/_internal/pyproject.py b/src/pip/_internal/pyproject.py index 68ca53bf0..fdd289b56 100644 --- a/src/pip/_internal/pyproject.py +++ b/src/pip/_internal/pyproject.py @@ -1,13 +1,13 @@ import os from collections import namedtuple +from typing import TYPE_CHECKING from pip._vendor import toml from pip._vendor.packaging.requirements import InvalidRequirement, Requirement from pip._internal.exceptions import InstallationError -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Any, List, Optional diff --git a/src/pip/_internal/req/__init__.py b/src/pip/_internal/req/__init__.py index 352d8923f..ef6e162a2 100644 --- a/src/pip/_internal/req/__init__.py +++ b/src/pip/_internal/req/__init__.py @@ -1,14 +1,14 @@ import collections import logging +from typing import TYPE_CHECKING from pip._internal.utils.logging import indent_log -from pip._internal.utils.typing import MYPY_CHECK_RUNNING from .req_file import parse_requirements from .req_install import InstallRequirement from .req_set import RequirementSet -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Iterator, List, Optional, Sequence, Tuple __all__ = [ diff --git a/src/pip/_internal/req/constructors.py b/src/pip/_internal/req/constructors.py index cfb1951b6..6a649f0d8 100644 --- a/src/pip/_internal/req/constructors.py +++ b/src/pip/_internal/req/constructors.py @@ -11,6 +11,7 @@ InstallRequirement. import logging import os import re +from typing import TYPE_CHECKING from pip._vendor.packaging.markers import Marker from pip._vendor.packaging.requirements import InvalidRequirement, Requirement @@ -25,11 +26,10 @@ from pip._internal.pyproject import make_pyproject_path from pip._internal.req.req_install import InstallRequirement from pip._internal.utils.filetypes import is_archive_file from pip._internal.utils.misc import is_installable_dir -from pip._internal.utils.typing import MYPY_CHECK_RUNNING from pip._internal.utils.urls import path_to_url from pip._internal.vcs import is_url, vcs -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Any, Dict, Optional, Set, Tuple, Union from pip._internal.req.req_file import ParsedRequirement diff --git a/src/pip/_internal/req/req_file.py b/src/pip/_internal/req/req_file.py index 716005dc5..a2f87209b 100644 --- a/src/pip/_internal/req/req_file.py +++ b/src/pip/_internal/req/req_file.py @@ -7,16 +7,16 @@ import os import re import shlex import urllib.parse +from typing import TYPE_CHECKING from pip._internal.cli import cmdoptions from pip._internal.exceptions import InstallationError, RequirementsFileParseError from pip._internal.models.search_scope import SearchScope from pip._internal.network.utils import raise_for_status from pip._internal.utils.encoding import auto_decode -from pip._internal.utils.typing import MYPY_CHECK_RUNNING from pip._internal.utils.urls import get_url_scheme, url_to_path -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from optparse import Values from typing import ( Any, diff --git a/src/pip/_internal/req/req_install.py b/src/pip/_internal/req/req_install.py index b9562bedc..448563453 100644 --- a/src/pip/_internal/req/req_install.py +++ b/src/pip/_internal/req/req_install.py @@ -7,6 +7,7 @@ import shutil import sys import uuid import zipfile +from typing import TYPE_CHECKING from pip._vendor import pkg_resources, six from pip._vendor.packaging.requirements import Requirement @@ -48,11 +49,10 @@ from pip._internal.utils.misc import ( ) from pip._internal.utils.packaging import get_metadata from pip._internal.utils.temp_dir import TempDirectory, tempdir_kinds -from pip._internal.utils.typing import MYPY_CHECK_RUNNING from pip._internal.utils.virtualenv import running_under_virtualenv from pip._internal.vcs import vcs -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Any, Dict, Iterable, List, Optional, Sequence, Union from pip._vendor.packaging.markers import Marker diff --git a/src/pip/_internal/req/req_set.py b/src/pip/_internal/req/req_set.py index fa58be663..c95521832 100644 --- a/src/pip/_internal/req/req_set.py +++ b/src/pip/_internal/req/req_set.py @@ -1,14 +1,14 @@ import logging from collections import OrderedDict +from typing import TYPE_CHECKING from pip._vendor.packaging.utils import canonicalize_name from pip._internal.exceptions import InstallationError from pip._internal.models.wheel import Wheel from pip._internal.utils import compatibility_tags -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Dict, Iterable, List, Optional, Tuple from pip._internal.req.req_install import InstallRequirement diff --git a/src/pip/_internal/req/req_tracker.py b/src/pip/_internal/req/req_tracker.py index a6aeb188f..ac4831a84 100644 --- a/src/pip/_internal/req/req_tracker.py +++ b/src/pip/_internal/req/req_tracker.py @@ -2,13 +2,13 @@ import contextlib import hashlib import logging import os +from typing import TYPE_CHECKING from pip._vendor import contextlib2 from pip._internal.utils.temp_dir import TempDirectory -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from types import TracebackType from typing import Dict, Iterator, Optional, Set, Type, Union diff --git a/src/pip/_internal/req/req_uninstall.py b/src/pip/_internal/req/req_uninstall.py index a37a378dd..d7e28dc00 100644 --- a/src/pip/_internal/req/req_uninstall.py +++ b/src/pip/_internal/req/req_uninstall.py @@ -5,6 +5,7 @@ import os import sys import sysconfig from importlib.util import cache_from_source +from typing import TYPE_CHECKING from pip._vendor import pkg_resources @@ -23,9 +24,8 @@ from pip._internal.utils.misc import ( rmtree, ) from pip._internal.utils.temp_dir import AdjacentTempDirectory, TempDirectory -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import ( Any, Callable, diff --git a/src/pip/_internal/resolution/base.py b/src/pip/_internal/resolution/base.py index f2816ab71..caf4e0d8c 100644 --- a/src/pip/_internal/resolution/base.py +++ b/src/pip/_internal/resolution/base.py @@ -1,6 +1,6 @@ -from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from typing import TYPE_CHECKING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Callable, List from pip._internal.req.req_install import InstallRequirement diff --git a/src/pip/_internal/resolution/legacy/resolver.py b/src/pip/_internal/resolution/legacy/resolver.py index 665dba128..8f5378a07 100644 --- a/src/pip/_internal/resolution/legacy/resolver.py +++ b/src/pip/_internal/resolution/legacy/resolver.py @@ -18,6 +18,7 @@ import logging import sys from collections import defaultdict from itertools import chain +from typing import TYPE_CHECKING from pip._vendor.packaging import specifiers @@ -35,9 +36,8 @@ from pip._internal.utils.compatibility_tags import get_supported from pip._internal.utils.logging import indent_log from pip._internal.utils.misc import dist_in_usersite, normalize_version_info from pip._internal.utils.packaging import check_requires_python, get_requires_python -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import DefaultDict, List, Optional, Set, Tuple from pip._vendor.pkg_resources import Distribution diff --git a/src/pip/_internal/resolution/resolvelib/base.py b/src/pip/_internal/resolution/resolvelib/base.py index 82c5ec7c7..29d798c30 100644 --- a/src/pip/_internal/resolution/resolvelib/base.py +++ b/src/pip/_internal/resolution/resolvelib/base.py @@ -1,11 +1,12 @@ +from typing import TYPE_CHECKING + from pip._vendor.packaging.specifiers import SpecifierSet from pip._vendor.packaging.utils import canonicalize_name from pip._internal.req.req_install import InstallRequirement from pip._internal.utils.hashes import Hashes -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import FrozenSet, Iterable, Optional, Tuple from pip._vendor.packaging.version import _BaseVersion diff --git a/src/pip/_internal/resolution/resolvelib/candidates.py b/src/pip/_internal/resolution/resolvelib/candidates.py index 91662b326..2240cac08 100644 --- a/src/pip/_internal/resolution/resolvelib/candidates.py +++ b/src/pip/_internal/resolution/resolvelib/candidates.py @@ -1,5 +1,6 @@ import logging import sys +from typing import TYPE_CHECKING from pip._vendor.packaging.specifiers import InvalidSpecifier, SpecifierSet from pip._vendor.packaging.utils import canonicalize_name @@ -14,11 +15,10 @@ from pip._internal.req.constructors import ( from pip._internal.req.req_install import InstallRequirement from pip._internal.utils.misc import dist_is_editable, normalize_version_info from pip._internal.utils.packaging import get_requires_python -from pip._internal.utils.typing import MYPY_CHECK_RUNNING from .base import Candidate, format_name -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Any, FrozenSet, Iterable, Optional, Tuple, Union from pip._vendor.packaging.version import _BaseVersion diff --git a/src/pip/_internal/resolution/resolvelib/factory.py b/src/pip/_internal/resolution/resolvelib/factory.py index be0729e39..5bfe0cc06 100644 --- a/src/pip/_internal/resolution/resolvelib/factory.py +++ b/src/pip/_internal/resolution/resolvelib/factory.py @@ -1,5 +1,6 @@ import functools import logging +from typing import TYPE_CHECKING from pip._vendor.packaging.utils import canonicalize_name @@ -20,7 +21,6 @@ from pip._internal.utils.misc import ( dist_in_usersite, get_installed_distributions, ) -from pip._internal.utils.typing import MYPY_CHECK_RUNNING from pip._internal.utils.virtualenv import running_under_virtualenv from .base import Constraint @@ -39,7 +39,7 @@ from .requirements import ( UnsatisfiableRequirement, ) -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import ( Dict, FrozenSet, diff --git a/src/pip/_internal/resolution/resolvelib/found_candidates.py b/src/pip/_internal/resolution/resolvelib/found_candidates.py index f11b47603..2a8d58ce2 100644 --- a/src/pip/_internal/resolution/resolvelib/found_candidates.py +++ b/src/pip/_internal/resolution/resolvelib/found_candidates.py @@ -9,12 +9,11 @@ something. """ import functools +from typing import TYPE_CHECKING from pip._vendor.six.moves import collections_abc # type: ignore -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Callable, Iterator, Optional, Set, Tuple from pip._vendor.packaging.version import _BaseVersion diff --git a/src/pip/_internal/resolution/resolvelib/provider.py b/src/pip/_internal/resolution/resolvelib/provider.py index 2ac3933b4..f8632410e 100644 --- a/src/pip/_internal/resolution/resolvelib/provider.py +++ b/src/pip/_internal/resolution/resolvelib/provider.py @@ -1,10 +1,10 @@ -from pip._vendor.resolvelib.providers import AbstractProvider +from typing import TYPE_CHECKING -from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from pip._vendor.resolvelib.providers import AbstractProvider from .base import Constraint -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Any, Dict, Iterable, Optional, Sequence, Tuple, Union from .base import Candidate, Requirement diff --git a/src/pip/_internal/resolution/resolvelib/reporter.py b/src/pip/_internal/resolution/resolvelib/reporter.py index d0ef3fadc..6679d73f2 100644 --- a/src/pip/_internal/resolution/resolvelib/reporter.py +++ b/src/pip/_internal/resolution/resolvelib/reporter.py @@ -1,11 +1,10 @@ from collections import defaultdict from logging import getLogger +from typing import TYPE_CHECKING from pip._vendor.resolvelib.reporters import BaseReporter -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Any, DefaultDict from .base import Candidate, Requirement diff --git a/src/pip/_internal/resolution/resolvelib/requirements.py b/src/pip/_internal/resolution/resolvelib/requirements.py index 61c81e00e..a2fad4bdb 100644 --- a/src/pip/_internal/resolution/resolvelib/requirements.py +++ b/src/pip/_internal/resolution/resolvelib/requirements.py @@ -1,10 +1,10 @@ -from pip._vendor.packaging.utils import canonicalize_name +from typing import TYPE_CHECKING -from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from pip._vendor.packaging.utils import canonicalize_name from .base import Requirement, format_name -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from pip._vendor.packaging.specifiers import SpecifierSet from pip._internal.req.req_install import InstallRequirement diff --git a/src/pip/_internal/resolution/resolvelib/resolver.py b/src/pip/_internal/resolution/resolvelib/resolver.py index d02a49c7d..935723737 100644 --- a/src/pip/_internal/resolution/resolvelib/resolver.py +++ b/src/pip/_internal/resolution/resolvelib/resolver.py @@ -1,6 +1,7 @@ import functools import logging import os +from typing import TYPE_CHECKING from pip._vendor import six from pip._vendor.packaging.utils import canonicalize_name @@ -19,12 +20,11 @@ from pip._internal.resolution.resolvelib.reporter import ( from pip._internal.utils.deprecation import deprecated from pip._internal.utils.filetypes import is_archive_file from pip._internal.utils.misc import dist_is_editable -from pip._internal.utils.typing import MYPY_CHECK_RUNNING from .base import Constraint from .factory import Factory -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Dict, List, Optional, Set, Tuple from pip._vendor.resolvelib.resolvers import Result diff --git a/src/pip/_internal/self_outdated_check.py b/src/pip/_internal/self_outdated_check.py index 026378f23..9281636fa 100644 --- a/src/pip/_internal/self_outdated_check.py +++ b/src/pip/_internal/self_outdated_check.py @@ -4,6 +4,7 @@ import json import logging import os.path import sys +from typing import TYPE_CHECKING from pip._vendor.packaging import version as packaging_version @@ -13,9 +14,8 @@ from pip._internal.metadata import get_default_environment from pip._internal.models.selection_prefs import SelectionPreferences from pip._internal.utils.filesystem import adjacent_tmp_file, check_path_owner, replace from pip._internal.utils.misc import ensure_dir, get_installed_version -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: import optparse from typing import Any, Dict diff --git a/src/pip/_internal/utils/appdirs.py b/src/pip/_internal/utils/appdirs.py index a0a37be87..55e83e0d6 100644 --- a/src/pip/_internal/utils/appdirs.py +++ b/src/pip/_internal/utils/appdirs.py @@ -7,12 +7,11 @@ and eventually drop this after all usages are changed. """ import os +from typing import TYPE_CHECKING from pip._vendor import appdirs as _appdirs -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import List diff --git a/src/pip/_internal/utils/compat.py b/src/pip/_internal/utils/compat.py index 0ae0483c8..0b0599523 100644 --- a/src/pip/_internal/utils/compat.py +++ b/src/pip/_internal/utils/compat.py @@ -9,10 +9,9 @@ import locale import logging import os import sys +from typing import TYPE_CHECKING -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Optional, Union diff --git a/src/pip/_internal/utils/compatibility_tags.py b/src/pip/_internal/utils/compatibility_tags.py index ac37c3a17..cfba97a53 100644 --- a/src/pip/_internal/utils/compatibility_tags.py +++ b/src/pip/_internal/utils/compatibility_tags.py @@ -2,6 +2,7 @@ """ import re +from typing import TYPE_CHECKING from pip._vendor.packaging.tags import ( Tag, @@ -13,9 +14,7 @@ from pip._vendor.packaging.tags import ( mac_platforms, ) -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import List, Optional, Tuple from pip._vendor.packaging.tags import PythonVersion diff --git a/src/pip/_internal/utils/deprecation.py b/src/pip/_internal/utils/deprecation.py index 534d3fde8..d4b60ea1a 100644 --- a/src/pip/_internal/utils/deprecation.py +++ b/src/pip/_internal/utils/deprecation.py @@ -7,13 +7,13 @@ A module that implements tooling to enable easy warnings about deprecations. import logging import warnings +from typing import TYPE_CHECKING from pip._vendor.packaging.version import parse from pip import __version__ as current_version -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Any, Optional diff --git a/src/pip/_internal/utils/direct_url_helpers.py b/src/pip/_internal/utils/direct_url_helpers.py index 9598137aa..caf2fa148 100644 --- a/src/pip/_internal/utils/direct_url_helpers.py +++ b/src/pip/_internal/utils/direct_url_helpers.py @@ -1,5 +1,6 @@ import json import logging +from typing import TYPE_CHECKING from pip._internal.models.direct_url import ( DIRECT_URL_METADATA_NAME, @@ -9,10 +10,9 @@ from pip._internal.models.direct_url import ( DirInfo, VcsInfo, ) -from pip._internal.utils.typing import MYPY_CHECK_RUNNING from pip._internal.vcs import vcs -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Optional from pip._vendor.pkg_resources import Distribution diff --git a/src/pip/_internal/utils/distutils_args.py b/src/pip/_internal/utils/distutils_args.py index e38e402d7..7d3dae785 100644 --- a/src/pip/_internal/utils/distutils_args.py +++ b/src/pip/_internal/utils/distutils_args.py @@ -1,9 +1,8 @@ from distutils.errors import DistutilsArgError from distutils.fancy_getopt import FancyGetopt +from typing import TYPE_CHECKING -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Dict, List diff --git a/src/pip/_internal/utils/encoding.py b/src/pip/_internal/utils/encoding.py index 7df679878..122c4ab29 100644 --- a/src/pip/_internal/utils/encoding.py +++ b/src/pip/_internal/utils/encoding.py @@ -2,10 +2,9 @@ import codecs import locale import re import sys +from typing import TYPE_CHECKING -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import List, Tuple BOMS = [ diff --git a/src/pip/_internal/utils/entrypoints.py b/src/pip/_internal/utils/entrypoints.py index 64d1cb2bd..9c0454a62 100644 --- a/src/pip/_internal/utils/entrypoints.py +++ b/src/pip/_internal/utils/entrypoints.py @@ -1,9 +1,9 @@ import sys +from typing import TYPE_CHECKING from pip._internal.cli.main import main -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import List, Optional diff --git a/src/pip/_internal/utils/filesystem.py b/src/pip/_internal/utils/filesystem.py index 1af8c10ea..1a9d952f4 100644 --- a/src/pip/_internal/utils/filesystem.py +++ b/src/pip/_internal/utils/filesystem.py @@ -7,6 +7,7 @@ import stat import sys from contextlib import contextmanager from tempfile import NamedTemporaryFile +from typing import TYPE_CHECKING, cast # NOTE: retrying is not annotated in typeshed as on 2017-07-17, which is # why we ignore the type on this import. @@ -14,9 +15,8 @@ from pip._vendor.retrying import retry # type: ignore from pip._internal.utils.compat import get_path_uid from pip._internal.utils.misc import format_size -from pip._internal.utils.typing import MYPY_CHECK_RUNNING, cast -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Any, BinaryIO, Iterator, List, Union diff --git a/src/pip/_internal/utils/filetypes.py b/src/pip/_internal/utils/filetypes.py index 201c6ebbe..440151d5f 100644 --- a/src/pip/_internal/utils/filetypes.py +++ b/src/pip/_internal/utils/filetypes.py @@ -1,9 +1,10 @@ """Filetype information. """ +from typing import TYPE_CHECKING + from pip._internal.utils.misc import splitext -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Tuple WHEEL_EXTENSION = '.whl' diff --git a/src/pip/_internal/utils/glibc.py b/src/pip/_internal/utils/glibc.py index 819979d80..37caad45e 100644 --- a/src/pip/_internal/utils/glibc.py +++ b/src/pip/_internal/utils/glibc.py @@ -3,10 +3,9 @@ import os import sys +from typing import TYPE_CHECKING -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Optional, Tuple diff --git a/src/pip/_internal/utils/hashes.py b/src/pip/_internal/utils/hashes.py index d5ff90063..612c5e740 100644 --- a/src/pip/_internal/utils/hashes.py +++ b/src/pip/_internal/utils/hashes.py @@ -1,10 +1,10 @@ import hashlib +from typing import TYPE_CHECKING from pip._internal.exceptions import HashMismatch, HashMissing, InstallationError from pip._internal.utils.misc import read_chunks -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from hashlib import _Hash from typing import BinaryIO, Dict, Iterator, List, NoReturn diff --git a/src/pip/_internal/utils/logging.py b/src/pip/_internal/utils/logging.py index f82c5d565..82b997628 100644 --- a/src/pip/_internal/utils/logging.py +++ b/src/pip/_internal/utils/logging.py @@ -8,13 +8,13 @@ import logging.handlers import os import sys from logging import Filter, getLogger +from typing import TYPE_CHECKING from pip._internal.utils.compat import WINDOWS from pip._internal.utils.deprecation import DEPRECATION_MSG_PREFIX from pip._internal.utils.misc import ensure_dir -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Any try: diff --git a/src/pip/_internal/utils/misc.py b/src/pip/_internal/utils/misc.py index 809392865..984efbc66 100644 --- a/src/pip/_internal/utils/misc.py +++ b/src/pip/_internal/utils/misc.py @@ -16,6 +16,7 @@ import sys import urllib.parse from io import StringIO from itertools import filterfalse, tee, zip_longest +from typing import TYPE_CHECKING, cast from pip._vendor import pkg_resources @@ -27,13 +28,12 @@ from pip import __version__ from pip._internal.exceptions import CommandError from pip._internal.locations import get_major_minor_version, site_packages, user_site from pip._internal.utils.compat import WINDOWS, stdlib_pkgs -from pip._internal.utils.typing import MYPY_CHECK_RUNNING, cast from pip._internal.utils.virtualenv import ( running_under_virtualenv, virtualenv_no_global, ) -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import ( Any, AnyStr, diff --git a/src/pip/_internal/utils/packaging.py b/src/pip/_internal/utils/packaging.py index fae06070c..f8de544d3 100644 --- a/src/pip/_internal/utils/packaging.py +++ b/src/pip/_internal/utils/packaging.py @@ -1,14 +1,14 @@ import logging from email.parser import FeedParser +from typing import TYPE_CHECKING from pip._vendor import pkg_resources from pip._vendor.packaging import specifiers, version from pip._internal.exceptions import NoneMetadataError from pip._internal.utils.misc import display_path -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from email.message import Message from typing import Optional, Tuple diff --git a/src/pip/_internal/utils/parallel.py b/src/pip/_internal/utils/parallel.py index 57082367e..af5d4a9df 100644 --- a/src/pip/_internal/utils/parallel.py +++ b/src/pip/_internal/utils/parallel.py @@ -21,12 +21,11 @@ __all__ = ['map_multiprocess', 'map_multithread'] from contextlib import contextmanager from multiprocessing import Pool as ProcessPool from multiprocessing.dummy import Pool as ThreadPool +from typing import TYPE_CHECKING from pip._vendor.requests.adapters import DEFAULT_POOLSIZE -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from multiprocessing import pool from typing import Callable, Iterable, Iterator, TypeVar, Union diff --git a/src/pip/_internal/utils/pkg_resources.py b/src/pip/_internal/utils/pkg_resources.py index 816ac1223..913bebd98 100644 --- a/src/pip/_internal/utils/pkg_resources.py +++ b/src/pip/_internal/utils/pkg_resources.py @@ -1,8 +1,8 @@ -from pip._vendor.pkg_resources import yield_lines +from typing import TYPE_CHECKING -from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from pip._vendor.pkg_resources import yield_lines -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Dict, Iterable, List diff --git a/src/pip/_internal/utils/setuptools_build.py b/src/pip/_internal/utils/setuptools_build.py index 2a664b007..49b0f22f5 100644 --- a/src/pip/_internal/utils/setuptools_build.py +++ b/src/pip/_internal/utils/setuptools_build.py @@ -1,8 +1,7 @@ import sys +from typing import TYPE_CHECKING -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import List, Optional, Sequence # Shim to wrap setup.py invocation with setuptools diff --git a/src/pip/_internal/utils/subprocess.py b/src/pip/_internal/utils/subprocess.py index f685b03b3..82bc3987c 100644 --- a/src/pip/_internal/utils/subprocess.py +++ b/src/pip/_internal/utils/subprocess.py @@ -2,15 +2,15 @@ import logging import os import shlex import subprocess +from typing import TYPE_CHECKING from pip._internal.cli.spinners import SpinnerInterface, open_spinner from pip._internal.exceptions import InstallationSubprocessError from pip._internal.utils.compat import console_to_str, str_to_display from pip._internal.utils.logging import subprocess_logger from pip._internal.utils.misc import HiddenText, path_to_display -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Any, Callable, Iterable, List, Mapping, Optional, Union CommandArgs = List[Union[str, HiddenText]] diff --git a/src/pip/_internal/utils/temp_dir.py b/src/pip/_internal/utils/temp_dir.py index c7fca502b..562795a5a 100644 --- a/src/pip/_internal/utils/temp_dir.py +++ b/src/pip/_internal/utils/temp_dir.py @@ -4,13 +4,13 @@ import logging import os.path import tempfile from contextlib import contextmanager +from typing import TYPE_CHECKING from pip._vendor.contextlib2 import ExitStack from pip._internal.utils.misc import enum, rmtree -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Any, Dict, Iterator, Optional, TypeVar, Union _T = TypeVar('_T', bound='TempDirectory') diff --git a/src/pip/_internal/utils/typing.py b/src/pip/_internal/utils/typing.py deleted file mode 100644 index 8505a29b1..000000000 --- a/src/pip/_internal/utils/typing.py +++ /dev/null @@ -1,38 +0,0 @@ -"""For neatly implementing static typing in pip. - -`mypy` - the static type analysis tool we use - uses the `typing` module, which -provides core functionality fundamental to mypy's functioning. - -Generally, `typing` would be imported at runtime and used in that fashion - -it acts as a no-op at runtime and does not have any run-time overhead by -design. - -As it turns out, `typing` is not vendorable - it uses separate sources for -Python 2/Python 3. Thus, this codebase can not expect it to be present. -To work around this, mypy allows the typing import to be behind a False-y -optional to prevent it from running at runtime and type-comments can be used -to remove the need for the types to be accessible directly during runtime. - -This module provides the False-y guard in a nicely named fashion so that a -curious maintainer can reach here to read this. - -In pip, all static-typing related imports should be guarded as follows: - - from pip._internal.utils.typing import MYPY_CHECK_RUNNING - - if MYPY_CHECK_RUNNING: - from typing import ... - -Ref: https://github.com/python/mypy/issues/3216 -""" - -MYPY_CHECK_RUNNING = False - - -if MYPY_CHECK_RUNNING: - from typing import cast -else: - # typing's cast() is needed at runtime, but we don't want to import typing. - # Thus, we use a dummy no-op version, which we tell mypy to ignore. - def cast(type_, value): # type: ignore - return value diff --git a/src/pip/_internal/utils/unpacking.py b/src/pip/_internal/utils/unpacking.py index a24d7e557..86c474458 100644 --- a/src/pip/_internal/utils/unpacking.py +++ b/src/pip/_internal/utils/unpacking.py @@ -7,6 +7,7 @@ import shutil import stat import tarfile import zipfile +from typing import TYPE_CHECKING from pip._internal.exceptions import InstallationError from pip._internal.utils.filetypes import ( @@ -16,9 +17,8 @@ from pip._internal.utils.filetypes import ( ZIP_EXTENSIONS, ) from pip._internal.utils.misc import ensure_dir -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Iterable, List, Optional from zipfile import ZipInfo diff --git a/src/pip/_internal/utils/urls.py b/src/pip/_internal/utils/urls.py index 0ef063c21..da8e91a4b 100644 --- a/src/pip/_internal/utils/urls.py +++ b/src/pip/_internal/utils/urls.py @@ -2,10 +2,9 @@ import os import sys import urllib.parse import urllib.request +from typing import TYPE_CHECKING -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Optional diff --git a/src/pip/_internal/utils/virtualenv.py b/src/pip/_internal/utils/virtualenv.py index 3086bf2fc..eb91c9071 100644 --- a/src/pip/_internal/utils/virtualenv.py +++ b/src/pip/_internal/utils/virtualenv.py @@ -3,10 +3,9 @@ import os import re import site import sys +from typing import TYPE_CHECKING -from pip._internal.utils.typing import MYPY_CHECK_RUNNING - -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import List, Optional logger = logging.getLogger(__name__) diff --git a/src/pip/_internal/utils/wheel.py b/src/pip/_internal/utils/wheel.py index c84cae36a..65ebf6424 100644 --- a/src/pip/_internal/utils/wheel.py +++ b/src/pip/_internal/utils/wheel.py @@ -3,6 +3,7 @@ import logging from email.parser import Parser +from typing import TYPE_CHECKING from zipfile import BadZipFile, ZipFile from pip._vendor.packaging.utils import canonicalize_name @@ -10,9 +11,8 @@ from pip._vendor.pkg_resources import DistInfoDistribution from pip._internal.exceptions import UnsupportedWheel from pip._internal.utils.pkg_resources import DictMetadata -from pip._internal.utils.typing import MYPY_CHECK_RUNNING -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from email.message import Message from typing import Dict, Tuple diff --git a/src/pip/_internal/vcs/__init__.py b/src/pip/_internal/vcs/__init__.py index 2a4eb1375..2ed7c177f 100644 --- a/src/pip/_internal/vcs/__init__.py +++ b/src/pip/_internal/vcs/__init__.py @@ -1,6 +1,6 @@ # Expose a limited set of classes and functions so callers outside of # the vcs package don't need to import deeper than `pip._internal.vcs`. -# (The test directory and imports protected by MYPY_CHECK_RUNNING may +# (The test directory and imports protected by TYPE_CHECKING may # still need to import from a vcs sub-package.) # Import all vcs modules to register each VCS in the VcsSupport object. import pip._internal.vcs.bazaar diff --git a/src/pip/_internal/vcs/bazaar.py b/src/pip/_internal/vcs/bazaar.py index 13d2bc88a..6ccf8df5b 100644 --- a/src/pip/_internal/vcs/bazaar.py +++ b/src/pip/_internal/vcs/bazaar.py @@ -1,13 +1,13 @@ import logging import os +from typing import TYPE_CHECKING from pip._internal.utils.misc import display_path, rmtree from pip._internal.utils.subprocess import make_command -from pip._internal.utils.typing import MYPY_CHECK_RUNNING from pip._internal.utils.urls import path_to_url from pip._internal.vcs.versioncontrol import RemoteNotFoundError, VersionControl, vcs -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import List, Optional, Tuple from pip._internal.utils.misc import HiddenText diff --git a/src/pip/_internal/vcs/git.py b/src/pip/_internal/vcs/git.py index 846563294..7c7104c9f 100644 --- a/src/pip/_internal/vcs/git.py +++ b/src/pip/_internal/vcs/git.py @@ -3,6 +3,7 @@ import os.path import re import urllib.parse import urllib.request +from typing import TYPE_CHECKING from pip._vendor.packaging.version import parse as parse_version @@ -10,7 +11,6 @@ from pip._internal.exceptions import BadCommand, InstallationError from pip._internal.utils.misc import display_path, hide_url from pip._internal.utils.subprocess import make_command from pip._internal.utils.temp_dir import TempDirectory -from pip._internal.utils.typing import MYPY_CHECK_RUNNING from pip._internal.vcs.versioncontrol import ( RemoteNotFoundError, VersionControl, @@ -18,7 +18,7 @@ from pip._internal.vcs.versioncontrol import ( vcs, ) -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import List, Optional, Tuple from pip._vendor.packaging.version import _BaseVersion diff --git a/src/pip/_internal/vcs/mercurial.py b/src/pip/_internal/vcs/mercurial.py index 442ff4217..079672191 100644 --- a/src/pip/_internal/vcs/mercurial.py +++ b/src/pip/_internal/vcs/mercurial.py @@ -1,12 +1,12 @@ import configparser import logging import os +from typing import TYPE_CHECKING from pip._internal.exceptions import BadCommand, InstallationError from pip._internal.utils.misc import display_path from pip._internal.utils.subprocess import make_command from pip._internal.utils.temp_dir import TempDirectory -from pip._internal.utils.typing import MYPY_CHECK_RUNNING from pip._internal.utils.urls import path_to_url from pip._internal.vcs.versioncontrol import ( VersionControl, @@ -14,7 +14,7 @@ from pip._internal.vcs.versioncontrol import ( vcs, ) -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import List, Optional from pip._internal.utils.misc import HiddenText diff --git a/src/pip/_internal/vcs/subversion.py b/src/pip/_internal/vcs/subversion.py index e93483739..2ddb9c0a1 100644 --- a/src/pip/_internal/vcs/subversion.py +++ b/src/pip/_internal/vcs/subversion.py @@ -1,6 +1,7 @@ import logging import os import re +from typing import TYPE_CHECKING from pip._internal.utils.logging import indent_log from pip._internal.utils.misc import ( @@ -10,7 +11,6 @@ from pip._internal.utils.misc import ( split_auth_from_netloc, ) from pip._internal.utils.subprocess import make_command -from pip._internal.utils.typing import MYPY_CHECK_RUNNING from pip._internal.vcs.versioncontrol import RemoteNotFoundError, VersionControl, vcs _svn_xml_url_re = re.compile('url="([^"]+)"') @@ -19,7 +19,7 @@ _svn_info_xml_rev_re = re.compile(r'\s*revision="(\d+)"') _svn_info_xml_url_re = re.compile(r'<url>(.*)</url>') -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import List, Optional, Tuple from pip._internal.utils.misc import HiddenText diff --git a/src/pip/_internal/vcs/versioncontrol.py b/src/pip/_internal/vcs/versioncontrol.py index 218de58a6..84ce0dffc 100644 --- a/src/pip/_internal/vcs/versioncontrol.py +++ b/src/pip/_internal/vcs/versioncontrol.py @@ -5,6 +5,7 @@ import os import shutil import sys import urllib.parse +from typing import TYPE_CHECKING from pip._vendor import pkg_resources @@ -18,10 +19,9 @@ from pip._internal.utils.misc import ( rmtree, ) from pip._internal.utils.subprocess import call_subprocess, make_command -from pip._internal.utils.typing import MYPY_CHECK_RUNNING from pip._internal.utils.urls import get_url_scheme -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import ( Any, Dict, diff --git a/src/pip/_internal/wheel_builder.py b/src/pip/_internal/wheel_builder.py index 9fbb5329f..4b72e5124 100644 --- a/src/pip/_internal/wheel_builder.py +++ b/src/pip/_internal/wheel_builder.py @@ -5,6 +5,7 @@ import logging import os.path import re import shutil +from typing import TYPE_CHECKING from pip._vendor.packaging.utils import canonicalize_name, canonicalize_version from pip._vendor.packaging.version import InvalidVersion, Version @@ -20,11 +21,10 @@ from pip._internal.utils.misc import ensure_dir, hash_file, is_wheel_installed from pip._internal.utils.setuptools_build import make_setuptools_clean_args from pip._internal.utils.subprocess import call_subprocess from pip._internal.utils.temp_dir import TempDirectory -from pip._internal.utils.typing import MYPY_CHECK_RUNNING from pip._internal.utils.urls import path_to_url from pip._internal.vcs import vcs -if MYPY_CHECK_RUNNING: +if TYPE_CHECKING: from typing import Any, Callable, Iterable, List, Optional, Tuple from pip._internal.cache import WheelCache |