I have just released version 0.8.0 of RbFly. It is a library for RabbitMQ
Streams using Python asyncio
https://wrobell.dcmod.org/rbfly/ https://wrobell.dcmod.org/rbfly/changelog.html#ver-0-8-0RbFly 0.8.0 adds support for TLS connections to RabbitMQ Streams broker,
improves batch publishers, fixes various bugs, and improves the
documentation.
The documentation for this release contains new performance test - speed of
encoding and decoding of AMQP 1.0 messages with RbFly's codec compared to
uAMQP and Qpid Proton AMQP 1.0 codecs. At the moment, RbFly's AMQP 1.0 codec
can be 37 times faster for the testing scenario described in the report.
Please note that RbFly's AMQP 1.0 codec, while not far from finished, still
misses some features of the standard.
The library is designed and implemented with the following qualities in mind
1. Simple, flexible, and asynchronous Pythonic API with type annotations.
2. Use of AMQP 1.0 message format to enable interoperability between clients.
3. Performance by implementing critical sections of code using Cython, avoiding copying of data, and testing.
4. Auto reconnection to RabbitMQ broker with lazily created connection objects.
RabbitMQ Streams features supported
1. Publishing single messages, or in batches, with confirmation.
2. Subscribing to a stream at a specific point in time, from a specific offset, or using offset reference.
3. Writing stream offset reference.
4. Message deduplication.
5. Integration with AMQP 1.0 ecosystem at message format level.