Skip to main content

2 posts tagged with "SDK"

Release notes for the Foxglove SDK.

View All Tags

SDK v0.7.1

Foxglove SDK

Python

  • Context is now available for associating channels and sinks.

Rust

  • Some handler types on WebSocket FetchAsset and Service have changed.
  • The log! macro properly re-uses matching channels.

C++

  • Context is now available for associating channels and sinks.
Fixed
Changed

Docs: Introduction | Reference: Rust, Python, C++ | Source: github | C++ Artifacts: github

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 and SceneUpdate
  • 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 as fg
from foxglove.schemas import Pose, PoseInFrame, Quaternion, Timestamp, Vector3

fg.start_server()

with fg.open_mcap("foo.mcap"):
fg.log("/example", PoseInFrame(
timestamp=Timestamp(sec=0),
frame_id="ego",
pose=Pose(
position=Vector3(x=1.0, y=2.0, z=3.0),
orientation=Quaternion(x=0.0, y=0.0, z=0.0, w=1.0),
),
))
tip

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++
warning

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