Asyncio-native rewrite of Kombu, the well-established messaging library behind Celery. This is the messaging layer for celery-asyncio.
This project is exploratory. It is not affiliated with or endorsed by the Celery project. If you're looking for the official production-ready messaging library, use the original Kombu with or without Celery.
This package exists as a standalone library for compatibility with packages that import from kombu directly (e.g. Celery Flower). Long-term it will probably be merged into celery-asyncio.
- Ground-up asyncio rewrite, all operations are
async/await, no sync API - Transports: Valkey/Redis, AMQP (via aio-pika), Memory, Filesystem
- Exchange types: direct, fanout, topic (emulated on Valkey/Redis)
- Not a drop-in replacement for Kombu, this is a completely breaking change from the original
| Kombu | kombu-asyncio |
|---|---|
with Connection() as conn: |
async with Connection() as conn: |
conn.drain_events() |
await conn.drain_events() |
producer.publish(...) |
await producer.publish(...) |
message.ack() |
await message.ack() |
| Sync API | Async only |
- Python 3.14+
- valkey-py 6.1+ or redis-py 7.1+ (Valkey/Redis transport)
- aio-pika 9+ (AMQP transport, optional)
This project is an asyncio rewrite of Kombu by Ask Solem & contributors. The utility modules (kombu/utils/, kombu/clocks.py, kombu/compression.py, kombu/log.py, kombu/matcher.py, kombu/serialization.py, kombu/exceptions.py) are largely carried over from the original with minor modernization. The transport layer and core messaging/connection modules were written from scratch for asyncio. Files containing substantial original Kombu code are marked with a header comment.
BSD-3-Clause (same as Kombu)