From e93c0ba6a326d39b3a9c52853707052f3c8e3e78 Mon Sep 17 00:00:00 2001 From: Pradyun Gedam Date: Wed, 23 Sep 2020 19:50:53 +0530 Subject: [PATCH 1/3] Update linters None of these require any changes to the codebase. --- .pre-commit-config.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 04c72d8e3c1..f0e8adea490 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -2,7 +2,7 @@ exclude: 'src/pip/_vendor/' repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v2.5.0 + rev: v3.2.0 hooks: - id: check-builtin-literals - id: check-added-large-files @@ -17,7 +17,7 @@ repos: exclude: .patch - repo: https://gitlab.com/pycqa/flake8 - rev: 3.8.1 + rev: 3.8.3 hooks: - id: flake8 additional_dependencies: [ @@ -56,6 +56,6 @@ repos: exclude: NEWS.rst - repo: https://github.com/mgedmin/check-manifest - rev: '0.42' + rev: '0.43' hooks: - id: check-manifest From 89dad17b87281a7cf8652d476edcc15c16f214a6 Mon Sep 17 00:00:00 2001 From: Pradyun Gedam Date: Wed, 23 Sep 2020 19:51:42 +0530 Subject: [PATCH 2/3] Update linter: pygrep-hooks --- .pre-commit-config.yaml | 2 +- docs/html/user_guide.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f0e8adea490..6feaa17541b 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -44,7 +44,7 @@ repos: args: ["--pretty", "-2"] - repo: https://github.com/pre-commit/pygrep-hooks - rev: v1.5.1 + rev: v1.6.0 hooks: - id: python-no-log-warn - id: python-no-eval diff --git a/docs/html/user_guide.rst b/docs/html/user_guide.rst index ce013c2a362..8e8b25259ae 100644 --- a/docs/html/user_guide.rst +++ b/docs/html/user_guide.rst @@ -1105,7 +1105,7 @@ The big change in this release is to the pip dependency resolver within pip. Computers need to know the right order to install pieces of software -("to install `x`, you need to install `y` first"). So, when Python +("to install ``x``, you need to install ``y`` first"). So, when Python programmers share software as packages, they have to precisely describe those installation prerequisites, and pip needs to navigate tricky situations where it's getting conflicting instructions. This new From 25ab172b55bba6213e4bfb68b5c6e1bc4bec857e Mon Sep 17 00:00:00 2001 From: Pradyun Gedam Date: Wed, 23 Sep 2020 18:38:01 +0530 Subject: [PATCH 3/3] Update linter: isort --- .pre-commit-config.yaml | 2 +- src/pip/_internal/__init__.py | 2 +- src/pip/_internal/build_env.py | 3 ++- src/pip/_internal/cache.py | 2 +- src/pip/_internal/cli/base_command.py | 5 ++--- src/pip/_internal/cli/cmdoptions.py | 3 ++- src/pip/_internal/cli/command_context.py | 2 +- src/pip/_internal/cli/main_parser.py | 2 +- src/pip/_internal/cli/spinners.py | 2 +- src/pip/_internal/commands/__init__.py | 1 + src/pip/_internal/commands/check.py | 2 +- src/pip/_internal/commands/completion.py | 2 +- src/pip/_internal/commands/configuration.py | 2 +- src/pip/_internal/commands/debug.py | 5 +++-- src/pip/_internal/commands/help.py | 6 ++++-- src/pip/_internal/commands/list.py | 5 +++-- src/pip/_internal/commands/search.py | 3 ++- src/pip/_internal/commands/show.py | 2 +- src/pip/_internal/configuration.py | 4 +--- src/pip/_internal/distributions/base.py | 3 ++- src/pip/_internal/distributions/installed.py | 1 + src/pip/_internal/distributions/sdist.py | 1 + src/pip/_internal/distributions/wheel.py | 1 + src/pip/_internal/exceptions.py | 4 ++-- src/pip/_internal/index/collector.py | 14 +++++++++++--- src/pip/_internal/index/package_finder.py | 9 ++++++++- src/pip/_internal/locations.py | 3 +-- src/pip/_internal/main.py | 2 +- src/pip/_internal/models/candidate.py | 1 + src/pip/_internal/models/direct_url.py | 4 +--- src/pip/_internal/models/format_control.py | 2 +- src/pip/_internal/models/link.py | 1 + src/pip/_internal/models/selection_prefs.py | 1 + src/pip/_internal/network/auth.py | 6 +++--- src/pip/_internal/network/cache.py | 2 +- src/pip/_internal/network/session.py | 4 +--- src/pip/_internal/network/xmlrpc.py | 1 + src/pip/_internal/operations/build/metadata.py | 3 ++- src/pip/_internal/operations/build/wheel.py | 1 + src/pip/_internal/operations/check.py | 5 ++--- src/pip/_internal/operations/freeze.py | 18 +++++++++++++----- src/pip/_internal/operations/install/wheel.py | 2 +- src/pip/_internal/pyproject.py | 2 +- src/pip/_internal/req/constructors.py | 5 ++--- src/pip/_internal/req/req_file.py | 10 +++++++++- src/pip/_internal/req/req_install.py | 12 ++++++------ src/pip/_internal/req/req_set.py | 1 + src/pip/_internal/req/req_tracker.py | 3 ++- src/pip/_internal/req/req_uninstall.py | 11 ++++++++++- src/pip/_internal/resolution/base.py | 1 + .../_internal/resolution/legacy/resolver.py | 1 + .../_internal/resolution/resolvelib/factory.py | 2 +- .../resolution/resolvelib/provider.py | 2 +- src/pip/_internal/utils/compat.py | 2 +- src/pip/_internal/utils/direct_url_helpers.py | 4 ++-- src/pip/_internal/utils/encoding.py | 2 +- src/pip/_internal/utils/entrypoints.py | 2 +- src/pip/_internal/utils/hashes.py | 5 ++--- src/pip/_internal/utils/misc.py | 15 +++++++++++++-- src/pip/_internal/utils/packaging.py | 3 ++- src/pip/_internal/utils/parallel.py | 2 +- src/pip/_internal/utils/subprocess.py | 9 ++++++++- src/pip/_internal/vcs/bazaar.py | 1 + src/pip/_internal/vcs/git.py | 1 + src/pip/_internal/vcs/subversion.py | 3 ++- src/pip/_internal/vcs/versioncontrol.py | 14 ++++++++++++-- src/pip/_internal/wheel_builder.py | 4 +--- tests/conftest.py | 3 ++- tests/functional/test_uninstall.py | 3 ++- tests/lib/__init__.py | 1 + tests/lib/server.py | 11 ++++++++++- tests/lib/wheel.py | 12 ++++++++++-- tests/unit/test_locations.py | 2 ++ 73 files changed, 198 insertions(+), 95 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 6feaa17541b..f1afdd473cf 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -27,7 +27,7 @@ repos: exclude: tests/data - repo: https://github.com/timothycrosley/isort - rev: 4.3.21 + rev: 5.5.3 hooks: - id: isort files: \.py$ diff --git a/src/pip/_internal/__init__.py b/src/pip/_internal/__init__.py index 264c2cab88d..a778e99488e 100755 --- a/src/pip/_internal/__init__.py +++ b/src/pip/_internal/__init__.py @@ -2,7 +2,7 @@ from pip._internal.utils.typing import MYPY_CHECK_RUNNING if MYPY_CHECK_RUNNING: - from typing import Optional, List + from typing import List, Optional def main(args=None): diff --git a/src/pip/_internal/build_env.py b/src/pip/_internal/build_env.py index 28d1ad689a1..a08e63cd051 100644 --- a/src/pip/_internal/build_env.py +++ b/src/pip/_internal/build_env.py @@ -19,7 +19,8 @@ if MYPY_CHECK_RUNNING: from types import TracebackType - from typing import Tuple, Set, Iterable, Optional, List, Type + from typing import Iterable, List, Optional, Set, Tuple, Type + from pip._internal.index.package_finder import PackageFinder logger = logging.getLogger(__name__) diff --git a/src/pip/_internal/cache.py b/src/pip/_internal/cache.py index 07db948b9bf..def8dd64a18 100644 --- a/src/pip/_internal/cache.py +++ b/src/pip/_internal/cache.py @@ -17,7 +17,7 @@ from pip._internal.utils.urls import path_to_url if MYPY_CHECK_RUNNING: - from typing import Optional, Set, List, Any, Dict + from typing import Any, Dict, List, Optional, Set from pip._vendor.packaging.tags import Tag diff --git a/src/pip/_internal/cli/base_command.py b/src/pip/_internal/cli/base_command.py index 197400a72c5..8f14aa6b7a1 100644 --- a/src/pip/_internal/cli/base_command.py +++ b/src/pip/_internal/cli/base_command.py @@ -43,12 +43,11 @@ from pip._internal.utils.virtualenv import running_under_virtualenv if MYPY_CHECK_RUNNING: - from typing import List, Optional, Tuple, Any from optparse import Values + from typing import Any, List, Optional, Tuple - from pip._internal.utils.temp_dir import ( + from pip._internal.utils.temp_dir import \ TempDirectoryTypeRegistry as TempDirRegistry - ) __all__ = ['Command'] diff --git a/src/pip/_internal/cli/cmdoptions.py b/src/pip/_internal/cli/cmdoptions.py index f94ddfabb7f..2f640b2cbb2 100644 --- a/src/pip/_internal/cli/cmdoptions.py +++ b/src/pip/_internal/cli/cmdoptions.py @@ -30,8 +30,9 @@ from pip._internal.utils.typing import MYPY_CHECK_RUNNING if MYPY_CHECK_RUNNING: - from typing import Any, Callable, Dict, Optional, Tuple from optparse import OptionParser, Values + from typing import Any, Callable, Dict, Optional, Tuple + from pip._internal.cli.parser import ConfigOptionParser diff --git a/src/pip/_internal/cli/command_context.py b/src/pip/_internal/cli/command_context.py index d1a64a77606..669c777749d 100644 --- a/src/pip/_internal/cli/command_context.py +++ b/src/pip/_internal/cli/command_context.py @@ -5,7 +5,7 @@ from pip._internal.utils.typing import MYPY_CHECK_RUNNING if MYPY_CHECK_RUNNING: - from typing import Iterator, ContextManager, TypeVar + from typing import ContextManager, Iterator, TypeVar _T = TypeVar('_T', covariant=True) diff --git a/src/pip/_internal/cli/main_parser.py b/src/pip/_internal/cli/main_parser.py index 08c82c1f711..6356d831df1 100644 --- a/src/pip/_internal/cli/main_parser.py +++ b/src/pip/_internal/cli/main_parser.py @@ -15,7 +15,7 @@ from pip._internal.utils.typing import MYPY_CHECK_RUNNING if MYPY_CHECK_RUNNING: - from typing import Tuple, List + from typing import List, Tuple __all__ = ["create_main_parser", "parse_command"] diff --git a/src/pip/_internal/cli/spinners.py b/src/pip/_internal/cli/spinners.py index c6c4c5cd1b1..65c3c23d742 100644 --- a/src/pip/_internal/cli/spinners.py +++ b/src/pip/_internal/cli/spinners.py @@ -13,7 +13,7 @@ from pip._internal.utils.typing import MYPY_CHECK_RUNNING if MYPY_CHECK_RUNNING: - from typing import Iterator, IO + 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 6825fa6e2d4..4f0c4ba3ab9 100644 --- a/src/pip/_internal/commands/__init__.py +++ b/src/pip/_internal/commands/__init__.py @@ -18,6 +18,7 @@ if MYPY_CHECK_RUNNING: from typing import Any + from pip._internal.cli.base_command import Command diff --git a/src/pip/_internal/commands/check.py b/src/pip/_internal/commands/check.py index b557ca64113..e066bb63c74 100644 --- a/src/pip/_internal/commands/check.py +++ b/src/pip/_internal/commands/check.py @@ -12,8 +12,8 @@ logger = logging.getLogger(__name__) if MYPY_CHECK_RUNNING: - from typing import List, Any from optparse import Values + from typing import Any, List class CheckCommand(Command): diff --git a/src/pip/_internal/commands/completion.py b/src/pip/_internal/commands/completion.py index 9b99f51f006..b19f1ed1a56 100644 --- a/src/pip/_internal/commands/completion.py +++ b/src/pip/_internal/commands/completion.py @@ -9,8 +9,8 @@ from pip._internal.utils.typing import MYPY_CHECK_RUNNING if MYPY_CHECK_RUNNING: - from typing import List from optparse import Values + from typing import List BASE_COMPLETION = """ # pip {shell} completion start{script}# pip {shell} completion end diff --git a/src/pip/_internal/commands/configuration.py b/src/pip/_internal/commands/configuration.py index f9b3ab79d0b..2a6311acd74 100644 --- a/src/pip/_internal/commands/configuration.py +++ b/src/pip/_internal/commands/configuration.py @@ -15,8 +15,8 @@ from pip._internal.utils.typing import MYPY_CHECK_RUNNING if MYPY_CHECK_RUNNING: - from typing import List, Any, Optional from optparse import Values + from typing import Any, List, Optional from pip._internal.configuration import Kind diff --git a/src/pip/_internal/commands/debug.py b/src/pip/_internal/commands/debug.py index ff369d7d967..1b65c43065b 100644 --- a/src/pip/_internal/commands/debug.py +++ b/src/pip/_internal/commands/debug.py @@ -19,9 +19,10 @@ from pip._internal.utils.typing import MYPY_CHECK_RUNNING if MYPY_CHECK_RUNNING: - from types import ModuleType - from typing import List, Optional, Dict from optparse import Values + from types import ModuleType + from typing import Dict, List, Optional + from pip._internal.configuration import Configuration logger = logging.getLogger(__name__) diff --git a/src/pip/_internal/commands/help.py b/src/pip/_internal/commands/help.py index a2edc29897f..2ab2b6d8f25 100644 --- a/src/pip/_internal/commands/help.py +++ b/src/pip/_internal/commands/help.py @@ -6,8 +6,8 @@ from pip._internal.utils.typing import MYPY_CHECK_RUNNING if MYPY_CHECK_RUNNING: - from typing import List from optparse import Values + from typing import List class HelpCommand(Command): @@ -20,7 +20,9 @@ class HelpCommand(Command): def run(self, options, args): # type: (Values, List[str]) -> int from pip._internal.commands import ( - commands_dict, create_command, get_similar_commands, + commands_dict, + create_command, + get_similar_commands, ) try: diff --git a/src/pip/_internal/commands/list.py b/src/pip/_internal/commands/list.py index 7c18a7d9f62..a6dfa5fd578 100644 --- a/src/pip/_internal/commands/list.py +++ b/src/pip/_internal/commands/list.py @@ -24,11 +24,12 @@ if MYPY_CHECK_RUNNING: from optparse import Values - from typing import List, Set, Tuple, Iterator + from typing import Iterator, List, Set, Tuple - from pip._internal.network.session import PipSession from pip._vendor.pkg_resources import Distribution + from pip._internal.network.session import PipSession + logger = logging.getLogger(__name__) diff --git a/src/pip/_internal/commands/search.py b/src/pip/_internal/commands/search.py index ff09472021e..ea4f47db5b5 100644 --- a/src/pip/_internal/commands/search.py +++ b/src/pip/_internal/commands/search.py @@ -24,7 +24,8 @@ if MYPY_CHECK_RUNNING: from optparse import Values - from typing import List, Dict, Optional + from typing import Dict, List, Optional + from typing_extensions import TypedDict TransformedHit = TypedDict( 'TransformedHit', diff --git a/src/pip/_internal/commands/show.py b/src/pip/_internal/commands/show.py index 3892c5959ee..b0b3f3abdcc 100644 --- a/src/pip/_internal/commands/show.py +++ b/src/pip/_internal/commands/show.py @@ -14,7 +14,7 @@ if MYPY_CHECK_RUNNING: from optparse import Values - from typing import List, Dict, Iterator + from typing import Dict, Iterator, List logger = logging.getLogger(__name__) diff --git a/src/pip/_internal/configuration.py b/src/pip/_internal/configuration.py index 13cab923070..23614fd2bbe 100644 --- a/src/pip/_internal/configuration.py +++ b/src/pip/_internal/configuration.py @@ -28,9 +28,7 @@ from pip._internal.utils.typing import MYPY_CHECK_RUNNING if MYPY_CHECK_RUNNING: - from typing import ( - Any, Dict, Iterable, List, NewType, Optional, Tuple - ) + from typing import Any, Dict, Iterable, List, NewType, Optional, Tuple RawConfigParser = configparser.RawConfigParser # Shorthand Kind = NewType("Kind", str) diff --git a/src/pip/_internal/distributions/base.py b/src/pip/_internal/distributions/base.py index b836b98d162..3a789f80433 100644 --- a/src/pip/_internal/distributions/base.py +++ b/src/pip/_internal/distributions/base.py @@ -8,8 +8,9 @@ from typing import Optional from pip._vendor.pkg_resources import Distribution - from pip._internal.req import InstallRequirement + from pip._internal.index.package_finder import PackageFinder + from pip._internal.req import InstallRequirement @add_metaclass(abc.ABCMeta) diff --git a/src/pip/_internal/distributions/installed.py b/src/pip/_internal/distributions/installed.py index 0d15bf42405..a813b211fe6 100644 --- a/src/pip/_internal/distributions/installed.py +++ b/src/pip/_internal/distributions/installed.py @@ -5,6 +5,7 @@ from typing import Optional from pip._vendor.pkg_resources import Distribution + from pip._internal.index.package_finder import PackageFinder diff --git a/src/pip/_internal/distributions/sdist.py b/src/pip/_internal/distributions/sdist.py index be3d7d97a1c..06b9df09cbe 100644 --- a/src/pip/_internal/distributions/sdist.py +++ b/src/pip/_internal/distributions/sdist.py @@ -10,6 +10,7 @@ from typing import Set, Tuple from pip._vendor.pkg_resources import Distribution + from pip._internal.index.package_finder import PackageFinder diff --git a/src/pip/_internal/distributions/wheel.py b/src/pip/_internal/distributions/wheel.py index bf3482b151f..2adc2286271 100644 --- a/src/pip/_internal/distributions/wheel.py +++ b/src/pip/_internal/distributions/wheel.py @@ -6,6 +6,7 @@ if MYPY_CHECK_RUNNING: 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 3f26215d657..62bde1eeda4 100644 --- a/src/pip/_internal/exceptions.py +++ b/src/pip/_internal/exceptions.py @@ -9,10 +9,10 @@ from pip._internal.utils.typing import MYPY_CHECK_RUNNING if MYPY_CHECK_RUNNING: - from typing import Any, Optional, List, Dict, Text + from typing import Any, Dict, List, Optional, Text from pip._vendor.pkg_resources import Distribution - from pip._vendor.requests.models import Response, Request + from pip._vendor.requests.models import Request, Response from pip._vendor.six import PY3 from pip._vendor.six.moves import configparser diff --git a/src/pip/_internal/index/collector.py b/src/pip/_internal/index/collector.py index 6c35fc66076..e6230c76734 100644 --- a/src/pip/_internal/index/collector.py +++ b/src/pip/_internal/index/collector.py @@ -28,12 +28,20 @@ from pip._internal.vcs import is_url, vcs if MYPY_CHECK_RUNNING: + import xml.etree.ElementTree from optparse import Values from typing import ( - Callable, Iterable, List, MutableMapping, Optional, - Protocol, Sequence, Tuple, TypeVar, Union, + Callable, + Iterable, + List, + MutableMapping, + Optional, + Protocol, + Sequence, + Tuple, + TypeVar, + Union, ) - import xml.etree.ElementTree from pip._vendor.requests import Response diff --git a/src/pip/_internal/index/package_finder.py b/src/pip/_internal/index/package_finder.py index 84115783ab8..19a9c2c1370 100644 --- a/src/pip/_internal/index/package_finder.py +++ b/src/pip/_internal/index/package_finder.py @@ -35,7 +35,14 @@ if MYPY_CHECK_RUNNING: from typing import ( - FrozenSet, Iterable, List, Optional, Set, Text, Tuple, Union, + FrozenSet, + Iterable, + List, + Optional, + Set, + Text, + Tuple, + Union, ) from pip._vendor.packaging.tags import Tag diff --git a/src/pip/_internal/locations.py b/src/pip/_internal/locations.py index 0c1235488d6..35a4512b4b1 100644 --- a/src/pip/_internal/locations.py +++ b/src/pip/_internal/locations.py @@ -22,9 +22,8 @@ from pip._internal.utils.virtualenv import running_under_virtualenv if MYPY_CHECK_RUNNING: - from typing import Dict, List, Optional, Union - from distutils.cmd import Command as DistutilsCommand + from typing import Dict, List, Optional, Union # Application Directories diff --git a/src/pip/_internal/main.py b/src/pip/_internal/main.py index 3208d5b8820..1c99c49a1f1 100644 --- a/src/pip/_internal/main.py +++ b/src/pip/_internal/main.py @@ -1,7 +1,7 @@ from pip._internal.utils.typing import MYPY_CHECK_RUNNING if MYPY_CHECK_RUNNING: - from typing import Optional, List + from typing import List, Optional def main(args=None): diff --git a/src/pip/_internal/models/candidate.py b/src/pip/_internal/models/candidate.py index 9149e0fc69c..0d89a8c07da 100644 --- a/src/pip/_internal/models/candidate.py +++ b/src/pip/_internal/models/candidate.py @@ -5,6 +5,7 @@ if MYPY_CHECK_RUNNING: 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 87bd9fe4b8f..99aa68d121b 100644 --- a/src/pip/_internal/models/direct_url.py +++ b/src/pip/_internal/models/direct_url.py @@ -8,9 +8,7 @@ from pip._internal.utils.typing import MYPY_CHECK_RUNNING if MYPY_CHECK_RUNNING: - from typing import ( - Any, Dict, Iterable, Optional, Type, TypeVar, Union - ) + from typing import Any, Dict, Iterable, Optional, Type, TypeVar, Union T = TypeVar("T") diff --git a/src/pip/_internal/models/format_control.py b/src/pip/_internal/models/format_control.py index c6275e721b3..adcf61e2854 100644 --- a/src/pip/_internal/models/format_control.py +++ b/src/pip/_internal/models/format_control.py @@ -4,7 +4,7 @@ from pip._internal.utils.typing import MYPY_CHECK_RUNNING if MYPY_CHECK_RUNNING: - from typing import Optional, Set, FrozenSet + from typing import FrozenSet, Optional, Set class FormatControl(object): diff --git a/src/pip/_internal/models/link.py b/src/pip/_internal/models/link.py index c0d278adee9..29ef402beef 100644 --- a/src/pip/_internal/models/link.py +++ b/src/pip/_internal/models/link.py @@ -16,6 +16,7 @@ if MYPY_CHECK_RUNNING: from typing import Optional, Text, Tuple, Union + from pip._internal.index.collector import HTMLPage from pip._internal.utils.hashes import Hashes diff --git a/src/pip/_internal/models/selection_prefs.py b/src/pip/_internal/models/selection_prefs.py index 5db3ca91ca6..83110dd8f90 100644 --- a/src/pip/_internal/models/selection_prefs.py +++ b/src/pip/_internal/models/selection_prefs.py @@ -2,6 +2,7 @@ if MYPY_CHECK_RUNNING: from typing import Optional + from pip._internal.models.format_control import FormatControl diff --git a/src/pip/_internal/network/auth.py b/src/pip/_internal/network/auth.py index c49deaaf1b7..357811a16f1 100644 --- a/src/pip/_internal/network/auth.py +++ b/src/pip/_internal/network/auth.py @@ -20,11 +20,11 @@ from pip._internal.utils.typing import MYPY_CHECK_RUNNING if MYPY_CHECK_RUNNING: - from typing import Dict, Optional, Tuple, List, Any + from typing import Any, Dict, List, Optional, Tuple - from pip._internal.vcs.versioncontrol import AuthInfo + from pip._vendor.requests.models import Request, Response - from pip._vendor.requests.models import Response, Request + from pip._internal.vcs.versioncontrol import AuthInfo Credentials = Tuple[str, str, str] diff --git a/src/pip/_internal/network/cache.py b/src/pip/_internal/network/cache.py index a0d55b5e992..d2a1b7313f7 100644 --- a/src/pip/_internal/network/cache.py +++ b/src/pip/_internal/network/cache.py @@ -13,7 +13,7 @@ from pip._internal.utils.typing import MYPY_CHECK_RUNNING if MYPY_CHECK_RUNNING: - from typing import Optional, Iterator + from typing import Iterator, Optional def is_from_cache(response): diff --git a/src/pip/_internal/network/session.py b/src/pip/_internal/network/session.py index 68ef68db535..176f0fb682c 100644 --- a/src/pip/_internal/network/session.py +++ b/src/pip/_internal/network/session.py @@ -37,9 +37,7 @@ from pip._internal.utils.urls import url_to_path if MYPY_CHECK_RUNNING: - from typing import ( - Iterator, List, Optional, Tuple, Union, - ) + from typing import Iterator, List, Optional, Tuple, Union from pip._internal.models.link import Link diff --git a/src/pip/_internal/network/xmlrpc.py b/src/pip/_internal/network/xmlrpc.py index e61126241e8..504018f28fe 100644 --- a/src/pip/_internal/network/xmlrpc.py +++ b/src/pip/_internal/network/xmlrpc.py @@ -14,6 +14,7 @@ if MYPY_CHECK_RUNNING: 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 cf52f8d8f63..5709962b09e 100644 --- a/src/pip/_internal/operations/build/metadata.py +++ b/src/pip/_internal/operations/build/metadata.py @@ -8,9 +8,10 @@ from pip._internal.utils.typing import MYPY_CHECK_RUNNING if MYPY_CHECK_RUNNING: - from pip._internal.build_env import BuildEnvironment from pip._vendor.pep517.wrappers import Pep517HookCaller + from pip._internal.build_env import BuildEnvironment + def generate_metadata(build_env, backend): # type: (BuildEnvironment, Pep517HookCaller) -> str diff --git a/src/pip/_internal/operations/build/wheel.py b/src/pip/_internal/operations/build/wheel.py index 0c28c4989dc..d16ee0966e1 100644 --- a/src/pip/_internal/operations/build/wheel.py +++ b/src/pip/_internal/operations/build/wheel.py @@ -6,6 +6,7 @@ if MYPY_CHECK_RUNNING: from typing import List, Optional + from pip._vendor.pep517.wrappers import Pep517HookCaller logger = logging.getLogger(__name__) diff --git a/src/pip/_internal/operations/check.py b/src/pip/_internal/operations/check.py index 5714915bcb2..52e8116e199 100644 --- a/src/pip/_internal/operations/check.py +++ b/src/pip/_internal/operations/check.py @@ -16,10 +16,9 @@ logger = logging.getLogger(__name__) if MYPY_CHECK_RUNNING: + from typing import Any, Callable, Dict, List, Optional, Set, Tuple + from pip._internal.req.req_install import InstallRequirement - from typing import ( - Any, Callable, Dict, Optional, Set, Tuple, List - ) # Shorthands PackageSet = Dict[str, 'PackageDetails'] diff --git a/src/pip/_internal/operations/freeze.py b/src/pip/_internal/operations/freeze.py index ddb9cb232ce..b98b8cd79b5 100644 --- a/src/pip/_internal/operations/freeze.py +++ b/src/pip/_internal/operations/freeze.py @@ -26,12 +26,20 @@ if MYPY_CHECK_RUNNING: from typing import ( - Iterator, Optional, List, Container, Set, Dict, Tuple, Iterable, Union + Container, + Dict, + Iterable, + Iterator, + List, + Optional, + Set, + Tuple, + Union, ) + + from pip._vendor.pkg_resources import Distribution, Requirement + from pip._internal.cache import WheelCache - from pip._vendor.pkg_resources import ( - Distribution, Requirement - ) RequirementInfo = Tuple[Optional[Union[str, Requirement]], bool, List[str]] @@ -183,7 +191,7 @@ def get_requirement_info(dist): location = os.path.normcase(os.path.abspath(dist.location)) - from pip._internal.vcs import vcs, RemoteNotFoundError + from pip._internal.vcs import RemoteNotFoundError, vcs vcs_backend = vcs.get_backend_for_dir(location) if vcs_backend is None: diff --git a/src/pip/_internal/operations/install/wheel.py b/src/pip/_internal/operations/install/wheel.py index e91b1b8d558..af6b39052d9 100644 --- a/src/pip/_internal/operations/install/wheel.py +++ b/src/pip/_internal/operations/install/wheel.py @@ -62,10 +62,10 @@ else: from email.message import Message from typing import ( + IO, Any, Callable, Dict, - IO, Iterable, Iterator, List, diff --git a/src/pip/_internal/pyproject.py b/src/pip/_internal/pyproject.py index 6b4faf7a752..4144a9ed60b 100644 --- a/src/pip/_internal/pyproject.py +++ b/src/pip/_internal/pyproject.py @@ -12,7 +12,7 @@ from pip._internal.utils.typing import MYPY_CHECK_RUNNING if MYPY_CHECK_RUNNING: - from typing import Any, Optional, List + from typing import Any, List, Optional def _is_list_of_str(obj): diff --git a/src/pip/_internal/req/constructors.py b/src/pip/_internal/req/constructors.py index 7a4641ef5a1..b089c502dfe 100644 --- a/src/pip/_internal/req/constructors.py +++ b/src/pip/_internal/req/constructors.py @@ -31,9 +31,8 @@ from pip._internal.vcs import is_url, vcs if MYPY_CHECK_RUNNING: - from typing import ( - Any, Dict, Optional, Set, Tuple, Union, - ) + 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 c8d7a0a5ae2..b070dc640da 100644 --- a/src/pip/_internal/req/req_file.py +++ b/src/pip/_internal/req/req_file.py @@ -26,7 +26,15 @@ if MYPY_CHECK_RUNNING: from optparse import Values from typing import ( - Any, Callable, Dict, Iterator, List, NoReturn, Optional, Text, Tuple, + Any, + Callable, + Dict, + Iterator, + List, + NoReturn, + Optional, + Text, + Tuple, ) from pip._internal.index.package_finder import PackageFinder diff --git a/src/pip/_internal/req/req_install.py b/src/pip/_internal/req/req_install.py index 72f792342dc..9a6763074a3 100644 --- a/src/pip/_internal/req/req_install.py +++ b/src/pip/_internal/req/req_install.py @@ -53,13 +53,13 @@ from pip._internal.vcs import vcs if MYPY_CHECK_RUNNING: - from typing import ( - Any, Dict, Iterable, List, Optional, Sequence, Union, - ) - from pip._internal.build_env import BuildEnvironment - from pip._vendor.pkg_resources import Distribution - from pip._vendor.packaging.specifiers import SpecifierSet + from typing import Any, Dict, Iterable, List, Optional, Sequence, Union + from pip._vendor.packaging.markers import Marker + from pip._vendor.packaging.specifiers import SpecifierSet + from pip._vendor.pkg_resources import Distribution + + from pip._internal.build_env import BuildEnvironment logger = logging.getLogger(__name__) diff --git a/src/pip/_internal/req/req_set.py b/src/pip/_internal/req/req_set.py index ab4b6f849b4..c9ea3be5ddd 100644 --- a/src/pip/_internal/req/req_set.py +++ b/src/pip/_internal/req/req_set.py @@ -12,6 +12,7 @@ if MYPY_CHECK_RUNNING: 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 13fb24563fe..7379c307b31 100644 --- a/src/pip/_internal/req/req_tracker.py +++ b/src/pip/_internal/req/req_tracker.py @@ -14,8 +14,9 @@ if MYPY_CHECK_RUNNING: from types import TracebackType from typing import Dict, Iterator, Optional, Set, Type, Union - from pip._internal.req.req_install import InstallRequirement + from pip._internal.models.link import Link + from pip._internal.req.req_install import InstallRequirement logger = logging.getLogger(__name__) diff --git a/src/pip/_internal/req/req_uninstall.py b/src/pip/_internal/req/req_uninstall.py index 69719d338e6..2e7dfcc7369 100644 --- a/src/pip/_internal/req/req_uninstall.py +++ b/src/pip/_internal/req/req_uninstall.py @@ -29,8 +29,17 @@ if MYPY_CHECK_RUNNING: from typing import ( - Any, Callable, Dict, Iterable, Iterator, List, Optional, Set, Tuple, + Any, + Callable, + Dict, + Iterable, + Iterator, + List, + Optional, + Set, + Tuple, ) + from pip._vendor.pkg_resources import Distribution logger = logging.getLogger(__name__) diff --git a/src/pip/_internal/resolution/base.py b/src/pip/_internal/resolution/base.py index 2fa118bd894..6d50555e531 100644 --- a/src/pip/_internal/resolution/base.py +++ b/src/pip/_internal/resolution/base.py @@ -2,6 +2,7 @@ if MYPY_CHECK_RUNNING: from typing import Callable, List + from pip._internal.req.req_install import InstallRequirement from pip._internal.req.req_set import RequirementSet diff --git a/src/pip/_internal/resolution/legacy/resolver.py b/src/pip/_internal/resolution/legacy/resolver.py index d2dafa77f2b..6ef00bba19d 100644 --- a/src/pip/_internal/resolution/legacy/resolver.py +++ b/src/pip/_internal/resolution/legacy/resolver.py @@ -42,6 +42,7 @@ if MYPY_CHECK_RUNNING: from typing import DefaultDict, List, Optional, Set, Tuple + from pip._vendor.pkg_resources import Distribution from pip._internal.cache import WheelCache diff --git a/src/pip/_internal/resolution/resolvelib/factory.py b/src/pip/_internal/resolution/resolvelib/factory.py index 97b0b273070..96e2d53314d 100644 --- a/src/pip/_internal/resolution/resolvelib/factory.py +++ b/src/pip/_internal/resolution/resolvelib/factory.py @@ -38,8 +38,8 @@ if MYPY_CHECK_RUNNING: from typing import ( - FrozenSet, Dict, + FrozenSet, Iterable, List, Optional, diff --git a/src/pip/_internal/resolution/resolvelib/provider.py b/src/pip/_internal/resolution/resolvelib/provider.py index 80577a61c58..99f99bfc212 100644 --- a/src/pip/_internal/resolution/resolvelib/provider.py +++ b/src/pip/_internal/resolution/resolvelib/provider.py @@ -16,7 +16,7 @@ Union, ) - from .base import Requirement, Candidate + from .base import Candidate, Requirement from .factory import Factory # Notes on the relationship between the provider, the factory, and the diff --git a/src/pip/_internal/utils/compat.py b/src/pip/_internal/utils/compat.py index 89c5169af4e..cc63536783c 100644 --- a/src/pip/_internal/utils/compat.py +++ b/src/pip/_internal/utils/compat.py @@ -246,8 +246,8 @@ def get_terminal_size(): def ioctl_GWINSZ(fd): try: import fcntl - import termios import struct + import termios cr = struct.unpack_from( 'hh', fcntl.ioctl(fd, termios.TIOCGWINSZ, '12345678') diff --git a/src/pip/_internal/utils/direct_url_helpers.py b/src/pip/_internal/utils/direct_url_helpers.py index f1fe209e911..a355a6c5ee4 100644 --- a/src/pip/_internal/utils/direct_url_helpers.py +++ b/src/pip/_internal/utils/direct_url_helpers.py @@ -20,10 +20,10 @@ if MYPY_CHECK_RUNNING: from typing import Optional - from pip._internal.models.link import Link - from pip._vendor.pkg_resources import Distribution + from pip._internal.models.link import Link + logger = logging.getLogger(__name__) diff --git a/src/pip/_internal/utils/encoding.py b/src/pip/_internal/utils/encoding.py index 5b83d61bb13..42a57535af8 100644 --- a/src/pip/_internal/utils/encoding.py +++ b/src/pip/_internal/utils/encoding.py @@ -6,7 +6,7 @@ from pip._internal.utils.typing import MYPY_CHECK_RUNNING if MYPY_CHECK_RUNNING: - from typing import List, Tuple, Text + from typing import List, Text, Tuple BOMS = [ (codecs.BOM_UTF8, 'utf-8'), diff --git a/src/pip/_internal/utils/entrypoints.py b/src/pip/_internal/utils/entrypoints.py index befd01c8901..64d1cb2bd0b 100644 --- a/src/pip/_internal/utils/entrypoints.py +++ b/src/pip/_internal/utils/entrypoints.py @@ -4,7 +4,7 @@ from pip._internal.utils.typing import MYPY_CHECK_RUNNING if MYPY_CHECK_RUNNING: - from typing import Optional, List + from typing import List, Optional def _wrapper(args=None): diff --git a/src/pip/_internal/utils/hashes.py b/src/pip/_internal/utils/hashes.py index d9f74a64083..4d4e26b59f3 100644 --- a/src/pip/_internal/utils/hashes.py +++ b/src/pip/_internal/utils/hashes.py @@ -13,9 +13,8 @@ from pip._internal.utils.typing import MYPY_CHECK_RUNNING if MYPY_CHECK_RUNNING: - from typing import ( - Dict, List, BinaryIO, NoReturn, Iterator - ) + from typing import BinaryIO, Dict, Iterator, List, NoReturn + from pip._vendor.six import PY3 if PY3: from hashlib import _Hash diff --git a/src/pip/_internal/utils/misc.py b/src/pip/_internal/utils/misc.py index 5629c60c1c2..289db0e39fd 100644 --- a/src/pip/_internal/utils/misc.py +++ b/src/pip/_internal/utils/misc.py @@ -54,9 +54,20 @@ if MYPY_CHECK_RUNNING: from typing import ( - Any, AnyStr, Callable, Container, Iterable, Iterator, List, Optional, - Text, Tuple, TypeVar, Union, + Any, + AnyStr, + Callable, + Container, + Iterable, + Iterator, + List, + Optional, + Text, + Tuple, + TypeVar, + Union, ) + from pip._vendor.pkg_resources import Distribution VersionInfo = Tuple[int, int, int] diff --git a/src/pip/_internal/utils/packaging.py b/src/pip/_internal/utils/packaging.py index 68aa86edbf0..27fd204234f 100644 --- a/src/pip/_internal/utils/packaging.py +++ b/src/pip/_internal/utils/packaging.py @@ -11,8 +11,9 @@ from pip._internal.utils.typing import MYPY_CHECK_RUNNING if MYPY_CHECK_RUNNING: - from typing import Optional, Tuple from email.message import Message + from typing import Optional, Tuple + from pip._vendor.pkg_resources import Distribution diff --git a/src/pip/_internal/utils/parallel.py b/src/pip/_internal/utils/parallel.py index 9fe1fe8b9e4..d4113bdc285 100644 --- a/src/pip/_internal/utils/parallel.py +++ b/src/pip/_internal/utils/parallel.py @@ -29,8 +29,8 @@ from pip._internal.utils.typing import MYPY_CHECK_RUNNING if MYPY_CHECK_RUNNING: - from typing import Callable, Iterable, Iterator, Union, TypeVar from multiprocessing import pool + from typing import Callable, Iterable, Iterator, TypeVar, Union Pool = Union[pool.Pool, pool.ThreadPool] S = TypeVar('S') diff --git a/src/pip/_internal/utils/subprocess.py b/src/pip/_internal/utils/subprocess.py index d398e68da53..1dfe02fa0be 100644 --- a/src/pip/_internal/utils/subprocess.py +++ b/src/pip/_internal/utils/subprocess.py @@ -15,7 +15,14 @@ if MYPY_CHECK_RUNNING: from typing import ( - Any, Callable, Iterable, List, Mapping, Optional, Text, Union, + Any, + Callable, + Iterable, + List, + Mapping, + Optional, + Text, + Union, ) CommandArgs = List[Union[str, HiddenText]] diff --git a/src/pip/_internal/vcs/bazaar.py b/src/pip/_internal/vcs/bazaar.py index 94408c52fa9..3180713f7db 100644 --- a/src/pip/_internal/vcs/bazaar.py +++ b/src/pip/_internal/vcs/bazaar.py @@ -16,6 +16,7 @@ if MYPY_CHECK_RUNNING: from typing import Optional, Tuple + from pip._internal.utils.misc import HiddenText from pip._internal.vcs.versioncontrol import AuthInfo, RevOptions diff --git a/src/pip/_internal/vcs/git.py b/src/pip/_internal/vcs/git.py index db8c7234984..1831aede58a 100644 --- a/src/pip/_internal/vcs/git.py +++ b/src/pip/_internal/vcs/git.py @@ -25,6 +25,7 @@ if MYPY_CHECK_RUNNING: from typing import Optional, Tuple + from pip._internal.utils.misc import HiddenText from pip._internal.vcs.versioncontrol import AuthInfo, RevOptions diff --git a/src/pip/_internal/vcs/subversion.py b/src/pip/_internal/vcs/subversion.py index ab134970b05..eae09c19610 100644 --- a/src/pip/_internal/vcs/subversion.py +++ b/src/pip/_internal/vcs/subversion.py @@ -26,8 +26,9 @@ if MYPY_CHECK_RUNNING: from typing import Optional, Tuple - from pip._internal.utils.subprocess import CommandArgs + from pip._internal.utils.misc import HiddenText + from pip._internal.utils.subprocess import CommandArgs from pip._internal.vcs.versioncontrol import AuthInfo, RevOptions diff --git a/src/pip/_internal/vcs/versioncontrol.py b/src/pip/_internal/vcs/versioncontrol.py index 96f830f9918..e4f61a99c12 100644 --- a/src/pip/_internal/vcs/versioncontrol.py +++ b/src/pip/_internal/vcs/versioncontrol.py @@ -38,9 +38,19 @@ if MYPY_CHECK_RUNNING: from typing import ( - Dict, Iterable, Iterator, List, Optional, Text, Tuple, - Type, Union, Mapping, Any + Any, + Dict, + Iterable, + Iterator, + List, + Mapping, + Optional, + Text, + Tuple, + Type, + Union, ) + from pip._internal.utils.misc import HiddenText from pip._internal.utils.subprocess import CommandArgs diff --git a/src/pip/_internal/wheel_builder.py b/src/pip/_internal/wheel_builder.py index fa08016bdfb..27fce66c264 100644 --- a/src/pip/_internal/wheel_builder.py +++ b/src/pip/_internal/wheel_builder.py @@ -19,9 +19,7 @@ from pip._internal.vcs import vcs if MYPY_CHECK_RUNNING: - from typing import ( - Any, Callable, Iterable, List, Optional, Tuple, - ) + from typing import Any, Callable, Iterable, List, Optional, Tuple from pip._internal.cache import WheelCache from pip._internal.req.req_install import InstallRequirement diff --git a/tests/conftest.py b/tests/conftest.py index 97a25f60e9f..ffd9f42158b 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -27,7 +27,8 @@ if MYPY_CHECK_RUNNING: from typing import Dict, Iterable - from tests.lib.server import MockServer as _MockServer, Responder + from tests.lib.server import MockServer as _MockServer + from tests.lib.server import Responder def pytest_addoption(parser): diff --git a/tests/functional/test_uninstall.py b/tests/functional/test_uninstall.py index 6e4aec0e584..5def6587174 100644 --- a/tests/functional/test_uninstall.py +++ b/tests/functional/test_uninstall.py @@ -422,9 +422,10 @@ def test_uninstallpathset_no_paths(caplog): Test UninstallPathSet logs notification when there are no paths to uninstall """ - from pip._internal.req.req_uninstall import UninstallPathSet from pkg_resources import get_distribution + from pip._internal.req.req_uninstall import UninstallPathSet + caplog.set_level(logging.INFO) test_dist = get_distribution('pip') diff --git a/tests/lib/__init__.py b/tests/lib/__init__.py index ee243d0e6f1..07569d814f4 100644 --- a/tests/lib/__init__.py +++ b/tests/lib/__init__.py @@ -31,6 +31,7 @@ if MYPY_CHECK_RUNNING: from typing import List, Optional + from pip._internal.models.target_python import TargetPython diff --git a/tests/lib/server.py b/tests/lib/server.py index 6a8862ac5a9..ebbf120d3d7 100644 --- a/tests/lib/server.py +++ b/tests/lib/server.py @@ -15,7 +15,16 @@ if MYPY_CHECK_RUNNING: from types import TracebackType from typing import ( - Any, Callable, Dict, Iterable, List, Optional, Text, Tuple, Type, Union + Any, + Callable, + Dict, + Iterable, + List, + Optional, + Text, + Tuple, + Type, + Union, ) from werkzeug.serving import BaseWSGIServer diff --git a/tests/lib/wheel.py b/tests/lib/wheel.py index 8ea458658e3..d89a680a190 100644 --- a/tests/lib/wheel.py +++ b/tests/lib/wheel.py @@ -20,8 +20,16 @@ if MYPY_CHECK_RUNNING: from typing import ( - AnyStr, Callable, Dict, List, Iterable, Optional, Tuple, Sequence, - TypeVar, Union, + AnyStr, + Callable, + Dict, + Iterable, + List, + Optional, + Sequence, + Tuple, + TypeVar, + Union, ) # path, digest, size diff --git a/tests/unit/test_locations.py b/tests/unit/test_locations.py index c9bbe794326..2ede236f91f 100644 --- a/tests/unit/test_locations.py +++ b/tests/unit/test_locations.py @@ -100,6 +100,7 @@ def test_distutils_config_file_read(self, tmpdir, monkeypatch): f.parent.mkdir() f.write_text("[install]\ninstall-scripts=" + install_scripts) from distutils.dist import Distribution + # patch the function that returns what config files are present monkeypatch.setattr( Distribution, @@ -121,6 +122,7 @@ def test_install_lib_takes_precedence(self, tmpdir, monkeypatch): f.parent.mkdir() f.write_text("[install]\ninstall-lib=" + install_lib) from distutils.dist import Distribution + # patch the function that returns what config files are present monkeypatch.setattr( Distribution,