aio-pika
Wrapper around the aiormq for asyncio and humans
Decision gist · record as of 2026-08-14
Yes. aio-pika is actively maintained, has no known vulnerabilities, installs with minimal friction, and is widely used (top 5000 PyPI packages). It's the right choice if you're building asyncio-based services that need RabbitMQ integration. The Apache-2.0 license is permissive for any use case. Only caveat: requires Python 3.11+, so check your project's minimum version.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.11 or later; a running RabbitMQ server is needed for actual message operations.
- Low friction: pure Python wheel with only two runtime dependencies (aiormq and yarl).
- Actively maintained with a recent release (36 days old) and consistent repository activity.
License · maintenance · safety
Apache-2.0 (permissive) — Apache-2.0 is permissive; you can use aio-pika in proprietary projects and modify it freely, with minimal obligations beyond attribution.
last release 2026-07-09 (36 days) · last repo commit 2026-07-09 · 1,471 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 6,065,468 downloads/mo, #1,975 on PyPI
Alternatives
Verify before relying
pip install aio-pika
import asyncio
import aio_pika
async def main():
connection = await aio_pika.connect_robust("amqp://guest:guest@127.0.0.1/")
channel = await connection.channel()
queue = await channel.declare_queue("test_queue")
await connection.close()
asyncio.run(main())- Performance characteristics under high message throughput or large cluster deployments.
- Specific reconnection behavior and recovery guarantees with connect_robust in edge cases.
- Compatibility with RabbitMQ versions beyond the AMQP 0.9.1 protocol it targets.
What it is and what it does
aio-pika is a Python library that wraps the lower-level aiormq AMQP client to provide a more developer-friendly, object-oriented interface for RabbitMQ messaging in asyncio applications. It handles the complexity of AMQP protocol details while exposing simple methods for declaring exchanges and queues, publishing messages, and consuming from queues. The library includes automatic reconnection with state recovery (via connect_robust), support for publisher confirms and transactions, and complete type hints for modern Python development.
You use aio-pika when you need to integrate RabbitMQ into an async Python service—whether as a message publisher, consumer, or both. It abstracts away protocol-level concerns so you can focus on business logic, and it's designed for Python 3.11+ with support for current and near-future Python versions. The two core dependencies (aiormq for the AMQP protocol implementation and yarl for URL parsing) are lightweight, making installation straightforward.
Use it for
- Build async microservices that publish and consume messages from a shared RabbitMQ broker.
- Implement task queues or job workers that process messages asynchronously from RabbitMQ.
- Create event-driven architectures where services communicate via RabbitMQ exchanges and queues.
- Handle message acknowledgment and publisher confirms for reliable message delivery patterns.
- Recover from connection failures automatically while preserving declared queues and bindings.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
aio-pika is actively maintained, has no known vulnerabilities, installs with minimal friction, and is widely used (top 5000 PyPI packages). It's the right choice if you're building asyncio-based services that need RabbitMQ integration. The Apache-2.0 license is permissive for any use case. Only caveat: requires Python 3.11+, so check your project's minimum version.
Install
aio-pika on PyPI
Before you install
Low friction: pure Python wheel with only two runtime dependencies (aiormq and yarl). Actively maintained with a recent release (36 days old) and consistent repository activity.
Requires Python 3.11 or later; a running RabbitMQ server is needed for actual message operations.
License in practice
Apache-2.0 is permissive; you can use aio-pika in proprietary projects and modify it freely, with minimal obligations beyond attribution.
Quickstart
pip install aio-pika
import asyncio
import aio_pika
async def main():
connection = await aio_pika.connect_robust("amqp://guest:guest@127.0.0.1/")
channel = await connection.channel()
queue = await channel.declare_queue("test_queue")
await connection.close()
asyncio.run(main())
Verify before relying
- Performance characteristics under high message throughput or large cluster deployments.
- Specific reconnection behavior and recovery guarantees with connect_robust in edge cases.
- Compatibility with RabbitMQ versions beyond the AMQP 0.9.1 protocol it targets.
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 packagesaiormqyarl |
| Maintenance | Actively maintained 36 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 6,065,468 / month, #1,975 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseNatural Language :: EnglishOperating System :: MacOSOperating System :: MicrosoftOperating System :: POSIXProgramming Language :: PythonProgramming Language :: Python :: 3Programming 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 :: LibrariesTyping :: Typed |
Evidence: aio_pika-10.0.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “amqp asyncio wrapper”
- aio-pikaaio-pika is an asyncio-based wrapper around aiormq that provides a…
- aiormqaiormq is a pure Python AMQP 0.9.1 client library for asynchronous…
- pikaPika is a pure-Python AMQP 0-9-1 client library for RabbitMQ that…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also aiormq · asyncsleepiq · pika · taskiq-aio-pika · opentelemetry-instrumentation-aio-pika · pyrabbit2 · pamqp · opentelemetry-instrumentation-pika · amqp · pika-stubs