skillfed

aiormq

Pure python AMQP asynchronous client library

aiormq v7.0.0 6.4M downloads/30d#1,922 on PyPI317
Permissive license Apache-2.0 Active released

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 aiormq

uv

uv add aiormq

poetry

poetry add aiormq

Installing 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

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseNatural Language :: EnglishOperating System :: MacOSOperating System :: MicrosoftOperating System :: POSIXProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: InternetTopic :: Software DevelopmentTopic :: Software Development :: LibrariesTopic :: System :: Clustering

Tags

amqp client asynciorabbitmq async pythonmessage queue consumer produceramqp 0.9.1 libraryasync message brokerrabbitmq driver pythonasyncio amqp client
message-queueamqp-clientrabbitmq

More Software Development packages