-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Rylan Meilutis edited this page Feb 10, 2026
·
14 revisions
Sedsprintf_rs is a Rust telemetry transport and logging library with a shared schema, compact wire format, routing, and multi-language bindings (C/C++ and Python). It targets embedded and host environments and supports optional compression for senders and payloads.
See Changelogs for version highlights and release notes.
These pages are written for readers who want a clear mental model before digging into code.
Step-by-step setup and usage by language.
Detailed pages that describe internals, data structures, and formats.
- technical/Index
- technical/Architecture
- technical/Telemetry-Schema
- technical/Wire-Format
- technical/Router-Details
- technical/Queues-and-Memory
- technical/TelemetryPacket-Details
- technical/Bindings-and-FFI
- src/ (source): core Rust library (schema, packet types, serialization, router/relay).
- sedsprintf_macros/ (source): proc-macros that generate schema constants.
- telemetry_config.json (source): schema source of truth (endpoints + data types).
- build.rs (source): generates C header and Python .pyi from the schema.
- C-Headers/ (source): generated C header (
sedsprintf.h). - python-files/ (source): Python package assets and generated .pyi.
- c-example-code/ (source) and python-example/ (source): 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.
- The schema (DataType/DataEndpoint) is generated from telemetry_config.json (source).
If you want an implementation-level tour, go to technical/Architecture.