CoolAMQP
A magical AMQP client, that uses heavy sorcery to achieve speeds that other AMQP clients cannot even hope to match.
Documentation (WIP) is available at Read the Docs.
tl;dr - this is machine-generated compile-time. this generates classes run-time, and there are memoryviews everywhere.
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.
Enjoy!
Watch out for memoryviews! They're here to stay.
Short'n'sweet contributing guide Change log
Notes
Assertions are sprinkled throughout the code. You may wish to run with optimizations enabled if you need every CPU cycle you can get.
Current limitations
- channel flow mechanism is not supported (#11)
- confirm=True is not available if you're not RabbitMQ (#8)
- no Windows support (#9)
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.
Compiling definitions.py
Make sure that you have yapf
installed, then perform:
python compile_definitions.py
and you're all set. The only files modified is definitions.py.