Change log



  • Include tests in sdist


  • First release from ashb/sphinx-argparse

  • Declare that parallel builds are supported (issue #131).


  • A more verbose error message is now printed if there’s an issue during importing a script (issue #102).


  • Various bug fixes and documentation updates.


  • Fixed a variety of issues, such as with @replace (issue #99). Thanks to @evgeni

  • You can now skip sections with @skip. Thanks to @evgeni

  • Fixed handling of the epilog


  • CommonMark is now only imported if absolutely required. This should fix failures on read the docs. Thanks to @Chilipp for fixing this!


  • Stopped importing sphinx.util.compat, which was causing issues like that seen in #65


  • Section titles can now be used in tables of contents and linked to. The title itself is also used as the anchor. In the case of repeated names _replicateX, where X is a number, is prepended to ensure that all titles are uniquely linkable. This was bug #46.

  • The positional (aka required) and named (aka optional) option sections are now named “Positional Arguments” and “Named Arguments”, for the sake of clarity (e.g., named arguments can be required). This was issue #58.

  • Fixed quoting of default strings (issue #59).

  • Added the :noepilog: and :nodescription: options, thanks to @arewm.

  • Added the :nosubcommand: option, thanks to @arewm.


  • Fixed handling of argument groups (this was bug #49). Thanks to @croth1 for reporting this bug. Note that now position arguments (also known as required arguments) within argument groups are now also handled correctly.


  • Added a :nodefaultconst: directive, which is similar to the :nodefault: directive, but applies only to store_true, store_false, and store_const (e.g., it will hide the “=True” part in the output, since that can be misleading to users).

  • Fixed various typos (thanks to users mikeantonacci, brondsem, and tony)

  • Format specifiers (e.g., %(prog)s and %(default)s) are now filled in (if possible) in help sections. If there’s a missing keyword, then nothing will be filled in. This was issue #27.

  • The package is now a bit more robust to incorrectly spelling module names (#39, courtesy of Gabriel Falcão)

  • Added support for argparse groups (thanks to Fidel Ramirez)


  • Fixed malformed docutils DOM in manpages (Matt Boyer)


  • Support for aliasing arguments #22 (Campbell Barton)

  • Support for nested arguments #23 (Campbell Barton)

  • Support for subcommand descriptions #24 (Campbell Barton)

  • Improved parsing of content of epilog and description #25 (Louis -

  • Added ‘passparser’ option (David Hoese)


  • Bugfix: Choices are not always strings (Robert Langlois)

  • Polished small mistakes in usage documentation (Dean Malmgren)

  • Started to improve man-pages support (Zygmunt Krynicki)


  • Improved error reporting (James Anderson)


  • Fixed stupid bug, prevented things working on py3 (Alex Rudakov)

  • added tox configuration for tests


  • Remove the ugly new line in the end of usage string (Vadim Markovtsev)

  • Issue #9 Display argument choises (Proposed by Felix-neko, done by Alex Rudakov)

  • ref:

    syntax for specifying path to parser instance. Issue #7 (Proposed by David Cottrell, Implemented by Alex Rudakov)

  • Updated docs to read the docs theme


Fix problem with python version comparison, when python reports it as “2.7.5+” (Alex Rudakov)


Argparse is not required anymore separate module as of python 2.7 (Mike Gleen)


– Nothing – Created by accident.


Adding :nodefault: directive that skips default values for options (Stephen Tridgell)


Fix issue: epilog is ignored (James Anderson -


Fix issue #3: ==SUPPRESS== in option list with no default value


Fix issue with subcommands (by Tony Narlock -


Initial version