Very fast pure-Python AMQP client
A magical AMQP 0.9.1 client, that uses heavy sorcery to achieve speeds that other pure-Python AMQP clients cannot even hope to match. Additionally, it's traceable using opentracing.
Documentation (WIP) is available at Read the Docs.
CoolAMQP uses semantic versioning 2.0.
This is borderline absurd.
CoolAMQP is not a direct AMQP client - it also handles reconnections, transactional sending, and so on, mostly via Futures. This means it has a certain opinion on how to handle AMQP, but you can feel the spirit of AMQP underneath. API is stable.
The project is actively maintained and used in a commercial project. Tests can run either on Vagrant (Vagrantfile attached) or Travis CI, and run against RabbitMQ.
CoolAMQP won't touch your messages. It's your bags o'bytes, and your properties.
Watch out for memoryviews! They're here to stay.
Assertions are sprinkled throughout the code. You may wish to run with optimizations enabled if you need every CPU cycle you can get.
Note that if you define the environment variable of
CoolAMQP will use select-based networking instead of epoll based.
- channel flow mechanism is not supported (#11)
- confirm=True is not available if you're not RabbitMQ (#8)
Copyright holder change
Since SMOK sp. z o.o. was incorporated, it inherited all SMOK-related IP of previous operator of the service, DMS Serwis s.c., which continues to operate within it's designated company agreement. From there stems the copyright holder name change.
What is here
The core module
A series of stress tests to catch any race conditions
A series of unit tests that need an AMQP server listening.
In order to compile the definitions:
- Make sure that you have
- then perform:
python -m compile_definitions
and you're all set. The only files modified is definitions.py.
A downloaded from OASIS machine-readable AMQP 0.9.1 specification.
Sources for the documentation, available here.
Running unit tests
Unit tests are powered by nose. They require an available AMQP broker. If you host the broker other than localhost, set the env AMQP_HOST to correct value. The default username used is guest, and password is guest.
You can also run unit tests from Docker, if you wish so. To launch the unit test suite:
docker-compose up unittest
To launch the stress test suite
docker-compose up stress_tests
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size CoolAMQP-1.2.11-py2.py3-none-any.whl (94.8 kB)||File type Wheel||Python version py2.py3||Upload date||Hashes View|
|Filename, size CoolAMQP-1.2.11-py3.8.egg (92.4 kB)||File type Egg||Python version 3.8||Upload date||Hashes View|
|Filename, size CoolAMQP-1.2.11.win-amd64.zip (218.9 kB)||File type Source||Python version None||Upload date||Hashes View|
Hashes for CoolAMQP-1.2.11-py2.py3-none-any.whl