From 766fc510818b288e01be8d9fdedd0435761bf97f Mon Sep 17 00:00:00 2001 From: Max Muoto Date: Thu, 25 Dec 2025 14:20:48 -0600 Subject: [PATCH 1/2] Add add_argument_group 3.14 deprecation --- stdlib/argparse.pyi | 42 +++++++++++++++++++++++++++++++++--------- 1 file changed, 33 insertions(+), 9 deletions(-) diff --git a/stdlib/argparse.pyi b/stdlib/argparse.pyi index ef043661150c..8955f90fa6c2 100644 --- a/stdlib/argparse.pyi +++ b/stdlib/argparse.pyi @@ -91,15 +91,39 @@ class _ActionsContainer: version: str = ..., **kwargs: Any, ) -> Action: ... - def add_argument_group( - self, - title: str | None = None, - description: str | None = None, - *, - prefix_chars: str = ..., - argument_default: Any = ..., - conflict_handler: str = ..., - ) -> _ArgumentGroup: ... + if sys.version_info >= (3, 14): + @overload + def add_argument_group( + self, + title: str | None = None, + description: str | None = None, + *, + # argument_default's type must be valid for the arguments in the group + argument_default: Any = ..., + conflict_handler: str = ..., + ) -> _ArgumentGroup: ... + @overload + @deprecated("Passing 'prefix_chars' to add_argument_group() is deprecated") + def add_argument_group( + self, + title: str | None = None, + description: str | None = None, + *, + prefix_chars: str, + argument_default: Any = ..., + conflict_handler: str = ..., + ) -> _ArgumentGroup: ... + else: + def add_argument_group( + self, + title: str | None = None, + description: str | None = None, + *, + prefix_chars: str = ..., + # argument_default's type must be valid for the arguments in the group + argument_default: Any = ..., + conflict_handler: str = ..., + ) -> _ArgumentGroup: ... def add_mutually_exclusive_group(self, *, required: bool = False) -> _MutuallyExclusiveGroup: ... def _add_action(self, action: _ActionT) -> _ActionT: ... def _remove_action(self, action: Action) -> None: ... From 763a0fcd24be23a13fdbb2abbbeb3344bfa6309e Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 25 Dec 2025 20:23:37 +0000 Subject: [PATCH 2/2] [pre-commit.ci] auto fixes from pre-commit.com hooks --- stdlib/argparse.pyi | 1 + 1 file changed, 1 insertion(+) diff --git a/stdlib/argparse.pyi b/stdlib/argparse.pyi index 8955f90fa6c2..0b0295471e39 100644 --- a/stdlib/argparse.pyi +++ b/stdlib/argparse.pyi @@ -124,6 +124,7 @@ class _ActionsContainer: argument_default: Any = ..., conflict_handler: str = ..., ) -> _ArgumentGroup: ... + def add_mutually_exclusive_group(self, *, required: bool = False) -> _MutuallyExclusiveGroup: ... def _add_action(self, action: _ActionT) -> _ActionT: ... def _remove_action(self, action: Action) -> None: ...