<div dir="ltr">rabbitpy 0.5.0, a minimalistic, thread-safe, pythonic RabbitMQ client library is now available on pypi:<div><br></div><div><a href="https://pypi.python.org/pypi/rabbitpy" target="_blank">https://pypi.python.org/pypi/rabbitpy</a><br>

</div><div><br></div><div>Documentation is available at <a href="http://rabbitpy.readthedocs.org" target="_blank">http://rabbitpy.readthedocs.org</a></div><div><br></div><div><b>Highlights</b></div><div><br></div><div>- Simple, blocking Pythonic API</div>

<div>- A thread-based connection and IO management system that properly supports AMQP 0.9.1 server to client RPC semantics.</div><div>- Support for Python 2.6, 2.7, 3.2 and 3.3</div><div>- Support for the up-coming Connection.Blocked feature in RabbitMQ:�<a href="http://next.rabbitmq.com/connection-blocked.html" target="_blank">http://next.rabbitmq.com/connection-blocked.html</a></div>

<div><br></div><div><b>Examples of Use</b></div><div><br></div><div>A simple publisher for one-off message publishing:</div><div><br></div><div><div><font face="courier new, monospace">� � &gt;&gt;&gt; rabbitpy.publish(&#39;amqp://guest:guest@localhost:5672/%2f&#39;,</font></div>
<div><font face="courier new, monospace">� � � � � � � � � � � � �exchange=&#39;test&#39;,</font></div>
<div><font face="courier new, monospace">� � � � � � � � � � � � �routing_key=&#39;example&#39;,</font></div><div><font face="courier new, monospace">� � � � � � � � � � � � �body=&#39;This is my test message&#39;,</font></div>
<div><font face="courier new, monospace">� � � � � � � � � � � � �properties={&#39;content_type&#39;: &#39;text/plain&#39;})</font></div>
</div><div><br></div><div>A simple consumer:</div><div><br></div><div><div><font face="courier new, monospace">� � &gt;&gt;&gt; with rabbitpy.consume(&#39;amqp://guest:guest@localhost:5672/%2f&#39;, &#39;test&#39;) as c:</font></div>
<div><font face="courier new, monospace">� � .. � �for message in c.next_message():</font></div><div><font face="courier new, monospace">� � ... � � � � print message.properties[&#39;message_id&#39;]</font></div>
<div><font face="courier new, monospace">� � ... � � � � print message.body</font></div><div><font face="courier new, monospace">� � ... � � � � message.ack()</font></div><div><font face="courier new, monospace">� � ...</font></div>
<div><font face="courier new, monospace">� � 856dfdc7-5ee3-4fc1-9635-977bf0043a9f</font></div><div><font face="courier new, monospace">� � {&quot;foo&quot;: &quot;bar&quot;}</font></div></div><div><br></div><div>And a more complete consumer example:</div>
<div><br></div><div><div>� � import rabbitpy</div><div><font face="courier new, monospace">� � with rabbitpy.Connection(&#39;amqp://guest:guest@localhost:5672/%2f&#39;) as conn:</font></div><div><font face="courier new, monospace">� � � � with conn.channel() as channel:</font></div>
<div><font face="courier new, monospace">� � � � � � queue = rabbitpy.Queue(channel, &#39;example&#39;)</font></div><div><font face="courier new, monospace">� � � � � � with queue.consumer() as consumer:</font></div><div>
<font face="courier new, monospace">� � � � � � � � for message in consumer.next_message():</font></div><div><font face="courier new, monospace">� � � � � � � � � � print(&#39;Message:&#39;)</font></div><div><font face="courier new, monospace">� � � � � � � � � � print</font><span style="font-family:&#39;courier new&#39;,monospace">(</span><span style="font-family:&#39;courier new&#39;,monospace">&#39; Time: %s&#39; % message.properties[&#39;timestamp&#39;])</span></div>
<div><font face="courier new, monospace">� � � � � � � � � � print</font><span style="font-family:&#39;courier new&#39;,monospace">(</span><span style="font-family:&#39;courier new&#39;,monospace">&#39; Body: %s&#39; % message.body)</span></div>
<div><font face="courier new, monospace">� � � � � � � � � � message.ack()</font></div></div><div><br></div><div><br></div><div><b>Development Status</b></div><div><br></div>
<div>This library is still considered experimental, but the API is set is not expected to change. Barring any bug-fix releases, the next version (0.6.0) will be move the library from alpha development status to beta. Testers are needed!�</div>

<div><br></div><div>Please report any bugs to�<a href="https://github.com/gmr/rabbitpy/issues" target="_blank">https://github.com/gmr/rabbitpy/issues</a></div><div><br></div><div>Regards,</div><div><br>Gavin</div></div>