{ "info": { "author": "Hideo Hattori", "author_email": "hhatto.jp@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3" ], "description": "Kuroko\n=======\nMinimalistic Python Task Executor Framework\n\n\nRequirements\n============\n- Python2.7+\n- Logbook_\n- crontab_\n- watchdog_\n\n.. _Logbook: https://pypi.python.org/pypi/Logbook\n.. _crontab: https://pypi.python.org/pypi/crontab\n\n\nInstallation\n============\n\n::\n\n pip install kuroko\n\n\nUsage\n=====\nexamples\n\n5sec interval task execution\n----------------------------\n\n.. code-block:: python\n\n import kuroko\n\n class MyBot(kuroko.Bot):\n\n @kuroko.timer(5)\n def echo_pong(self):\n print(\"pong\")\n\n bot = MyBot()\n bot.start()\n\ncrontab like task execution\n---------------------------\n\n.. code-block:: python\n\n class MyBot(kuroko.Bot):\n\n @kuroko.crontab('*/5 * * * *')\n def echo_pong(self):\n print(\"pong\")\n\nwatchdog_ thin wrapper\n----------------------\n\n.. code-block:: python\n\n class MyBot(kuroko.Bot):\n\n @kuroko.watch\n def echo_pong(self, event):\n print(\"pong\", event)\n\n @kuroko.watch(patterns=['*.py'])\n def echo_ping(self, event):\n print(\"ping\", event)\n\n\n.. _watchdog: https://pypi.python.org/pypi/watchdog\n\nlogging\n-------\n\n.. code-block:: python\n\n class MyBot(kuroko.Bot):\n\n @kuroko.crontab('*/5 * * * *')\n def echo_pong(self):\n self.log.info(\"app logging\")\n\n\nRestart & Stop task\n-------------------\nsend a SIGUSR1 when you want to restart the all tasks,\nsend a SIGHUP when you want to stop the all tasks.\n\n\nTODO\n====\n- [ ] support multi-thread model\n- [ ] colorize logging\n- [ ] statistics web frontend\n- [ ] terminal like interface\n\n\nLicense\n=======\nMIT", "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/hhatto/kuroko", "keywords": "bot framework", "license": "MIT License", "maintainer": null, "maintainer_email": null, "name": "kuroko", "package_url": "https://pypi.org/project/kuroko/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/kuroko/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/hhatto/kuroko" }, "release_url": "https://pypi.org/project/kuroko/0.1.7/", "requires_dist": null, "requires_python": null, "summary": "Minimalistic Python Bot Framework", "version": "0.1.7" }, "last_serial": 1405958, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "866730f5d8287877f44b24512f0c3adb", "sha256": "7b6fdc71a5c2a03a71e635f338d2e303ef23cc9257bce974262c98cf735b6d8f" }, "downloads": -1, "filename": "kuroko-0.1.tar.gz", "has_sig": false, "md5_digest": "866730f5d8287877f44b24512f0c3adb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3085, "upload_time": "2014-03-05T01:32:52", "url": "https://files.pythonhosted.org/packages/54/75/ff0cb0e889f05af359a9c25d6e4f3742b96bc009c83187f7114f50449315/kuroko-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "37fa089af7f14cb93dc8df1aad1a14f4", "sha256": "696e1354416a7d4656a100c6b31150f958d4c9712b8d95b9ed9f9a73514afcfe" }, "downloads": -1, "filename": "kuroko-0.1.1.tar.gz", "has_sig": false, "md5_digest": "37fa089af7f14cb93dc8df1aad1a14f4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3365, "upload_time": "2014-03-11T13:13:45", "url": "https://files.pythonhosted.org/packages/00/28/4be0dd7e9482627028fe384ceb90ac50467db71cf0aeba1dc8e78f98e655/kuroko-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "07725d03b8cefbd54cb9c39f61989245", "sha256": "49b73768bc0482589491db48d0cf540f54aec2555114b9991617865a9dc41d9d" }, "downloads": -1, "filename": "kuroko-0.1.2.tar.gz", "has_sig": false, "md5_digest": "07725d03b8cefbd54cb9c39f61989245", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3580, "upload_time": "2014-03-21T05:09:32", "url": "https://files.pythonhosted.org/packages/e2/11/acb1f535a3adde44e635a1c834c3b44e51c8c68f444d8f7fd0dd833a0b4d/kuroko-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "01284a3bddc0f5556981431481e68bf5", "sha256": "0b7cf6ec937bc11f5fc53b3e687a6934a5a5c7d94fb41eb08a3094d08abb5718" }, "downloads": -1, "filename": "kuroko-0.1.3.tar.gz", "has_sig": false, "md5_digest": "01284a3bddc0f5556981431481e68bf5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3894, "upload_time": "2014-05-19T05:35:55", "url": "https://files.pythonhosted.org/packages/bb/de/a34be6ad58b90a7c4059800eec63cc0b12d5dca9e759d3fe9c8e8e57cc71/kuroko-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "8fa516c7668614a5fb02554e876f79d2", "sha256": "021d597304316a72e68601afd086281341e3315f46f82e49e2b7d8e8dbc761cf" }, "downloads": -1, "filename": "kuroko-0.1.4.tar.gz", "has_sig": false, "md5_digest": "8fa516c7668614a5fb02554e876f79d2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3893, "upload_time": "2014-09-10T10:25:58", "url": "https://files.pythonhosted.org/packages/13/97/10d436255a88790a22bc6765aa7b919a103be3a64e58735f47a9ffb906e4/kuroko-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "99078f7b4b6dd942aa3068e41dd9d6fb", "sha256": "24dd91dcacec021494038df9d9aa9e7a466a957a846f94b35aab937d1e54d634" }, "downloads": -1, "filename": "kuroko-0.1.5.tar.gz", "has_sig": false, "md5_digest": "99078f7b4b6dd942aa3068e41dd9d6fb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3886, "upload_time": "2014-09-10T10:30:07", "url": "https://files.pythonhosted.org/packages/c7/9f/286b638e24b6780caf80ef9f872aa9203b68e156c584e8aeb1856f26f942/kuroko-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "0328270f613db3cd82a2fd9b4d40938e", "sha256": "522fa383fba516704d2627c0b83f502021e52a8f9b9be5fc72e557ace499ce67" }, "downloads": -1, "filename": "kuroko-0.1.6.tar.gz", "has_sig": false, "md5_digest": "0328270f613db3cd82a2fd9b4d40938e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4063, "upload_time": "2015-02-02T07:55:06", "url": "https://files.pythonhosted.org/packages/5d/1b/8fa105db8deee5b7c6c586dc49ae0b8375dae818bd7313ac456a971857bf/kuroko-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "c08d0d0127c5e5f6e4371688a8161c4d", "sha256": "bed5e0d3f651315e62597951a6d7f6a96ba17676c4f48640b00c250806fa4897" }, "downloads": -1, "filename": "kuroko-0.1.7.tar.gz", "has_sig": false, "md5_digest": "c08d0d0127c5e5f6e4371688a8161c4d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4213, "upload_time": "2015-02-02T08:29:46", "url": "https://files.pythonhosted.org/packages/87/2d/b71592e4451bf8a427b2bde878f5d5e2d932c5997eaafe15bfcac5046e70/kuroko-0.1.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c08d0d0127c5e5f6e4371688a8161c4d", "sha256": "bed5e0d3f651315e62597951a6d7f6a96ba17676c4f48640b00c250806fa4897" }, "downloads": -1, "filename": "kuroko-0.1.7.tar.gz", "has_sig": false, "md5_digest": "c08d0d0127c5e5f6e4371688a8161c4d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4213, "upload_time": "2015-02-02T08:29:46", "url": "https://files.pythonhosted.org/packages/87/2d/b71592e4451bf8a427b2bde878f5d5e2d932c5997eaafe15bfcac5046e70/kuroko-0.1.7.tar.gz" } ] }