All notable changes to this project will be documented in this file.
- Fix repository links in the PyPI project description (#376) by @gaborbernat.
- Require Python 3.11 and use Python 3.15 by default (#369) by @gaborbernat.
- Register CLI arguments as Sphinx program options so
:option:can link to them (#346) by @gaborbernat.
- Render positional arguments declared before
add_subparsers()(#347) by @gaborbernat. - Keep apostrophes in help text (#349) by @gaborbernat.
- Render argument groups without a title (#350) by @gaborbernat.
- Make
:hook:interceptparse_intermixed_args()(#351) by @gaborbernat. - Preserve raw formatter line breaks and render subcommand epilogs (#352) by @gaborbernat.
- Render option metavars, argument counts, and choices as in usage (#353) by @gaborbernat.
- Render list and multi-paragraph help under the option (#354) by @gaborbernat.
- Expand argparse format specifiers in help text (#355) by @gaborbernat.
- Strip ANSI colors from usage blocks (#356) by @gaborbernat.
- Skip subcommands whose help is suppressed (#357) by @gaborbernat.
- Expand
{subcommand}to the subcommand name chain (#358) by @gaborbernat.
- Name
force_refs_lowercorrectly in the changelog (#348) by @gaborbernat. - Explain that help text uses reStructuredText (#359) by @gaborbernat.
- Add Python 3.15 support (#331) by @gaborbernat.
- Keep Sphinx smart quotes from rewriting
--optionnames in descriptions, epilogs, and help text (#322) by @mmulqueen.
- Handle formatter subclasses and wrap preformatted blocks (#297) by @gaborbernat.
- Avoid a crash when a toctree title is empty (#296) by @gaborbernat.
- Restructure the README around common use cases (#292) by @gaborbernat.
- Render all tuple metavar elements and suppress
Nonedefaults (#287) by @gaborbernat. - Propagate a
:prog:override to subcommands (#288) by @gaborbernat. - Handle multi-word program names in group titles (#289) by @gaborbernat.
- Remove a missing custom CSS reference (#290) by @gaborbernat.
- Use a section node when a toctree title is empty (#291) by @gaborbernat.
- Disable color codes while parsing a CLI (#252) by @gaborbernat.
- Add Python 3.14 support and end support for Python 3.10 (#251) by @gaborbernat.
- Fix the README by @gaborbernat.
- Add Python 3.13 support and end support for Python 3.9 (#184) by @gaborbernat.
- Support Sphinx 7.3 and end support for Python 3.8 (#163) by @gaborbernat.
- Don't render arguments with
help=argparse.SUPPRESS(#149) by @mayrholu. - Show epilogue if present in the command description (#146) by @mayrholu.
- Declare Python 3.12 support (#102) by @gaborbernat.
- End support for Sphinx 6.1 by @gaborbernat.
- Add the option to override the generated
defaultpart of the CLI parameter description (#56) by @berhoel.
- Add the option to override the description using the
descriptionattribute of the directive (#45) by @Schamper. - Add the option to retrieve the arguments by hooking argparse, in cases where
funcconsumes the arguments and does not return them (#46) by @Schamper.
- Fix project links after the move to tox-dev by @gaborbernat.
- Don't raise label clashing warnings for options which only differ between upper and lower case (#34) by @mondeja.
- Fix reference clashing for options which only differ between upper and lower case (#32) by @mondeja.
- Do not render default values for
store_trueandstore_falseactions (#30) by @mondeja.
- Support Python 3.10 (#13) by @gaborbernat.
- Support for adding custom subsection group title prefix (
group_title_prefixandgroup_sub_title_prefixdirective arguments) (#12) by @mondeja.
- Support for using the
refsphinx role to refer to all anchor-able objects generated by the tool by @gaborbernat. - Flags now have their reference title set (for the HTML builder this is shown when hover over the reference) by @gaborbernat.
- Added a sphinx flag
sphinx_argparse_cli_prefix_document(by defaultFalse) to avoid reference clashes when multiple documents generate the same reference labels by @gaborbernat.
- Anchors generated no longer collapse multiple subsequent
-characters (to avoid clash when there's a flag and a positional argument with the same name) by @gaborbernat. - The root
progname now is prefixed for the root level optional/positional arguments' header (to avoid multiple anchors with the same id when multiple commands are documented in the same document) by @gaborbernat.
- Prefer a parser's description over its help message for subcommands by @gaborbernat.
- Update the README by @gaborbernat.
- Display the metavar (fallback to dest) if the action has more than one argument (this is inline with how usage is displayed) by @gaborbernat.
- Command line arguments are now bold to highlight them even further from the help text by @gaborbernat.
- Add support for changing the usage width via the
usage_widthoption on the directive by @gaborbernat.
- Help messages are now interpreted as reStructuredText by @gaborbernat.
- Mark document as always needs update (as the underlying content is coming from outside the sphinx documents) by @gaborbernat.
- Matching curly braces, single and double quotes in help text will be marked as string literals by @gaborbernat.
- Help messages containing the
default(s)word do not show the default value (as often this indicates the default is already documented in the help text) by @gaborbernat.
- Add support for changing (removing) the title via the
titleattribute of the directive (#3) by @mondeja.
- First version by @gaborbernat.