AMQP Client using the rabbitmq-c library.
Project description
- Version:
- 0.9.0
- Download:
- Code:
- 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
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ae79643d40995e3b0a8101be8f52048b336ecd96ba87894b8919f71e3cba429 |
|
MD5 | f69e974c2f57273ad3e785d1da545879 |
|
BLAKE2b-256 | 8c6f3cb74cf5d37e343b177dd411b1630c327fbc2b53332cb5638c18a1dd5e38 |