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
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 mq_bridge_pulsar-0.1.4-py3-none-win_amd64.whl.
File metadata
- Download URL: mq_bridge_pulsar-0.1.4-py3-none-win_amd64.whl
- Upload date:
- Size: 1.7 MB
- Tags: Python 3, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4f1e95d7674809e818b637ac4dae12537d0eb3f6c8ab7ad79662e7abb3316098
|
|
| MD5 |
c60ff51d4699e3f5849fbfddddc82112
|
|
| BLAKE2b-256 |
4f3f8488dbd7b054b2b693e176cead21894430980e7c8e760309435c069a7db2
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mq_bridge_pulsar-0.1.4-py3-none-win_amd64.whl -
Subject digest:
4f1e95d7674809e818b637ac4dae12537d0eb3f6c8ab7ad79662e7abb3316098 - Sigstore transparency entry: 2565413166
- Sigstore integration time:
-
Permalink:
marcomq/mq-bridge-pulsar@a0ad829f0a6255689458a6a44bfaa79839396e4c -
Branch / Tag:
refs/tags/0.1.4 - Owner: https://github.com/marcomq
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a0ad829f0a6255689458a6a44bfaa79839396e4c -
Trigger Event:
push
-
Statement type:
File details
Details for the file mq_bridge_pulsar-0.1.4-py3-none-manylinux_2_38_aarch64.whl.
File metadata
- Download URL: mq_bridge_pulsar-0.1.4-py3-none-manylinux_2_38_aarch64.whl
- Upload date:
- Size: 4.1 MB
- Tags: Python 3, manylinux: glibc 2.38+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0e359c299081280d3bf3ee6ac8a5c8838f9345f94add4dc84127f491d11e6249
|
|
| MD5 |
d8757cc5e0dbaa156091f55e881f0c3e
|
|
| BLAKE2b-256 |
4c05116a8f545fb64c8ab625392e3682c0a3b24d30afc2e8da677ee0ba094789
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mq_bridge_pulsar-0.1.4-py3-none-manylinux_2_38_aarch64.whl -
Subject digest:
0e359c299081280d3bf3ee6ac8a5c8838f9345f94add4dc84127f491d11e6249 - Sigstore transparency entry: 2565413003
- Sigstore integration time:
-
Permalink:
marcomq/mq-bridge-pulsar@a0ad829f0a6255689458a6a44bfaa79839396e4c -
Branch / Tag:
refs/tags/0.1.4 - Owner: https://github.com/marcomq
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a0ad829f0a6255689458a6a44bfaa79839396e4c -
Trigger Event:
push
-
Statement type:
File details
Details for the file mq_bridge_pulsar-0.1.4-py3-none-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: mq_bridge_pulsar-0.1.4-py3-none-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 4.2 MB
- Tags: Python 3, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9a622ed18c697ee828da73bd4acc7ab8debc339a516f57d0ce4000015ad5b61b
|
|
| MD5 |
e5641ff643b121ada0774db53374ee05
|
|
| BLAKE2b-256 |
e91f6d07e150ae49d39fc686f32ad7ab31885092284c0638accafbe16471efe1
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mq_bridge_pulsar-0.1.4-py3-none-manylinux_2_34_x86_64.whl -
Subject digest:
9a622ed18c697ee828da73bd4acc7ab8debc339a516f57d0ce4000015ad5b61b - Sigstore transparency entry: 2565413053
- Sigstore integration time:
-
Permalink:
marcomq/mq-bridge-pulsar@a0ad829f0a6255689458a6a44bfaa79839396e4c -
Branch / Tag:
refs/tags/0.1.4 - Owner: https://github.com/marcomq
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a0ad829f0a6255689458a6a44bfaa79839396e4c -
Trigger Event:
push
-
Statement type:
File details
Details for the file mq_bridge_pulsar-0.1.4-py3-none-macosx_11_0_arm64.whl.
File metadata
- Download URL: mq_bridge_pulsar-0.1.4-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.8 MB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
719be635f75490caf2f5ebb15f1ac66f6eaa59b27d89cf8796a4a3e69c766838
|
|
| MD5 |
de64c4741a36e2a96656383db8f1663b
|
|
| BLAKE2b-256 |
d03ae3427d8f710cb2f86fabc90a297024378242b0b18e64f88edff50531de74
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mq_bridge_pulsar-0.1.4-py3-none-macosx_11_0_arm64.whl -
Subject digest:
719be635f75490caf2f5ebb15f1ac66f6eaa59b27d89cf8796a4a3e69c766838 - Sigstore transparency entry: 2565413101
- Sigstore integration time:
-
Permalink:
marcomq/mq-bridge-pulsar@a0ad829f0a6255689458a6a44bfaa79839396e4c -
Branch / Tag:
refs/tags/0.1.4 - Owner: https://github.com/marcomq
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a0ad829f0a6255689458a6a44bfaa79839396e4c -
Trigger Event:
push
-
Statement type:
File details
Details for the file mq_bridge_pulsar-0.1.4-py3-none-macosx_10_9_x86_64.whl.
File metadata
- Download URL: mq_bridge_pulsar-0.1.4-py3-none-macosx_10_9_x86_64.whl
- Upload date:
- Size: 1.8 MB
- Tags: Python 3, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
47b88532c5007cf15d4b35f5cb59bcb06bad86f5daae207065b0fa867da06060
|
|
| MD5 |
233d8bee678c96651e6b6aea5be4deb0
|
|
| BLAKE2b-256 |
eb6cbbbf440b84ec149cf9ea101a2ade3ad95d0596972acb5d5698253ec2ebfd
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mq_bridge_pulsar-0.1.4-py3-none-macosx_10_9_x86_64.whl -
Subject digest:
47b88532c5007cf15d4b35f5cb59bcb06bad86f5daae207065b0fa867da06060 - Sigstore transparency entry: 2565412933
- Sigstore integration time:
-
Permalink:
marcomq/mq-bridge-pulsar@a0ad829f0a6255689458a6a44bfaa79839396e4c -
Branch / Tag:
refs/tags/0.1.4 - Owner: https://github.com/marcomq
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a0ad829f0a6255689458a6a44bfaa79839396e4c -
Trigger Event:
push
-
Statement type: