Metadata-Version: 1.0
Name: pylibrabbitmq
Version: 0.4.0
Summary: Python bindings to librabbitmq-c
Home-page: http://github.com/ask/pylibrabbitmq
Author: Ask Solem
Author-email: ask@celeryproject.org
License: MPL
Description: ==================================================
         pylibrabbitmq - Python bindings to librabbitmq-c
        ==================================================
        
        :Version: 0.4.0
        :Download: http://pypi.python.org/pypi/pylibrabbitmq/
        :Code: http://github.com/ask/pylibrabbitmq/
        :Keywords: rabbitmq, amqp, messaging, librabbitmq, rabbitmq-c, python
        
        .. contents::
            :local:
        
        Experimental Python bindings to the RabbitMQ C-library `librabbitmq`_.
        
        
        You should probably use `amqplib`_ instead, but when needed you can 
        come back to this if the extra performance is needed.
        
        .. _`librabbitmq`: http://hg.rabbitmq.com/rabbitmq-c/
        .. _`amqplib`: http://barryp.org/software/py-amqplib/
        
        Installation
        ============
        
        To install you need to compile `librabbitmq`::
        
            $ mkdir -p /opt/Build/rabbit
            $ cd /opt/Build/rabbit
            $ hg clone http://hg.rabbitmq.com/rabbitmq-codegen/
            $ hg clone http://hg.rabbitmq.com/rabbitmq-c/
            $ cd rabbitmq-c
            $ autoreconf -i
            $ ./configure
            $ make
            $ make install
        
        Then you can install this package::
        
            $ cd pylibrabbitmq-x.x.x
            $ python setup.py install
        
        Examples
        ========
        
            >>> from pylibrabbitmq 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)
        
        Produce
        -------
        
            >>> m = Message(body, content_type=None, content_encoding=None,
            ...             delivery_mode=1)
            >>> channel.basic_publish(m, exchange, routing_key, ...)
        
        Consume
        -------
        
            >>> 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.
        
        .. # vim: syntax=rst expandtab tabstop=4 shiftwidth=4 shiftround
        
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: C
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Mozilla Public License 1.0 (MPL)
Classifier: Topic :: Communications
Classifier: Topic :: System :: Networking
Classifier: Topic :: Software Development :: Libraries
