diff --git a/pyproject.toml b/pyproject.toml index cde79074..607fd4c8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -50,3 +50,9 @@ addopts = [ "--strict-markers", "--doctest-modules" ] + +[tool.isort] +profile = "black" +line_length = 100 +force_single_line = true +skip_gitignore = true diff --git a/requirements.txt b/requirements.txt index 98cf9723..f253417d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,3 +3,4 @@ packaging==21.0 pyparsing==2.4.7 semantic-version==2.8.5 semver==2.13.0 +isort==5.10.1 diff --git a/setup.cfg b/setup.cfg index 046ad1a1..1b726abd 100644 --- a/setup.cfg +++ b/setup.cfg @@ -74,6 +74,7 @@ testing = aboutcode-toolkit >= 6.0.0 black commoncode + isort>=5.10.1 docs = Sphinx >= 3.3.1 diff --git a/src/univers/debian.py b/src/univers/debian.py index ae90c596..e7ab6ba4 100644 --- a/src/univers/debian.py +++ b/src/univers/debian.py @@ -15,8 +15,8 @@ from itertools import zip_longest from attr import asdict -from attr import attrs from attr import attrib +from attr import attrs logger = logging.getLogger(__name__) diff --git a/src/univers/version_constraint.py b/src/univers/version_constraint.py index b8f4c9b0..1cc87552 100644 --- a/src/univers/version_constraint.py +++ b/src/univers/version_constraint.py @@ -8,6 +8,7 @@ from functools import total_ordering import attr + from univers.utils import remove_spaces from univers.versions import Version diff --git a/src/univers/versions.py b/src/univers/versions.py index 6a06b40d..7f996657 100644 --- a/src/univers/versions.py +++ b/src/univers/versions.py @@ -4,8 +4,8 @@ # # Visit https://aboutcode.org and https://github.com/nexB/univers for support and download. -from functools import total_ordering import functools +from functools import total_ordering import attr import semantic_version @@ -14,9 +14,9 @@ from univers import arch from univers import debian from univers import gem -from univers import nuget from univers import gentoo from univers import maven +from univers import nuget from univers import rpm from univers.utils import remove_spaces diff --git a/tests/nuget/test_nuget_floating_range.py b/tests/nuget/test_nuget_floating_range.py index 958d4c97..53e7c675 100644 --- a/tests/nuget/test_nuget_floating_range.py +++ b/tests/nuget/test_nuget_floating_range.py @@ -8,7 +8,6 @@ from univers.version_range import NugetVersionRange as VersionRange from univers.versions import NugetVersion as NuGetVersion - """ NuGet Float ranges are not yet supported in Univers. diff --git a/tests/nuget/test_nuget_semver_201_spec.py b/tests/nuget/test_nuget_semver_201_spec.py index 72329321..d091f714 100644 --- a/tests/nuget/test_nuget_semver_201_spec.py +++ b/tests/nuget/test_nuget_semver_201_spec.py @@ -5,8 +5,8 @@ import pytest -from univers.utils import cmp from univers import nuget +from univers.utils import cmp # A normal version number MUST take the form X.Y.Z diff --git a/tests/test_alpine.py b/tests/test_alpine.py index fc8e3714..681ed0ed 100644 --- a/tests/test_alpine.py +++ b/tests/test_alpine.py @@ -8,6 +8,7 @@ from typing import NamedTuple import pytest + from univers.versions import AlpineLinuxVersion from univers.versions import InvalidVersion diff --git a/tests/test_codestyle.py b/tests/test_codestyle.py index 3bf3ed12..d63b20ee 100644 --- a/tests/test_codestyle.py +++ b/tests/test_codestyle.py @@ -22,3 +22,16 @@ def test_codestyle(self): " python -m black -l 100 setup.py src tests", e.output, ) from e + + args = "isort --check-only src tests setup.py" + try: + subprocess.check_output(args.split()) + except Exception as e: + print("===========================================================") + print(e.output) + print("===========================================================") + raise Exception( + "Unsorted imports, please sort your imports using isort. " + "Alternatively, run ``isort src tests setup.py``", + e.output, + ) from e diff --git a/tests/test_debian_version.py b/tests/test_debian_version.py index da7f8c16..c9507f5b 100644 --- a/tests/test_debian_version.py +++ b/tests/test_debian_version.py @@ -16,9 +16,9 @@ import pytest import univers.debian as version +from univers.debian import Version from univers.debian import compare_strings from univers.debian import compare_versions -from univers.debian import Version """ Parse, compare and sort Debian package versions. diff --git a/tests/test_gentoo.py b/tests/test_gentoo.py index f87b2898..eeabacbc 100644 --- a/tests/test_gentoo.py +++ b/tests/test_gentoo.py @@ -7,6 +7,7 @@ from unittest import TestCase + from univers.gentoo import vercmp diff --git a/tests/test_maven_version.py b/tests/test_maven_version.py index 4b4d71a4..97d25585 100644 --- a/tests/test_maven_version.py +++ b/tests/test_maven_version.py @@ -8,11 +8,11 @@ import unittest +from univers.maven import Restriction +from univers.maven import RestrictionParseError from univers.maven import Version from univers.maven import VersionRange -from univers.maven import RestrictionParseError from univers.maven import VersionRangeParseError -from univers.maven import Restriction class TestRestriction(unittest.TestCase): diff --git a/tests/test_maven_version_range.py b/tests/test_maven_version_range.py index 877582a2..2f487a04 100644 --- a/tests/test_maven_version_range.py +++ b/tests/test_maven_version_range.py @@ -4,8 +4,8 @@ # # Visit https://aboutcode.org and https://github.com/nexB/univers for support and download. -from univers.version_range import MavenVersionRange from univers.version_constraint import VersionConstraint +from univers.version_range import MavenVersionRange from univers.versions import MavenVersion diff --git a/tests/test_nuget.py b/tests/test_nuget.py index f4b9d2a9..a34cc887 100644 --- a/tests/test_nuget.py +++ b/tests/test_nuget.py @@ -18,6 +18,7 @@ # https://github.com/NuGet/NuGet.Client/blob/dev/test/NuGet.Core.Tests/NuGet.Versioning.Test/VersionComparerTests.cs import unittest + from univers.versions import NugetVersion diff --git a/tests/test_openssl_vercmp.py b/tests/test_openssl_vercmp.py index 65191350..7f5a622c 100644 --- a/tests/test_openssl_vercmp.py +++ b/tests/test_openssl_vercmp.py @@ -7,6 +7,7 @@ import operator import pytest + from univers.versions import LegacyOpensslVersion from univers.versions import OpensslVersion from univers.versions import SemverVersion diff --git a/tests/test_openssl_versort.py b/tests/test_openssl_versort.py index 6706fed4..08627e60 100644 --- a/tests/test_openssl_versort.py +++ b/tests/test_openssl_versort.py @@ -7,6 +7,7 @@ from pathlib import Path from commoncode import testcase + from tests import util_tests from univers.versions import OpensslVersion diff --git a/tests/test_pypi_version.py b/tests/test_pypi_version.py index f2331d82..b33173d7 100644 --- a/tests/test_pypi_version.py +++ b/tests/test_pypi_version.py @@ -4,9 +4,10 @@ # # Visit https://aboutcode.org and https://github.com/nexB/univers for support and download. -from packaging import version as packaging_version from unittest import TestCase +from packaging import version as packaging_version + from univers import versions # version comparison is already tested at: diff --git a/tests/test_skeleton_codestyle.py b/tests/test_skeleton_codestyle.py index 32b8a27e..3304806a 100644 --- a/tests/test_skeleton_codestyle.py +++ b/tests/test_skeleton_codestyle.py @@ -7,9 +7,9 @@ # See https://aboutcode.org for more information about nexB OSS projects. # +import configparser import subprocess import unittest -import configparser class BaseTests(unittest.TestCase): diff --git a/tests/test_vers.py b/tests/test_vers.py index 57eb8a68..e4258499 100644 --- a/tests/test_vers.py +++ b/tests/test_vers.py @@ -9,9 +9,9 @@ import os import re import unittest +from unittest.case import expectedFailure from univers.version_range import VersionRange -from unittest.case import expectedFailure def create_test_function( diff --git a/tests/test_version_range.py b/tests/test_version_range.py index a709d012..70332838 100644 --- a/tests/test_version_range.py +++ b/tests/test_version_range.py @@ -6,24 +6,25 @@ import json from unittest import TestCase + import pytest from univers.version_constraint import VersionConstraint +from univers.version_range import RANGE_CLASS_BY_SCHEMES from univers.version_range import GemVersionRange +from univers.version_range import InvalidVersionRange from univers.version_range import MattermostVersionRange -from univers.version_range import from_gitlab_native +from univers.version_range import NpmVersionRange from univers.version_range import NugetVersionRange -from univers.version_range import InvalidVersionRange +from univers.version_range import OpensslVersionRange from univers.version_range import PypiVersionRange from univers.version_range import VersionRange -from univers.version_range import RANGE_CLASS_BY_SCHEMES -from univers.version_range import NpmVersionRange -from univers.version_range import OpensslVersionRange -from univers.versions import PypiVersion +from univers.version_range import from_gitlab_native from univers.versions import NugetVersion +from univers.versions import OpensslVersion +from univers.versions import PypiVersion from univers.versions import RubygemsVersion from univers.versions import SemverVersion -from univers.versions import OpensslVersion class TestVersionRange(TestCase):