/librabbitmq

Python bindings to librabbitmq-c

Primary LanguageCGNU General Public License v2.0GPL-2.0

librabbitmq - Python AMQP Client using the rabbitmq-c library.

Version: 2.0.0
Download:http://pypi.python.org/pypi/librabbitmq/
Code:http://github.com/celery/librabbitmq/
Keywords:rabbitmq, amqp, messaging, librabbitmq, rabbitmq-c, python, kombu, celery

Python bindings to the RabbitMQ C-library rabbitmq-c. Supported by Kombu and Celery.

Install via pip:

$ pip install librabbitmq

or, install via easy_install:

$ easy_install librabbitmq
Download the latest version from
http://pypi.python.org/pypi/librabbitmq/

Then install it by doing the following,:

$ tar xvfz librabbitmq-0.0.0.tar.gz
$ cd librabbitmq-0.0.0
$ python setup.py build
# python setup.py install # as root

You can clone the repository by doing the following:

$ git clone git://github.com/celery/librabbitmq.git

Then install it by doing the following:

$ cd librabbitmq
$ make install        # or make develop

Using with Kombu:

>>> from kombu import Connection
>>> x = Connection("librabbitmq://")

Stand-alone:

>>> from librabbitmq import Connection

>>> conn = Connection(host="localhost", userid="guest",
...                   password="guest", virtual_host="/")

>>> channel = conn.channel()
>>> channel.exchange_declare(exchange, type, ...)
>>> channel.queue_declare(queue, ...)
>>> channel.queue_bind(queue, exchange, routing_key)
>>> channel.basic_publish(body, exchange, routing_key, ...)
>>> def dump_message(message):
...     print("Body:'%s', Properties:'%s', DeliveryInfo:'%s'" % (
...         message.body, message.properties, message.delivery_info))
...     message.ack()

>>> channel.basic_consume(queue, ..., callback=dump_message)

>>> while True:
...    connection.drain_events()
>>> message = channel.basic_get(queue, ...)
>>> if message:
...     dump_message(message)
...     print("Body:'%s' Properties:'%s' DeliveryInfo:'%s'" % (
...         message.body, message.properties, message.delivery_info))
>>> channel.queue_unbind(queue, ...)
>>> channel.close()
>>> connection.close()

This software is licensed under the Mozilla Public License. See the LICENSE-MPL-RabbitMQ file in the top distribution directory for the full license text.