From 4d572f0fda4c798898bdf8119804c71cd83b6e9d Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Mon, 18 Aug 2025 16:34:32 -0400 Subject: [PATCH] chore: argparse defaults in 3.14 updated Signed-off-by: Henry Schreiner --- pyproject.toml | 1 - src/scikit_build_core/_compat/argparse.py | 19 ------------------- src/scikit_build_core/build/__main__.py | 3 +-- src/scikit_build_core/builder/wheel_tag.py | 4 ++-- .../file_api/_cattrs_converter.py | 4 ++-- src/scikit_build_core/file_api/query.py | 4 ++-- src/scikit_build_core/file_api/reply.py | 4 ++-- 7 files changed, 9 insertions(+), 30 deletions(-) delete mode 100644 src/scikit_build_core/_compat/argparse.py diff --git a/pyproject.toml b/pyproject.toml index dbd422b2c..5cb630697 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -316,7 +316,6 @@ known-local-folder = ["pathutils"] "importlib.resources".msg = "Use scikit_build_core._compat.importlib.resources instead." "importlib_resources".msg = "Use scikit_build_core._compat.importlib.resources instead." "pyproject_metadata".msg = "Use scikit_build_core._vendor.pyproject_metadata instead." -"argparse.ArgumentParser".msg = "Use scikit_build_core._compat.argparse instead." [tool.ruff.lint.per-file-ignores] diff --git a/src/scikit_build_core/_compat/argparse.py b/src/scikit_build_core/_compat/argparse.py deleted file mode 100644 index c50491309..000000000 --- a/src/scikit_build_core/_compat/argparse.py +++ /dev/null @@ -1,19 +0,0 @@ -from __future__ import annotations - -import argparse -import functools -import sys - -__all__ = ["ArgumentParser"] - - -def __dir__() -> list[str]: - return __all__ - - -ArgumentParser = functools.partial(argparse.ArgumentParser) - -if sys.version_info >= (3, 14): - ArgumentParser = functools.partial( - ArgumentParser, color=True, suggest_on_error=True - ) diff --git a/src/scikit_build_core/build/__main__.py b/src/scikit_build_core/build/__main__.py index 6f3aa5dab..35cdac659 100644 --- a/src/scikit_build_core/build/__main__.py +++ b/src/scikit_build_core/build/__main__.py @@ -4,7 +4,6 @@ from typing import Literal from .._compat import tomllib -from .._compat.argparse import ArgumentParser from .._logging import rich_warning from ..builder._load_provider import process_dynamic_metadata from . import ( @@ -49,7 +48,7 @@ def get_requires(mode: Literal["sdist", "wheel", "editable"]) -> None: def main() -> None: - parser = ArgumentParser( + parser = argparse.ArgumentParser( prog="python -m scikit_build_core.build", allow_abbrev=False, description="Build backend utilities.", diff --git a/src/scikit_build_core/builder/wheel_tag.py b/src/scikit_build_core/builder/wheel_tag.py index f07a5c1aa..979b64dc8 100644 --- a/src/scikit_build_core/builder/wheel_tag.py +++ b/src/scikit_build_core/builder/wheel_tag.py @@ -152,9 +152,9 @@ def as_tags_set(self) -> frozenset[packaging.tags.Tag]: if __name__ == "__main__": - from .._compat.argparse import ArgumentParser + import argparse - parser = ArgumentParser( + parser = argparse.ArgumentParser( prog="python -m scikit_build_core.builder.wheel_tag", description="Get the computed wheel tag for the current environment.", allow_abbrev=False, diff --git a/src/scikit_build_core/file_api/_cattrs_converter.py b/src/scikit_build_core/file_api/_cattrs_converter.py index 63a33b971..20f9f7aad 100644 --- a/src/scikit_build_core/file_api/_cattrs_converter.py +++ b/src/scikit_build_core/file_api/_cattrs_converter.py @@ -61,7 +61,7 @@ def load_reply_dir(reply_dir: Path) -> Index: if __name__ == "__main__": - from .._compat.argparse import ArgumentParser + import argparse rich_print: Callable[[object], None] try: @@ -69,7 +69,7 @@ def load_reply_dir(reply_dir: Path) -> Index: except ModuleNotFoundError: rich_print = builtins.print - parser = ArgumentParser( + parser = argparse.ArgumentParser( allow_abbrev=False, description="This runs cattrs (required) instead of the built-in converter, for comparison.", ) diff --git a/src/scikit_build_core/file_api/query.py b/src/scikit_build_core/file_api/query.py index 6ce5c3381..338cec2a5 100644 --- a/src/scikit_build_core/file_api/query.py +++ b/src/scikit_build_core/file_api/query.py @@ -23,9 +23,9 @@ def stateless_query(build_dir: Path) -> Path: if __name__ == "__main__": - from .._compat.argparse import ArgumentParser + import argparse - parser = ArgumentParser( + parser = argparse.ArgumentParser( prog="python -m scikit_build_core.file_api.query", allow_abbrev=False, description="Write a stateless query to a build directory", diff --git a/src/scikit_build_core/file_api/reply.py b/src/scikit_build_core/file_api/reply.py index 0dfc6a5ed..ba7c9f1a5 100644 --- a/src/scikit_build_core/file_api/reply.py +++ b/src/scikit_build_core/file_api/reply.py @@ -111,7 +111,7 @@ def load_reply_dir(path: Path) -> Index: if __name__ == "__main__": - from .._compat.argparse import ArgumentParser + import argparse rich_print: Callable[[object], None] try: @@ -119,7 +119,7 @@ def load_reply_dir(path: Path) -> Index: except ModuleNotFoundError: rich_print = builtins.print - parser = ArgumentParser( + parser = argparse.ArgumentParser( prog="python -m scikit_build_core.file_api.reply", allow_abbrev=False, description="Read a query written out to a build directory.",