diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index ec7765ed..5d8ba1f5 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -23,6 +23,11 @@ repos: hooks: - id: black + - repo: https://github.com/PyCQA/isort + rev: 5.6.4 + hooks: + - id: isort + - repo: https://gitlab.com/PyCQA/flake8 rev: "3.7.8" hooks: diff --git a/noxfile.py b/noxfile.py index 80ce5060..a77643cb 100644 --- a/noxfile.py +++ b/noxfile.py @@ -1,17 +1,17 @@ # mypy: disallow-untyped-defs=False, disallow-untyped-calls=False -import time -import re -import os -import sys +import contextlib +import datetime +import difflib import glob +import os +import re import shutil -import difflib +import subprocess +import sys import tempfile import textwrap -import datetime -import contextlib -import subprocess +import time from pathlib import Path import nox diff --git a/packaging/markers.py b/packaging/markers.py index 87cd3f95..e0330ab6 100644 --- a/packaging/markers.py +++ b/packaging/markers.py @@ -8,13 +8,21 @@ import platform import sys -from pyparsing import ParseException, ParseResults, stringStart, stringEnd -from pyparsing import ZeroOrMore, Group, Forward, QuotedString -from pyparsing import Literal as L # noqa +from pyparsing import ( # noqa: N817 + Forward, + Group, + Literal as L, + ParseException, + ParseResults, + QuotedString, + ZeroOrMore, + stringEnd, + stringStart, +) from ._compat import string_types from ._typing import TYPE_CHECKING -from .specifiers import Specifier, InvalidSpecifier +from .specifiers import InvalidSpecifier, Specifier if TYPE_CHECKING: # pragma: no cover from typing import Any, Callable, Dict, List, Optional, Tuple, Union diff --git a/packaging/requirements.py b/packaging/requirements.py index 5ba8daf2..aa69d50d 100644 --- a/packaging/requirements.py +++ b/packaging/requirements.py @@ -3,13 +3,22 @@ # for complete details. from __future__ import absolute_import, division, print_function -import string import re +import string import sys -from pyparsing import stringStart, stringEnd, originalTextFor, ParseException -from pyparsing import ZeroOrMore, Word, Optional, Regex, Combine -from pyparsing import Literal as L # noqa +from pyparsing import ( # noqa: N817 + Combine, + Literal as L, + Optional, + ParseException, + Regex, + Word, + ZeroOrMore, + originalTextFor, + stringEnd, + stringStart, +) from ._typing import TYPE_CHECKING from .markers import MARKER_EXPR, Marker diff --git a/packaging/specifiers.py b/packaging/specifiers.py index a42cbfef..a6a83c1f 100644 --- a/packaging/specifiers.py +++ b/packaging/specifiers.py @@ -12,10 +12,10 @@ from ._compat import string_types, with_metaclass from ._typing import TYPE_CHECKING from .utils import canonicalize_version -from .version import Version, LegacyVersion, parse +from .version import LegacyVersion, Version, parse if TYPE_CHECKING: # pragma: no cover - from typing import List, Dict, Union, Iterable, Iterator, Optional, Callable, Tuple + from typing import Callable, Dict, Iterable, Iterator, List, Optional, Tuple, Union ParsedVersion = Union[Version, LegacyVersion] UnparsedVersion = Union[Version, LegacyVersion, str] diff --git a/packaging/tags.py b/packaging/tags.py index 13798e38..c54556e0 100644 --- a/packaging/tags.py +++ b/packaging/tags.py @@ -27,9 +27,9 @@ if TYPE_CHECKING: # pragma: no cover from typing import ( + IO, Dict, FrozenSet, - IO, Iterable, Iterator, List, diff --git a/setup.cfg b/setup.cfg index 3c6e79cf..170b31d4 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,2 +1,6 @@ [bdist_wheel] universal=1 + +[isort] +profile = black +combine_as_imports = true diff --git a/tasks/check.py b/tasks/check.py index 930ab490..4e6a216e 100644 --- a/tasks/check.py +++ b/tasks/check.py @@ -2,8 +2,8 @@ # 2.0, and the BSD License. See the LICENSE file in the root of this repository # for complete details. -import json import itertools +import json import os.path try: diff --git a/tasks/paths.py b/tasks/paths.py index 13d49423..0888fb69 100644 --- a/tasks/paths.py +++ b/tasks/paths.py @@ -4,7 +4,6 @@ import os.path - PROJECT = os.path.abspath(os.path.dirname(os.path.dirname(__file__))) CACHE = os.path.join(PROJECT, ".cache") diff --git a/tests/test_markers.py b/tests/test_markers.py index 01e4aa6b..3bdbffaf 100644 --- a/tests/test_markers.py +++ b/tests/test_markers.py @@ -13,16 +13,15 @@ import pytest from packaging.markers import ( - Node, InvalidMarker, + Marker, + Node, UndefinedComparison, UndefinedEnvironmentName, - Marker, default_environment, format_full_version, ) - VARIABLES = [ "extra", "implementation_name", diff --git a/tests/test_requirements.py b/tests/test_requirements.py index 50e38d6a..0213d6de 100644 --- a/tests/test_requirements.py +++ b/tests/test_requirements.py @@ -6,8 +6,7 @@ import pytest from packaging.markers import Marker -from packaging.requirements import InvalidRequirement, Requirement, URL -from packaging.requirements import URL_AND_MARKER +from packaging.requirements import URL, URL_AND_MARKER, InvalidRequirement, Requirement from packaging.specifiers import SpecifierSet diff --git a/tests/test_specifiers.py b/tests/test_specifiers.py index c9a44466..41e93fe3 100644 --- a/tests/test_specifiers.py +++ b/tests/test_specifiers.py @@ -17,8 +17,7 @@ ) from packaging.version import LegacyVersion, Version, parse -from .test_version import VERSIONS, LEGACY_VERSIONS - +from .test_version import LEGACY_VERSIONS, VERSIONS LEGACY_SPECIFIERS = [ "==2.1.0.3", diff --git a/tests/test_tags.py b/tests/test_tags.py index 2a790640..9cce6d57 100644 --- a/tests/test_tags.py +++ b/tests/test_tags.py @@ -12,7 +12,6 @@ except ImportError: ctypes = None import distutils.util - import os import platform import re diff --git a/tests/test_version.py b/tests/test_version.py index 961fca20..3d722816 100644 --- a/tests/test_version.py +++ b/tests/test_version.py @@ -10,7 +10,7 @@ import pretend import pytest -from packaging.version import Version, LegacyVersion, InvalidVersion, parse +from packaging.version import InvalidVersion, LegacyVersion, Version, parse @pytest.mark.parametrize(