{ "info": { "author": "Ian Murphy", "author_email": "3jackdaws@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# Redis Events\nEvent based distributed computing using Redis and asyncio\n\n\n# Usage\nCreate a worker that will respond to events:\n\n```py\n# worker.py\n\nfrom redis_events import Client, Event\n\n# Point client at Redis server\nclient = Client(\n host=\"mywebsite.com\",\n port=6379,\n password=\"PASSWORD123\"\n)\n\n\n@client.event(\"echo\") # name the event whatever you want\nasync def echo_example(event: Event):\n reply_event = Event(\n \"echo\", # this doesn't actually matter because it is a reply\n event.data # echo the data that was in the first event\n )\n\n await client.send_reply(event, reply_event)\n\nclient.run()\n\n```\n\n\nCreate a script that will push events\n\n```py\n# send_events.py\n\nfrom redis_events import Client\nimport asyncio\n\n# obviously, must point to the same Redis server as the worker\nclient = Client(\n host=\"mywebsite.com\",\n port=6379,\n password=\"PASSWORD123\"\n)\n\n# Everything is async\nasync def send_events():\n my_event = Event(\n \"echo\",\n {\"test\": 1234}\n )\n\n await client.send(my_event)\n\n reply = await client.wait_for_reply(to=my_event, timeout=60) # wait for a reply for up to 1 minute\n\n print(\"GOT REPLY\")\n\n\nasyncio.get_event_loop().run_until_complete(send_events())\n\n```\n\n# Installation\n\n`pip install redis-events`", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/3jackdaws/redis-events", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "redis-events", "package_url": "https://pypi.org/project/redis-events/", "platform": "", "project_url": "https://pypi.org/project/redis-events/", "project_urls": { "Homepage": "https://github.com/3jackdaws/redis-events" }, "release_url": "https://pypi.org/project/redis-events/0.0.2/", "requires_dist": null, "requires_python": "", "summary": "Event based distributed computing using Redis and asyncio", "version": "0.0.2" }, "last_serial": 4446514, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "ebfa9909bed001f3aec4c134ec510c13", "sha256": "24eb23945cf8af135f8e8a5f16af324c3ff8cd052f4ee5753cf7d441ff5c373c" }, "downloads": -1, "filename": "redis-events-0.0.1.tar.gz", "has_sig": false, "md5_digest": "ebfa9909bed001f3aec4c134ec510c13", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2655, "upload_time": "2018-09-04T06:12:20", "url": "https://files.pythonhosted.org/packages/50/97/7ac238825f0baff64b50b5265a85b2cc3b31136b1fe34c3a3a980c5f9854/redis-events-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "aab654e71ca3477d154b77f437fd81b8", "sha256": "aa891b9d04f8034ee447bfd813006c201324f58016d1b807607a9a940b38a9e0" }, "downloads": -1, "filename": "redis-events-0.0.2.tar.gz", "has_sig": false, "md5_digest": "aab654e71ca3477d154b77f437fd81b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2891, "upload_time": "2018-11-03T01:18:08", "url": "https://files.pythonhosted.org/packages/3f/1f/e874af786543207ca0fc7ca1c4f8d7198b93fce353f152d95ab0a5639cb1/redis-events-0.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "aab654e71ca3477d154b77f437fd81b8", "sha256": "aa891b9d04f8034ee447bfd813006c201324f58016d1b807607a9a940b38a9e0" }, "downloads": -1, "filename": "redis-events-0.0.2.tar.gz", "has_sig": false, "md5_digest": "aab654e71ca3477d154b77f437fd81b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2891, "upload_time": "2018-11-03T01:18:08", "url": "https://files.pythonhosted.org/packages/3f/1f/e874af786543207ca0fc7ca1c4f8d7198b93fce353f152d95ab0a5639cb1/redis-events-0.0.2.tar.gz" } ] }