Skip to main content

mq-bridge-pulsar (Python)

An Apache Pulsar endpoint for mq-bridge-py, shipped as a native plugin. The package contains no Python implementation of Pulsar — it bundles the compiled Rust endpoint and registers it with mq-bridge, so Python, Node.js and Rust all run the same code and the same delivery semantics.

pip install mq-bridge-py mq-bridge-pulsar
import mq_bridge
import mq_bridge_pulsar

mq_bridge_pulsar.register()   # call once, before starting routes

route = mq_bridge.Route.from_str("""
pulsar_to_file:
  input:
    custom:
      name: pulsar
      config:
        url: "pulsar://localhost:6650"
        topic: "persistent://public/default/orders"
        subscription: "order-workers"
  output:
    file:
      path: "orders.jsonl"
""")
route.start()

register() returns the endpoint name (pulsar) and is a no-op when called again. It raises ImportError if mq-bridge is missing and FileNotFoundError if the wheel does not carry a library for this platform.

The two packages are independent: mq-bridge has no Pulsar dependency, and neither package forces an upgrade of the other. A plugin is native code with the same privileges as the interpreter — install it as you would any other native dependency.

The generic wheel builder is supplied by mq-bridge:

pip install "mq-bridge-py[plugin-packaging]"
python -m mq_bridge.plugin_packaging --package python/mq_bridge_pulsar --out dist

Testing

python/tests/ exercises the endpoint the way Python actually loads it — as a native plugin through the ABI — so it complements, rather than repeats, the directly linked Rust tests.

docker compose -f tests/docker-compose.yml up -d
pip install mq-bridge-py mq-bridge-pulsar pytest
pytest python/tests -v
docker compose -f tests/docker-compose.yml down

Every test skips rather than fails when the packages are missing or no broker is listening, so the file is safe to collect anywhere.

One trap is worth knowing: a wheel is a compiled artifact, so an installed mq-bridge-pulsar is easily older than this checkout, and a fix you just made here will not be in it. The tests probe for that and skip with instructions instead of reporting a confusing unknown field failure. To test what you just wrote, rebuild and reinstall first:

pip install "mq-bridge-py[plugin-packaging]"
python -m mq_bridge.plugin_packaging --package python/mq_bridge_pulsar --out python/dist
pip install --force-reinstall python/dist/*.whl

Building the wheel

The generic builder shipped by mq-bridge builds the Rust cdylib, stages it into the package, and tags the wheel for the host platform:

python -m mq_bridge.plugin_packaging --package python/mq_bridge_pulsar --out dist

Run it once per operating system and architecture you publish for; building pulsar-rs needs protoc on PATH.

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.

mq_bridge_pulsar-0.1.4-py3-none-win_amd64.whl (1.7 MB view details)

Uploaded Python 3Windows x86-64

mq_bridge_pulsar-0.1.4-py3-none-manylinux_2_38_aarch64.whl (4.1 MB view details)

Uploaded Python 3manylinux: glibc 2.38+ ARM64

mq_bridge_pulsar-0.1.4-py3-none-manylinux_2_34_x86_64.whl (4.2 MB view details)

Uploaded Python 3manylinux: glibc 2.34+ x86-64

mq_bridge_pulsar-0.1.4-py3-none-macosx_11_0_arm64.whl (1.8 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

mq_bridge_pulsar-0.1.4-py3-none-macosx_10_9_x86_64.whl (1.8 MB view details)

Uploaded Python 3macOS 10.9+ x86-64

File details

Details for the file mq_bridge_pulsar-0.1.4-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for mq_bridge_pulsar-0.1.4-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 4f1e95d7674809e818b637ac4dae12537d0eb3f6c8ab7ad79662e7abb3316098
MD5 c60ff51d4699e3f5849fbfddddc82112
BLAKE2b-256 4f3f8488dbd7b054b2b693e176cead21894430980e7c8e760309435c069a7db2

See more details on using hashes here.

Provenance

The following attestation bundles were made for mq_bridge_pulsar-0.1.4-py3-none-win_amd64.whl:

Publisher: release.yml on marcomq/mq-bridge-pulsar

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_pulsar-0.1.4-py3-none-manylinux_2_38_aarch64.whl.

File metadata

File hashes

Hashes for mq_bridge_pulsar-0.1.4-py3-none-manylinux_2_38_aarch64.whl
Algorithm Hash digest
SHA256 0e359c299081280d3bf3ee6ac8a5c8838f9345f94add4dc84127f491d11e6249
MD5 d8757cc5e0dbaa156091f55e881f0c3e
BLAKE2b-256 4c05116a8f545fb64c8ab625392e3682c0a3b24d30afc2e8da677ee0ba094789

See more details on using hashes here.

Provenance

The following attestation bundles were made for mq_bridge_pulsar-0.1.4-py3-none-manylinux_2_38_aarch64.whl:

Publisher: release.yml on marcomq/mq-bridge-pulsar

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_pulsar-0.1.4-py3-none-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for mq_bridge_pulsar-0.1.4-py3-none-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 9a622ed18c697ee828da73bd4acc7ab8debc339a516f57d0ce4000015ad5b61b
MD5 e5641ff643b121ada0774db53374ee05
BLAKE2b-256 e91f6d07e150ae49d39fc686f32ad7ab31885092284c0638accafbe16471efe1

See more details on using hashes here.

Provenance

The following attestation bundles were made for mq_bridge_pulsar-0.1.4-py3-none-manylinux_2_34_x86_64.whl:

Publisher: release.yml on marcomq/mq-bridge-pulsar

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_pulsar-0.1.4-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mq_bridge_pulsar-0.1.4-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 719be635f75490caf2f5ebb15f1ac66f6eaa59b27d89cf8796a4a3e69c766838
MD5 de64c4741a36e2a96656383db8f1663b
BLAKE2b-256 d03ae3427d8f710cb2f86fabc90a297024378242b0b18e64f88edff50531de74

See more details on using hashes here.

Provenance

The following attestation bundles were made for mq_bridge_pulsar-0.1.4-py3-none-macosx_11_0_arm64.whl:

Publisher: release.yml on marcomq/mq-bridge-pulsar

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_pulsar-0.1.4-py3-none-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for mq_bridge_pulsar-0.1.4-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 47b88532c5007cf15d4b35f5cb59bcb06bad86f5daae207065b0fa867da06060
MD5 233d8bee678c96651e6b6aea5be4deb0
BLAKE2b-256 eb6cbbbf440b84ec149cf9ea101a2ade3ad95d0596972acb5d5698253ec2ebfd

See more details on using hashes here.

Provenance

The following attestation bundles were made for mq_bridge_pulsar-0.1.4-py3-none-macosx_10_9_x86_64.whl:

Publisher: release.yml on marcomq/mq-bridge-pulsar

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

Release history Release notifications | RSS feed

This release

0.1.4 This release

5 files

0.1.3

5 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page