Skip to content

Commit cb3f360

Browse files
authored
Merge pull request #118 from python-project-templates/fix-ruff-lint
Fix Ruff lint violations
2 parents df8c011 + 60af0f6 commit cb3f360

8 files changed

Lines changed: 89 additions & 108 deletions

File tree

hatch_cpp/config.py

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
from os import environ, system as system_call
44
from pathlib import Path
5-
from typing import List, Optional
65

76
from pkn import getSimpleLogger
87
from pydantic import BaseModel, Field, model_validator
@@ -21,13 +20,13 @@
2120
class HatchCppBuildConfig(BaseModel):
2221
"""Build config values for Hatch C++ Builder."""
2322

24-
verbose: Optional[bool] = Field(default=False)
25-
skip: Optional[bool] = Field(default=False)
26-
name: Optional[str] = Field(default=None)
27-
libraries: List[HatchCppLibrary] = Field(default_factory=list)
28-
cmake: Optional[HatchCppCmakeConfiguration] = Field(default=None)
29-
platform: Optional[HatchCppPlatform] = Field(default_factory=HatchCppPlatform.default)
30-
vcpkg: Optional[HatchCppVcpkgConfiguration] = Field(default_factory=HatchCppVcpkgConfiguration)
23+
verbose: bool | None = Field(default=False)
24+
skip: bool | None = Field(default=False)
25+
name: str | None = Field(default=None)
26+
libraries: list[HatchCppLibrary] = Field(default_factory=list)
27+
cmake: HatchCppCmakeConfiguration | None = Field(default=None)
28+
platform: HatchCppPlatform | None = Field(default_factory=HatchCppPlatform.default)
29+
vcpkg: HatchCppVcpkgConfiguration | None = Field(default_factory=HatchCppVcpkgConfiguration)
3130

3231
@model_validator(mode="wrap")
3332
@classmethod
@@ -56,9 +55,9 @@ def validate_model(cls, data, handler):
5655

5756
class HatchCppBuildPlan(HatchCppBuildConfig):
5857
build_type: BuildType = "release"
59-
commands: List[str] = Field(default_factory=list)
58+
commands: list[str] = Field(default_factory=list)
6059

61-
_active_toolchains: List[Toolchain] = []
60+
_active_toolchains: list[Toolchain] = []
6261

6362
def generate(self):
6463
self.commands = []

hatch_cpp/hooks.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
1-
from typing import Type
2-
31
from hatchling.plugin import hookimpl
42

53
from .plugin import HatchCppBuildHook
64

75

86
@hookimpl
9-
def hatch_register_build_hook() -> Type[HatchCppBuildHook]:
7+
def hatch_register_build_hook() -> type[HatchCppBuildHook]:
108
return HatchCppBuildHook

hatch_cpp/plugin.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ def initialize(self, version: str, build_data: dict[str, Any]) -> None:
8282
os_name = "linux"
8383
else:
8484
os_name = "win"
85-
if all([lib.py_limited_api for lib in build_plan.libraries]):
85+
if all(lib.py_limited_api for lib in build_plan.libraries):
8686
build_data["tag"] = f"cp{version_major}{version_minor}-abi3-{os_name}_{machine}"
8787
else:
8888
build_data["tag"] = f"cp{version_major}{version_minor}-cp{version_major}{version_minor}-{os_name}_{machine}"

hatch_cpp/tests/test_projects.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ class TestProject:
1414
[
1515
"test_project_basic",
1616
"test_project_override_classes",
17-
"test_project_override_classes",
1817
"test_project_override_toolchain",
1918
"test_project_pybind",
2019
"test_project_pybind_vcpkg",

hatch_cpp/toolchains/cmake.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from os import environ
44
from pathlib import Path
55
from sys import version_info
6-
from typing import Any, Dict, Optional, Union
6+
from typing import Any
77

88
from pydantic import BaseModel, Field
99

@@ -23,17 +23,17 @@
2323

2424

2525
class HatchCppCmakeConfiguration(BaseModel):
26-
root: Optional[Path] = None
26+
root: Path | None = None
2727
build: Path = Field(default_factory=lambda: Path("build"))
28-
install: Optional[Path] = Field(default=None)
28+
install: Path | None = Field(default=None)
2929

30-
cmake_arg_prefix: Optional[str] = Field(default=None)
31-
cmake_args: Dict[str, str] = Field(default_factory=dict)
32-
cmake_env_args: Dict[Platform, Dict[str, str]] = Field(default_factory=dict)
30+
cmake_arg_prefix: str | None = Field(default=None)
31+
cmake_args: dict[str, str] = Field(default_factory=dict)
32+
cmake_env_args: dict[Platform, dict[str, str]] = Field(default_factory=dict)
3333

34-
include_flags: Optional[Dict[str, Union[str, int, float, bool]]] = Field(default=None)
34+
include_flags: dict[str, str | int | float | bool] | None = Field(default=None)
3535

36-
def generate(self, config) -> Dict[str, Any]:
36+
def generate(self, config) -> dict[str, Any]:
3737
commands = []
3838

3939
# Derive prefix

hatch_cpp/toolchains/common.py

Lines changed: 60 additions & 75 deletions
Large diffs are not rendered by default.

hatch_cpp/toolchains/vcpkg.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from pathlib import Path
66
from platform import machine as platform_machine
77
from sys import platform as sys_platform
8-
from typing import Literal, Optional
8+
from typing import Literal
99

1010
from pydantic import BaseModel, Field
1111

@@ -40,7 +40,7 @@
4040
}
4141

4242

43-
def _read_vcpkg_ref_from_gitmodules(vcpkg_root: Path) -> Optional[str]:
43+
def _read_vcpkg_ref_from_gitmodules(vcpkg_root: Path) -> str | None:
4444
"""Read the branch/ref for vcpkg from .gitmodules if it exists.
4545
4646
Looks for a submodule whose path matches ``vcpkg_root`` and returns
@@ -61,19 +61,19 @@ def _read_vcpkg_ref_from_gitmodules(vcpkg_root: Path) -> Optional[str]:
6161

6262

6363
class HatchCppVcpkgConfiguration(BaseModel):
64-
vcpkg: Optional[str] = Field(default="vcpkg.json")
65-
vcpkg_root: Optional[Path] = Field(default=Path("vcpkg"))
66-
vcpkg_repo: Optional[str] = Field(default="https://github.com/microsoft/vcpkg.git")
67-
vcpkg_triplet: Optional[VcpkgTriplet] = Field(default=None)
68-
vcpkg_ref: Optional[str] = Field(
64+
vcpkg: str | None = Field(default="vcpkg.json")
65+
vcpkg_root: Path | None = Field(default=Path("vcpkg"))
66+
vcpkg_repo: str | None = Field(default="https://github.com/microsoft/vcpkg.git")
67+
vcpkg_triplet: VcpkgTriplet | None = Field(default=None)
68+
vcpkg_ref: str | None = Field(
6969
default=None,
7070
description="Branch, tag, or commit SHA to checkout after cloning vcpkg. "
7171
"If not set, falls back to the branch specified in .gitmodules for the vcpkg submodule.",
7272
)
7373

7474
# TODO: overlay
7575

76-
def _resolve_vcpkg_ref(self) -> Optional[str]:
76+
def _resolve_vcpkg_ref(self) -> str | None:
7777
"""Return the ref to checkout: explicit config takes priority, then .gitmodules."""
7878
if self.vcpkg_ref is not None:
7979
return self.vcpkg_ref

hatch_cpp/utils.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
from __future__ import annotations
22

3-
from functools import lru_cache
3+
from functools import cache
44

55
from pydantic import ImportString, TypeAdapter
66

77
_import_string_adapter = TypeAdapter(ImportString)
88

99

10-
@lru_cache(maxsize=None)
10+
@cache
1111
def import_string(input_string: str):
1212
return _import_string_adapter.validate_python(input_string)

0 commit comments

Comments
 (0)