cangling-broker (Python)
Producer and consumer for cangling-broker. Same contract as the Java client: AcceptMessages to publish, Subscribe to consume, optional Register metadata, CL_BROKER_AUTH_TOKEN on every RPC.
Install
pip install cangling-broker
From this tree:
pip install -e python
Use
from cangling_broker import SatwayClient, SubscribeOptions
with SatwayClient.connect("127.0.0.1:7500", "change-me") as client:
client.send("cangling-test", "hello")
with client.subscribe(
SubscribeOptions(topic="cangling-test", name="worker-1"),
lambda message: print(message.id, message.payload),
):
...
SatwayClient.connect(broker) also reads CL_BROKER_AUTH_TOKEN from the environment.
Batch-set topic delivery (single = one consumer, broadcast = every live stream) and persistence (persistent = queue for later, ephemeral = drop if nobody is subscribed):
from cangling_broker import TopicConfig
client.configure_topics([
TopicConfig("jobs", "single"),
TopicConfig("alerts", "broadcast"),
TopicConfig("live-events", "broadcast", "ephemeral"),
])
print(client.list_topics())
Existing Kafka senders can keep send(topic, value) / flush():
# from kafka import KafkaProducer
from cangling_broker import KafkaProducer
producer = KafkaProducer(bootstrap_servers="127.0.0.1:7500")
producer.send(topic, msg)
producer.flush()
# consume
python python/examples/consumer.py --broker 127.0.0.1:7500 --topic cangling-test --name py-s0 --token change-me
# produce
python python/examples/producer.py --broker 127.0.0.1:7500 --topic cangling-test --text hello --count 1 --token change-me
Publish to PyPI
CI on tag v* builds the package and uploads with pypa/gh-action-pypi-publish. Set repository secret PYPI_API_TOKEN.
cd python
python generate_proto.py
python -m build
Release files for cangling-broker 0.1.54
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cangling_broker-0.1.54.tar.gz | 14.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cangling_broker-0.1.54-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 29.3 kB
Release files / cangling_broker-0.1.54.tar.gz
| Download URL | cangling_broker-0.1.54.tar.gz |
|---|---|
| Size | 14.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bf7450b42884646dc44a5ea802ab34082479242a656598f04916f7ce6438c720
|
|
BLAKE2b-256 checksum How to use checksums |
6326416975323ada82bf4d021ab15c44e125deb5dc6998ece546f274839f4488
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / cangling_broker-0.1.54-py3-none-any.whl
| Download URL | cangling_broker-0.1.54-py3-none-any.whl |
|---|---|
| Size | 14.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cbadd63039ccef4409c1f34f8adc290e92c68beb206aa848c6e55f8d20c4b7e8
|
|
BLAKE2b-256 checksum How to use checksums |
09d8ce265eacfa956be6b4f171da0a4cc5005a54ab680e914967fc3f0c98724e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|