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.56
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.56.tar.gz | 15.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cangling_broker-0.1.56-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 30.4 kB
Release files / cangling_broker-0.1.56.tar.gz
| Download URL | cangling_broker-0.1.56.tar.gz |
|---|---|
| Size | 15.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e6ab6fdbcc4debbe443895670dbd2eb1b784aec1f74dfb72db3bec9ec95d5b8d
|
|
BLAKE2b-256 checksum How to use checksums |
6e742586aa1bd6b9e8cfa45a31abf4b888ebe7dbde1d96c3206f46ca72e9fc9b
|
| 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.56-py3-none-any.whl
| Download URL | cangling_broker-0.1.56-py3-none-any.whl |
|---|---|
| Size | 15.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
85e5d8d716dbb890883fe3c599e98ef16002c3023ad87bbd2bc6dda69246a029
|
|
BLAKE2b-256 checksum How to use checksums |
7971c15290a905ea7edd0eaefc97e712f4a96c5b31665fcd70fc5e6501a33bf6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|