chore: use kw_only (Python 3.10+) on most dataclasses (#2422)

* chore: use kw_only (Python 3.10+) on many dataclasses

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>

* fix: expose windows file to type checker

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>

---------

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
This commit is contained in:
Henry Schreiner
2025-05-28 10:41:26 +01:00
committed by GitHub
parent e18ab66cca
commit db2d59be22
16 changed files with 59 additions and 44 deletions
+3 -3
View File
@@ -51,7 +51,7 @@ MUSLLINUX_ARCHS: Final[tuple[str, ...]] = (
)
@dataclasses.dataclass
@dataclasses.dataclass(kw_only=True)
class CommandLineArguments:
platform: Literal["auto", "linux", "macos", "windows"] | None
archs: str | None
@@ -80,7 +80,7 @@ class CommandLineArguments:
)
@dataclasses.dataclass(frozen=True)
@dataclasses.dataclass(frozen=True, kw_only=True)
class GlobalOptions:
package_dir: Path
output_dir: Path
@@ -90,7 +90,7 @@ class GlobalOptions:
allow_empty: bool
@dataclasses.dataclass(frozen=True)
@dataclasses.dataclass(frozen=True, kw_only=True)
class BuildOptions:
globals: GlobalOptions
environment: ParsedEnvironment