Guacamole - Framework for Creating Command Line Applications

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.

>>> 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(

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

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

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


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