From 538c068f6d71a90a00fb4a925d1fbf07dfd64c1e Mon Sep 17 00:00:00 2001 From: Henry Fredrick Schreiner Date: Tue, 5 Jan 2021 17:54:08 -0500 Subject: [PATCH 1/2] style: isort --- .pre-commit-config.yaml | 5 +++++ setup.cfg | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 7a90bf340..020d0068f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -11,6 +11,11 @@ repos: - id: mixed-line-ending - id: trailing-whitespace +- repo: https://github.com/PyCQA/isort + rev: 5.7.0 + hooks: + - id: isort + - repo: https://github.com/pre-commit/mirrors-mypy rev: v0.790 hooks: diff --git a/setup.cfg b/setup.cfg index 7f60b7839..3ba3b866d 100644 --- a/setup.cfg +++ b/setup.cfg @@ -111,3 +111,7 @@ ignore_missing_imports = True [mypy-bashlex.*] ignore_missing_imports = True + +[tool:isort] +profile=black +multi_line_output=3 From 749201a2a0d31bec1298cd87a7baf924dc74bd28 Mon Sep 17 00:00:00 2001 From: Henry Fredrick Schreiner Date: Wed, 6 Jan 2021 13:50:58 -0500 Subject: [PATCH 2/2] style: pre-commit run -a --- bin/bump_version.py | 12 +++++++----- bin/make_dependency_update_pr.py | 2 +- bin/projects.py | 9 ++++----- bin/run_example_ci_configs.py | 9 +++++---- bin/sample_build.py | 2 +- cibuildwheel/__main__.py | 6 +----- cibuildwheel/docker_container.py | 2 +- cibuildwheel/environment.py | 4 ++-- cibuildwheel/linux.py | 11 ++++++++--- cibuildwheel/logger.py | 2 +- cibuildwheel/macos.py | 14 +++++++++++--- cibuildwheel/resources/get-pip.py | 2 +- cibuildwheel/resources/install_certifi.py | 1 + cibuildwheel/typing.py | 3 +-- cibuildwheel/util.py | 2 +- cibuildwheel/windows.py | 14 +++++++++++--- test/test_0_basic.py | 2 ++ test/test_before_all.py | 6 +++--- test/test_before_build.py | 6 +++--- test/test_before_test.py | 3 +-- test/test_build_skip.py | 3 +-- test/test_dependency_versions.py | 8 ++++---- test/test_docker_images.py | 3 +-- test/test_emulation.py | 4 ++-- test/test_environment.py | 6 +++--- test/test_manylinuxXXXX_only.py | 3 +-- test/test_pep518.py | 6 +++--- test/test_projects/base.py | 4 +--- test/test_projects/c.py | 2 +- test/test_pure_wheel.py | 4 +++- test/test_ssl.py | 3 +-- test/test_testing.py | 3 +-- test/test_troubleshooting.py | 4 +++- test/test_unicode.py | 3 +-- unit_test/dependency_constraints_test.py | 4 ++-- unit_test/download_test.py | 4 ++-- unit_test/main_tests/conftest.py | 7 +------ unit_test/main_tests/main_options_test.py | 1 - unit_test/main_tests/main_platform_test.py | 5 ++--- 39 files changed, 99 insertions(+), 90 deletions(-) diff --git a/bin/bump_version.py b/bin/bump_version.py index 34b534ce4..1520108ab 100755 --- a/bin/bump_version.py +++ b/bin/bump_version.py @@ -1,13 +1,15 @@ #!/usr/bin/env python3 -import click -from pathlib import Path +import glob import os -import cibuildwheel -from packaging.version import Version, InvalidVersion import subprocess -import glob import urllib.parse +from pathlib import Path + +import click +from packaging.version import InvalidVersion, Version + +import cibuildwheel config = [ # file path, version find/replace format diff --git a/bin/make_dependency_update_pr.py b/bin/make_dependency_update_pr.py index adfb21e08..b89d371b7 100755 --- a/bin/make_dependency_update_pr.py +++ b/bin/make_dependency_update_pr.py @@ -1,12 +1,12 @@ #!/usr/bin/env python3 import os +import textwrap import time from pathlib import Path from subprocess import run import click -import textwrap def shell(cmd, **kwargs): diff --git a/bin/projects.py b/bin/projects.py index d64977d11..22898cc30 100755 --- a/bin/projects.py +++ b/bin/projects.py @@ -11,17 +11,16 @@ import builtins import functools +import urllib.request +import xml.dom.minidom from datetime import datetime from io import StringIO -from typing import Dict, Any, List, Optional, TextIO +from pathlib import Path +from typing import Any, Dict, List, Optional, TextIO import click import yaml from github import Github -import urllib.request -import xml.dom.minidom -from pathlib import Path - ICONS = ( "appveyor", diff --git a/bin/run_example_ci_configs.py b/bin/run_example_ci_configs.py index 9ffe1717b..6d99f59ff 100755 --- a/bin/run_example_ci_configs.py +++ b/bin/run_example_ci_configs.py @@ -1,17 +1,18 @@ #!/usr/bin/env python3 import os -from pathlib import Path import shutil -from subprocess import run import sys import textwrap import time -import click -from glob import glob from collections import namedtuple +from glob import glob +from pathlib import Path +from subprocess import run from urllib.parse import quote +import click + def shell(cmd, **kwargs): return run([cmd], shell=True, **kwargs) diff --git a/bin/sample_build.py b/bin/sample_build.py index d2adb022e..5879f3f12 100755 --- a/bin/sample_build.py +++ b/bin/sample_build.py @@ -1,9 +1,9 @@ #!/usr/bin/env python3 +import argparse import os import subprocess import sys -import argparse import tempfile from pathlib import Path diff --git a/cibuildwheel/__main__.py b/cibuildwheel/__main__.py index 7bde8c69e..8f76c6a3a 100644 --- a/cibuildwheel/__main__.py +++ b/cibuildwheel/__main__.py @@ -5,17 +5,13 @@ import traceback from configparser import ConfigParser from pathlib import Path - from typing import Any, Dict, List, Optional, Set, overload import cibuildwheel import cibuildwheel.linux import cibuildwheel.macos import cibuildwheel.windows -from cibuildwheel.environment import ( - EnvironmentParseError, - parse_environment, -) +from cibuildwheel.environment import EnvironmentParseError, parse_environment from cibuildwheel.util import ( Architecture, BuildOptions, diff --git a/cibuildwheel/docker_container.py b/cibuildwheel/docker_container.py index fb7f8d253..aee933d2e 100644 --- a/cibuildwheel/docker_container.py +++ b/cibuildwheel/docker_container.py @@ -6,8 +6,8 @@ import sys import uuid from pathlib import Path, PurePath -from typing import cast, IO, Dict, List, Optional, Sequence, Type from types import TracebackType +from typing import IO, Dict, List, Optional, Sequence, Type, cast from .typing import PathOrStr, PopenBytes diff --git a/cibuildwheel/environment.py b/cibuildwheel/environment.py index fd2a824c5..9d29bcb14 100644 --- a/cibuildwheel/environment.py +++ b/cibuildwheel/environment.py @@ -1,7 +1,7 @@ -import bashlex - from typing import Dict, List, Mapping, Optional +import bashlex + from . import bashlex_eval diff --git a/cibuildwheel/linux.py b/cibuildwheel/linux.py index a8cc2e78f..7da89aeea 100644 --- a/cibuildwheel/linux.py +++ b/cibuildwheel/linux.py @@ -6,11 +6,16 @@ from .docker_container import DockerContainer from .logger import log +from .typing import PathOrStr from .util import ( - Architecture, BuildOptions, BuildSelector, NonPlatformWheelError, - allowed_architectures_check, get_build_verbosity_extra_flags, prepare_command, + Architecture, + BuildOptions, + BuildSelector, + NonPlatformWheelError, + allowed_architectures_check, + get_build_verbosity_extra_flags, + prepare_command, ) -from .typing import PathOrStr class PythonConfiguration(NamedTuple): diff --git a/cibuildwheel/logger.py b/cibuildwheel/logger.py index 68baf2980..8fe67abc1 100644 --- a/cibuildwheel/logger.py +++ b/cibuildwheel/logger.py @@ -3,7 +3,7 @@ import re import sys import time -from typing import Optional, Union, AnyStr, IO +from typing import IO, AnyStr, Optional, Union from cibuildwheel.util import CIProvider, detect_ci_provider diff --git a/cibuildwheel/macos.py b/cibuildwheel/macos.py index 23b37bf83..519c8bc16 100644 --- a/cibuildwheel/macos.py +++ b/cibuildwheel/macos.py @@ -9,10 +9,18 @@ from .environment import ParsedEnvironment from .logger import log -from .util import (BuildOptions, BuildSelector, NonPlatformWheelError, - download, get_build_verbosity_extra_flags, get_pip_script, - install_certifi_script, prepare_command, allowed_architectures_check) from .typing import PathOrStr +from .util import ( + BuildOptions, + BuildSelector, + NonPlatformWheelError, + allowed_architectures_check, + download, + get_build_verbosity_extra_flags, + get_pip_script, + install_certifi_script, + prepare_command, +) def call(args: Sequence[PathOrStr], env: Optional[Dict[str, str]] = None, cwd: Optional[str] = None, shell: bool = False) -> int: diff --git a/cibuildwheel/resources/get-pip.py b/cibuildwheel/resources/get-pip.py index 5d9df9ed5..c6dadf8a9 100644 --- a/cibuildwheel/resources/get-pip.py +++ b/cibuildwheel/resources/get-pip.py @@ -23,8 +23,8 @@ import os.path import pkgutil import shutil -import sys import struct +import sys import tempfile # Useful for very coarse version differentiation. diff --git a/cibuildwheel/resources/install_certifi.py b/cibuildwheel/resources/install_certifi.py index 5b2c6ffc7..e33ac5307 100644 --- a/cibuildwheel/resources/install_certifi.py +++ b/cibuildwheel/resources/install_certifi.py @@ -29,6 +29,7 @@ def main(): "-E", "-s", "-m", "pip", "install", "--upgrade", "certifi"]) import certifi + # change working directory to the default SSL directory os.chdir(openssl_dir) relpath_to_certifi_cafile = os.path.relpath(certifi.where()) diff --git a/cibuildwheel/typing.py b/cibuildwheel/typing.py index a3ffcfbc9..ffe8afb68 100644 --- a/cibuildwheel/typing.py +++ b/cibuildwheel/typing.py @@ -1,7 +1,6 @@ -from typing import Union, TYPE_CHECKING import os import subprocess - +from typing import TYPE_CHECKING, Union if TYPE_CHECKING: PopenBytes = subprocess.Popen[bytes] diff --git a/cibuildwheel/util.py b/cibuildwheel/util.py index 31506a305..6435252f1 100644 --- a/cibuildwheel/util.py +++ b/cibuildwheel/util.py @@ -1,9 +1,9 @@ +import functools import os import platform as platform_module import re import ssl import sys -import functools import textwrap import urllib.request from enum import Enum diff --git a/cibuildwheel/windows.py b/cibuildwheel/windows.py index 24d2722e8..355fe0554 100644 --- a/cibuildwheel/windows.py +++ b/cibuildwheel/windows.py @@ -11,10 +11,18 @@ from .environment import ParsedEnvironment from .logger import log -from .util import (Architecture, BuildOptions, BuildSelector, NonPlatformWheelError, - download, get_build_verbosity_extra_flags, get_pip_script, - prepare_command, allowed_architectures_check) from .typing import PathOrStr +from .util import ( + Architecture, + BuildOptions, + BuildSelector, + NonPlatformWheelError, + allowed_architectures_check, + download, + get_build_verbosity_extra_flags, + get_pip_script, + prepare_command, +) IS_RUNNING_ON_AZURE = Path('C:\\hostedtoolcache').exists() IS_RUNNING_ON_TRAVIS = os.environ.get('TRAVIS_OS_NAME') == 'windows' diff --git a/test/test_0_basic.py b/test/test_0_basic.py index fff1b1dcc..229057221 100644 --- a/test/test_0_basic.py +++ b/test/test_0_basic.py @@ -1,8 +1,10 @@ import platform import textwrap + import pytest from cibuildwheel.logger import Logger + from . import test_projects, utils basic_project = test_projects.new_c_project( diff --git a/test/test_before_all.py b/test/test_before_all.py index 5df4f722f..1b9ff240b 100644 --- a/test/test_before_all.py +++ b/test/test_before_all.py @@ -1,9 +1,9 @@ -import pytest import subprocess import textwrap -from . import utils -from . import test_projects +import pytest + +from . import test_projects, utils project_with_before_build_asserts = test_projects.new_c_project( setup_py_add=textwrap.dedent(r''' diff --git a/test/test_before_build.py b/test/test_before_build.py index cb92280b9..1feb6fd9e 100644 --- a/test/test_before_build.py +++ b/test/test_before_build.py @@ -1,9 +1,9 @@ -import pytest import subprocess import textwrap -from . import utils -from . import test_projects +import pytest + +from . import test_projects, utils project_with_before_build_asserts = test_projects.new_c_project( setup_py_add=textwrap.dedent(r''' diff --git a/test/test_before_test.py b/test/test_before_test.py index bb87bc59d..2fa790247 100644 --- a/test/test_before_test.py +++ b/test/test_before_test.py @@ -1,5 +1,4 @@ -from . import test_projects -from . import utils +from . import test_projects, utils before_test_project = test_projects.new_c_project() before_test_project.files['test/spam_test.py'] = r''' diff --git a/test/test_build_skip.py b/test/test_build_skip.py index 11d125f6d..e5c6482e9 100644 --- a/test/test_build_skip.py +++ b/test/test_build_skip.py @@ -1,7 +1,6 @@ import textwrap -from . import utils -from . import test_projects +from . import test_projects, utils project_with_skip_asserts = test_projects.new_c_project( setup_py_add=textwrap.dedent(r''' diff --git a/test/test_dependency_versions.py b/test/test_dependency_versions.py index 59a60ce18..07d22e249 100644 --- a/test/test_dependency_versions.py +++ b/test/test_dependency_versions.py @@ -1,11 +1,11 @@ import re -import pytest import textwrap -import cibuildwheel.util -from . import utils -from . import test_projects +import pytest + +import cibuildwheel.util +from . import test_projects, utils project_with_expected_version_checks = test_projects.new_c_project( setup_py_add=textwrap.dedent(r''' diff --git a/test/test_docker_images.py b/test/test_docker_images.py index ddc6032b7..16ea2d8be 100644 --- a/test/test_docker_images.py +++ b/test/test_docker_images.py @@ -3,8 +3,7 @@ import pytest -from . import utils -from . import test_projects +from . import test_projects, utils dockcross_only_project = test_projects.new_c_project( setup_py_add=textwrap.dedent(r''' diff --git a/test/test_emulation.py b/test/test_emulation.py index e486327ca..779af3aa9 100644 --- a/test/test_emulation.py +++ b/test/test_emulation.py @@ -1,8 +1,8 @@ import subprocess + import pytest -from . import utils -from . import test_projects +from . import test_projects, utils project_with_a_test = test_projects.new_c_project() diff --git a/test/test_environment.py b/test/test_environment.py index 7de1c0bfd..e5d64563f 100644 --- a/test/test_environment.py +++ b/test/test_environment.py @@ -1,10 +1,10 @@ import os -import pytest import subprocess import textwrap -from . import utils -from . import test_projects +import pytest + +from . import test_projects, utils project_with_environment_asserts = test_projects.new_c_project( setup_py_add=textwrap.dedent(r''' diff --git a/test/test_manylinuxXXXX_only.py b/test/test_manylinuxXXXX_only.py index 68160688c..ff422cf91 100644 --- a/test/test_manylinuxXXXX_only.py +++ b/test/test_manylinuxXXXX_only.py @@ -3,8 +3,7 @@ import pytest -from . import utils -from . import test_projects +from . import test_projects, utils # TODO: specify these at runtime according to manylinux_image project_with_manylinux_symbols = test_projects.new_c_project( diff --git a/test/test_pep518.py b/test/test_pep518.py index 77482f93f..2d71896d1 100644 --- a/test/test_pep518.py +++ b/test/test_pep518.py @@ -1,7 +1,7 @@ -import textwrap -from . import test_projects -from . import utils import os +import textwrap + +from . import test_projects, utils basic_project = test_projects.new_c_project( setup_py_add=textwrap.dedent( diff --git a/test/test_projects/base.py b/test/test_projects/base.py index a5710fdff..cbf6426f0 100644 --- a/test/test_projects/base.py +++ b/test/test_projects/base.py @@ -1,10 +1,8 @@ from pathlib import Path +from typing import Any, Dict, Union import jinja2 -from typing import Union, Dict, Any - - FilesDict = Dict[str, Union[str, jinja2.Template]] TemplateContext = Dict[str, Any] diff --git a/test/test_projects/c.py b/test/test_projects/c.py index 6f06c1ba4..55c699d69 100644 --- a/test/test_projects/c.py +++ b/test/test_projects/c.py @@ -1,6 +1,6 @@ import jinja2 -from .base import TestProject +from .base import TestProject SPAM_C_TEMPLATE = r''' #include diff --git a/test/test_pure_wheel.py b/test/test_pure_wheel.py index 3373143a9..33ac59262 100644 --- a/test/test_pure_wheel.py +++ b/test/test_pure_wheel.py @@ -1,6 +1,8 @@ import subprocess -import pytest from test import test_projects + +import pytest + from . import utils pure_python_project = test_projects.TestProject() diff --git a/test/test_ssl.py b/test/test_ssl.py index 45f514efa..9b195f084 100644 --- a/test/test_ssl.py +++ b/test/test_ssl.py @@ -1,7 +1,6 @@ import textwrap -from . import utils -from . import test_projects +from . import test_projects, utils project_with_ssl_tests = test_projects.new_c_project( setup_py_add=textwrap.dedent(r''' diff --git a/test/test_testing.py b/test/test_testing.py index ea5122c4f..541984152 100644 --- a/test/test_testing.py +++ b/test/test_testing.py @@ -4,8 +4,7 @@ import pytest -from . import utils -from . import test_projects +from . import test_projects, utils project_with_a_test = test_projects.new_c_project( setup_cfg_add=textwrap.dedent(r''' diff --git a/test/test_troubleshooting.py b/test/test_troubleshooting.py index 3d07dfb5a..bedab4d9e 100644 --- a/test/test_troubleshooting.py +++ b/test/test_troubleshooting.py @@ -1,7 +1,9 @@ import subprocess + import pytest -from .test_projects import TestProject + from . import utils +from .test_projects import TestProject so_file_project = TestProject() diff --git a/test/test_unicode.py b/test/test_unicode.py index 857015736..abecfc696 100644 --- a/test/test_unicode.py +++ b/test/test_unicode.py @@ -2,8 +2,7 @@ import pytest -from . import utils -from . import test_projects +from . import test_projects, utils project_with_unicode = test_projects.new_c_project( spam_c_function_add=textwrap.dedent(r''' diff --git a/unit_test/dependency_constraints_test.py b/unit_test/dependency_constraints_test.py index 448cec11c..6aafd1e3a 100644 --- a/unit_test/dependency_constraints_test.py +++ b/unit_test/dependency_constraints_test.py @@ -1,7 +1,7 @@ -from cibuildwheel.util import DependencyConstraints - from pathlib import Path +from cibuildwheel.util import DependencyConstraints + def test_defaults(): dependency_constraints = DependencyConstraints.with_defaults() diff --git a/unit_test/download_test.py b/unit_test/download_test.py index b5e282288..2fab8ec86 100644 --- a/unit_test/download_test.py +++ b/unit_test/download_test.py @@ -1,10 +1,10 @@ +import ssl + import certifi import pytest -import ssl from cibuildwheel.util import download - DOWNLOAD_URL = 'https://raw.githubusercontent.com/joerick/cibuildwheel/v1.6.3/requirements-dev.txt' diff --git a/unit_test/main_tests/conftest.py b/unit_test/main_tests/conftest.py index 8a1655371..1122a88c2 100644 --- a/unit_test/main_tests/conftest.py +++ b/unit_test/main_tests/conftest.py @@ -4,12 +4,7 @@ import pytest -from cibuildwheel import ( - linux, - macos, - util, - windows, -) +from cibuildwheel import linux, macos, util, windows class ArgsInterceptor: diff --git a/unit_test/main_tests/main_options_test.py b/unit_test/main_tests/main_options_test.py index c7e6bfddc..f28b1ed44 100644 --- a/unit_test/main_tests/main_options_test.py +++ b/unit_test/main_tests/main_options_test.py @@ -8,7 +8,6 @@ from cibuildwheel.environment import ParsedEnvironment from cibuildwheel.util import BuildSelector - # CIBW_PLATFORM is tested in main_platform_test.py diff --git a/unit_test/main_tests/main_platform_test.py b/unit_test/main_tests/main_platform_test.py index add54718a..e01526eac 100644 --- a/unit_test/main_tests/main_platform_test.py +++ b/unit_test/main_tests/main_platform_test.py @@ -1,12 +1,11 @@ import platform as platform_module -from cibuildwheel.util import Architecture import sys import pytest +from conftest import MOCK_PACKAGE_DIR # noqa: I100 from cibuildwheel.__main__ import main - -from conftest import MOCK_PACKAGE_DIR # noqa: I100 +from cibuildwheel.util import Architecture def test_unknown_platform_non_ci(monkeypatch, capsys):