Skip to main content

Python AMQP Client Library developed in Rust using PyO3.

Project description

amqp-rs

License Package version Supported Python versions

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 tokio and pyo3-asyncio for 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, and lz4 encoding.
  • 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 as host, port, username, password, and virtual_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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

amqp_rs-0.1.0.post2-cp38-cp38-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.8Windows x86-64

amqp_rs-0.1.0.post2-cp38-cp38-musllinux_1_2_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ x86-64

amqp_rs-0.1.0.post2-cp38-cp38-musllinux_1_2_aarch64.whl (2.2 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ ARM64

amqp_rs-0.1.0.post2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

amqp_rs-0.1.0.post2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.2 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

amqp_rs-0.1.0.post2-cp38-cp38-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

amqp_rs-0.1.0.post2-cp38-cp38-macosx_10_12_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.8macOS 10.12+ x86-64

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

Hashes for amqp_rs-0.1.0.post2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 b6b3c7c42bdf6a091bc9ff6cd43bba2d55352cbdbcbc12893d88276eb4d5abc3
MD5 49ad7c7ba1233887a2e39d2adb3b40d0
BLAKE2b-256 a4eeb94d88d2b632b34e19ddd02d4b8896272a773e0f06a95a6ddfee318ce20b

See more details on using hashes here.

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

Hashes for amqp_rs-0.1.0.post2-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 28cf5f1f3bd2c81a422c664faf68be8969e7368db8e0199b91012f21dabbadd1
MD5 75c3eaf6c44e95d49ac847597d009aa5
BLAKE2b-256 13ea35b5169326469867c845bf7fe268d534f98e90b10d329f13794fd2cc8ef0

See more details on using hashes here.

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

Hashes for amqp_rs-0.1.0.post2-cp38-cp38-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e58690fefcfd76510938efaecd9b086fb0623ba739f8f87857385228e37198c1
MD5 2e14c7f70da6e1d81dc2f55f53dfc6f0
BLAKE2b-256 e7c08a9cdd66709922ecb8b89c75ffe3b2d955ac8fb2285c9a23afb01a83f714

See more details on using hashes here.

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

Hashes for amqp_rs-0.1.0.post2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0a39dcdc8803dec9d7a7a8972efa8c5e3a5e57a04bf398c3cd8e1c2e53476016
MD5 6749a711ce33538e23d7201df9d159b2
BLAKE2b-256 348fa4e9be81079deb4eb8f6c0eccc43f9a2250b5a778f948cb93648ef6868c1

See more details on using hashes here.

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

Hashes for amqp_rs-0.1.0.post2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6425a0314d94132c96d7ed6468e3f6c3b67d3126a3f98052db3609a3d4760d35
MD5 d8b1bbe02e7909e2d27aaaba1b6968c1
BLAKE2b-256 0bdaa2a3129e36716a4fec97eb0fbd16d8c8fe84bd04a92fdb24a63bd3446e8a

See more details on using hashes here.

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

Hashes for amqp_rs-0.1.0.post2-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 307fad96e58e5f1fe67720c7b5da111726e03259f993772b8a45f90bf25954fd
MD5 8b0e351e94e25a645c3109c1f55233bf
BLAKE2b-256 3f688ddac2b37e040d1ba79b67d26e659dc0754261057e341cd8407b9cbb5f50

See more details on using hashes here.

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

Hashes for amqp_rs-0.1.0.post2-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 df611eb5e39bc59dace52c5ca1166ff764898a2014b58fbbb24e8fe6f4800826
MD5 71b374b36273e49b2c73525cea7bf6fa
BLAKE2b-256 4a820eebd2915a1a854a5b51d2377e921cdf83fcd23b25d006406302481d6684

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page