{ "info": { "author": "Micha\u0142 Budziak", "author_email": "michal.mariusz.b@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.7", "Topic :: Software Development :: Build Tools" ], "description": "# AMQP K\u00f8 \nObject oriented AMQP layer for microservices communication.\n\n## Usage\nThe recommended way to use AMQP K\u00f8 is to create your own queue object. The simplest way to do this is using `createQueue` function.\n\n### Create queue\n```python\nfrom amqp_ko import create_queue, AsyncConnection, Message, MessageGate\nfrom dataclasses import dataclass\n\n\n@dataclass(frozen=True)\nclass TopicFollow(Message):\n user_id: int\n topic_name: str\n\n\ndef unmarshal_topic_follow(data: dict) -> TopicFollow:\n return TopicFollow(\n user_id=data[\"user_id\"],\n topic_name=data[\"topic_name\"],\n )\n\nmessage_gates = [\n MessageGate(\"topic_follow\", TopicFollow, unmarshal_topic_follow),\n]\n\nasync with AsyncConnection(\"localhost\", 5672, \"rabbitmq\", \"rabbitmq\") as connection:\n queue = await create_queue(connection, \"exchange-name\", message_gates)\n```\n\n### Consume messages\n```python\nfrom amqp_ko import Consumer, Job\n\n\nclass ConnectUserWithTopic(Consumer):\n async def consume(self, job: Job):\n # Put here some code to connect user with a topic\n # using \"job.message.userId\" and \"job.message.topicName\"\n await job.ack()\n \nawait queue.consume(\n \"queue-name\",\n {TopicFollow: ConnectUserWithTopic()},\n)\n```\n\n### Produce message\n```python\nmessage = TopicFollow(120, \"entertainment\")\nawait queue.produce(message)\n```\n\n## Installation\n```bash\npip install amqp-ko\n```\n\n#### Author: [Micha\u0142 Budziak]\n\n[Micha\u0142 Budziak]: http://github.com/budziam", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/budziam/amqp-ko-python/archive/1.0.4.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/budziam/amqp-ko-python", "keywords": "amqp-ko,amqp,microservice,rabbitmq,queue,tools", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "amqp-ko", "package_url": "https://pypi.org/project/amqp-ko/", "platform": "", "project_url": "https://pypi.org/project/amqp-ko/", "project_urls": { "Download": "https://github.com/budziam/amqp-ko-python/archive/1.0.4.tar.gz", "Homepage": "https://github.com/budziam/amqp-ko-python" }, "release_url": "https://pypi.org/project/amqp-ko/1.0.4/", "requires_dist": null, "requires_python": ">=3.7", "summary": "Object oriented AMQP layer for microservices communication.", "version": "1.0.4" }, "last_serial": 5662947, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "07398ef332482508a955135180e23e29", "sha256": "d2e672f5cb87aa98dd2d308295c7e60138d9ce42d9646700135c2ace8042ff01" }, "downloads": -1, "filename": "amqp-ko-1.0.0.tar.gz", "has_sig": false, "md5_digest": "07398ef332482508a955135180e23e29", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 5054, "upload_time": "2019-08-10T16:54:47", "url": "https://files.pythonhosted.org/packages/23/0d/005dd5ca33b67a35e9617fa91cd4ce209ad739cb426a1d6d679120931228/amqp-ko-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "e948027512f4650d9ed19a806fe3ff73", "sha256": "0c8e6bddbe17cfd17be81bc7665cd7147a454fa69075a1e1350e0349f6dc09bb" }, "downloads": -1, "filename": "amqp-ko-1.0.1.tar.gz", "has_sig": false, "md5_digest": "e948027512f4650d9ed19a806fe3ff73", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 5118, "upload_time": "2019-08-10T17:00:03", "url": "https://files.pythonhosted.org/packages/36/92/4c30567490c4c5f16c6a6a727da95d4e050047d03983fdf1e6737814d6bf/amqp-ko-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "b26873983fede8cd7bd8cb931bff6d13", "sha256": "948e7e5808782fd7e9ecdc9588659489fe78b4c0ff3607a2982230624c3489c2" }, "downloads": -1, "filename": "amqp-ko-1.0.2.tar.gz", "has_sig": false, "md5_digest": "b26873983fede8cd7bd8cb931bff6d13", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 5422, "upload_time": "2019-08-10T17:30:38", "url": "https://files.pythonhosted.org/packages/9d/82/2eb675b2cadc4ca51861024df3d31ceab6c8888cb5ec840deee641c19b8a/amqp-ko-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "3f74e8187245e659e9ffbf2a9593aa10", "sha256": "56649a61fc88a20d07a2f5e416c7224edc7d46dd02bfb62cea2e52e26a30fef1" }, "downloads": -1, "filename": "amqp-ko-1.0.3.tar.gz", "has_sig": false, "md5_digest": "3f74e8187245e659e9ffbf2a9593aa10", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 5391, "upload_time": "2019-08-11T18:27:56", "url": "https://files.pythonhosted.org/packages/88/8c/9983d19b15aa1656954c74853e4afcac43f5a49619958091ccdfe5c501cc/amqp-ko-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "4adcbe0b853f00cbc65164c1651a8a05", "sha256": "f5a8ddd5bcd47e7d4183d2645902fc0b555a41ec6da32551dfc78de30cdf2588" }, "downloads": -1, "filename": "amqp-ko-1.0.4.tar.gz", "has_sig": false, "md5_digest": "4adcbe0b853f00cbc65164c1651a8a05", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 5378, "upload_time": "2019-08-11T18:45:37", "url": "https://files.pythonhosted.org/packages/94/cf/34462096af41d7eeadd01a08bc9af6a60927e329125b9b38df0f14651923/amqp-ko-1.0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4adcbe0b853f00cbc65164c1651a8a05", "sha256": "f5a8ddd5bcd47e7d4183d2645902fc0b555a41ec6da32551dfc78de30cdf2588" }, "downloads": -1, "filename": "amqp-ko-1.0.4.tar.gz", "has_sig": false, "md5_digest": "4adcbe0b853f00cbc65164c1651a8a05", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 5378, "upload_time": "2019-08-11T18:45:37", "url": "https://files.pythonhosted.org/packages/94/cf/34462096af41d7eeadd01a08bc9af6a60927e329125b9b38df0f14651923/amqp-ko-1.0.4.tar.gz" } ] }