SDK v0.7.0
🥳 Initial public release of the Foxglove SDK​
We're excited to introduce the Foxglove SDK, a unified toolkit that simplifies integrating your robotics stack with Foxglove. The SDK provides a single, idiomatic API for live visualization, logging, and remote monitoring.
Today, we're releasing the initial version of the Foxglove SDK for C++, Python, and Rust. Built on a shared Rust core, it ensures consistency and reduces feature drift. You can:
- Log structured data to MCAP files for offline analysis
- Stream live data to Foxglove via the WebSocket protocol
- Use high-level logging APIs for common Foxglove schemas like
CompressedImage
andSceneUpdate
- Define and log custom message types with minimal boilerplate
- Switch between live streaming and file logging using the same instrumentation
Get started​
Get started in a few lines using the SDK to log your data to MCAP files, stream live data directly to the Foxglove app, or both simultaneously:
import foxglove
foxglove.start_server()
with foxglove.open_mcap("foo.mcap"):
while True:
foxglove.log("/example", {"hello": "SDK"})
Read the docs to get started.
Key features​
The Foxglove SDK addresses challenges in integrating custom robotics frameworks and tooling:
- Unified Logging Interface: Record to disk or stream live data using a consistent API
- High-Level and Low-Level APIs: Choose between high-level APIs for common schemas or low-level APIs for custom serialization
- Live Visualization Support: Stream live data to Foxglove for real-time visualization
- Cross-Language Consistency: Shared Rust core ensures consistent behavior across Rust, Python, and C++
The C++ SDK is not yet feature-complete, but all languages are available for use, and we welcome your feedback.
Docs: Introduction | Reference: Rust, Python, C++ | Source: github