[rabbitmq-discuss] Pika 0.9.1a Released

Gavin M. Roy gmr at myyearbook.com
Mon Feb 7 00:32:06 GMT 2011

This release represents a substantial refactor of the Pika code base to make
it asynchronous at the core. As such, this release is tagged as alpha and I
am encouraging those familiar with Pika to download this and test it in
their environment and provide feedback. Special thanks go to Tony for the
direction and support, Brian Jones and Chris Hager for code review and to
Marek Majkowski for the improvements to table encoding and decoding.

It has been tested against Python 2.4.4, Python 2.5.4, Python 2.6.1+ and all
versions of RabbitMQ from 2.0 forward.

Users are highly encouraged to review the documentation at

Major Changes since 0.5.2:

 * Pika has been restructured and made to be fully asynchronous at its core
and now supports AMQP 0-9-1 only (RabbitMQ 2.0+)
 * There are many method definition changes, class name changes and module
 * Asynchronous AMQP commands now take a callback parameter for notification
of completion
 * AMQP commands that are specified as synchronous now buffer other calls on
the same channel, sending them when the synchronous commands send their
response frame
 * SelectConnection is now the recommended connection adapter and shows
better performance than the AsyncoreConnection. SelectConnection implements
select, poll, epoll and kqueue for event handling
 * TornadoConnection adds a connection adapter for the Tornado IOLoop
 * Client channel flow control has been removed
 * Support for additional AMQP data types have been added
 * More extensive unit and functional tests added
 * Extensive use of logging at the DEBUG level allows for tracing of all
internal activity in Pika and all frames sent to and from RabbitMQ
 * Emphasis on code readability and well commented code through-out

Internal changes since 0.5.2:

 * Low level debug logging demonstrates client behavior and can be toggled
   pika.log.DEBUG boolean value.
 * Classes now implement new style classes
 * Major restructuring of existing modules and classes
 * Universal callback mechanism added, removing events and other callback
 * Added BaseConenction which extends Connection and builds in default
   for asynchronous connection adapters.
 * Abstracted content frame handling to its own class,
 * ConnectionState class moved from codec to connection
 * Frame class definitions moved from codec to frames
 * Reconnection strategies moved into own module
 * Global callback manager implemented
 * HeartbeatChecker moved to own module
 * PlainCredentials moved to credentials module for extensibility
 * AsyncoreConnection rewritten to align with BaseConnection
 * BlockingConnection rewritten to extend BaseConnection and added
BlockingChannel and BlockingChannelTransport
 * PEP8ification and use more pythonic idioms for areas as appropriate

Installation is available via pypi and directly from source.

Please use the issue tracker at https://github.com/tonyg/pika/issues for any
issues you may encounter and feel free to contact me directly or on list
with any questions or comments.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20110206/c70e4083/attachment.htm>

More information about the rabbitmq-discuss mailing list