{ "info": { "author": "Zygmunt Krynicki", "author_email": "me@zygoon.pl", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", "Natural Language :: English", "Natural Language :: Polish", "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft :: Windows :: Windows 7", "Operating System :: Microsoft :: Windows :: Windows XP", "Operating System :: POSIX", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Software Development", "Topic :: Software Development :: Libraries" ], "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``.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/zyga/guacamole", "keywords": "argparse cli tool command sub-command subcommand", "license": "LGPLv3", "maintainer": null, "maintainer_email": null, "name": "guacamole", "package_url": "https://pypi.org/project/guacamole/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/guacamole/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/zyga/guacamole" }, "release_url": "https://pypi.org/project/guacamole/0.9.2/", "requires_dist": null, "requires_python": null, "summary": "Guacamole is an command line tool library for Python", "version": "0.9.2" }, "last_serial": 1667256, "releases": { "0.8": [ { "comment_text": "", "digests": { "md5": "df3ad22e291b6daef6337ed353fd0e2b", "sha256": "899adc1559cc2ed81fe344a4c0b8011b0e8fd8f360148f389c8378ce5c0f848b" }, "downloads": -1, "filename": "guacamole-0.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "df3ad22e291b6daef6337ed353fd0e2b", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 21862, "upload_time": "2015-04-21T08:34:41", "url": "https://files.pythonhosted.org/packages/a3/c4/6ca1e9831b4e2080937e52e6e598645c46dbdad3d8741d38636e188a86d0/guacamole-0.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "70ec93b049a5a8f76d676254e2647e94", "sha256": "79fd6eba308bf56b8ac6b796491386b0ceaa38abe733db399faa2172323f81e7" }, "downloads": -1, "filename": "guacamole-0.8.tar.gz", "has_sig": false, "md5_digest": "70ec93b049a5a8f76d676254e2647e94", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40178, "upload_time": "2015-04-21T08:34:45", "url": "https://files.pythonhosted.org/packages/38/fd/e4543306a900fe7f39986bb330a17e9652ae3d0515bf9962922609ac1ad9/guacamole-0.8.tar.gz" } ], "0.9": [ { "comment_text": "", "digests": { "md5": "d1297821247cff6bd7d5f9b55daf3a9e", "sha256": "c08e666a508dd92601cb1d8f3b703b9df9a03a37b74b431e2f00b81d24553b55" }, "downloads": -1, "filename": "guacamole-0.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d1297821247cff6bd7d5f9b55daf3a9e", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 30876, "upload_time": "2015-05-11T20:44:42", "url": "https://files.pythonhosted.org/packages/f9/f8/29b33f0270d5de58a910be9ae476439276c9aac1d79943a47233a2c230dd/guacamole-0.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "31e02f74682102d7c666e6ef31f0a7e7", "sha256": "481e8906f3f7e37d24ba1a5ef6470d5870b4f397530c722cb3f2435ddf783103" }, "downloads": -1, "filename": "guacamole-0.9.tar.gz", "has_sig": false, "md5_digest": "31e02f74682102d7c666e6ef31f0a7e7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57882, "upload_time": "2015-05-11T20:44:38", "url": "https://files.pythonhosted.org/packages/31/58/5f7cf529c8609d643feb566a9cb6493e782b165b66facae990f6bab6da6d/guacamole-0.9.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "e3d05468ea057ff941a359d0b3c473e8", "sha256": "fef33e0570290f7efc96810e4b63503715b6b26f0cc0e7b7fc3bd6a720893597" }, "downloads": -1, "filename": "guacamole-0.9.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e3d05468ea057ff941a359d0b3c473e8", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 32353, "upload_time": "2015-08-06T16:57:26", "url": "https://files.pythonhosted.org/packages/b6/c2/e82dddec571e16a73951aa37ab4c3cb2b726afb3860d27f653f2d95ef065/guacamole-0.9.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "83ff2eb0cc747a59c781e4311c1cc89d", "sha256": "8705c220daefd9a478908179b65b73077035314874b870a8b33c299c322041a5" }, "downloads": -1, "filename": "guacamole-0.9.1.tar.gz", "has_sig": false, "md5_digest": "83ff2eb0cc747a59c781e4311c1cc89d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59199, "upload_time": "2015-08-06T16:57:21", "url": "https://files.pythonhosted.org/packages/df/b4/b66ab11cfbbf786fd3edba790b6b8af238255c9b3a5c129f1132dcf359b8/guacamole-0.9.1.tar.gz" } ], "0.9.2": [ { "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", "url": "https://files.pythonhosted.org/packages/12/32/00933c2e6fb116957774c0b4274258d5dbe8ac83ea959b63ad44cb169749/guacamole-0.9.2-py2.py3-none-any.whl" }, { "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", "url": "https://files.pythonhosted.org/packages/1a/f9/50c83a812015a7b4cf7279c5202ce6cce5542e2abeb7229d5a4be79ff594/guacamole-0.9.2.tar.gz" } ] }, "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", "url": "https://files.pythonhosted.org/packages/12/32/00933c2e6fb116957774c0b4274258d5dbe8ac83ea959b63ad44cb169749/guacamole-0.9.2-py2.py3-none-any.whl" }, { "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", "url": "https://files.pythonhosted.org/packages/1a/f9/50c83a812015a7b4cf7279c5202ce6cce5542e2abeb7229d5a4be79ff594/guacamole-0.9.2.tar.gz" } ] }