[rabbitmq-discuss] Introducing PUKA, the opinionated RabbitMQ python client
Marek Majkowski
majek04 at gmail.com
Mon Dec 13 17:58:44 GMT 2010
Hi,
I'm not a fan of the API's exposed by various RabbitMQ clients
and I've been experimenting on how to fix it.
The result took a form of yet-another Python AMQP library - Puka.
The major features include:
- channels are completely removed from the public API
- sane handling of AMQP errors (ie: your whole connection shouldn't
blow away if you make a mistake in a single place)
- the API is fully asynchronous (should be easy to plug it into Tornado)
- the framing is reasonably optimized
- basic_publish can behave like a 'synchronous' method, ie: it's
possible to make sure the message wasn't lost when transferring
over the network.
You can grab the sources here:
https://github.com/majek/puka
Unfinished API reference here:
http://majek.github.com/puka/puka.html
Some examples:
1) basic examples
https://github.com/majek/puka/tree/master/examples
2) code from tutorials using Puka:
https://github.com/majek/rabbitmq-tutorials/tree/puka/python-puka
3) some early attempts to integrate Puka with TornadoWeb:
https://github.com/majek/tornadopuka
Comments are warmly welcomed!
Cheers,
Marek Majkowski
More information about the rabbitmq-discuss
mailing list