Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zyga/guacamole
Guacamole is an command line tool library for Python
https://github.com/zyga/guacamole
Last synced: 2 days ago
JSON representation
Guacamole is an command line tool library for Python
- Host: GitHub
- URL: https://github.com/zyga/guacamole
- Owner: zyga
- License: lgpl-3.0
- Created: 2015-04-21T08:33:56.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2022-12-26T19:45:44.000Z (almost 2 years ago)
- Last Synced: 2024-11-10T22:45:38.883Z (8 days ago)
- Language: Python
- Size: 204 KB
- Stars: 7
- Watchers: 5
- Forks: 1
- Open Issues: 9
-
Metadata Files:
- Readme: README.rst
- Changelog: HISTORY.rst
- Contributing: CONTRIBUTING.rst
- License: COPYING
Awesome Lists containing this project
README
============================================================
Guacamole - Framework for Creating Command Line Applications
============================================================.. image:: https://badge.fury.io/py/guacamole.png
:target: http://badge.fury.io/py/guacamole.. image:: https://travis-ci.org/zyga/guacamole.png?branch=master
:target: https://travis-ci.org/zyga/guacamole.. image:: https://pypip.in/d/guacamole/badge.png
:target: https://pypi.python.org/pypi/guacamoleTools, 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
.. doctest::
>>> 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()``:
.. doctest::
>>> HelloWorld().main(['Guacamole'], exit=False)
Hello Guacamole!
0What 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 handlerFeatures
========* 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