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-python 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.post1-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.post1-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.post1-cp38-cp38-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

amqp_rs-0.1.0.post1-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.post1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: amqp_rs-0.1.0.post1-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.post1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c0135927d9c6ab781e882035b53945041bc9fca1d8b00972ddccd496a283db7d
MD5 adb1f51a185249b34c25a6229e36b34d
BLAKE2b-256 01dbfd5a67c62e19a02117c92e4871c0a966c03022a877627194135de978b5da

See more details on using hashes here.

File details

Details for the file amqp_rs-0.1.0.post1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

  • Download URL: amqp_rs-0.1.0.post1-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.post1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b1d5579e7123507a30a9dd46daaefb9957b3add1b881265e21ec31dcb670fe42
MD5 08ceb62fef8070270655a30be1672696
BLAKE2b-256 3f87bcfb4d70099f2800f394fc3994add8a6a21902342077acb77f9fca1e8670

See more details on using hashes here.

File details

Details for the file amqp_rs-0.1.0.post1-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

  • Download URL: amqp_rs-0.1.0.post1-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.post1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f27695562d4372f5f0fe84af9f41ce5932b3a7dcc63d97d84e8e28e206e06430
MD5 db5b8d49c70cfae56e29277f903e7ad3
BLAKE2b-256 f9aec99ab500158e3d3e8079e20c40c2990ffb508849a18ee722e1607e8bf0b5

See more details on using hashes here.

File details

Details for the file amqp_rs-0.1.0.post1-cp38-cp38-macosx_10_12_x86_64.whl.

File metadata

  • Download URL: amqp_rs-0.1.0.post1-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.post1-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d123e668bddecfbffbe6029403a6f9f3aca8e3854ef8a9f9cc935f2ecbc7e9dc
MD5 66dd7ddea9c4844e5b6896503b7d7477
BLAKE2b-256 f799ed953300369d44819315457188dfe3ce1edc94bb56a3f4f96ca98f998a03

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