Guacamole is an command line tool library for Python
Python Makefile
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
docs Correct documentation link for concepts Sep 5, 2015
examples
guacamole
i18n-argparse
po
.editorconfig
.gitattributes
.gitignore Initial import Apr 21, 2015
.travis.yml
AUTHORS.rst
CONTRIBUTING.rst
COPYING
COPYING.LESSER
HISTORY.rst
MANIFEST.in
Makefile
README.rst
requirements.txt
setup.cfg
setup.py
tox.ini

README.rst

Guacamole - Framework for Creating Command Line Applications

https://badge.fury.io/py/guacamole.png https://travis-ci.org/zyga/guacamole.png?branch=master https://pypip.in/d/guacamole/badge.png

Tools, done right

Guacamole is a LGPLv3 licensed toolkit for creating good command line applications. Guacamole that does the right things for you and makes writing applications easier.

.. testsetup::

    import guacamole

>>> class HelloWorld(guacamole.Command):
...     """A simple hello-world application."""
...     def register_arguments(self, parser):
...         parser.add_argument('name')
...     def invoked(self, ctx):
...         print("Hello {0}!".format(ctx.args.name))

Running it directly is as simple as calling main():

>>> HelloWorld().main(['Guacamole'], exit=False)
Hello Guacamole!
0

What you didn't have to do is what matters:

  • configure the argument parser
  • define and setup application logging
  • initialize internationalization features
  • add debugging facilities
  • write a custom crash handler

Features

  • Free software: LGPLv3 license
  • Documentation: https://guacamole.readthedocs.org.
  • Create command classes and run them from command line.
  • Group commands to create complex tools.
  • Use recipes, ingredients and spices to customize behavior