{ "info": { "author": "Shinya Ohyanagi", "author_email": "sohyanagi@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Communications :: Chat", "Topic :: Communications :: Conferencing" ], "description": "robo\n====\n.. image:: https://travis-ci.org/heavenshell/py-robo.png?branch=master\n\n\nDead simple bot framework which is inspired by Ruby's `ruboty `_.\n\n\nWhy reinvent the wheel\n----------------------\n\nI Love Python and I'm not good at Node.js(hubot), Ruby(Ruboty).\n\n`Err `_ is pluggable but it's too complex for me.\n\n`brutal `_ is also pluggable but I don't wont to write config file.\n\nSo I reinvent the wheel.\n\nArchitecture\n------------\n\nMessage flow.\n\n.. code:: text\n\n\n +--[handler a]--+\n | |\n [chat service]-->[adapter]--+--[handler b]--+--[adapter]-->[chat service]\n | |\n +--[handler c]--+\n\n\nAdapter\n-------\n\nAdapter is interface of chat services receive message and send message to chat service.\n\nRobo includes two adapters.\n\n- `shell `_\n- `Slack `_\n\n\nHandler\n-------\nHandler provides various behaviors to your robot.\n\n.. code:: python\n\n from robo.decorators import cmd\n\n class Ping(object):\n @cmd(regex=r'^ping', description='')\n def pong(self, message, **kwargs):\n return 'pong'\n\nThis handler matches message `ping` and return `pong` to chat service.\n\n\nBootstrap\n---------\n`example/main.py `_ is a example of bootstraping `robo`.\n\n.. code:: python\n\n def main(args=None):\n #: `name` is bot's name.\n #: This arg is trigger of handler.\n robot = Robot(name=args.name, logger=logger)\n #: `register_default_handlers()` register default handlers.\n #: Default handlers are `help`, `ping`, `echo`.\n robot.register_default_handlers()\n #: Load given adapter name.\n robot.load_adapter(args.adapter)\n #: Run robot\n robot.run(args.adapter)\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/heavenshell/py-robo", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "robo", "package_url": "https://pypi.org/project/robo/", "platform": "any", "project_url": "https://pypi.org/project/robo/", "project_urls": { "Homepage": "http://github.com/heavenshell/py-robo" }, "release_url": "https://pypi.org/project/robo/0.5.6/", "requires_dist": null, "requires_python": "", "summary": "Dead simple bot framework.", "version": "0.5.6" }, "last_serial": 3901768, "releases": { "0.4.5": [ { "comment_text": "", "digests": { "md5": "0ce2e0d65def4b8f1b1dcd14489d29d9", "sha256": "e09be1fa4ef9b99d88e0602df1c05d70d226bf87c306be1e16bae7d8fd3d839f" }, "downloads": -1, "filename": "robo-0.4.5.tar.gz", "has_sig": false, "md5_digest": "0ce2e0d65def4b8f1b1dcd14489d29d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9106, "upload_time": "2015-01-12T16:35:53", "url": "https://files.pythonhosted.org/packages/7e/27/a3f29d95988e044ac3ea4b9c482ab6756f25b990c6a4fbe2d0c7da69508b/robo-0.4.5.tar.gz" } ], "0.4.6": [ { "comment_text": "", "digests": { "md5": "5668f1cbdf16b6be0f1f28a93aa9430b", "sha256": "0c9a715e68182c14cb9a8ab15f44b251ece84ceb1364a53085df9a708e3ca03f" }, "downloads": -1, "filename": "robo-0.4.6.tar.gz", "has_sig": false, "md5_digest": "5668f1cbdf16b6be0f1f28a93aa9430b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9573, "upload_time": "2015-01-13T16:38:37", "url": "https://files.pythonhosted.org/packages/8e/6c/2f6b537782854406e521b6a1b76000b6db4af923fd837ed56cbb2f7ec63b/robo-0.4.6.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "fb11ee950fc4c348ba50637625f8568d", "sha256": "41696442da535f2f80a494278969c4a4a6e8489d5254758f6fefdc7acddba2e2" }, "downloads": -1, "filename": "robo-0.5.0.tar.gz", "has_sig": false, "md5_digest": "fb11ee950fc4c348ba50637625f8568d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10338, "upload_time": "2015-01-23T11:45:00", "url": "https://files.pythonhosted.org/packages/16/c9/f5a9db9ff7eedaabf26b4b2254ce93093bc491a6c457a6807bd8b3b1869f/robo-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "3ed897b6f8f49e022138494af653daeb", "sha256": "32ef0a9638f6bc562490bd36d8216bd2a0bc53255b6cd1a094a5a1b49b025334" }, "downloads": -1, "filename": "robo-0.5.1.tar.gz", "has_sig": false, "md5_digest": "3ed897b6f8f49e022138494af653daeb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10381, "upload_time": "2015-03-16T13:36:38", "url": "https://files.pythonhosted.org/packages/01/54/72153ba631c0a8eb275317e477fa889754454aa7d14c2f28e9ff6ce0fbc2/robo-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "af8d7869b09ae85ba6431318952f8b04", "sha256": "a2c575864a20121f809174a5c56a7e8252cf254ee41e8329c7907a4539eb2a69" }, "downloads": -1, "filename": "robo-0.5.2.tar.gz", "has_sig": false, "md5_digest": "af8d7869b09ae85ba6431318952f8b04", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10371, "upload_time": "2015-03-17T16:26:39", "url": "https://files.pythonhosted.org/packages/6e/19/721c0539199a564127c58adbfab950152daf31ee1205abd5aaaa7d031ca7/robo-0.5.2.tar.gz" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "be5ecfaefaa294487d307db1769e6b21", "sha256": "eba5b72dbc21f8faf25e6ef4930f5c7bb63e4d30f6542daf755a4482f95d068c" }, "downloads": -1, "filename": "robo-0.5.3.tar.gz", "has_sig": false, "md5_digest": "be5ecfaefaa294487d307db1769e6b21", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10797, "upload_time": "2015-10-10T02:39:50", "url": "https://files.pythonhosted.org/packages/fe/94/fad12c9e4698cb54fe691b16b5d864aef341840fd254177e3c31995bf433/robo-0.5.3.tar.gz" } ], "0.5.4": [ { "comment_text": "", "digests": { "md5": "bda006ec5fc4b072641e56b4ddcfc5fd", "sha256": "0345bbb0ea9cd3a327dc2c3bb313ce9750bc717ddf090c1519502d056950bda4" }, "downloads": -1, "filename": "robo-0.5.4.tar.gz", "has_sig": false, "md5_digest": "bda006ec5fc4b072641e56b4ddcfc5fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10843, "upload_time": "2015-10-10T05:27:40", "url": "https://files.pythonhosted.org/packages/b0/43/4909d57b275e1b5217ccc5db76f242a3c6b6d7cd7f72ac6b04013321a26c/robo-0.5.4.tar.gz" } ], "0.5.6": [ { "comment_text": "", "digests": { "md5": "2a9cb73b887638e89f78567cee413312", "sha256": "21502ef55d3e03aecd04de27c1dd33f6fd7f7d3d886dd7ca49a1b919e59e6444" }, "downloads": -1, "filename": "robo-0.5.6.tar.gz", "has_sig": false, "md5_digest": "2a9cb73b887638e89f78567cee413312", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10585, "upload_time": "2018-05-26T16:24:13", "url": "https://files.pythonhosted.org/packages/0b/1a/37f6a0c6ed30b8af7f3e600dbc95540d03ceb962e4e00180e5f70535ecb8/robo-0.5.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2a9cb73b887638e89f78567cee413312", "sha256": "21502ef55d3e03aecd04de27c1dd33f6fd7f7d3d886dd7ca49a1b919e59e6444" }, "downloads": -1, "filename": "robo-0.5.6.tar.gz", "has_sig": false, "md5_digest": "2a9cb73b887638e89f78567cee413312", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10585, "upload_time": "2018-05-26T16:24:13", "url": "https://files.pythonhosted.org/packages/0b/1a/37f6a0c6ed30b8af7f3e600dbc95540d03ceb962e4e00180e5f70535ecb8/robo-0.5.6.tar.gz" } ] }