Repo symbol

foxglove_msgs repository

visualization python rust cpp robotics data-visualization ros ros2 mcap foxglove_bridge foxglove_msgs

Repository Summary

Description Libraries and schemas for Foxglove
Checkout URI https://github.com/foxglove/foxglove-sdk.git
VCS Type git
VCS Version main
Last Updated 2025-08-15
Dev Status DEVELOPED
Released RELEASED
Tags visualization python rust cpp robotics data-visualization ros ros2 mcap
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
foxglove_bridge 0.9.0
foxglove_msgs 3.1.0

README

Foxglove SDK

The Foxglove SDK allows you to log and visualize multimodal data with Foxglove.

The core SDK is written in Rust, with bindings for Python, and C++. We publish prebuilt libraries and Python wheels, so you don’t need a Rust development environment.

  • Stream live data to Foxglove over a local WebSocket
  • Log data to MCAP files for visualization or analysis
  • Leverage built-in Foxglove schemas for common visualizations, or your own custom messages using a supported serialization format
  • ROS packages are available for all supported distributions (see our ROS 2 tutorial)

Visit Foxglove SDK Docs to get started.

Packages

File truncated at 100 lines [see the full file](https://github.com/foxglove/foxglove-sdk/tree/main/README.md)
Package Version Description
Python
[foxglove-sdk](./python/foxglove-sdk/) [![pypi version](https://shields.io/pypi/v/foxglove-sdk)](https://pypi.org/project/foxglove-sdk/) Foxglove SDK for Python
C++
[foxglove](./cpp) [![Foxglove SDK version](https://img.shields.io/github/v/release/foxglove/foxglove-sdk?filter=sdk%2F*)](https://github.com/foxglove/foxglove-sdk/releases?q=sdk%2F) Foxglove SDK for C++
Rust
[foxglove](./rust/foxglove) [![Rust crate version](https://img.shields.io/crates/v/foxglove)](https://crates.io/crates/foxglove) Foxglove SDK for Rust
ROS
[foxglove_msgs](./ros/src/foxglove_msgs) [![ROS Humble version](https://img.shields.io/ros/v/humble/foxglove_msgs)](https://index.ros.org/p/foxglove_msgs#humble)
[![ROS Jazzy version](https://img.shields.io/ros/v/jazzy/foxglove_msgs)](https://index.ros.org/p/foxglove_msgs#jazzy)
[![ROS Kilted version](https://img.shields.io/ros/v/kilted/foxglove_msgs)](https://index.ros.org/p/foxglove_msgs#kilted)
[![ROS Rolling version](https://img.shields.io/ros/v/rolling/foxglove_msgs)](https://index.ros.org/p/foxglove_msgs#rolling)
Foxglove schemas for ROS
[foxglove_bridge](./ros/src/foxglove_bridge) [![ROS Humble version](https://img.shields.io/ros/v/humble/foxglove_bridge)](https://index.ros.org/p/foxglove_bridge#humble)
[![ROS Jazzy version](https://img.shields.io/ros/v/jazzy/foxglove_bridge)](https://index.ros.org/p/foxglove_bridge#jazzy)
[![ROS Kilted version](https://img.shields.io/ros/v/kilted/foxglove_bridge)](https://index.ros.org/p/foxglove_bridge#kilted)
[![ROS Rolling version](https://img.shields.io/ros/v/rolling/foxglove_bridge)](https://index.ros.org/p/foxglove_bridge#rolling)
Foxglove ROS bridge

CONTRIBUTING

Contributing

Generating schemas

Schemas are defined in internal/schemas.ts. After modifying this file, you will need to regenerate the language-specific definitions.

We commit generated files to git for several reasons:

  • Ease of access for users of the protobuf/flatbuffer/etc schemas
  • Ease of importing packages (e.g. pointing cargo or npm at a specific git commit)
make generate

Remember to publish new versions of all libraries!

Rust & Python

This package generates source and interface files for the Foxglove SDK, and relies on tooling from the Rust and Python ecosystems.

pipx install poetry
poetry install

For more details, refer to the Python SDK contributing guide.

Release instructions

Releases are published via GitHub Actions.

Rust, Python, and C/C++

All SDK languages are versioned and released together.

  1. Manually trigger the “Draft Release” workflow in GitHub Actions, specifying the new version number.
  2. Ensure that the draft release workflow completes successfully.
  3. Check the release notes, and hit publish on the new release.
  4. Ensure the post-release and tag workflows complete successfully.

TypeScript

  1. Create and merge a PR bumping the version number in package.json file(s).
  2. Manually create a new Release in the GitHub UI. Ensure the tag uses the form typescript/schemas/vX.Y.Z.
  3. GitHub Actions will take care of the rest.

ROS

For first-time setup, follow the guides for installing bloom and authenticating with GitHub.

Permissions to push to foxglove/ros_foxglove_msgs-release (for ROS 1) and ros2-gbp/ros_foxglove_msgs-release (for ROS 2) are required. The latter are managed via Terraform.

The following is a modified version of bloom release instructions (because catkin_generate_changelog and catkin_prepare_release can’t handle our custom tag format of ros-vX.Y.Z).

  1. Manually update package.xml and CHANGELOG.rst with new version info
  2. Manually create a tag named ros-vX.Y.Z for the new version
  3. Push the newly created commit and tag
  4. Run bloom-release foxglove_msgs --ros-distro humble, for each distro you want to publish the release to. Follow the prompts, and the script will automatically make a PR to the ros/rosdistro repo.

Packages will be available via apt after the next sync. View package build status prior to the sync at: noetic, foxy, galactic, humble, iron, jazzy, rolling

# Contributing ## Generating schemas Schemas are defined in [internal/schemas.ts](internal/schemas.ts). After modifying this file, you will need to regenerate the language-specific definitions. We commit generated files to git for several reasons: - Ease of access for users of the protobuf/flatbuffer/etc schemas - Ease of importing packages (e.g. pointing cargo or npm at a specific git commit) ```sh make generate ``` Remember to publish new versions of all libraries! ### Rust & Python This package generates source and interface files for the Foxglove SDK, and relies on tooling from the Rust and Python ecosystems. - Rust, installed via [rustup](https://rustup.rs/) - [Protobuf compiler](https://grpc.io/docs/protoc-installation/) - Python dependencies installed via [Poetry](https://python-poetry.org/) ```sh pipx install poetry poetry install ``` For more details, refer to the [Python SDK contributing guide](python/foxglove-sdk/CONTRIBUTING.md). ## Release instructions Releases are published via GitHub Actions. ### Rust, Python, and C/C++ All SDK languages are versioned and released together. 1. Manually trigger the "Draft Release" workflow in GitHub Actions, specifying the new version number. 2. Ensure that the draft release workflow completes successfully. 3. Check the release notes, and hit publish on the new release. 4. Ensure the post-release and tag workflows complete successfully. ### TypeScript 1. Create and merge a PR bumping the version number in `package.json` file(s). 2. Manually create a new Release in the GitHub UI. Ensure the tag uses the form `typescript/schemas/vX.Y.Z`. 3. GitHub Actions will take care of the rest. ### ROS For first-time setup, follow the guides for [installing bloom](http://ros-infrastructure.github.io/bloom/) and [authenticating with GitHub](https://wiki.ros.org/bloom/Tutorials/GithubManualAuthorization). Permissions to push to [foxglove/ros_foxglove_msgs-release](https://github.com/foxglove/ros_foxglove_msgs-release) (for ROS 1) and [ros2-gbp/ros_foxglove_msgs-release](https://github.com/ros2-gbp/ros_foxglove_msgs-release) (for ROS 2) are required. The latter are managed [via Terraform](https://github.com/ros2-gbp/ros2-gbp-github-org/blob/latest/foxglove_msgs.tf). The following is a modified version of [bloom release instructions](https://wiki.ros.org/bloom/Tutorials/ReleaseCatkinPackage) (because catkin_generate_changelog and catkin_prepare_release can't handle our custom tag format of `ros-vX.Y.Z`). 1. Manually update `package.xml` and `CHANGELOG.rst` with new version info 2. Manually create a tag named `ros-vX.Y.Z` for the new version 3. Push the newly created commit and tag 4. Run `bloom-release foxglove_msgs --ros-distro humble`, for each distro you want to publish the release to. Follow the prompts, and the script will automatically make a PR to the [ros/rosdistro](https://github.com/ros/rosdistro) repo. Packages will be available via apt after the [next sync](https://discourse.ros.org/c/release/16). View package build status prior to the sync at: [noetic](http://repositories.ros.org/status_page/ros_noetic_default.html?q=foxglove), [foxy](http://repo.ros2.org/status_page/ros_foxy_default.html?q=foxglove), [galactic](http://repo.ros2.org/status_page/ros_galactic_default.html?q=foxglove), [humble](http://repo.ros2.org/status_page/ros_humble_default.html?q=foxglove), [iron](http://repo.ros2.org/status_page/ros_iron_default.html?q=foxglove), [jazzy](http://repo.ros2.org/status_page/ros_jazzy_default.html?q=foxglove), [rolling](http://repo.ros2.org/status_page/ros_rolling_default.html?q=foxglove)
Repo symbol

foxglove_msgs repository

visualization python rust cpp robotics data-visualization ros ros2 mcap foxglove_bridge foxglove_msgs

Repository Summary

Description Libraries and schemas for Foxglove
Checkout URI https://github.com/foxglove/foxglove-sdk.git
VCS Type git
VCS Version main
Last Updated 2025-08-15
Dev Status DEVELOPED
Released RELEASED
Tags visualization python rust cpp robotics data-visualization ros ros2 mcap
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
foxglove_bridge 0.9.0
foxglove_msgs 3.1.0

README

Foxglove SDK

The Foxglove SDK allows you to log and visualize multimodal data with Foxglove.

The core SDK is written in Rust, with bindings for Python, and C++. We publish prebuilt libraries and Python wheels, so you don’t need a Rust development environment.

  • Stream live data to Foxglove over a local WebSocket
  • Log data to MCAP files for visualization or analysis
  • Leverage built-in Foxglove schemas for common visualizations, or your own custom messages using a supported serialization format
  • ROS packages are available for all supported distributions (see our ROS 2 tutorial)

Visit Foxglove SDK Docs to get started.

Packages

File truncated at 100 lines [see the full file](https://github.com/foxglove/foxglove-sdk/tree/main/README.md)
Package Version Description
Python
[foxglove-sdk](./python/foxglove-sdk/) [![pypi version](https://shields.io/pypi/v/foxglove-sdk)](https://pypi.org/project/foxglove-sdk/) Foxglove SDK for Python
C++
[foxglove](./cpp) [![Foxglove SDK version](https://img.shields.io/github/v/release/foxglove/foxglove-sdk?filter=sdk%2F*)](https://github.com/foxglove/foxglove-sdk/releases?q=sdk%2F) Foxglove SDK for C++
Rust
[foxglove](./rust/foxglove) [![Rust crate version](https://img.shields.io/crates/v/foxglove)](https://crates.io/crates/foxglove) Foxglove SDK for Rust
ROS
[foxglove_msgs](./ros/src/foxglove_msgs) [![ROS Humble version](https://img.shields.io/ros/v/humble/foxglove_msgs)](https://index.ros.org/p/foxglove_msgs#humble)
[![ROS Jazzy version](https://img.shields.io/ros/v/jazzy/foxglove_msgs)](https://index.ros.org/p/foxglove_msgs#jazzy)
[![ROS Kilted version](https://img.shields.io/ros/v/kilted/foxglove_msgs)](https://index.ros.org/p/foxglove_msgs#kilted)
[![ROS Rolling version](https://img.shields.io/ros/v/rolling/foxglove_msgs)](https://index.ros.org/p/foxglove_msgs#rolling)
Foxglove schemas for ROS
[foxglove_bridge](./ros/src/foxglove_bridge) [![ROS Humble version](https://img.shields.io/ros/v/humble/foxglove_bridge)](https://index.ros.org/p/foxglove_bridge#humble)
[![ROS Jazzy version](https://img.shields.io/ros/v/jazzy/foxglove_bridge)](https://index.ros.org/p/foxglove_bridge#jazzy)
[![ROS Kilted version](https://img.shields.io/ros/v/kilted/foxglove_bridge)](https://index.ros.org/p/foxglove_bridge#kilted)
[![ROS Rolling version](https://img.shields.io/ros/v/rolling/foxglove_bridge)](https://index.ros.org/p/foxglove_bridge#rolling)
Foxglove ROS bridge

CONTRIBUTING

Contributing

Generating schemas

Schemas are defined in internal/schemas.ts. After modifying this file, you will need to regenerate the language-specific definitions.

We commit generated files to git for several reasons:

  • Ease of access for users of the protobuf/flatbuffer/etc schemas
  • Ease of importing packages (e.g. pointing cargo or npm at a specific git commit)
make generate

Remember to publish new versions of all libraries!

Rust & Python

This package generates source and interface files for the Foxglove SDK, and relies on tooling from the Rust and Python ecosystems.

pipx install poetry
poetry install

For more details, refer to the Python SDK contributing guide.

Release instructions

Releases are published via GitHub Actions.

Rust, Python, and C/C++

All SDK languages are versioned and released together.

  1. Manually trigger the “Draft Release” workflow in GitHub Actions, specifying the new version number.
  2. Ensure that the draft release workflow completes successfully.
  3. Check the release notes, and hit publish on the new release.
  4. Ensure the post-release and tag workflows complete successfully.

TypeScript

  1. Create and merge a PR bumping the version number in package.json file(s).
  2. Manually create a new Release in the GitHub UI. Ensure the tag uses the form typescript/schemas/vX.Y.Z.
  3. GitHub Actions will take care of the rest.

ROS

For first-time setup, follow the guides for installing bloom and authenticating with GitHub.

Permissions to push to foxglove/ros_foxglove_msgs-release (for ROS 1) and ros2-gbp/ros_foxglove_msgs-release (for ROS 2) are required. The latter are managed via Terraform.

The following is a modified version of bloom release instructions (because catkin_generate_changelog and catkin_prepare_release can’t handle our custom tag format of ros-vX.Y.Z).

  1. Manually update package.xml and CHANGELOG.rst with new version info
  2. Manually create a tag named ros-vX.Y.Z for the new version
  3. Push the newly created commit and tag
  4. Run bloom-release foxglove_msgs --ros-distro humble, for each distro you want to publish the release to. Follow the prompts, and the script will automatically make a PR to the ros/rosdistro repo.

Packages will be available via apt after the next sync. View package build status prior to the sync at: noetic, foxy, galactic, humble, iron, jazzy, rolling

# Contributing ## Generating schemas Schemas are defined in [internal/schemas.ts](internal/schemas.ts). After modifying this file, you will need to regenerate the language-specific definitions. We commit generated files to git for several reasons: - Ease of access for users of the protobuf/flatbuffer/etc schemas - Ease of importing packages (e.g. pointing cargo or npm at a specific git commit) ```sh make generate ``` Remember to publish new versions of all libraries! ### Rust & Python This package generates source and interface files for the Foxglove SDK, and relies on tooling from the Rust and Python ecosystems. - Rust, installed via [rustup](https://rustup.rs/) - [Protobuf compiler](https://grpc.io/docs/protoc-installation/) - Python dependencies installed via [Poetry](https://python-poetry.org/) ```sh pipx install poetry poetry install ``` For more details, refer to the [Python SDK contributing guide](python/foxglove-sdk/CONTRIBUTING.md). ## Release instructions Releases are published via GitHub Actions. ### Rust, Python, and C/C++ All SDK languages are versioned and released together. 1. Manually trigger the "Draft Release" workflow in GitHub Actions, specifying the new version number. 2. Ensure that the draft release workflow completes successfully. 3. Check the release notes, and hit publish on the new release. 4. Ensure the post-release and tag workflows complete successfully. ### TypeScript 1. Create and merge a PR bumping the version number in `package.json` file(s). 2. Manually create a new Release in the GitHub UI. Ensure the tag uses the form `typescript/schemas/vX.Y.Z`. 3. GitHub Actions will take care of the rest. ### ROS For first-time setup, follow the guides for [installing bloom](http://ros-infrastructure.github.io/bloom/) and [authenticating with GitHub](https://wiki.ros.org/bloom/Tutorials/GithubManualAuthorization). Permissions to push to [foxglove/ros_foxglove_msgs-release](https://github.com/foxglove/ros_foxglove_msgs-release) (for ROS 1) and [ros2-gbp/ros_foxglove_msgs-release](https://github.com/ros2-gbp/ros_foxglove_msgs-release) (for ROS 2) are required. The latter are managed [via Terraform](https://github.com/ros2-gbp/ros2-gbp-github-org/blob/latest/foxglove_msgs.tf). The following is a modified version of [bloom release instructions](https://wiki.ros.org/bloom/Tutorials/ReleaseCatkinPackage) (because catkin_generate_changelog and catkin_prepare_release can't handle our custom tag format of `ros-vX.Y.Z`). 1. Manually update `package.xml` and `CHANGELOG.rst` with new version info 2. Manually create a tag named `ros-vX.Y.Z` for the new version 3. Push the newly created commit and tag 4. Run `bloom-release foxglove_msgs --ros-distro humble`, for each distro you want to publish the release to. Follow the prompts, and the script will automatically make a PR to the [ros/rosdistro](https://github.com/ros/rosdistro) repo. Packages will be available via apt after the [next sync](https://discourse.ros.org/c/release/16). View package build status prior to the sync at: [noetic](http://repositories.ros.org/status_page/ros_noetic_default.html?q=foxglove), [foxy](http://repo.ros2.org/status_page/ros_foxy_default.html?q=foxglove), [galactic](http://repo.ros2.org/status_page/ros_galactic_default.html?q=foxglove), [humble](http://repo.ros2.org/status_page/ros_humble_default.html?q=foxglove), [iron](http://repo.ros2.org/status_page/ros_iron_default.html?q=foxglove), [jazzy](http://repo.ros2.org/status_page/ros_jazzy_default.html?q=foxglove), [rolling](http://repo.ros2.org/status_page/ros_rolling_default.html?q=foxglove)
Repo symbol

foxglove_msgs repository

visualization python rust cpp robotics data-visualization ros ros2 mcap
Repo symbol

foxglove_msgs repository

visualization python rust cpp robotics data-visualization ros ros2 mcap foxglove_bridge foxglove_msgs

Repository Summary

Description Libraries and schemas for Foxglove
Checkout URI https://github.com/foxglove/foxglove-sdk.git
VCS Type git
VCS Version main
Last Updated 2025-08-15
Dev Status DEVELOPED
Released RELEASED
Tags visualization python rust cpp robotics data-visualization ros ros2 mcap
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
foxglove_bridge 0.9.0
foxglove_msgs 3.1.0

README

Foxglove SDK

The Foxglove SDK allows you to log and visualize multimodal data with Foxglove.

The core SDK is written in Rust, with bindings for Python, and C++. We publish prebuilt libraries and Python wheels, so you don’t need a Rust development environment.

  • Stream live data to Foxglove over a local WebSocket
  • Log data to MCAP files for visualization or analysis
  • Leverage built-in Foxglove schemas for common visualizations, or your own custom messages using a supported serialization format
  • ROS packages are available for all supported distributions (see our ROS 2 tutorial)

Visit Foxglove SDK Docs to get started.

Packages

File truncated at 100 lines [see the full file](https://github.com/foxglove/foxglove-sdk/tree/main/README.md)
Package Version Description
Python
[foxglove-sdk](./python/foxglove-sdk/) [![pypi version](https://shields.io/pypi/v/foxglove-sdk)](https://pypi.org/project/foxglove-sdk/) Foxglove SDK for Python
C++
[foxglove](./cpp) [![Foxglove SDK version](https://img.shields.io/github/v/release/foxglove/foxglove-sdk?filter=sdk%2F*)](https://github.com/foxglove/foxglove-sdk/releases?q=sdk%2F) Foxglove SDK for C++
Rust
[foxglove](./rust/foxglove) [![Rust crate version](https://img.shields.io/crates/v/foxglove)](https://crates.io/crates/foxglove) Foxglove SDK for Rust
ROS
[foxglove_msgs](./ros/src/foxglove_msgs) [![ROS Humble version](https://img.shields.io/ros/v/humble/foxglove_msgs)](https://index.ros.org/p/foxglove_msgs#humble)
[![ROS Jazzy version](https://img.shields.io/ros/v/jazzy/foxglove_msgs)](https://index.ros.org/p/foxglove_msgs#jazzy)
[![ROS Kilted version](https://img.shields.io/ros/v/kilted/foxglove_msgs)](https://index.ros.org/p/foxglove_msgs#kilted)
[![ROS Rolling version](https://img.shields.io/ros/v/rolling/foxglove_msgs)](https://index.ros.org/p/foxglove_msgs#rolling)
Foxglove schemas for ROS
[foxglove_bridge](./ros/src/foxglove_bridge) [![ROS Humble version](https://img.shields.io/ros/v/humble/foxglove_bridge)](https://index.ros.org/p/foxglove_bridge#humble)
[![ROS Jazzy version](https://img.shields.io/ros/v/jazzy/foxglove_bridge)](https://index.ros.org/p/foxglove_bridge#jazzy)
[![ROS Kilted version](https://img.shields.io/ros/v/kilted/foxglove_bridge)](https://index.ros.org/p/foxglove_bridge#kilted)
[![ROS Rolling version](https://img.shields.io/ros/v/rolling/foxglove_bridge)](https://index.ros.org/p/foxglove_bridge#rolling)
Foxglove ROS bridge

CONTRIBUTING

Contributing

Generating schemas

Schemas are defined in internal/schemas.ts. After modifying this file, you will need to regenerate the language-specific definitions.

We commit generated files to git for several reasons:

  • Ease of access for users of the protobuf/flatbuffer/etc schemas
  • Ease of importing packages (e.g. pointing cargo or npm at a specific git commit)
make generate

Remember to publish new versions of all libraries!

Rust & Python

This package generates source and interface files for the Foxglove SDK, and relies on tooling from the Rust and Python ecosystems.

pipx install poetry
poetry install

For more details, refer to the Python SDK contributing guide.

Release instructions

Releases are published via GitHub Actions.

Rust, Python, and C/C++

All SDK languages are versioned and released together.

  1. Manually trigger the “Draft Release” workflow in GitHub Actions, specifying the new version number.
  2. Ensure that the draft release workflow completes successfully.
  3. Check the release notes, and hit publish on the new release.
  4. Ensure the post-release and tag workflows complete successfully.

TypeScript

  1. Create and merge a PR bumping the version number in package.json file(s).
  2. Manually create a new Release in the GitHub UI. Ensure the tag uses the form typescript/schemas/vX.Y.Z.
  3. GitHub Actions will take care of the rest.

ROS

For first-time setup, follow the guides for installing bloom and authenticating with GitHub.

Permissions to push to foxglove/ros_foxglove_msgs-release (for ROS 1) and ros2-gbp/ros_foxglove_msgs-release (for ROS 2) are required. The latter are managed via Terraform.

The following is a modified version of bloom release instructions (because catkin_generate_changelog and catkin_prepare_release can’t handle our custom tag format of ros-vX.Y.Z).

  1. Manually update package.xml and CHANGELOG.rst with new version info
  2. Manually create a tag named ros-vX.Y.Z for the new version
  3. Push the newly created commit and tag
  4. Run bloom-release foxglove_msgs --ros-distro humble, for each distro you want to publish the release to. Follow the prompts, and the script will automatically make a PR to the ros/rosdistro repo.

Packages will be available via apt after the next sync. View package build status prior to the sync at: noetic, foxy, galactic, humble, iron, jazzy, rolling

# Contributing ## Generating schemas Schemas are defined in [internal/schemas.ts](internal/schemas.ts). After modifying this file, you will need to regenerate the language-specific definitions. We commit generated files to git for several reasons: - Ease of access for users of the protobuf/flatbuffer/etc schemas - Ease of importing packages (e.g. pointing cargo or npm at a specific git commit) ```sh make generate ``` Remember to publish new versions of all libraries! ### Rust & Python This package generates source and interface files for the Foxglove SDK, and relies on tooling from the Rust and Python ecosystems. - Rust, installed via [rustup](https://rustup.rs/) - [Protobuf compiler](https://grpc.io/docs/protoc-installation/) - Python dependencies installed via [Poetry](https://python-poetry.org/) ```sh pipx install poetry poetry install ``` For more details, refer to the [Python SDK contributing guide](python/foxglove-sdk/CONTRIBUTING.md). ## Release instructions Releases are published via GitHub Actions. ### Rust, Python, and C/C++ All SDK languages are versioned and released together. 1. Manually trigger the "Draft Release" workflow in GitHub Actions, specifying the new version number. 2. Ensure that the draft release workflow completes successfully. 3. Check the release notes, and hit publish on the new release. 4. Ensure the post-release and tag workflows complete successfully. ### TypeScript 1. Create and merge a PR bumping the version number in `package.json` file(s). 2. Manually create a new Release in the GitHub UI. Ensure the tag uses the form `typescript/schemas/vX.Y.Z`. 3. GitHub Actions will take care of the rest. ### ROS For first-time setup, follow the guides for [installing bloom](http://ros-infrastructure.github.io/bloom/) and [authenticating with GitHub](https://wiki.ros.org/bloom/Tutorials/GithubManualAuthorization). Permissions to push to [foxglove/ros_foxglove_msgs-release](https://github.com/foxglove/ros_foxglove_msgs-release) (for ROS 1) and [ros2-gbp/ros_foxglove_msgs-release](https://github.com/ros2-gbp/ros_foxglove_msgs-release) (for ROS 2) are required. The latter are managed [via Terraform](https://github.com/ros2-gbp/ros2-gbp-github-org/blob/latest/foxglove_msgs.tf). The following is a modified version of [bloom release instructions](https://wiki.ros.org/bloom/Tutorials/ReleaseCatkinPackage) (because catkin_generate_changelog and catkin_prepare_release can't handle our custom tag format of `ros-vX.Y.Z`). 1. Manually update `package.xml` and `CHANGELOG.rst` with new version info 2. Manually create a tag named `ros-vX.Y.Z` for the new version 3. Push the newly created commit and tag 4. Run `bloom-release foxglove_msgs --ros-distro humble`, for each distro you want to publish the release to. Follow the prompts, and the script will automatically make a PR to the [ros/rosdistro](https://github.com/ros/rosdistro) repo. Packages will be available via apt after the [next sync](https://discourse.ros.org/c/release/16). View package build status prior to the sync at: [noetic](http://repositories.ros.org/status_page/ros_noetic_default.html?q=foxglove), [foxy](http://repo.ros2.org/status_page/ros_foxy_default.html?q=foxglove), [galactic](http://repo.ros2.org/status_page/ros_galactic_default.html?q=foxglove), [humble](http://repo.ros2.org/status_page/ros_humble_default.html?q=foxglove), [iron](http://repo.ros2.org/status_page/ros_iron_default.html?q=foxglove), [jazzy](http://repo.ros2.org/status_page/ros_jazzy_default.html?q=foxglove), [rolling](http://repo.ros2.org/status_page/ros_rolling_default.html?q=foxglove)
Repo symbol

foxglove_msgs repository

visualization python rust cpp robotics data-visualization ros ros2 mcap foxglove_bridge foxglove_msgs

Repository Summary

Description Libraries and schemas for Foxglove
Checkout URI https://github.com/foxglove/foxglove-sdk.git
VCS Type git
VCS Version main
Last Updated 2025-08-15
Dev Status DEVELOPED
Released UNRELEASED
Tags visualization python rust cpp robotics data-visualization ros ros2 mcap
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
foxglove_bridge 0.9.0
foxglove_msgs 3.1.0

README

Foxglove SDK

The Foxglove SDK allows you to log and visualize multimodal data with Foxglove.

The core SDK is written in Rust, with bindings for Python, and C++. We publish prebuilt libraries and Python wheels, so you don’t need a Rust development environment.

  • Stream live data to Foxglove over a local WebSocket
  • Log data to MCAP files for visualization or analysis
  • Leverage built-in Foxglove schemas for common visualizations, or your own custom messages using a supported serialization format
  • ROS packages are available for all supported distributions (see our ROS 2 tutorial)

Visit Foxglove SDK Docs to get started.

Packages

File truncated at 100 lines [see the full file](https://github.com/foxglove/foxglove-sdk/tree/main/README.md)
Package Version Description
Python
[foxglove-sdk](./python/foxglove-sdk/) [![pypi version](https://shields.io/pypi/v/foxglove-sdk)](https://pypi.org/project/foxglove-sdk/) Foxglove SDK for Python
C++
[foxglove](./cpp) [![Foxglove SDK version](https://img.shields.io/github/v/release/foxglove/foxglove-sdk?filter=sdk%2F*)](https://github.com/foxglove/foxglove-sdk/releases?q=sdk%2F) Foxglove SDK for C++
Rust
[foxglove](./rust/foxglove) [![Rust crate version](https://img.shields.io/crates/v/foxglove)](https://crates.io/crates/foxglove) Foxglove SDK for Rust
ROS
[foxglove_msgs](./ros/src/foxglove_msgs) [![ROS Humble version](https://img.shields.io/ros/v/humble/foxglove_msgs)](https://index.ros.org/p/foxglove_msgs#humble)
[![ROS Jazzy version](https://img.shields.io/ros/v/jazzy/foxglove_msgs)](https://index.ros.org/p/foxglove_msgs#jazzy)
[![ROS Kilted version](https://img.shields.io/ros/v/kilted/foxglove_msgs)](https://index.ros.org/p/foxglove_msgs#kilted)
[![ROS Rolling version](https://img.shields.io/ros/v/rolling/foxglove_msgs)](https://index.ros.org/p/foxglove_msgs#rolling)
Foxglove schemas for ROS
[foxglove_bridge](./ros/src/foxglove_bridge) [![ROS Humble version](https://img.shields.io/ros/v/humble/foxglove_bridge)](https://index.ros.org/p/foxglove_bridge#humble)
[![ROS Jazzy version](https://img.shields.io/ros/v/jazzy/foxglove_bridge)](https://index.ros.org/p/foxglove_bridge#jazzy)
[![ROS Kilted version](https://img.shields.io/ros/v/kilted/foxglove_bridge)](https://index.ros.org/p/foxglove_bridge#kilted)
[![ROS Rolling version](https://img.shields.io/ros/v/rolling/foxglove_bridge)](https://index.ros.org/p/foxglove_bridge#rolling)
Foxglove ROS bridge

CONTRIBUTING

Contributing

Generating schemas

Schemas are defined in internal/schemas.ts. After modifying this file, you will need to regenerate the language-specific definitions.

We commit generated files to git for several reasons:

  • Ease of access for users of the protobuf/flatbuffer/etc schemas
  • Ease of importing packages (e.g. pointing cargo or npm at a specific git commit)
make generate

Remember to publish new versions of all libraries!

Rust & Python

This package generates source and interface files for the Foxglove SDK, and relies on tooling from the Rust and Python ecosystems.

pipx install poetry
poetry install

For more details, refer to the Python SDK contributing guide.

Release instructions

Releases are published via GitHub Actions.

Rust, Python, and C/C++

All SDK languages are versioned and released together.

  1. Manually trigger the “Draft Release” workflow in GitHub Actions, specifying the new version number.
  2. Ensure that the draft release workflow completes successfully.
  3. Check the release notes, and hit publish on the new release.
  4. Ensure the post-release and tag workflows complete successfully.

TypeScript

  1. Create and merge a PR bumping the version number in package.json file(s).
  2. Manually create a new Release in the GitHub UI. Ensure the tag uses the form typescript/schemas/vX.Y.Z.
  3. GitHub Actions will take care of the rest.

ROS

For first-time setup, follow the guides for installing bloom and authenticating with GitHub.

Permissions to push to foxglove/ros_foxglove_msgs-release (for ROS 1) and ros2-gbp/ros_foxglove_msgs-release (for ROS 2) are required. The latter are managed via Terraform.

The following is a modified version of bloom release instructions (because catkin_generate_changelog and catkin_prepare_release can’t handle our custom tag format of ros-vX.Y.Z).

  1. Manually update package.xml and CHANGELOG.rst with new version info
  2. Manually create a tag named ros-vX.Y.Z for the new version
  3. Push the newly created commit and tag
  4. Run bloom-release foxglove_msgs --ros-distro humble, for each distro you want to publish the release to. Follow the prompts, and the script will automatically make a PR to the ros/rosdistro repo.

Packages will be available via apt after the next sync. View package build status prior to the sync at: noetic, foxy, galactic, humble, iron, jazzy, rolling

# Contributing ## Generating schemas Schemas are defined in [internal/schemas.ts](internal/schemas.ts). After modifying this file, you will need to regenerate the language-specific definitions. We commit generated files to git for several reasons: - Ease of access for users of the protobuf/flatbuffer/etc schemas - Ease of importing packages (e.g. pointing cargo or npm at a specific git commit) ```sh make generate ``` Remember to publish new versions of all libraries! ### Rust & Python This package generates source and interface files for the Foxglove SDK, and relies on tooling from the Rust and Python ecosystems. - Rust, installed via [rustup](https://rustup.rs/) - [Protobuf compiler](https://grpc.io/docs/protoc-installation/) - Python dependencies installed via [Poetry](https://python-poetry.org/) ```sh pipx install poetry poetry install ``` For more details, refer to the [Python SDK contributing guide](python/foxglove-sdk/CONTRIBUTING.md). ## Release instructions Releases are published via GitHub Actions. ### Rust, Python, and C/C++ All SDK languages are versioned and released together. 1. Manually trigger the "Draft Release" workflow in GitHub Actions, specifying the new version number. 2. Ensure that the draft release workflow completes successfully. 3. Check the release notes, and hit publish on the new release. 4. Ensure the post-release and tag workflows complete successfully. ### TypeScript 1. Create and merge a PR bumping the version number in `package.json` file(s). 2. Manually create a new Release in the GitHub UI. Ensure the tag uses the form `typescript/schemas/vX.Y.Z`. 3. GitHub Actions will take care of the rest. ### ROS For first-time setup, follow the guides for [installing bloom](http://ros-infrastructure.github.io/bloom/) and [authenticating with GitHub](https://wiki.ros.org/bloom/Tutorials/GithubManualAuthorization). Permissions to push to [foxglove/ros_foxglove_msgs-release](https://github.com/foxglove/ros_foxglove_msgs-release) (for ROS 1) and [ros2-gbp/ros_foxglove_msgs-release](https://github.com/ros2-gbp/ros_foxglove_msgs-release) (for ROS 2) are required. The latter are managed [via Terraform](https://github.com/ros2-gbp/ros2-gbp-github-org/blob/latest/foxglove_msgs.tf). The following is a modified version of [bloom release instructions](https://wiki.ros.org/bloom/Tutorials/ReleaseCatkinPackage) (because catkin_generate_changelog and catkin_prepare_release can't handle our custom tag format of `ros-vX.Y.Z`). 1. Manually update `package.xml` and `CHANGELOG.rst` with new version info 2. Manually create a tag named `ros-vX.Y.Z` for the new version 3. Push the newly created commit and tag 4. Run `bloom-release foxglove_msgs --ros-distro humble`, for each distro you want to publish the release to. Follow the prompts, and the script will automatically make a PR to the [ros/rosdistro](https://github.com/ros/rosdistro) repo. Packages will be available via apt after the [next sync](https://discourse.ros.org/c/release/16). View package build status prior to the sync at: [noetic](http://repositories.ros.org/status_page/ros_noetic_default.html?q=foxglove), [foxy](http://repo.ros2.org/status_page/ros_foxy_default.html?q=foxglove), [galactic](http://repo.ros2.org/status_page/ros_galactic_default.html?q=foxglove), [humble](http://repo.ros2.org/status_page/ros_humble_default.html?q=foxglove), [iron](http://repo.ros2.org/status_page/ros_iron_default.html?q=foxglove), [jazzy](http://repo.ros2.org/status_page/ros_jazzy_default.html?q=foxglove), [rolling](http://repo.ros2.org/status_page/ros_rolling_default.html?q=foxglove)
Repo symbol

foxglove_msgs repository

visualization python rust cpp robotics data-visualization ros ros2 mcap
Repo symbol

foxglove_msgs repository

visualization python rust cpp robotics data-visualization ros ros2 mcap
Repo symbol

foxglove_msgs repository

visualization python rust cpp robotics data-visualization ros ros2 mcap
Repo symbol

foxglove_msgs repository

visualization python rust cpp robotics data-visualization ros ros2 mcap foxglove_bridge foxglove_msgs

Repository Summary

Description Libraries and schemas for Foxglove
Checkout URI https://github.com/foxglove/foxglove-sdk.git
VCS Type git
VCS Version main
Last Updated 2025-08-15
Dev Status DEVELOPED
Released RELEASED
Tags visualization python rust cpp robotics data-visualization ros ros2 mcap
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
foxglove_bridge 0.9.0
foxglove_msgs 3.1.0

README

Foxglove SDK

The Foxglove SDK allows you to log and visualize multimodal data with Foxglove.

The core SDK is written in Rust, with bindings for Python, and C++. We publish prebuilt libraries and Python wheels, so you don’t need a Rust development environment.

  • Stream live data to Foxglove over a local WebSocket
  • Log data to MCAP files for visualization or analysis
  • Leverage built-in Foxglove schemas for common visualizations, or your own custom messages using a supported serialization format
  • ROS packages are available for all supported distributions (see our ROS 2 tutorial)

Visit Foxglove SDK Docs to get started.

Packages

File truncated at 100 lines [see the full file](https://github.com/foxglove/foxglove-sdk/tree/main/README.md)
Package Version Description
Python
[foxglove-sdk](./python/foxglove-sdk/) [![pypi version](https://shields.io/pypi/v/foxglove-sdk)](https://pypi.org/project/foxglove-sdk/) Foxglove SDK for Python
C++
[foxglove](./cpp) [![Foxglove SDK version](https://img.shields.io/github/v/release/foxglove/foxglove-sdk?filter=sdk%2F*)](https://github.com/foxglove/foxglove-sdk/releases?q=sdk%2F) Foxglove SDK for C++
Rust
[foxglove](./rust/foxglove) [![Rust crate version](https://img.shields.io/crates/v/foxglove)](https://crates.io/crates/foxglove) Foxglove SDK for Rust
ROS
[foxglove_msgs](./ros/src/foxglove_msgs) [![ROS Humble version](https://img.shields.io/ros/v/humble/foxglove_msgs)](https://index.ros.org/p/foxglove_msgs#humble)
[![ROS Jazzy version](https://img.shields.io/ros/v/jazzy/foxglove_msgs)](https://index.ros.org/p/foxglove_msgs#jazzy)
[![ROS Kilted version](https://img.shields.io/ros/v/kilted/foxglove_msgs)](https://index.ros.org/p/foxglove_msgs#kilted)
[![ROS Rolling version](https://img.shields.io/ros/v/rolling/foxglove_msgs)](https://index.ros.org/p/foxglove_msgs#rolling)
Foxglove schemas for ROS
[foxglove_bridge](./ros/src/foxglove_bridge) [![ROS Humble version](https://img.shields.io/ros/v/humble/foxglove_bridge)](https://index.ros.org/p/foxglove_bridge#humble)
[![ROS Jazzy version](https://img.shields.io/ros/v/jazzy/foxglove_bridge)](https://index.ros.org/p/foxglove_bridge#jazzy)
[![ROS Kilted version](https://img.shields.io/ros/v/kilted/foxglove_bridge)](https://index.ros.org/p/foxglove_bridge#kilted)
[![ROS Rolling version](https://img.shields.io/ros/v/rolling/foxglove_bridge)](https://index.ros.org/p/foxglove_bridge#rolling)
Foxglove ROS bridge

CONTRIBUTING

Contributing

Generating schemas

Schemas are defined in internal/schemas.ts. After modifying this file, you will need to regenerate the language-specific definitions.

We commit generated files to git for several reasons:

  • Ease of access for users of the protobuf/flatbuffer/etc schemas
  • Ease of importing packages (e.g. pointing cargo or npm at a specific git commit)
make generate

Remember to publish new versions of all libraries!

Rust & Python

This package generates source and interface files for the Foxglove SDK, and relies on tooling from the Rust and Python ecosystems.

pipx install poetry
poetry install

For more details, refer to the Python SDK contributing guide.

Release instructions

Releases are published via GitHub Actions.

Rust, Python, and C/C++

All SDK languages are versioned and released together.

  1. Manually trigger the “Draft Release” workflow in GitHub Actions, specifying the new version number.
  2. Ensure that the draft release workflow completes successfully.
  3. Check the release notes, and hit publish on the new release.
  4. Ensure the post-release and tag workflows complete successfully.

TypeScript

  1. Create and merge a PR bumping the version number in package.json file(s).
  2. Manually create a new Release in the GitHub UI. Ensure the tag uses the form typescript/schemas/vX.Y.Z.
  3. GitHub Actions will take care of the rest.

ROS

For first-time setup, follow the guides for installing bloom and authenticating with GitHub.

Permissions to push to foxglove/ros_foxglove_msgs-release (for ROS 1) and ros2-gbp/ros_foxglove_msgs-release (for ROS 2) are required. The latter are managed via Terraform.

The following is a modified version of bloom release instructions (because catkin_generate_changelog and catkin_prepare_release can’t handle our custom tag format of ros-vX.Y.Z).

  1. Manually update package.xml and CHANGELOG.rst with new version info
  2. Manually create a tag named ros-vX.Y.Z for the new version
  3. Push the newly created commit and tag
  4. Run bloom-release foxglove_msgs --ros-distro humble, for each distro you want to publish the release to. Follow the prompts, and the script will automatically make a PR to the ros/rosdistro repo.

Packages will be available via apt after the next sync. View package build status prior to the sync at: noetic, foxy, galactic, humble, iron, jazzy, rolling

# Contributing ## Generating schemas Schemas are defined in [internal/schemas.ts](internal/schemas.ts). After modifying this file, you will need to regenerate the language-specific definitions. We commit generated files to git for several reasons: - Ease of access for users of the protobuf/flatbuffer/etc schemas - Ease of importing packages (e.g. pointing cargo or npm at a specific git commit) ```sh make generate ``` Remember to publish new versions of all libraries! ### Rust & Python This package generates source and interface files for the Foxglove SDK, and relies on tooling from the Rust and Python ecosystems. - Rust, installed via [rustup](https://rustup.rs/) - [Protobuf compiler](https://grpc.io/docs/protoc-installation/) - Python dependencies installed via [Poetry](https://python-poetry.org/) ```sh pipx install poetry poetry install ``` For more details, refer to the [Python SDK contributing guide](python/foxglove-sdk/CONTRIBUTING.md). ## Release instructions Releases are published via GitHub Actions. ### Rust, Python, and C/C++ All SDK languages are versioned and released together. 1. Manually trigger the "Draft Release" workflow in GitHub Actions, specifying the new version number. 2. Ensure that the draft release workflow completes successfully. 3. Check the release notes, and hit publish on the new release. 4. Ensure the post-release and tag workflows complete successfully. ### TypeScript 1. Create and merge a PR bumping the version number in `package.json` file(s). 2. Manually create a new Release in the GitHub UI. Ensure the tag uses the form `typescript/schemas/vX.Y.Z`. 3. GitHub Actions will take care of the rest. ### ROS For first-time setup, follow the guides for [installing bloom](http://ros-infrastructure.github.io/bloom/) and [authenticating with GitHub](https://wiki.ros.org/bloom/Tutorials/GithubManualAuthorization). Permissions to push to [foxglove/ros_foxglove_msgs-release](https://github.com/foxglove/ros_foxglove_msgs-release) (for ROS 1) and [ros2-gbp/ros_foxglove_msgs-release](https://github.com/ros2-gbp/ros_foxglove_msgs-release) (for ROS 2) are required. The latter are managed [via Terraform](https://github.com/ros2-gbp/ros2-gbp-github-org/blob/latest/foxglove_msgs.tf). The following is a modified version of [bloom release instructions](https://wiki.ros.org/bloom/Tutorials/ReleaseCatkinPackage) (because catkin_generate_changelog and catkin_prepare_release can't handle our custom tag format of `ros-vX.Y.Z`). 1. Manually update `package.xml` and `CHANGELOG.rst` with new version info 2. Manually create a tag named `ros-vX.Y.Z` for the new version 3. Push the newly created commit and tag 4. Run `bloom-release foxglove_msgs --ros-distro humble`, for each distro you want to publish the release to. Follow the prompts, and the script will automatically make a PR to the [ros/rosdistro](https://github.com/ros/rosdistro) repo. Packages will be available via apt after the [next sync](https://discourse.ros.org/c/release/16). View package build status prior to the sync at: [noetic](http://repositories.ros.org/status_page/ros_noetic_default.html?q=foxglove), [foxy](http://repo.ros2.org/status_page/ros_foxy_default.html?q=foxglove), [galactic](http://repo.ros2.org/status_page/ros_galactic_default.html?q=foxglove), [humble](http://repo.ros2.org/status_page/ros_humble_default.html?q=foxglove), [iron](http://repo.ros2.org/status_page/ros_iron_default.html?q=foxglove), [jazzy](http://repo.ros2.org/status_page/ros_jazzy_default.html?q=foxglove), [rolling](http://repo.ros2.org/status_page/ros_rolling_default.html?q=foxglove)