{ "info": { "author": "Sergey Glazyrin", "author_email": "sergey.glazyrin.dev@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.1", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Software Development :: Libraries :: Application Frameworks", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Utilities" ], "description": "**************************************\nAscetic Command Runner\n**************************************\n\n.. image:: https://api.travis-ci.org/sergeyglazyrindev/asceticcmdrunner.svg\n :target: https://travis-ci.org/sergeyglazyrindev/asceticcmdrunner\n :alt: Travis CI status\n\n.. image:: https://coveralls.io/repos/github/sergeyglazyrindev/asceticcmdrunner/badge.svg?branch=master\n :target: https://coveralls.io/github/sergeyglazyrindev/asceticcmdrunner?branch=master\n :alt: Coveralls status\n \nNot all of our projects are using either django or another *God* framework.\nSo, once we start our hobby project, would be great to put into the game some commands.\nFor example, maybe we need for our hobby project simple command test which loads custom TestRunner, etc\nIn this case this package maybe handy for you!\n\n**************************************\nInstallation\n**************************************\n\nSimply run in your bash:\n\n.. code-block:: bash\n \n pip install acmdrunner\n\n**************************************\nUsage\n**************************************\n\nIn your **django like manage.py** command loader, you need to trigger following:\n\n.. code-block:: python\n \n import os\n from acmdrunner import Loader\n\n ...\n make all your preparations, initialize project settings, etc\n ...\n\n Loader.load_from_directory(os.path.dirname(__file__))\n Loader.load_from_package('rit.app')\n\nLoader will search recursively in passed folder for folders with name management.\nAnd try to load from folders found file acr_commands.py\n\nAn example of the file acr_commands.py:\n\n.. code-block:: python\n \n from acmdrunner.dispatcher import CommandDispatcher\n command_dispatcher = CommandDispatcher()\n\n\n def execute(*args):\n pass\n\n command_dispatcher.register_command('test', execute)\n\n**register_command** registers specific command and handler for this command.\nYour commands should implement execute method. Better to inherit from BaseCommand.\nBut as it is ascetic, you can simply pass class with execute method implemented.\nThat's all!\n\nTo run command, please trigger following call:\n\n.. code-block:: python\n \n from your_package_place import command_dispatcher\n command_dispatcher.execute_command(command_name, *args, **kwargs)\n\n\n**************************************\nReal usage example\n**************************************\n\nIf you want to load all commands from specific namespace, you can implement following:\n\n.. code-block:: python\n\n packages_to_traverse = ('rit.app', 'rit.core')\n for package in packages_to_traverse:\n Loader.load_from_package(package[0])\n Loader.load_from_directory(os.path.dirname(os.getcwd()))\n", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/sergeyglazyrindev/asceticcmdrunner/tarball/1.2", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/sergeyglazyrindev/asceticcmdrunner", "keywords": "command,dispatch", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "acmdrunner", "package_url": "https://pypi.org/project/acmdrunner/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/acmdrunner/", "project_urls": { "Download": "https://github.com/sergeyglazyrindev/asceticcmdrunner/tarball/1.2", "Homepage": "https://github.com/sergeyglazyrindev/asceticcmdrunner" }, "release_url": "https://pypi.org/project/acmdrunner/1.2/", "requires_dist": null, "requires_python": null, "summary": "Ascetic command runner. The most ease way to power your python app with custom management commands", "version": "1.2" }, "last_serial": 2115724, "releases": { "0.8": [ { "comment_text": "", "digests": { "md5": "bcdcc9aed1a2a36289ab971eecd5d234", "sha256": "b379177e18f17e03794e777acdcb47982200a68eac13f1d0d7f36758f1cb1343" }, "downloads": -1, "filename": "acmdrunner-0.8.tar.gz", "has_sig": false, "md5_digest": "bcdcc9aed1a2a36289ab971eecd5d234", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3729, "upload_time": "2016-05-07T20:51:47", "url": "https://files.pythonhosted.org/packages/2c/e0/5417f338939d16cade669d749fa42229bdd4f955b487068cca3a759b7633/acmdrunner-0.8.tar.gz" } ], "1": [ { "comment_text": "", "digests": { "md5": "ba7bae6498cd5cf40ac1530147b17cde", "sha256": "6469c3d3d7b26216d0e565fc7ffdda6aa062e0cac9087041894a85b1d2589e61" }, "downloads": -1, "filename": "acmdrunner-1.tar.gz", "has_sig": false, "md5_digest": "ba7bae6498cd5cf40ac1530147b17cde", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3689, "upload_time": "2016-05-09T14:50:42", "url": "https://files.pythonhosted.org/packages/97/26/df3492ed291831aa749d987d0e58e2500fa6c5cafd2bb4bfba23d34a60bc/acmdrunner-1.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "4519fea8e947217aa6dfeb33ecf51472", "sha256": "d350f82148545003ff0b18c3909538ea1e2877099cf6667b8b772d6dcdad2b1f" }, "downloads": -1, "filename": "acmdrunner-1.1.tar.gz", "has_sig": false, "md5_digest": "4519fea8e947217aa6dfeb33ecf51472", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3695, "upload_time": "2016-05-09T14:53:26", "url": "https://files.pythonhosted.org/packages/ce/0f/536963ffb044bff26f5db8738ea27fc13b9dd9d5c7b5106bcf6380e46a64/acmdrunner-1.1.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "789e2fb5cdb7bb91248aefe8d8a0513e", "sha256": "b45c8ce8ebcdbebedc3301a18090fbcff40fede18ef2554d75403f87aa5b6a8d" }, "downloads": -1, "filename": "acmdrunner-1.2.tar.gz", "has_sig": false, "md5_digest": "789e2fb5cdb7bb91248aefe8d8a0513e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3653, "upload_time": "2016-05-14T17:37:41", "url": "https://files.pythonhosted.org/packages/1c/eb/ddd8a48d542a88710e9191b82a70443b59bd8f5cb71e105f70f8d960f67c/acmdrunner-1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "789e2fb5cdb7bb91248aefe8d8a0513e", "sha256": "b45c8ce8ebcdbebedc3301a18090fbcff40fede18ef2554d75403f87aa5b6a8d" }, "downloads": -1, "filename": "acmdrunner-1.2.tar.gz", "has_sig": false, "md5_digest": "789e2fb5cdb7bb91248aefe8d8a0513e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3653, "upload_time": "2016-05-14T17:37:41", "url": "https://files.pythonhosted.org/packages/1c/eb/ddd8a48d542a88710e9191b82a70443b59bd8f5cb71e105f70f8d960f67c/acmdrunner-1.2.tar.gz" } ] }