Thread-safe Python RabbitMQ Client & Management library.
AMQPStorm is a library designed to be consistent, stable and thread-safe.
- 100% Unit-test Coverage!
- Supports Python 2.6, 2.7 and Python 3.3+.
- Fully tested against Python Implementations; CPython, PyPy and Pyston.
- When using a SSL connection, TLSv1 or higher is required.
Additional documentation is available on amqpstorm.io.
- Fixed potential Channel leak [#36] - Thanks Adam Mills.
- Fixed threading losing select module during python shutdown [#37] - Thanks Adam Mills.
- Connection.close should now be more responsive.
- Channels are now reset when re-opening an existing connection.
- Re-wrote large portions of the Test suit.
- Added parameter to override auto-decode on incoming Messages - Thanks Travis Griggs.
- Fixed a rare bug that could cause the consumer to get stuck if the connection unexpectedly dies - Thanks Connor Wolf.
- Fixed a potential recursion error in Connection.close.
- Reduced default TCP Timeout from 30s to 10s.
- Connection Open/Close timeout is now three times the value of TCP Timeout.
- Connection will now wait for a response from the remote server before closing.
- [Experimental] Added support for the RabbitMQ Management Api.
- Connection/Channel function check_for_errors now behave more consistently.
- Messages are now delivered as Message objects by default.
to_tuple and to_dict are now set to False by default.
This is a breaking change that affects the following function:
- channel.process_data_events
- channel.start_consuming
- channel.basic.get
Special thanks to gmr (Gavin M. Roy) for creating pamqp, and in addition amqpstorm is heavily influenced by his pika and rabbitpy libraries.