Skip to main content

Command-line generator from a dictionary.

Project description

This module is a wrapper to argparse module. Its goal is to generate a custom and advanced command-line from a formatted dictionary. As python dictionnaries are easily exportable to configuration files (like YAML or JSON), the idea is to outsource the command-line definition to a file instead of writing dozens or hundreds lines of code.

Code is available on Github (http://github.com/fmenabe/python-clg).

Documentation is available on readthedocs (https://clg.readthedocs.org/en/latest/).

Releases notes

2.0.0 (2015-06-25)

  • Change behaviour of groups: groups now act like parsers rather than just referencing previously defined options. It breaks files used by previous versions.

  • Update design and correct bugs of the help command added by the add_help_cmd keyword.

  • Improve control of abbrevations behaviour. When allow_abbrev parameter was activate, it was not possible to concatenate single options or split with an ‘=’ long options. This is now the case.

  • Correct a bug with YAML anchors which causes loss of informations (like the short option).

1.1.1 (2015-02-24)

  • Correct a bug when using version action.

1.1 (2015-02-17)

  • Add a version keyword for options, allowing to use version action.

  • Allow an option add_help_cmd in the root of the configuration that automatically add a help command that show the arborescence of all commands with their descriptions.

  • Allow the use of argparse.SUPPRESS with __SUPPRESS__ “builtin”.

  • Replace the “builtins” __CHOICES__, __MATCH__ and __FILE__ in the help message by the respectives values of those keywords.

  • Add the parameter allow_abbrev in parser configuration, controlling abbrevations behaviour (http://bugs.python.org/issue14910).

1.0 (2014-10-28)

  • Rewrite module for matching at best argparse.

  • Allow bultins.

  • Drop compatibility to python2.6 (because of dict comprehension).

0.5 (2013-11-25)

  • Port code to Python 3 (with compatiblity at least until Python 2.6).

0.4 (2013-11-14)

  • Add description of parser (via desc keyword).

0.3 (2013-08-09)

  • Add an iterable and accessible namespace for arguments.

  • Change behaviour of parse method (now return a namespace with arguments).

  • Set the default value for list type to an empty list.

  • Changes the behaviour of the execution of an external module. It is no longer a python path of a module in ‘sys.path’ but directly the path of a file. In addition, keyword ‘lib’ has be replaced by ‘path’.

  • Replace ‘__FILE__’ in the default value of an option by the directory of the program.

  • Update the license to MIT.

0.2 (2013-07-21)

  • CommandLine object doesn’t take anymore a JSON or YAML file but a dictionary.

  • Add documentation.

  • Updating setup for PyPi.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clg-2.0.0.tar.gz (11.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page