Skip to main content

AMQP Client using the rabbitmq-c library.

Project description

Version:
0.9.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.

Installation

Install via pip:

$ pip install librabbitmq

or, install via easy_install:

$ easy_install librabbitmq

Downloading and installing from source

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

Using the development version

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
$ git submodule init
$ git submodule update
$ python setup.py build
$ python setup.py develop

Submodules must be initialized, because this is how the amqp-codegen is retrieved.

Examples

Using with Kombu:

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

Stand-alone:

>>> from librabbitmq import Connection, Message

>>> 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)

Producing

>>> m = Message(body, content_type=None, content_encoding=None,
...             delivery_mode=1)
>>> channel.basic_publish(m, exchange, routing_key, ...)

Consuming

>>> def dump_message(message):
...     print("Body:'%s', Proeprties:'%s', DeliveryInfo:'%s'" % (
...         message.body, message.properties, message.delivery_info))
...     message.ack()

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

>>> while True:
...    connection.drain_events()

Poll

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

Other

>>> channel.queue_unbind(queue, ...)
>>> channel.close()
>>> connection.close()

License

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

librabbitmq-0.9.0.tar.gz (831.3 kB view details)

Uploaded Source

File details

Details for the file librabbitmq-0.9.0.tar.gz.

File metadata

  • Download URL: librabbitmq-0.9.0.tar.gz
  • Upload date:
  • Size: 831.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for librabbitmq-0.9.0.tar.gz
Algorithm Hash digest
SHA256 0ae79643d40995e3b0a8101be8f52048b336ecd96ba87894b8919f71e3cba429
MD5 f69e974c2f57273ad3e785d1da545879
BLAKE2b-256 8c6f3cb74cf5d37e343b177dd411b1630c327fbc2b53332cb5638c18a1dd5e38

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page