-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Rylan Meilutis edited this page Jan 25, 2026
·
14 revisions
Sedsprintf_rs is a Rust telemetry transport and logging library that provides a shared schema, packet format, routing, and multi-language bindings (C/C++ and Python). It targets embedded and host environments and supports compressed payloads.
Quick links:
- Architecture: docs/wiki/Architecture.md
- Build and configuration: docs/wiki/Build-and-Configure.md
- Telemetry schema: docs/wiki/Telemetry-Schema.md
- Rust usage: docs/wiki/Usage-Rust.md
- C/C++ usage: docs/wiki/Usage-C-Cpp.md
- Python usage: docs/wiki/Usage-Python.md
- Troubleshooting: docs/wiki/Troubleshooting.md
- src/: core Rust library (router, packet types, serialization, FFI).
- sedsprintf_macros/: proc-macros that generate schema constants.
- telemetry_config.json: schema source of truth (endpoints + data types).
- build.rs: generates C header and Python .pyi from the schema.
- C-Headers/: generated C header (
sedsprintf.h). - python-files/: Python package assets and generated .pyi.
- c-example-code/ and python-example/: runnable examples.
log(data) rx(bytes)
| |
v v
Router <---- deserialize ---- wire ---- serialize ----> Router
| \ | \
| \-- local endpoints | \-- local endpoints
| |
+-- tx(bytes) ------------------------------>+
Core ideas:
- Telemetry packets carry a schema-defined type, endpoints, sender name, and payload.
- Routers deliver packets to local endpoints and optionally relay them outward.
- Schema (DataType/DataEndpoint) is generated from
telemetry_config.json.
See docs/wiki/Architecture.md for the full internal breakdown.