chore: enable more Ruff checks (#2654)
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
This commit is contained in:
+2
-2
@@ -68,8 +68,8 @@ def bump_version() -> None:
|
|||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
# fmt: off
|
# fmt: off
|
||||||
print( 'Current version:', current_version)
|
print( "Current version:", current_version)
|
||||||
new_version = input(' New version: ').strip()
|
new_version = input(" New version: ").strip()
|
||||||
# fmt: on
|
# fmt: on
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
|||||||
@@ -314,7 +314,7 @@ def _compute_platform(args: CommandLineArguments) -> PlatformName:
|
|||||||
if args.only:
|
if args.only:
|
||||||
return _compute_platform_only(args.only)
|
return _compute_platform_only(args.only)
|
||||||
elif platform_option_value != "auto":
|
elif platform_option_value != "auto":
|
||||||
return typing.cast(PlatformName, platform_option_value)
|
return typing.cast("PlatformName", platform_option_value)
|
||||||
|
|
||||||
return native_platform()
|
return native_platform()
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ def dump_python_configurations(
|
|||||||
|
|
||||||
def _json_request(request: urllib.request.Request, timeout: int = 30) -> dict[str, Any]:
|
def _json_request(request: urllib.request.Request, timeout: int = 30) -> dict[str, Any]:
|
||||||
with urllib.request.urlopen(request, timeout=timeout) as response:
|
with urllib.request.urlopen(request, timeout=timeout) as response:
|
||||||
return typing.cast(dict[str, Any], json.load(response))
|
return typing.cast("dict[str, Any]", json.load(response))
|
||||||
|
|
||||||
|
|
||||||
def github_api_request(path: str, *, max_retries: int = 3) -> dict[str, Any]:
|
def github_api_request(path: str, *, max_retries: int = 3) -> dict[str, Any]:
|
||||||
@@ -98,4 +98,4 @@ def get_pyodide_xbuildenv_info() -> PyodideXBuildEnvInfo:
|
|||||||
"https://pyodide.github.io/pyodide/api/pyodide-cross-build-environments.json"
|
"https://pyodide.github.io/pyodide/api/pyodide-cross-build-environments.json"
|
||||||
)
|
)
|
||||||
with urllib.request.urlopen(xbuildenv_info_url) as response:
|
with urllib.request.urlopen(xbuildenv_info_url) as response:
|
||||||
return typing.cast(PyodideXBuildEnvInfo, json.loads(response.read().decode("utf-8")))
|
return typing.cast("PyodideXBuildEnvInfo", json.loads(response.read().decode("utf-8")))
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ class BuildFrontendConfig:
|
|||||||
msg = f"Unrecognised build frontend {name!r}, must be one of {names}"
|
msg = f"Unrecognised build frontend {name!r}, must be one of {names}"
|
||||||
raise ValueError(msg)
|
raise ValueError(msg)
|
||||||
|
|
||||||
name = typing.cast(BuildFrontendName, name)
|
name = typing.cast("BuildFrontendName", name)
|
||||||
|
|
||||||
args = config_dict.get("args") or []
|
args = config_dict.get("args") or []
|
||||||
return cls(name=name, args=args)
|
return cls(name=name, args=args)
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ class OCIContainerEngineConfig:
|
|||||||
msg = f"unknown container engine {name}"
|
msg = f"unknown container engine {name}"
|
||||||
raise ValueError(msg)
|
raise ValueError(msg)
|
||||||
|
|
||||||
name = typing.cast(ContainerEngineName, name)
|
name = typing.cast("ContainerEngineName", name)
|
||||||
# some flexibility in the option names to cope with TOML conventions
|
# some flexibility in the option names to cope with TOML conventions
|
||||||
create_args = config_dict.get("create_args") or config_dict.get("create-args") or []
|
create_args = config_dict.get("create_args") or config_dict.get("create-args") or []
|
||||||
disable_host_mount_options = (
|
disable_host_mount_options = (
|
||||||
@@ -515,7 +515,7 @@ class OCIContainer:
|
|||||||
capture_output=True,
|
capture_output=True,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
return typing.cast(dict[str, str], env)
|
return typing.cast("dict[str, str]", env)
|
||||||
|
|
||||||
def environment_executor(self, command: Sequence[str], environment: dict[str, str]) -> str:
|
def environment_executor(self, command: Sequence[str], environment: dict[str, str]) -> str:
|
||||||
# used as an EnvironmentExecutor to evaluate commands and capture output
|
# used as an EnvironmentExecutor to evaluate commands and capture output
|
||||||
|
|||||||
@@ -1,16 +1,19 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
from collections.abc import Sequence
|
from typing import TYPE_CHECKING, Final, Protocol
|
||||||
from pathlib import Path
|
|
||||||
from typing import Final, Protocol
|
|
||||||
|
|
||||||
from cibuildwheel import errors
|
from cibuildwheel import errors
|
||||||
from cibuildwheel.architecture import Architecture
|
|
||||||
from cibuildwheel.options import Options
|
|
||||||
from cibuildwheel.platforms import android, ios, linux, macos, pyodide, windows
|
from cibuildwheel.platforms import android, ios, linux, macos, pyodide, windows
|
||||||
from cibuildwheel.selector import BuildSelector
|
|
||||||
from cibuildwheel.typing import GenericPythonConfiguration, PlatformName
|
if TYPE_CHECKING:
|
||||||
|
from collections.abc import Sequence
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
from cibuildwheel.architecture import Architecture
|
||||||
|
from cibuildwheel.options import Options
|
||||||
|
from cibuildwheel.selector import BuildSelector
|
||||||
|
from cibuildwheel.typing import GenericPythonConfiguration, PlatformName
|
||||||
|
|
||||||
|
|
||||||
class PlatformModule(Protocol):
|
class PlatformModule(Protocol):
|
||||||
|
|||||||
@@ -8,22 +8,17 @@ import shutil
|
|||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
import textwrap
|
import textwrap
|
||||||
from collections.abc import Sequence, Set
|
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import assert_never
|
from typing import TYPE_CHECKING, assert_never
|
||||||
|
|
||||||
from filelock import FileLock
|
from filelock import FileLock
|
||||||
|
|
||||||
from .. import errors
|
from .. import errors
|
||||||
from ..architecture import Architecture
|
|
||||||
from ..environment import ParsedEnvironment
|
|
||||||
from ..frontend import (
|
from ..frontend import (
|
||||||
BuildFrontendName,
|
BuildFrontendName,
|
||||||
get_build_frontend_extra_flags,
|
get_build_frontend_extra_flags,
|
||||||
)
|
)
|
||||||
from ..logger import log
|
from ..logger import log
|
||||||
from ..options import Options
|
|
||||||
from ..selector import BuildSelector
|
|
||||||
from ..util import resources
|
from ..util import resources
|
||||||
from ..util.cmd import call, shell, split_command
|
from ..util.cmd import call, shell, split_command
|
||||||
from ..util.file import (
|
from ..util.file import (
|
||||||
@@ -39,6 +34,14 @@ from ..util.packaging import (
|
|||||||
from ..venv import constraint_flags, virtualenv
|
from ..venv import constraint_flags, virtualenv
|
||||||
from .macos import install_cpython as install_build_cpython
|
from .macos import install_cpython as install_build_cpython
|
||||||
|
|
||||||
|
if TYPE_CHECKING:
|
||||||
|
from collections.abc import Sequence, Set
|
||||||
|
|
||||||
|
from ..architecture import Architecture
|
||||||
|
from ..environment import ParsedEnvironment
|
||||||
|
from ..options import Options
|
||||||
|
from ..selector import BuildSelector
|
||||||
|
|
||||||
|
|
||||||
@dataclasses.dataclass(frozen=True, kw_only=True)
|
@dataclasses.dataclass(frozen=True, kw_only=True)
|
||||||
class PythonConfiguration:
|
class PythonConfiguration:
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import textwrap
|
|||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
from collections.abc import Iterable, Iterator, Sequence, Set
|
from collections.abc import Iterable, Iterator, Sequence, Set
|
||||||
from pathlib import Path, PurePath, PurePosixPath
|
from pathlib import Path, PurePath, PurePosixPath
|
||||||
from typing import assert_never
|
from typing import TYPE_CHECKING, assert_never
|
||||||
|
|
||||||
from .. import errors
|
from .. import errors
|
||||||
from ..architecture import Architecture
|
from ..architecture import Architecture
|
||||||
@@ -15,12 +15,14 @@ from ..logger import log
|
|||||||
from ..oci_container import OCIContainer, OCIContainerEngineConfig, OCIPlatform
|
from ..oci_container import OCIContainer, OCIContainerEngineConfig, OCIPlatform
|
||||||
from ..options import BuildOptions, Options
|
from ..options import BuildOptions, Options
|
||||||
from ..selector import BuildSelector
|
from ..selector import BuildSelector
|
||||||
from ..typing import PathOrStr
|
|
||||||
from ..util import resources
|
from ..util import resources
|
||||||
from ..util.file import copy_test_sources
|
from ..util.file import copy_test_sources
|
||||||
from ..util.helpers import prepare_command, unwrap
|
from ..util.helpers import prepare_command, unwrap
|
||||||
from ..util.packaging import find_compatible_wheel
|
from ..util.packaging import find_compatible_wheel
|
||||||
|
|
||||||
|
if TYPE_CHECKING:
|
||||||
|
from ..typing import PathOrStr
|
||||||
|
|
||||||
ARCHITECTURE_OCI_PLATFORM_MAP = {
|
ARCHITECTURE_OCI_PLATFORM_MAP = {
|
||||||
Architecture.x86_64: OCIPlatform.AMD64,
|
Architecture.x86_64: OCIPlatform.AMD64,
|
||||||
Architecture.i686: OCIPlatform.i386,
|
Architecture.i686: OCIPlatform.i386,
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ def get_macos_version() -> tuple[int, int]:
|
|||||||
capture_stdout=True,
|
capture_stdout=True,
|
||||||
)
|
)
|
||||||
version = tuple(map(int, version_str.split(".")[:2]))
|
version = tuple(map(int, version_str.split(".")[:2]))
|
||||||
return typing.cast(tuple[int, int], version)
|
return typing.cast("tuple[int, int]", version)
|
||||||
|
|
||||||
|
|
||||||
@functools.cache
|
@functools.cache
|
||||||
|
|||||||
@@ -130,7 +130,7 @@ def get_all_xbuildenv_version_info(env: dict[str, str]) -> list[PyodideXBuildEnv
|
|||||||
msg = f"Invalid xbuildenvs info, got {xbuildenvs_info}"
|
msg = f"Invalid xbuildenvs info, got {xbuildenvs_info}"
|
||||||
raise ValueError(msg)
|
raise ValueError(msg)
|
||||||
|
|
||||||
return typing.cast(list[PyodideXBuildEnvInfo], xbuildenvs_info["environments"])
|
return typing.cast("list[PyodideXBuildEnvInfo]", xbuildenvs_info["environments"])
|
||||||
|
|
||||||
|
|
||||||
def get_xbuildenv_version_info(
|
def get_xbuildenv_version_info(
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ def call(
|
|||||||
if not capture_stdout:
|
if not capture_stdout:
|
||||||
return None
|
return None
|
||||||
sys.stderr.write(result.stderr)
|
sys.stderr.write(result.stderr)
|
||||||
return typing.cast(str, result.stdout)
|
return typing.cast("str", result.stdout)
|
||||||
|
|
||||||
|
|
||||||
def shell(
|
def shell(
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ class PythonBuildStandaloneReleaseData(typing.TypedDict):
|
|||||||
@functools.cache
|
@functools.cache
|
||||||
def get_python_build_standalone_release_data() -> PythonBuildStandaloneReleaseData:
|
def get_python_build_standalone_release_data() -> PythonBuildStandaloneReleaseData:
|
||||||
with open(PYTHON_BUILD_STANDALONE_RELEASES, "rb") as f:
|
with open(PYTHON_BUILD_STANDALONE_RELEASES, "rb") as f:
|
||||||
return typing.cast(PythonBuildStandaloneReleaseData, json.load(f))
|
return typing.cast("PythonBuildStandaloneReleaseData", json.load(f))
|
||||||
|
|
||||||
|
|
||||||
class PythonBuildStandaloneError(Exception):
|
class PythonBuildStandaloneError(Exception):
|
||||||
|
|||||||
@@ -216,6 +216,15 @@ extend-select = [
|
|||||||
"EXE", # flake8-executable
|
"EXE", # flake8-executable
|
||||||
"PYI", # flake8-pyi
|
"PYI", # flake8-pyi
|
||||||
"PERF101", "PERF102", "PERF401", "PERF402", "PERF403", # A selection of perflint codes
|
"PERF101", "PERF102", "PERF401", "PERF402", "PERF403", # A selection of perflint codes
|
||||||
|
"DTZ", # flake8-datetimez
|
||||||
|
"FA", # flake8-future-annotations
|
||||||
|
"FLY", # flynt
|
||||||
|
"FURB", # refurb
|
||||||
|
"LOG", # flake8-logging
|
||||||
|
"Q", # flake8-quotes
|
||||||
|
"SLOT", # flake8-slots
|
||||||
|
"T10", # flake8-debugger
|
||||||
|
"TC", # flake8-type-checking
|
||||||
]
|
]
|
||||||
ignore = [
|
ignore = [
|
||||||
"PLR", # Design related pylint codes
|
"PLR", # Design related pylint codes
|
||||||
|
|||||||
@@ -385,13 +385,7 @@ def test_environment_markers(tmp_path):
|
|||||||
**cp313_env,
|
**cp313_env,
|
||||||
"CIBW_TEST_COMMAND": f"python -m pytest {test_filename}",
|
"CIBW_TEST_COMMAND": f"python -m pytest {test_filename}",
|
||||||
"CIBW_TEST_SOURCES": test_filename,
|
"CIBW_TEST_SOURCES": test_filename,
|
||||||
"CIBW_TEST_REQUIRES": " ".join(
|
"CIBW_TEST_REQUIRES": "pytest certifi;sys_platform=='android' platformdirs;sys_platform!='android'",
|
||||||
[
|
|
||||||
"pytest",
|
|
||||||
"certifi;sys_platform=='android'",
|
|
||||||
"platformdirs;sys_platform!='android'",
|
|
||||||
]
|
|
||||||
),
|
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ def test_build_default_launches(monkeypatch):
|
|||||||
|
|
||||||
main()
|
main()
|
||||||
|
|
||||||
build_in_container = typing.cast(mock.Mock, platforms.linux.build_in_container)
|
build_in_container = typing.cast("mock.Mock", platforms.linux.build_in_container)
|
||||||
|
|
||||||
assert build_in_container.call_count == 4
|
assert build_in_container.call_count == 4
|
||||||
|
|
||||||
@@ -126,7 +126,7 @@ before-all = "true"
|
|||||||
|
|
||||||
main()
|
main()
|
||||||
|
|
||||||
build_in_container = typing.cast(mock.Mock, platforms.linux.build_in_container)
|
build_in_container = typing.cast("mock.Mock", platforms.linux.build_in_container)
|
||||||
|
|
||||||
assert build_in_container.call_count == 7
|
assert build_in_container.call_count == 7
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import shlex
|
import shlex
|
||||||
from pathlib import Path
|
from typing import TYPE_CHECKING
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
@@ -13,6 +13,9 @@ from cibuildwheel.options import (
|
|||||||
_resolve_cascade,
|
_resolve_cascade,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if TYPE_CHECKING:
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
PYPROJECT_1 = """
|
PYPROJECT_1 = """
|
||||||
[tool.cibuildwheel]
|
[tool.cibuildwheel]
|
||||||
build = "cp39*"
|
build = "cp39*"
|
||||||
|
|||||||
Reference in New Issue
Block a user