Skip to main content

mq-bridge Python bindings

Thin Python bindings for the Rust mq-bridge core.

Install

Pick exactly one distribution. Both install the same import path: mq_bridge.

Package Install Includes
Full pip install mq-bridge-py Basic set plus Kafka, AWS, gRPC, MongoDB, SQLx
Basic pip install mq-bridge-py-basic HTTP, NATS, MQTT, AMQP, WebSocket, ZeroMQ, middleware

Memory and file endpoints are always present in both packages. Use mq-bridge-py-basic when you want the lean all-platform wheel set. Use mq-bridge-py when you need Kafka or the heavier non-messaging backends.

The public API stays close to mq-bridge itself:

  • Route.from_yaml(path, name) loads one named route
  • Route.with_handler(...) attaches a raw Message handler, with lazy json()/text() readers and with_json()/with_payload() response helpers
  • Route.add_handler(kind, ...) uses mq-bridge's kind dispatch and delivers decoded JSON
  • RetryableError and NonRetryableError let Python handlers signal retry intent
  • Publisher.from_yaml(path, name) loads one named publisher
  • Publisher.send_json(...) and Publisher.request_json(...) serialize Python JSON values in Rust

The Python surface is synchronous and blocking. Tokio, broker I/O, routing, and batching all stay in Rust.

Local development

uv is a good fit here for the Python-side developer workflow, while maturin stays the build backend:

cd python/mq-bridge-py
uv sync --group dev --no-install-project
uv run maturin develop
uv run pytest -q

Performance smoke tests are skipped by default because they start routes and measure local throughput:

cd python/mq-bridge-py
MQ_BRIDGE_RUN_PERF_TESTS=1 uv run pytest -q -m performance

Examples

Raw message handler:

cd python/mq-bridge-py
uv run python examples/raw_route.py

Kind-based JSON handler:

cd python/mq-bridge-py
uv run python examples/json_route.py

Memory benchmark:

cd python/mq-bridge-py
uv run maturin develop --release
uv run python examples/bench_memory.py --messages 100000

Analysis

HTTP comparison benchmark, driven by a native load generator (wrk) so the client is never the bottleneck. It boots each server itself (mq-bridge in worker and direct executor modes, plus FastAPI, Starlette, Sanic, aiohttp, and FastStream when installed) and drives each with wrk:

cd python/mq-bridge-py
uv run maturin develop --release
uv sync --group bench   # optional Python HTTP peers
uv run python analysis/bench_http_native.py --connections 1,8,32 --duration 8

Requires wrk on PATH (brew install wrk). The FastStream target compares its ASGI custom-route path over Uvicorn; it is not a broker-backed subscriber/publisher benchmark. The examples use included sample configs or create temporary configs.

Download files

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

Source Distribution

mq_bridge_py_basic-0.2.19.tar.gz (712.4 kB view details)

Uploaded Source

Built Distributions

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

mq_bridge_py_basic-0.2.19-cp38-abi3-win_amd64.whl (7.8 MB view details)

Uploaded CPython 3.8+Windows x86-64

mq_bridge_py_basic-0.2.19-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.7 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ x86-64

mq_bridge_py_basic-0.2.19-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (7.5 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

mq_bridge_py_basic-0.2.19-cp38-abi3-macosx_11_0_arm64.whl (7.2 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

mq_bridge_py_basic-0.2.19-cp38-abi3-macosx_10_12_x86_64.whl (7.4 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

Details for the file mq_bridge_py_basic-0.2.19.tar.gz.

File metadata

  • Download URL: mq_bridge_py_basic-0.2.19.tar.gz
  • Upload date:
  • Size: 712.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mq_bridge_py_basic-0.2.19.tar.gz
Algorithm Hash digest
SHA256 fb8968b94148d7c02ba08d612a5404a4c03770582f0f20a1df27fbd81af51d5b
MD5 50cce58a6894bb7629fa587ba0a8be93
BLAKE2b-256 e09846c75d4701f6fd3173535adc0f3c951d286e95f0cae287390d30a00a3fb3

See more details on using hashes here.

Provenance

The following attestation bundles were made for mq_bridge_py_basic-0.2.19.tar.gz:

Publisher: publish-python.yml on marcomq/mq-bridge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mq_bridge_py_basic-0.2.19-cp38-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for mq_bridge_py_basic-0.2.19-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 e271f90ce384027b3d1d510dd3eb3fbdb23cd105fa4b974d419c241665790e89
MD5 c043f7d1a46fe1956f35b3a55b1c0dbd
BLAKE2b-256 dedbd47e2b73cd399a08f9d9066706c21ab785269539b5b3843dabefdd3b22ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for mq_bridge_py_basic-0.2.19-cp38-abi3-win_amd64.whl:

Publisher: publish-python.yml on marcomq/mq-bridge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mq_bridge_py_basic-0.2.19-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mq_bridge_py_basic-0.2.19-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 273746a263d4d8a1786b374e7072c5ec7bf73cea210ad0c6ff2614edf1a4037e
MD5 f09662c2348f72f7f273ccccbf303a39
BLAKE2b-256 9a99b807c29818921121080121db0a757ba14a0bb35340c7da10741f413db801

See more details on using hashes here.

Provenance

The following attestation bundles were made for mq_bridge_py_basic-0.2.19-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-python.yml on marcomq/mq-bridge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mq_bridge_py_basic-0.2.19-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mq_bridge_py_basic-0.2.19-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f2820e5f8a8fa318410af2046bc0e6e6ba3bd113acd9c5f6563eaf820a6317e7
MD5 64c16841e391087d058c47b492d7ea10
BLAKE2b-256 b6d82d330071b108fc24043eb4e866073cdc57e5462d203d8b121208c69a18e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for mq_bridge_py_basic-0.2.19-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish-python.yml on marcomq/mq-bridge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mq_bridge_py_basic-0.2.19-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mq_bridge_py_basic-0.2.19-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a4d53134f7a85e69563fe799be3106f3d86e8f210f072ddfb64a7b083a9b6080
MD5 fe3c0b2421d76b1aaaa39409f969b7ff
BLAKE2b-256 da6f0cb1d1ad00f48d22d208001d1403aef29aac1bb854aea85e449a5f196e5b

See more details on using hashes here.

Provenance

The following attestation bundles were made for mq_bridge_py_basic-0.2.19-cp38-abi3-macosx_11_0_arm64.whl:

Publisher: publish-python.yml on marcomq/mq-bridge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mq_bridge_py_basic-0.2.19-cp38-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for mq_bridge_py_basic-0.2.19-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 141bd74e990d86620845927a1ba69e08ce3cd069f0da1998946603b4c8f7a1b1
MD5 ba529247756ed8eb535cde41ba0b763e
BLAKE2b-256 59bdc7d7adb8feac46aa6d66600b61b8c5d8aabda8d7ba149eb7322603a9478d

See more details on using hashes here.

Provenance

The following attestation bundles were made for mq_bridge_py_basic-0.2.19-cp38-abi3-macosx_10_12_x86_64.whl:

Publisher: publish-python.yml on marcomq/mq-bridge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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