From c6a7c47fd950e0fad1677966ffb3dd508c2b040b Mon Sep 17 00:00:00 2001 From: nightcityblade Date: Sat, 29 Aug 2026 23:17:00 +0800 Subject: [PATCH 1/2] [argparse] Allow string actions in add_subparsers --- stdlib/@tests/test_cases/check_argparse.py | 4 ++++ stdlib/argparse.pyi | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 stdlib/@tests/test_cases/check_argparse.py diff --git a/stdlib/@tests/test_cases/check_argparse.py b/stdlib/@tests/test_cases/check_argparse.py new file mode 100644 index 000000000000..e2411ecda82c --- /dev/null +++ b/stdlib/@tests/test_cases/check_argparse.py @@ -0,0 +1,4 @@ +import argparse + +parser = argparse.ArgumentParser() +parser.add_subparsers(action="parsers") diff --git a/stdlib/argparse.pyi b/stdlib/argparse.pyi index 560577ebe021..da8141e235e0 100644 --- a/stdlib/argparse.pyi +++ b/stdlib/argparse.pyi @@ -223,7 +223,7 @@ class ArgumentParser(_AttributeHolder, _ActionsContainer): title: str = "subcommands", description: str | None = None, prog: str | None = None, - action: type[Action] = ..., + action: str | type[Action] = ..., option_string: str = ..., dest: str | None = None, required: bool = False, @@ -238,7 +238,7 @@ class ArgumentParser(_AttributeHolder, _ActionsContainer): description: str | None = None, prog: str | None = None, parser_class: type[_ArgumentParserT], - action: type[Action] = ..., + action: str | type[Action] = ..., option_string: str = ..., dest: str | None = None, required: bool = False, From d368f245b2dee87b3af23c9d7ef0875b334d8dc3 Mon Sep 17 00:00:00 2001 From: nightcityblade Date: Sun, 30 Aug 2026 11:05:18 +0800 Subject: [PATCH 2/2] Remove argparse regression test --- stdlib/@tests/test_cases/check_argparse.py | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 stdlib/@tests/test_cases/check_argparse.py diff --git a/stdlib/@tests/test_cases/check_argparse.py b/stdlib/@tests/test_cases/check_argparse.py deleted file mode 100644 index e2411ecda82c..000000000000 --- a/stdlib/@tests/test_cases/check_argparse.py +++ /dev/null @@ -1,4 +0,0 @@ -import argparse - -parser = argparse.ArgumentParser() -parser.add_subparsers(action="parsers")