{ "info": { "author": "Ahmed AlSahaf", "author_email": "me@asahaf.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Communications", "Topic :: Software Development", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Application Frameworks", "Topic :: Software Development :: Libraries :: Pike Modules", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Software Development :: Object Brokering", "Topic :: System :: Distributed Computing" ], "description": ".. image:: https://travis-ci.org/asahaf/rabbitleap.svg?branch=master\n :target: https://travis-ci.org/asahaf/rabbitleap\n\n##########\nRabbitLeap\n##########\n\nRabbitLeap is a simple RabbitMQ consuming framework. It's built on top of Pika, a RabbitMQ client library for Python.\n\nFeatures\n========\n- Automatically recovers from connection failures\n- Configurable retry policy for handing failures\n- Automatically route messages to handlers, based on custom logic and different message properties\n\nInstallation\n============\n.. code-block:: console\n\n $ pip install rabbitleap\n\nHello, world\n============\n\n.. code-block:: python\n\n from rabbitleap.consumer import Consumer\n from rabbitleap.handling import MessageHandler\n\n\n class RabbitEatHandler(MessageHandler):\n\n def handle(self):\n print('rabbit eat: {}'.format(self.envelope.payload.decode('utf-8')))\n\n consumer_queue_name = 'consumer_queue'\n amqp_url = r'amqp://guest:guest@localhost:5672/%2f'\n\n consumer = Consumer(amqp_url=amqp_url, queue_name=consumer_queue_name)\n # route message of type `rabbit.eat` to RabbitEatHandler\n consumer.add_handler(r'rabbit\\.eat', RabbitEatHandler)\n\n try:\n consumer.start()\n except KeyboardInterrupt:\n consumer.stop()\n\nDocumentation\n=============\nDocumentation and resources are available at https://rabbitleap.readthedocs.io\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/asahaf/rabbitleap", "keywords": "rabbitmq,messaging,message,consumer,consuming,framework", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "rabbitleap", "package_url": "https://pypi.org/project/rabbitleap/", "platform": "any", "project_url": "https://pypi.org/project/rabbitleap/", "project_urls": { "Homepage": "https://github.com/asahaf/rabbitleap" }, "release_url": "https://pypi.org/project/rabbitleap/0.1.1/", "requires_dist": [ "pika" ], "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "summary": "Simple RabbitMQ consuming framework", "version": "0.1.1" }, "last_serial": 4282685, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "b424b6b2da7af619924fc8715c6eaf39", "sha256": "39b0177c8a3c81768098fd62e66bcc1577434a2536e5ef0271565475167c5874" }, "downloads": -1, "filename": "rabbitleap-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b424b6b2da7af619924fc8715c6eaf39", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 19322, "upload_time": "2018-09-18T08:46:46", "url": "https://files.pythonhosted.org/packages/80/a0/6c24fdb17c9aebac71efe54eea8616f985bec5ca35d050f958ade4213aa0/rabbitleap-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b527cc02d9fa0aa68ec9d9e344feb6d7", "sha256": "1537fb7a9ebaa50f578336f533bab455c26e2beb6a9ea733badc2593c93d47bc" }, "downloads": -1, "filename": "rabbitleap-0.1.1.tar.gz", "has_sig": false, "md5_digest": "b527cc02d9fa0aa68ec9d9e344feb6d7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 28282, "upload_time": "2018-09-18T08:46:48", "url": "https://files.pythonhosted.org/packages/41/80/1e39cf4422885d0c6ea93f4791f05e3b38b19d48d60636335240b3b0f13d/rabbitleap-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b424b6b2da7af619924fc8715c6eaf39", "sha256": "39b0177c8a3c81768098fd62e66bcc1577434a2536e5ef0271565475167c5874" }, "downloads": -1, "filename": "rabbitleap-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b424b6b2da7af619924fc8715c6eaf39", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 19322, "upload_time": "2018-09-18T08:46:46", "url": "https://files.pythonhosted.org/packages/80/a0/6c24fdb17c9aebac71efe54eea8616f985bec5ca35d050f958ade4213aa0/rabbitleap-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b527cc02d9fa0aa68ec9d9e344feb6d7", "sha256": "1537fb7a9ebaa50f578336f533bab455c26e2beb6a9ea733badc2593c93d47bc" }, "downloads": -1, "filename": "rabbitleap-0.1.1.tar.gz", "has_sig": false, "md5_digest": "b527cc02d9fa0aa68ec9d9e344feb6d7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 28282, "upload_time": "2018-09-18T08:46:48", "url": "https://files.pythonhosted.org/packages/41/80/1e39cf4422885d0c6ea93f4791f05e3b38b19d48d60636335240b3b0f13d/rabbitleap-0.1.1.tar.gz" } ] }