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