Announcing: the Foxglove SDK. | Foxglove

We’re thrilled to announce the public release of the Foxglove SDK—a unified toolkit designed to make integrating your robotics stack with Foxglove easier than ever before. Whether you’re building a small research project or scaling a production fleet, the Foxglove SDK simplifies your journey with a consistent, powerful, and intuitive API for live visualization, structured logging, and remote monitoring.

Why we built the Foxglove SDK.

Integrating robotics systems with visualization and debugging tools has historically been messy often requiring:

The Foxglove SDK abstracts away these complexities and lets you focus on what matters most by unifying scattered tools and processes under one consistent API, including:

Unified logging interface

Cross-language consistency

High-level and low-level APIs

Live visualization support

Getting started: simplicity by design.

Getting up and running is easy. Here’s a simple Python example demonstrating both live streaming and recording to an MCAP file:

import foxglove as fg

from foxglove.schemas import Pose, PoseInFrame, Quaternion, Timestamp, Vector3

# start a live websocket server
fg.start_server()

# simultaneously log to an mcap file
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),
       ),
   ))

With just a few lines, you can:

Designed for robotics, built for developers.

To provide a consistent experience, we’ve consolidated functionality into a Rust core. The Python and C++ SDKs are written around the Rust core. This allows each language to feel idiomatic, while maintaining consistency between them.

At the core of the SDK is the foxglove Rust crate, responsible for:

Where it makes sense, we auto-generate parts of the SDK, including schemas and type-safe channels. This allows us to support the full range of schemas that the app supports, while also being flexible with how the interfaces are presented in each language.

Join us on this journey.

The Foxglove SDK represents a leap forward in simplifying your interaction with robotics systems. Dive in, try it out, and send us feedback!

Get Started with the Foxglove SDK