State broadcasting for Python. Keep a state dict and emit snapshots to registered listeners whenever it changes — a minimal observer for live status.
pip install transponderfrom transponder import Transponder
seen = []
t = Transponder({"alt": 0})
t.subscribe(lambda s: seen.append(dict(s)))
t.update(alt=1000, squawk="1200")
assert seen[-1]["alt"] == 1000
assert t.state["squawk"] == "1200"- Lightweight observer without a framework
- Thread-safe updates with deep-copied snapshots
- Subscribe returns an unsubscribe callable
| Symbol | Description |
|---|---|
Transponder(initial=None) |
State holder + broadcaster |
subscribe(listener) |
Register; returns unsubscribe |
update(**kwargs) |
Merge keys; notify if changed |
replace(new_state) |
Replace entire state; notify if changed |
state |
Deep copy of current state |
Part of the coldbricks micro-library suite (small, typed, zero-dependency helpers):
| Package | Role |
|---|---|
buzzkill |
Guaranteed shutdown callbacks |
aftercare |
Reverse-order teardown |
fluffer |
Startup pre-warm |
edging |
Token-bucket rate limit |
readback |
Echo-confirmation validation |
hearback |
Output re-validation decorator |
agecheck |
Timezone-correct age thresholds |
| transponder | State broadcast on change |
pip install -e ".[dev]"
pytest -q
ruff check .
mypy srcThis is an early 0.1.0 release (Alpha) with active development planned:
- Filtered subscriptions by key
- Async listeners
- Wire-format codecs for network broadcast
MIT © Coldbricks — coldbricks@gmail.com