{ "info": { "author": "BlueDynamics Alliance", "author_email": "dev@bluedynamics.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Operating System :: OS Independent", "Programming Language :: Python" ], "description": "Overview\n========\n\n``zamqp`` is aimed to broadcast messages and trigger events between python\ninstances via AMQP.\n\nIt is based on amqplib and provides consumer and producer implementations as\nwell as a mechanism to trigger zope events remotely.\n\n\nHelper Classes\n--------------\n\nCreate properties for AMQP connection.\n::\n\n >>> from zamqp import AMQPProps\n >>> props = AMQPProps(host='localhost',\n ... user='guest',\n ... password='guest',\n ... ssl=False,\n ... exchange='zamqp.broadcast.fanout',\n ... type='fanout',\n ... realm='/data')\n\nCreate AMQP connection manually.\n::\n \n >>> from zamqp import AMQPConnection\n >>> connection = AMQPConnection('zamqp_queue', props)\n\nAccess connection channel.\n::\n\n >>> connection.channel\n\n\nConsumer and producer\n---------------------\n\nCreate consumer callback.\n::\n\n >>> def callback(message):\n ... pass # do anything with received message here\n\nCreate and start consumer thread.\n::\n\n >>> from zamqp import AMQPConsumer\n >>> from zamqp import AMQPThread\n >>> consumer = AMQPConsumer('zamqp_queue', props, callback)\n >>> thread = AMQPThread(consumer)\n >>> thread.start()\n\nCreate producer and send a messages. Every python object which is serializable \ncan be used as a message.\n::\n\n >>> from zamqp import AMQPProducer\n >>> producer = AMQPProducer('zamqp_queue', props)\n >>> message = 'foo'\n >>> producer(message)\n\n\nTrigger events\n--------------\n\nCreate an event which should be triggered in the remote instance.\n::\n\n >>> class MyEvent(object):\n ... def __init__(self, name):\n ... self.name = name\n\nCreate a listener for ``MyEvent``. This gets called when AMQP events are\nreceived.\n::\n\n >>> def my_listener(event):\n ... if not isinstance(event, MyEvent):\n ... return\n ... # do something\n\n >>> import zope.event\n >>> zope.event.subscribers.append(my_listener) \n\nThe default ``AMQPEventCallback`` just calls ``zope.event.notify`` with the\nreceived payload, which is the serialized event, in this case an instance of\n``MyEvent``.\n\nStart our AMQP consumer for events.\n::\n\n >>> exchange = 'zamqp.events.fanout'\n >>> queue = 'zamqp_events'\n >>> from zamqp import AMQPEventCallback\n >>> props = AMQPProps(exchange=exchange)\n >>> callback = AMQPEventCallback()\n >>> consumer = AMQPConsumer(queue, props, callback)\n >>> thread = AMQPThread(consumer)\n >>> thread.start()\n \nTrigger ``MyEvent`` to AMQP channel. The previously started event consumer now\nreceives this event and triggers it locally in it's own interpreter.\n::\n\n >>> from zamqp import AMQPEvent\n >>> event = AMQPEvent(queue, props, MyEvent('myevent'))\n >>> zope.event.notify(event)\n\nCredits\n=======\n\n -Robert Niederreiter \n\nChanges\n=======\n\n1.0b1\n-----\n\n* make it work [rnix]", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://svn.binarybox.net/svn/ztk/zamqp", "keywords": "amqp events zope", "license": "GNU General Public Licence", "maintainer": null, "maintainer_email": null, "name": "zamqp", "package_url": "https://pypi.org/project/zamqp/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/zamqp/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://svn.binarybox.net/svn/ztk/zamqp" }, "release_url": "https://pypi.org/project/zamqp/1.0b1/", "requires_dist": null, "requires_python": null, "summary": "AMQP broadcasting for python and zope.", "version": "1.0b1" }, "last_serial": 802148, "releases": { "1.0b1": [ { "comment_text": "", "digests": { "md5": "8e584f8d7a640a82126c793ec7301c54", "sha256": "3cb9f5645fdad0d84b838dda298d97f2070169aadcac638f74c965dffb9841d9" }, "downloads": -1, "filename": "zamqp-1.0b1.tar.gz", "has_sig": false, "md5_digest": "8e584f8d7a640a82126c793ec7301c54", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4651, "upload_time": "2010-06-14T11:34:10", "url": "https://files.pythonhosted.org/packages/7b/4f/abb83335b9478b51eb3db5fbe49274052aaeb414d718b9136ca2399fd467/zamqp-1.0b1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8e584f8d7a640a82126c793ec7301c54", "sha256": "3cb9f5645fdad0d84b838dda298d97f2070169aadcac638f74c965dffb9841d9" }, "downloads": -1, "filename": "zamqp-1.0b1.tar.gz", "has_sig": false, "md5_digest": "8e584f8d7a640a82126c793ec7301c54", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4651, "upload_time": "2010-06-14T11:34:10", "url": "https://files.pythonhosted.org/packages/7b/4f/abb83335b9478b51eb3db5fbe49274052aaeb414d718b9136ca2399fd467/zamqp-1.0b1.tar.gz" } ] }