guacamole


Nameguacamole JSON
Version 0.9.2 PyPI version JSON
download
home_pagehttps://github.com/zyga/guacamole
SummaryGuacamole is an command line tool library for Python
upload_time2015-08-06 17:31:20
maintainerNone
docs_urlNone
authorZygmunt Krynicki
requires_pythonNone
licenseLGPLv3
keywords argparse cli tool command sub-command subcommand
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI
coveralls test coverage No coveralls.
            ============================================================
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/guacamole

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 

.. 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!
    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





History
=======

0.9.2 (2015-08-06)
------------------

* Fix https://github.com/zyga/guacamole/issues/11

0.9.1 (2015-08-06)
------------------

* Fix https://github.com/zyga/guacamole/issues/9

0.9 (2015-05-11)
----------------

* Vastly improved documentation
* Bugfixes and changes based on early feedback
* New cmdtree module with two ingredients (for instantiating commands and for
  dispatching the invoked method)
* Simplified argparse ingredient (for just handling parser)
* Unit tests and doctests for some of the functionality

0.8 (2015-04-21)
----------------

* First release on PyPI.


2012-2015
---------

* Released on PyPI as a part of plainbox as ``plainbox.impl.clitools``,
  ``plainbox.impl.logging``, ``plainbox.i18n`` and
  ``plainbox.impl.secure.plugins``.
            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/zyga/guacamole",
    "name": "guacamole",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "argparse cli tool command sub-command subcommand",
    "author": "Zygmunt Krynicki",
    "author_email": "me@zygoon.pl",
    "download_url": "https://files.pythonhosted.org/packages/1a/f9/50c83a812015a7b4cf7279c5202ce6cce5542e2abeb7229d5a4be79ff594/guacamole-0.9.2.tar.gz",
    "platform": "UNKNOWN",
    "description": "============================================================\nGuacamole - Framework for Creating Command Line Applications\n============================================================\n\n.. image:: https://badge.fury.io/py/guacamole.png\n    :target: http://badge.fury.io/py/guacamole\n\n.. image:: https://travis-ci.org/zyga/guacamole.png?branch=master\n        :target: https://travis-ci.org/zyga/guacamole\n\n.. image:: https://pypip.in/d/guacamole/badge.png\n        :target: https://pypi.python.org/pypi/guacamole\n\nTools, done right\n=================\n\nGuacamole is a LGPLv3 licensed toolkit for creating good command line\napplications. Guacamole that does the right things for you and makes writing\napplications easier.\n\n.. testsetup::\n\n    import guacamole \n\n.. doctest::\n\n    >>> class HelloWorld(guacamole.Command):\n    ...     \"\"\"A simple hello-world application.\"\"\"\n    ...     def register_arguments(self, parser):\n    ...         parser.add_argument('name')\n    ...     def invoked(self, ctx):\n    ...         print(\"Hello {0}!\".format(ctx.args.name))\n\nRunning it directly is as simple as calling ``main()``:\n\n.. doctest::\n\n    >>> HelloWorld().main(['Guacamole'], exit=False)\n    Hello Guacamole!\n    0\n\nWhat you didn't have to do is what matters:\n\n - configure the argument parser\n - define and setup application logging\n - initialize internationalization features\n - add debugging facilities\n - write a custom crash handler\n\nFeatures\n========\n\n* Free software: LGPLv3 license\n* Documentation: https://guacamole.readthedocs.org.\n* Create command classes and run them from command line.\n* Group commands to create complex tools.\n* Use recipes, ingredients and spices to customize behavior\n\n\n\n\n\nHistory\n=======\n\n0.9.2 (2015-08-06)\n------------------\n\n* Fix https://github.com/zyga/guacamole/issues/11\n\n0.9.1 (2015-08-06)\n------------------\n\n* Fix https://github.com/zyga/guacamole/issues/9\n\n0.9 (2015-05-11)\n----------------\n\n* Vastly improved documentation\n* Bugfixes and changes based on early feedback\n* New cmdtree module with two ingredients (for instantiating commands and for\n  dispatching the invoked method)\n* Simplified argparse ingredient (for just handling parser)\n* Unit tests and doctests for some of the functionality\n\n0.8 (2015-04-21)\n----------------\n\n* First release on PyPI.\n\n\n2012-2015\n---------\n\n* Released on PyPI as a part of plainbox as ``plainbox.impl.clitools``,\n  ``plainbox.impl.logging``, ``plainbox.i18n`` and\n  ``plainbox.impl.secure.plugins``.",
    "bugtrack_url": null,
    "license": "LGPLv3",
    "summary": "Guacamole is an command line tool library for Python",
    "version": "0.9.2",
    "split_keywords": [
        "argparse",
        "cli",
        "tool",
        "command",
        "sub-command",
        "subcommand"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "065f2ac9350ec7d6095dbb22a9a858be",
                "sha256": "da3e5dadef0c77fcbef3f1d7f43b4bf0e94def7ea06381ecca0aba06eeb688c4"
            },
            "downloads": -1,
            "filename": "guacamole-0.9.2-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "065f2ac9350ec7d6095dbb22a9a858be",
            "packagetype": "bdist_wheel",
            "python_version": "2.7",
            "requires_python": null,
            "size": 32433,
            "upload_time": "2015-08-06T17:31:25",
            "upload_time_iso_8601": "2015-08-06T17:31:25.089045Z",
            "url": "https://files.pythonhosted.org/packages/12/32/00933c2e6fb116957774c0b4274258d5dbe8ac83ea959b63ad44cb169749/guacamole-0.9.2-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "f7172574885d50ee9e77f155e756e038",
                "sha256": "77223263d5e7b8958f5456394af4fd54cda8f2579230f34e9561ca5d0a870d5f"
            },
            "downloads": -1,
            "filename": "guacamole-0.9.2.tar.gz",
            "has_sig": false,
            "md5_digest": "f7172574885d50ee9e77f155e756e038",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 59378,
            "upload_time": "2015-08-06T17:31:20",
            "upload_time_iso_8601": "2015-08-06T17:31:20.294074Z",
            "url": "https://files.pythonhosted.org/packages/1a/f9/50c83a812015a7b4cf7279c5202ce6cce5542e2abeb7229d5a4be79ff594/guacamole-0.9.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2015-08-06 17:31:20",
    "github": true,
    "github_user": "zyga",
    "github_project": "guacamole",
    "travis_ci": true,
    "coveralls": false,
    "requirements": [],
    "tox": true,
    "lcname": "guacamole"
}
        
Elapsed time: 0.10531s