All notable changes to this project will be documented in this file. Versions follow Semantic Versioning (<major>.<minor>.<patch>). Backward incompatible (breaking) changes will only be introduced in major versions with advance notice in the Deprecated section of releases.

v3.1.0 (2020-12-09)


  • Support for multiple levels of subcommands #29.

  • Default description of subcommands explaining use of –help.

v3.0.1 (2020-12-02)


  • add_class_arguments incorrectly added arguments from __call__ instead of __init__ for callable classes.

v3.0.0 (2020-12-01)


  • Functions to add arguments from classes, methods and functions.

  • CLI function that allows creating a line command line interface with a single line of code inspired by Fire.

  • Typing module that includes predefined types and type generator functions for paths and restricted numbers/strings.

  • Extended support to add_argument type to allow complex type hints.

  • Parsers now include –print_config option to dump defaults.

  • Support argcomplete for tab completion of arguments.


  • ArgumentParsers by default now use as error_handler the usage_and_exit_error_handler.

  • error_handler and formatter_class no longer accept as value a string.

  • Changed SimpleNamespace to Namespace to avoid unnecessary differences with argparse.


  • ActionOperators should no longer be used, the new alternative is restricted number types.


The change log was introduced in v3.0.0. For details of the changes for previous versions take a look at the git log. It more or less reads like a change log.