Skip to content

oliverhaas/kombu-asyncio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3,909 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

kombu-asyncio

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.

Overview

  • 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

Key differences from Kombu

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

Requirements

  • Python 3.14+
  • valkey-py 6.1+ or redis-py 7.1+ (Valkey/Redis transport)
  • aio-pika 9+ (AMQP transport, optional)

Attribution

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.

License

BSD-3-Clause (same as Kombu)

About

Kombu rewritten for asyncio — messaging library for celery-asyncio

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors