From a1cab28debf9c9794bbded7123620ae4545abd28 Mon Sep 17 00:00:00 2001 From: donBarbos Date: Fri, 18 Jul 2025 22:06:14 +0400 Subject: [PATCH 1/2] [argparse] Deprecate `prefix_chars` in `ArgumentParser.add_argument_group` Source: https://github.com/python/cpython/pull/125563 --- stdlib/argparse.pyi | 44 ++++++++++++++++++++++++++++++++++---------- 1 file changed, 34 insertions(+), 10 deletions(-) diff --git a/stdlib/argparse.pyi b/stdlib/argparse.pyi index 312093c0aa55..e9bb7fbc0458 100644 --- a/stdlib/argparse.pyi +++ b/stdlib/argparse.pyi @@ -495,16 +495,40 @@ else: class _ArgumentGroup(_ActionsContainer): title: str | None _group_actions: list[Action] - def __init__( - self, - container: _ActionsContainer, - title: str | None = None, - description: str | None = None, - *, - prefix_chars: str = ..., - argument_default: Any = ..., - conflict_handler: str = ..., - ) -> None: ... + if sys.version_info >= (3, 14): + @overload + def __init__( + self, + container: _ActionsContainer, + title: str | None = None, + description: str | None = None, + *, + argument_default: Any = ..., + conflict_handler: str = ..., + ) -> None: ... + @overload + @deprecated("Undocumented `prefix_chars` parameter is deprecated since Python 3.14.") + def __init__( + self, + container: _ActionsContainer, + title: str | None = None, + description: str | None = None, + *, + prefix_chars: str = ..., + argument_default: Any = ..., + conflict_handler: str = ..., + ) -> None: ... + else: + def __init__( + self, + container: _ActionsContainer, + title: str | None = None, + description: str | None = None, + *, + prefix_chars: str = ..., + argument_default: Any = ..., + conflict_handler: str = ..., + ) -> None: ... # undocumented class _MutuallyExclusiveGroup(_ArgumentGroup): From 0d8ec4081a2282b26650d82abb73a546056a8359 Mon Sep 17 00:00:00 2001 From: Semyon Moroz Date: Fri, 18 Jul 2025 18:14:32 +0000 Subject: [PATCH 2/2] Update stdlib/argparse.pyi Co-authored-by: Sebastian Rittau --- stdlib/argparse.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stdlib/argparse.pyi b/stdlib/argparse.pyi index e9bb7fbc0458..00a4c670eaee 100644 --- a/stdlib/argparse.pyi +++ b/stdlib/argparse.pyi @@ -514,7 +514,7 @@ class _ArgumentGroup(_ActionsContainer): title: str | None = None, description: str | None = None, *, - prefix_chars: str = ..., + prefix_chars: str, argument_default: Any = ..., conflict_handler: str = ..., ) -> None: ...