amqp
Low-level AMQP client for Python (fork of amqplib).
Decision gist · record as of 2026-08-14
Yes. The package is production-stable, actively maintained, has no known vulnerabilities, and installs with minimal friction. It is the standard choice for Python applications needing direct AMQP protocol access, particularly as a Celery or kombu backend. Install it when you need to connect to RabbitMQ or other AMQP brokers from Python.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low friction installation with a single pure-Python runtime dependency (vine).
- Active maintenance with recent commits and no known vulnerabilities.
License · maintenance · safety
BSD (permissive) — BSD permissive license allows commercial and private use with minimal restrictions.
last release 2024-11-12 (640 days) · last repo commit 2026-07-04 · 316 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 53,922,695 downloads/mo, #548 on PyPI
Alternatives
Verify before relying
import amqp
with amqp.Connection('broker.example.com') as c:
ch = c.channel()
ch.basic_publish(amqp.Message('Hello World'), routing_key='test')- Whether Cython speedups (enabled via CELERY_ENABLE_SPEEDUPS environment variable) provide meaningful performance gains for typical workloads
- Compatibility guarantees with specific RabbitMQ versions beyond 3.2.0
What it is and what it does
amqp is a low-level AMQP 0.9.1 client library maintained by the Celery project as a pure-Python alternative to the C-based librabbitmq. It provides direct protocol-level access to AMQP brokers like RabbitMQ, handling connection management, channel creation, message publishing and consumption, and broker-specific extensions like publisher confirms and heartbeats.
The library is designed for applications that need direct AMQP control rather than higher-level abstractions. It's commonly used as the backend for kombu (a messaging abstraction layer) and is a core dependency of Celery's distributed task queue. It supports multiple channels per connection, event draining, timeout handling, and RabbitMQ extensions including consumer cancel notifications, publisher confirms, and authentication failure notifications.
Use it for
- Publishing messages to RabbitMQ queues from Python applications with publisher confirms enabled
- Consuming messages from RabbitMQ with manual acknowledgment control per message
- Building message-driven microservices that require direct AMQP protocol access
- Integrating with Celery for distributed task execution across worker processes
- Implementing custom message routing and exchange bindings with RabbitMQ
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The package is production-stable, actively maintained, has no known vulnerabilities, and installs with minimal friction. It is the standard choice for Python applications needing direct AMQP protocol access, particularly as a Celery or kombu backend. Install it when you need to connect to RabbitMQ or other AMQP brokers from Python.
Install
amqp on PyPI
Before you install
Low friction installation with a single pure-Python runtime dependency (vine). Active maintenance with recent commits and no known vulnerabilities.
License in practice
BSD permissive license allows commercial and private use with minimal restrictions.
Quickstart
import amqp
with amqp.Connection('broker.example.com') as c:
ch = c.channel()
ch.basic_publish(amqp.Message('Hello World'), routing_key='test')
Verify before relying
- Whether Cython speedups (enabled via CELERY_ENABLE_SPEEDUPS environment variable) provide meaningful performance gains for typical workloads
- Compatibility guarantees with specific RabbitMQ versions beyond 3.2.0
Package facts
| License | BSD permissive |
| Python support | Supports the current Python release >=3.6 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagevine |
| Maintenance | Actively maintained 640 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 53,922,695 / month, #548 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPy |
Evidence: amqp-5.3.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 client library python”
- amqpPure-Python AMQP 0.9.1 client library for connecting to message…
- pamqppamqp encodes and decodes AMQP 0-9-1 protocol frames for use by…
- uamqpuAMQP is an AMQP 1.0 client library for Python that enables…
Give your agent the search over MCP, or paste the wish link into any chat.
Similar packages
aiormq is a pure Python AMQP 0.9.1 client library for asynchronous message queue operations over RabbitMQ and compatible brokers.
Install it if you need to integrate RabbitMQ or another AMQP broker into an asyncio application.
Kombu is a messaging library that provides a high-level Python interface to AMQP and other message brokers, supporting pluggable transports for RabbitMQ, Redis, MongoDB, Amazon SQS, and others.
Install it if you are building any distributed system that requires reliable message passing.
A thread-safe Python 3 client library for RabbitMQ that handles AMQP protocol communication and provides management capabilities.
Pika is a pure-Python AMQP 0-9-1 client library for RabbitMQ that enables you to publish and consume messages over AMQP connections.
Install it if you need to communicate with RabbitMQ.
pamqp encodes and decodes AMQP 0-9-1 protocol frames for use by client libraries communicating with RabbitMQ, with no runtime dependencies and full type annotations.
A Python client library for connecting to STOMP messaging servers (ActiveMQ, RabbitMQ, Artemis) and sending or receiving messages using the STOMP protocol.
Install it if you need to communicate with a STOMP message broker.
See also fedora-messaging · python-qpid-proton · pyrabbit2 · aio-pika