Python AMQP Client Library developed in Rust using PyO3.
Project description
amqp-rs
amqp-rs is a Python client library with a high level of abstraction for manipulating messages in RabbitMQ.
What is "amqprs"
It is a Python extension developed in Rust using PyO3. It acts as a wrapper for the amqp-client-rust library, inheriting its performance, stability, and asynchronous capabilities.
Features
- Thread Safe: Built on Rust's memory safety guarantees.
- Asynchronous API: Powered by
tokioandpyo3-asynciofor high-performance I/O. - Automatic Management: Handles the creation and management of queues, exchanges, and channels automatically.
- Persistence: Built-in connection persistence and automatic reconnection.
- Flexible Exchanges: Full support for direct, topic, and fanout exchange types.
- RPC Support: Native abstractions for Remote Procedure Calls (RPC).
- Compression: Built-in support for
zstd,zlib, andlz4encoding. - TLS/SSL: Robust encryption support including mutual TLS (client authentication).
- Graceful Shutdown: Ability to stop consumers cleanly and process remaining messages before closing.
Installation
You can install amqp-rs directly from PyPI using uv or pip:
uv add amqp-rs
Configuration
The library uses specialized objects to manage connection behavior and Quality of Service (QoS):
Connection Settings
-
ConfigOptions: Defines primary queue names and RPC exchange/queue settings. -
Config: Contains connection parameters such ashost,port,username,password, andvirtual_host.
QoS and Confirmations (QoSConfig)
You can fine-tune performance and reliability using QoSConfig:
-
Confirmations: Enable or disable publisher confirmations for standard publishing or RPC (
pub_confirm,rpc_client_confirm,rpc_server_confirm). -
Acknowledge: Set automatic acknowledgement for subscriptions or RPC handlers (
sub_auto_ack,rpc_server_auto_ack). -
Prefetch: Control the flow by setting prefetch counts for different connection types to manage how many unacknowledged messages the client can hold.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file amqp_rs-0.1.0.post2-cp38-cp38-win_amd64.whl.
File metadata
- Download URL: amqp_rs-0.1.0.post2-cp38-cp38-win_amd64.whl
- Upload date:
- Size: 2.0 MB
- Tags: CPython 3.8, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Pop!_OS","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b6b3c7c42bdf6a091bc9ff6cd43bba2d55352cbdbcbc12893d88276eb4d5abc3
|
|
| MD5 |
49ad7c7ba1233887a2e39d2adb3b40d0
|
|
| BLAKE2b-256 |
a4eeb94d88d2b632b34e19ddd02d4b8896272a773e0f06a95a6ddfee318ce20b
|
File details
Details for the file amqp_rs-0.1.0.post2-cp38-cp38-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: amqp_rs-0.1.0.post2-cp38-cp38-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 2.4 MB
- Tags: CPython 3.8, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Pop!_OS","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
28cf5f1f3bd2c81a422c664faf68be8969e7368db8e0199b91012f21dabbadd1
|
|
| MD5 |
75c3eaf6c44e95d49ac847597d009aa5
|
|
| BLAKE2b-256 |
13ea35b5169326469867c845bf7fe268d534f98e90b10d329f13794fd2cc8ef0
|
File details
Details for the file amqp_rs-0.1.0.post2-cp38-cp38-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: amqp_rs-0.1.0.post2-cp38-cp38-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 2.2 MB
- Tags: CPython 3.8, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Pop!_OS","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e58690fefcfd76510938efaecd9b086fb0623ba739f8f87857385228e37198c1
|
|
| MD5 |
2e14c7f70da6e1d81dc2f55f53dfc6f0
|
|
| BLAKE2b-256 |
e7c08a9cdd66709922ecb8b89c75ffe3b2d955ac8fb2285c9a23afb01a83f714
|
File details
Details for the file amqp_rs-0.1.0.post2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: amqp_rs-0.1.0.post2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 2.4 MB
- Tags: CPython 3.8, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Pop!_OS","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a39dcdc8803dec9d7a7a8972efa8c5e3a5e57a04bf398c3cd8e1c2e53476016
|
|
| MD5 |
6749a711ce33538e23d7201df9d159b2
|
|
| BLAKE2b-256 |
348fa4e9be81079deb4eb8f6c0eccc43f9a2250b5a778f948cb93648ef6868c1
|
File details
Details for the file amqp_rs-0.1.0.post2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: amqp_rs-0.1.0.post2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 2.2 MB
- Tags: CPython 3.8, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Pop!_OS","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6425a0314d94132c96d7ed6468e3f6c3b67d3126a3f98052db3609a3d4760d35
|
|
| MD5 |
d8b1bbe02e7909e2d27aaaba1b6968c1
|
|
| BLAKE2b-256 |
0bdaa2a3129e36716a4fec97eb0fbd16d8c8fe84bd04a92fdb24a63bd3446e8a
|
File details
Details for the file amqp_rs-0.1.0.post2-cp38-cp38-macosx_11_0_arm64.whl.
File metadata
- Download URL: amqp_rs-0.1.0.post2-cp38-cp38-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.4 MB
- Tags: CPython 3.8, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Pop!_OS","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
307fad96e58e5f1fe67720c7b5da111726e03259f993772b8a45f90bf25954fd
|
|
| MD5 |
8b0e351e94e25a645c3109c1f55233bf
|
|
| BLAKE2b-256 |
3f688ddac2b37e040d1ba79b67d26e659dc0754261057e341cd8407b9cbb5f50
|
File details
Details for the file amqp_rs-0.1.0.post2-cp38-cp38-macosx_10_12_x86_64.whl.
File metadata
- Download URL: amqp_rs-0.1.0.post2-cp38-cp38-macosx_10_12_x86_64.whl
- Upload date:
- Size: 1.6 MB
- Tags: CPython 3.8, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Pop!_OS","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
df611eb5e39bc59dace52c5ca1166ff764898a2014b58fbbb24e8fe6f4800826
|
|
| MD5 |
71b374b36273e49b2c73525cea7bf6fa
|
|
| BLAKE2b-256 |
4a820eebd2915a1a854a5b51d2377e921cdf83fcd23b25d006406302481d6684
|