Thread-safe Python RabbitMQ Client & Management library.
|Version| |CodeClimate| |Travis| |Coverage|
AMQPStorm is a library designed to be consistent, stable and thread-safe.
- 100% Test Coverage!
- Supports Python 2.7 and Python 3.3+.
- Fully tested against Python Implementations; CPython and PyPy.
Additional documentation is available on
- Fixed pip sdist circular dependency [#88] - Thanks Jay Hogg.
- Fixed basic.consume argument type in documentation [#86] - Thanks TechmarkDavid.
- Retry on SSLWantReadErrors [#82] - Thanks Bernhard Thiel.
- Added getter/setter methods for Message properties expiration, message_type and user_id [#86] - Thanks Jay Hogg.
- Cleaned up documentation.
- Introduced a new channel function called check_for_exceptions.
- Fixed issue where publish was successful but raises an error because connection was closed [#80] - Thanks Pavol Plaskoň.
- Updated SSL handling to use the non-deprecated way of creating a SSL Connection [#79] - Thanks Carl Hörberg from CloudAMQP.
- Enabled SNI for SSL connections by default [#79] - Thanks Carl Hörberg from CloudAMQP.
- Added ability to override client_properties [#77] - Thanks tkram01.
- Fixed Connection close taking longer than intended when using SSL [#75]- Thanks troglas.
- Fixed an issue with closing Channels taking too long after the server initiated it.
- Added support for passing your own ssl context [#71] - Thanks troglas.
- Improved logging verbosity on connection failures [#72] - Thanks troglas.
- Fixed occasional error message when closing a SSL connection [#68] - Thanks troglas.
- Set default TCP Timeout to 10s on UriConnection to match Connection [#67] - Thanks josemonteiro.
- Internal RPC Timeout for Opening and Closing Connections are now set to a fixed 30s [#67] - Thanks josemonteiro.
- Fixed minor issue with the last channel id not being available.
- Re-use closed channel ids [#55] - Thanks mikemrm.
- Changed Poller Timeout to be a constant.
- Improved Connection Close performance.
- Channels is now a publicly available variable in Connections.
- Upgraded pamqp to v2.0.0.
- Properly wait until the inbound queue is empty when break_on_empty is set [#63] - Thanks TomGudman.
- Fixed issue with Management queue/exchange declare when the passive flag was set to True.
Special thanks to gmr (Gavin M. Roy) for creating pamqp, and in addition amqpstorm is heavily influenced by his pika and rabbitpy libraries.
.. |Version| image:: https://badge.fury.io/py/AMQPStorm.svg
.. |CodeClimate| image:: https://codeclimate.com/github/eandersson/amqpstorm/badges/gpa.svg
.. |Travis| image:: https://travis-ci.org/eandersson/amqpstorm.svg
.. |Coverage| image:: https://codecov.io/gh/eandersson/amqpstorm/branch/master/graph/badge.svg