chore: enable more Ruff checks (#2654)

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
This commit is contained in:
Henry Schreiner
2025-11-07 18:48:20 -05:00
committed by GitHub
parent 1f2f8b28d5
commit e1baa60eb0
16 changed files with 51 additions and 37 deletions
+2 -2
View File
@@ -68,8 +68,8 @@ def bump_version() -> None:
sys.exit(1)
# fmt: off
print( 'Current version:', current_version)
new_version = input(' New version: ').strip()
print( "Current version:", current_version)
new_version = input(" New version: ").strip()
# fmt: on
try:
+1 -1
View File
@@ -314,7 +314,7 @@ def _compute_platform(args: CommandLineArguments) -> PlatformName:
if args.only:
return _compute_platform_only(args.only)
elif platform_option_value != "auto":
return typing.cast(PlatformName, platform_option_value)
return typing.cast("PlatformName", platform_option_value)
return native_platform()
+2 -2
View File
@@ -41,7 +41,7 @@ def dump_python_configurations(
def _json_request(request: urllib.request.Request, timeout: int = 30) -> dict[str, Any]:
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]:
@@ -98,4 +98,4 @@ def get_pyodide_xbuildenv_info() -> PyodideXBuildEnvInfo:
"https://pyodide.github.io/pyodide/api/pyodide-cross-build-environments.json"
)
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")))
+1 -1
View File
@@ -24,7 +24,7 @@ class BuildFrontendConfig:
msg = f"Unrecognised build frontend {name!r}, must be one of {names}"
raise ValueError(msg)
name = typing.cast(BuildFrontendName, name)
name = typing.cast("BuildFrontendName", name)
args = config_dict.get("args") or []
return cls(name=name, args=args)
+2 -2
View File
@@ -78,7 +78,7 @@ class OCIContainerEngineConfig:
msg = f"unknown container engine {name}"
raise ValueError(msg)
name = typing.cast(ContainerEngineName, name)
name = typing.cast("ContainerEngineName", name)
# 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 []
disable_host_mount_options = (
@@ -515,7 +515,7 @@ class OCIContainer:
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:
# used as an EnvironmentExecutor to evaluate commands and capture output
+10 -7
View File
@@ -1,16 +1,19 @@
from __future__ import annotations
import sys
from collections.abc import Sequence
from pathlib import Path
from typing import Final, Protocol
from typing import TYPE_CHECKING, Final, Protocol
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.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):
+9 -6
View File
@@ -8,22 +8,17 @@ import shutil
import subprocess
import sys
import textwrap
from collections.abc import Sequence, Set
from pathlib import Path
from typing import assert_never
from typing import TYPE_CHECKING, assert_never
from filelock import FileLock
from .. import errors
from ..architecture import Architecture
from ..environment import ParsedEnvironment
from ..frontend import (
BuildFrontendName,
get_build_frontend_extra_flags,
)
from ..logger import log
from ..options import Options
from ..selector import BuildSelector
from ..util import resources
from ..util.cmd import call, shell, split_command
from ..util.file import (
@@ -39,6 +34,14 @@ from ..util.packaging import (
from ..venv import constraint_flags, virtualenv
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)
class PythonConfiguration:
+4 -2
View File
@@ -6,7 +6,7 @@ import textwrap
from collections import OrderedDict
from collections.abc import Iterable, Iterator, Sequence, Set
from pathlib import Path, PurePath, PurePosixPath
from typing import assert_never
from typing import TYPE_CHECKING, assert_never
from .. import errors
from ..architecture import Architecture
@@ -15,12 +15,14 @@ from ..logger import log
from ..oci_container import OCIContainer, OCIContainerEngineConfig, OCIPlatform
from ..options import BuildOptions, Options
from ..selector import BuildSelector
from ..typing import PathOrStr
from ..util import resources
from ..util.file import copy_test_sources
from ..util.helpers import prepare_command, unwrap
from ..util.packaging import find_compatible_wheel
if TYPE_CHECKING:
from ..typing import PathOrStr
ARCHITECTURE_OCI_PLATFORM_MAP = {
Architecture.x86_64: OCIPlatform.AMD64,
Architecture.i686: OCIPlatform.i386,
+1 -1
View File
@@ -60,7 +60,7 @@ def get_macos_version() -> tuple[int, int]:
capture_stdout=True,
)
version = tuple(map(int, version_str.split(".")[:2]))
return typing.cast(tuple[int, int], version)
return typing.cast("tuple[int, int]", version)
@functools.cache
+1 -1
View File
@@ -130,7 +130,7 @@ def get_all_xbuildenv_version_info(env: dict[str, str]) -> list[PyodideXBuildEnv
msg = f"Invalid xbuildenvs info, got {xbuildenvs_info}"
raise ValueError(msg)
return typing.cast(list[PyodideXBuildEnvInfo], xbuildenvs_info["environments"])
return typing.cast("list[PyodideXBuildEnvInfo]", xbuildenvs_info["environments"])
def get_xbuildenv_version_info(
+1 -1
View File
@@ -72,7 +72,7 @@ def call(
if not capture_stdout:
return None
sys.stderr.write(result.stderr)
return typing.cast(str, result.stdout)
return typing.cast("str", result.stdout)
def shell(
+1 -1
View File
@@ -28,7 +28,7 @@ class PythonBuildStandaloneReleaseData(typing.TypedDict):
@functools.cache
def get_python_build_standalone_release_data() -> PythonBuildStandaloneReleaseData:
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):
+9
View File
@@ -216,6 +216,15 @@ extend-select = [
"EXE", # flake8-executable
"PYI", # flake8-pyi
"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 = [
"PLR", # Design related pylint codes
+1 -7
View File
@@ -385,13 +385,7 @@ def test_environment_markers(tmp_path):
**cp313_env,
"CIBW_TEST_COMMAND": f"python -m pytest {test_filename}",
"CIBW_TEST_SOURCES": test_filename,
"CIBW_TEST_REQUIRES": " ".join(
[
"pytest",
"certifi;sys_platform=='android'",
"platformdirs;sys_platform!='android'",
]
),
"CIBW_TEST_REQUIRES": "pytest certifi;sys_platform=='android' platformdirs;sys_platform!='android'",
},
)
+2 -2
View File
@@ -56,7 +56,7 @@ def test_build_default_launches(monkeypatch):
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
@@ -126,7 +126,7 @@ before-all = "true"
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
+4 -1
View File
@@ -1,5 +1,5 @@
import shlex
from pathlib import Path
from typing import TYPE_CHECKING
import pytest
@@ -13,6 +13,9 @@ from cibuildwheel.options import (
_resolve_cascade,
)
if TYPE_CHECKING:
from pathlib import Path
PYPROJECT_1 = """
[tool.cibuildwheel]
build = "cp39*"