aiormq
Pure python AMQP asynchronous client library
What it is and what it does
aiormq provides an async-native interface to AMQP 0.9.1 message brokers, primarily RabbitMQ. It handles the low-level frame encoding/decoding through pamqp and URL parsing through yarl, letting you declare queues, publish messages, consume from queues, and manage transactions and publisher confirms using Python's asyncio. The library supports SSL/TLS connections, PLAIN authentication, and channel-based asynchronous locks to serialize frame types where AMQP 0.9.1 requires it.
You use it by connecting to a broker, creating channels, then publishing or consuming messages within async functions. It's suitable for building async applications that need reliable message delivery—task queues, pub/sub systems, work distribution—without blocking the event loop. The library is production-stable (5.x and later), supports current Python versions (3.11+), and has no known security vulnerabilities.
Use it for:
- Build async task queue workers that consume from RabbitMQ without blocking the event loop.
- Implement pub/sub systems where multiple subscribers listen to fanout exchanges asynchronously.
- Create async message publishers that send work items to a broker for distributed processing.
- Handle transactional message delivery with publisher confirms and acknowledgments.
- Integrate RabbitMQ into async web frameworks or microservices for event-driven communication.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
aiormq is a pure Python AMQP 0.9.1 client library for asynchronous message queue operations over RabbitMQ and compatible brokers.
Yes. aiormq is actively maintained, has low install friction, carries a permissive license, and is the standard async AMQP client for Python. Install it if you need to integrate RabbitMQ or another AMQP broker into an asyncio application. The only prerequisite is a running broker; no system libraries are required.
Install
aiormq on PyPI
pip
pip install aiormquv
uv add aiormqpoetry
poetry add aiormqInstalling aiormq
Before you install
Low install friction with only two runtime dependencies (pamqp and yarl). Actively maintained with recent releases; repository is not archived and shows steady engagement.
License in practice
Licensed under Apache-2.0 (permissive), allowing use in commercial and proprietary projects with minimal restrictions.
Quickstart
import asyncio
import aiormq
async def main():
connection = await aiormq.connect("amqp://guest:guest@localhost/")
channel = await connection.channel()
await channel.basic_publish(b'Hello', routing_key='queue_name')
asyncio.run(main())
Requires a running AMQP broker (RabbitMQ or compatible) accessible at the connection URL.
Verify before relying
- Performance characteristics and throughput limits under high message volume
- Compatibility with AMQP brokers other than RabbitMQ
- Behavior and recovery mechanisms for network failures or broker disconnections
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (<4,>=3.11) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — pamqp, yarl |
| Maintenance | actively maintained — 36 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 6,362,625/month — #1,922 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: aiormq-7.0.0-py3-none-any.whl
Keywords: rabbitmq, asyncio, amqp, amqp 0.9.1, driver, pamqp
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
aio-pikaaio-pika is an asyncio-based wrapper around…
permissive · top 5,000 on PyPI
amqpPure-Python AMQP 0.9.1 client library for…
permissive · top 1,000 on PyPI
pamqppamqp encodes and decodes AMQP 0-9-1 protocol…
permissive · top 5,000 on PyPI
qemu.qmpA Python asyncio library for sending QMP (QEMU…
copyleft · top 15,000 on PyPI
uamqpuAMQP is an AMQP 1.0 client library for Python…
permissive · top 5,000 on PyPI
pikaPika is a pure-Python AMQP 0-9-1 client library…
permissive · top 5,000 on PyPI
AMQPStormA thread-safe Python 3 client library for…
permissive · top 15,000 on PyPI
kombuKombu is a messaging library that provides a…
permissive · top 1,000 on PyPI
aiochannelProvides asyncio-compatible channels (closable…
permissive · top 15,000 on PyPI
python-qpid-protonProvides Python bindings to Qpid Proton, an…
permissive · top 15,000 on PyPI