From f19b4d7474973236e63d3d8260bfb8072acfff9d Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sun, 6 Oct 2019 19:15:44 -0700 Subject: [PATCH] bpo-26510: Add versionchanged for required arg of add_subparsers (GH-16588) The `required` argument to `argparse.add_subparsers` was added in GH-3027. This PR specifies the earliest version of Python where it is available. https://bugs.python.org/issue26510 Automerge-Triggered-By: @merwok (cherry picked from commit 9e71917e0290972f65711f75510078f799cf0b59) Co-authored-by: Adam J. Stewart --- Doc/library/argparse.rst | 5 ++++- Doc/whatsnew/3.7.rst | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Doc/library/argparse.rst b/Doc/library/argparse.rst index 56bd64172f..ee00559485 100644 --- a/Doc/library/argparse.rst +++ b/Doc/library/argparse.rst @@ -1595,7 +1595,7 @@ Sub-commands stored; by default ``None`` and no value is stored * required_ - Whether or not a subcommand must be provided, by default - ``False``. + ``False`` (added in 3.7) * help_ - help for sub-parser group in help output, by default ``None`` @@ -1751,6 +1751,9 @@ Sub-commands >>> parser.parse_args(['2', 'frobble']) Namespace(subparser_name='2', y='frobble') + .. versionchanged:: 3.7 + New *required* keyword argument. + FileType objects ^^^^^^^^^^^^^^^^ diff --git a/Doc/whatsnew/3.7.rst b/Doc/whatsnew/3.7.rst index af7e22d9fa..1ec8e0c04c 100644 --- a/Doc/whatsnew/3.7.rst +++ b/Doc/whatsnew/3.7.rst @@ -2401,6 +2401,10 @@ Changes in the Python API instead of a :class:`bytes` instance. (Contributed by Victor Stinner in :issue:`21071`.) +* :mod:`argparse` subparsers can now be made mandatory by passing ``required=True`` + to :meth:`ArgumentParser.add_subparsers() `. + (Contributed by Anthony Sottile in :issue:`26510`.) + * :meth:`ast.literal_eval()` is now stricter. Addition and subtraction of arbitrary numbers are no longer allowed. (Contributed by Serhiy Storchaka in :issue:`31778`.) -- 2.50.0