pamqp
RabbitMQ Focused AMQP low-level library
What it is and what it does
pamqp is a low-level AMQP 0-9-1 frame marshaling library designed for use by higher-level client libraries like aio-pika, aioamqp, and aiormq rather than for direct end-user application code. It handles the serialization and deserialization of AMQP protocol frames, supporting all standard AMQP data types, field tables, arrays, and RabbitMQ-specific extensions.
The library is production-stable with full type annotations verified by mypy and basedpyright, carries no runtime dependencies, and supports current Python versions (3.11+). It sits in the protocol layer between application code and the network, making it essential infrastructure for any library that needs to speak AMQP to RabbitMQ or compatible brokers.
Use it for:
- Building a custom AMQP client library that needs to encode and decode protocol frames without implementing the spec yourself.
- Extending or wrapping existing AMQP client libraries (aio-pika, aiormq) with custom frame handling or protocol inspection.
- Implementing AMQP protocol testing, mocking, or debugging tools that need to work with raw frames.
- Creating message queue middleware or proxies that intercept and transform AMQP traffic.
- Integrating RabbitMQ communication into systems where existing client libraries don't fit the architecture.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
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.
Yes, if you are building or extending an AMQP client library or protocol tool. No, if you are writing application code that talks to RabbitMQ—use a higher-level client library instead. The package is stable, actively maintained, has no dependencies, and is already trusted by established libraries in the ecosystem.
Install
pamqp on PyPI
pip
pip install pamqpuv
uv add pamqppoetry
poetry add pamqpInstalling pamqp
Before you install
Low friction install with no runtime dependencies. Actively maintained with a recent release (39 days ago) and current commit activity.
License in practice
BSD-3-Clause permissive license allows commercial and private use with minimal restrictions.
Quickstart
pip install pamqp
import pamqp.frame
import pamqp.specification
# Encode a frame
frame = pamqp.frame.Frame(pamqp.specification.Connection.Start())
encoded = frame.marshal()
Requires Python 3.11 or later.
Verify before relying
- Whether the package's RabbitMQ extensions (Connection.Blocked, Connection.Unblocked) cover all common use cases or if additional extension support may be needed.
- Performance characteristics and throughput limits for frame encoding/decoding at scale.
Package facts
| License | BSD-3-Clause (permissive) |
| Python support | supports the current Python release (>=3.11) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 39 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 6,493,682/month — #1,901 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pamqp-4.0.1-py3-none-any.whl
Keywords: amqp, rabbitmq
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
aiormqaiormq is a pure Python AMQP 0.9.1 client…
permissive · top 5,000 on PyPI
pikaPika is a pure-Python AMQP 0-9-1 client library…
permissive · top 5,000 on PyPI
amqpPure-Python AMQP 0.9.1 client library for…
permissive · top 1,000 on PyPI
AMQPStormA thread-safe Python 3 client library for…
permissive · top 15,000 on PyPI
aio-pikaaio-pika is an asyncio-based wrapper around…
permissive · top 5,000 on PyPI
pyrabbit2Pyrabbit2 provides a Python interface to the…
permissive · top 15,000 on PyPI
hyperframehyperframe decodes binary HTTP/2 frame streams…
permissive · top 1,000 on PyPI
fedora-messagingProvides tools and APIs for publishing and…
copyleft · top 15,000 on PyPI
python-qpid-protonProvides Python bindings to Qpid Proton, an…
permissive · top 15,000 on PyPI
kombuKombu is a messaging library that provides a…
permissive · top 1,000 on PyPI