foxglove_msgs repository

Repository Summary

Checkout URI https://github.com/foxglove/schemas.git
VCS Type git
VCS Version main
Last Updated 2025-03-05
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
foxglove_msgs 3.1.0

README

Foxglove SDK

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

[!IMPORTANT]

This new Foxglove SDK is under active development.

It is ready for beta testing, but it is not yet fully documented and the API is subject to change. Please provide feedback via Discord or GitHub Discussions.

For stable libraries, see the existing ws-protocol or ros-foxglove-bridge repos.

The new SDK is written in Rust, with bindings and packages available for Python (C, C++, and ROS coming soon).

  • Visualize live data using the Foxglove WebSocket protocol
  • Log data to MCAP files for later visualization or analysis
  • Leverage built-in Foxglove schemas for common visualizations, or your own custom messages using a supported serialization format

Visit Foxglove Docs to get started.

Packages

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
Rust
[foxglove](./rust/foxglove) [![conan version](https://img.shields.io/crates/v/foxglove)](https://crates.io/crates/foxglove) Foxglove SDK for Rust
ROS
[foxglove_msgs](./ros/foxglove_msgs) [![ROS Noetic version](https://img.shields.io/ros/v/noetic/foxglove_msgs)](https://index.ros.org/p/foxglove_msgs#noetic)
[![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 Rolling version](https://img.shields.io/ros/v/rolling/foxglove_msgs)](https://index.ros.org/p/foxglove_msgs#rolling)
Foxglove schemas for ROS
TypeScript
[@foxglove/schemas](./typescript/schemas) [![npm version](https://img.shields.io/npm/v/@foxglove/schemas)](https://www.npmjs.com/package/@foxglove/schemas) Foxglove schemas for TypeScript
Other
[schemas](./schemas) Raw schema definitions for ROS, Protobuf, Flatbuffer, JSON, and OMG IDL

License

MIT License

Stay in touch

Join our Discord community to ask questions, share feedback, and stay up to date on what our team is working on.

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)
corepack enable  # ensure you have corepack enabled
yarn install     # install dependencies
yarn generate    # regenerate files

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

All SDK languages are versioned and released together.

  1. Manually trigger the “Draft Release” workflow in GitHub Actions, specifying the new version number.
  2. Check the release notes, and hit publish on the new release.
  3. 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 [language]/[package-name]/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


Repository Summary

Checkout URI https://github.com/foxglove/schemas.git
VCS Type git
VCS Version main
Last Updated 2025-03-05
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
foxglove_msgs 3.1.0

README

Foxglove SDK

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

[!IMPORTANT]

This new Foxglove SDK is under active development.

It is ready for beta testing, but it is not yet fully documented and the API is subject to change. Please provide feedback via Discord or GitHub Discussions.

For stable libraries, see the existing ws-protocol or ros-foxglove-bridge repos.

The new SDK is written in Rust, with bindings and packages available for Python (C, C++, and ROS coming soon).

  • Visualize live data using the Foxglove WebSocket protocol
  • Log data to MCAP files for later visualization or analysis
  • Leverage built-in Foxglove schemas for common visualizations, or your own custom messages using a supported serialization format

Visit Foxglove Docs to get started.

Packages

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
Rust
[foxglove](./rust/foxglove) [![conan version](https://img.shields.io/crates/v/foxglove)](https://crates.io/crates/foxglove) Foxglove SDK for Rust
ROS
[foxglove_msgs](./ros/foxglove_msgs) [![ROS Noetic version](https://img.shields.io/ros/v/noetic/foxglove_msgs)](https://index.ros.org/p/foxglove_msgs#noetic)
[![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 Rolling version](https://img.shields.io/ros/v/rolling/foxglove_msgs)](https://index.ros.org/p/foxglove_msgs#rolling)
Foxglove schemas for ROS
TypeScript
[@foxglove/schemas](./typescript/schemas) [![npm version](https://img.shields.io/npm/v/@foxglove/schemas)](https://www.npmjs.com/package/@foxglove/schemas) Foxglove schemas for TypeScript
Other
[schemas](./schemas) Raw schema definitions for ROS, Protobuf, Flatbuffer, JSON, and OMG IDL

License

MIT License

Stay in touch

Join our Discord community to ask questions, share feedback, and stay up to date on what our team is working on.

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)
corepack enable  # ensure you have corepack enabled
yarn install     # install dependencies
yarn generate    # regenerate files

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

All SDK languages are versioned and released together.

  1. Manually trigger the “Draft Release” workflow in GitHub Actions, specifying the new version number.
  2. Check the release notes, and hit publish on the new release.
  3. 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 [language]/[package-name]/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


Repository Summary

Checkout URI https://github.com/foxglove/schemas.git
VCS Type git
VCS Version main
Last Updated 2025-03-05
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
foxglove_msgs 3.1.0

README

Foxglove SDK

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

[!IMPORTANT]

This new Foxglove SDK is under active development.

It is ready for beta testing, but it is not yet fully documented and the API is subject to change. Please provide feedback via Discord or GitHub Discussions.

For stable libraries, see the existing ws-protocol or ros-foxglove-bridge repos.

The new SDK is written in Rust, with bindings and packages available for Python (C, C++, and ROS coming soon).

  • Visualize live data using the Foxglove WebSocket protocol
  • Log data to MCAP files for later visualization or analysis
  • Leverage built-in Foxglove schemas for common visualizations, or your own custom messages using a supported serialization format

Visit Foxglove Docs to get started.

Packages

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
Rust
[foxglove](./rust/foxglove) [![conan version](https://img.shields.io/crates/v/foxglove)](https://crates.io/crates/foxglove) Foxglove SDK for Rust
ROS
[foxglove_msgs](./ros/foxglove_msgs) [![ROS Noetic version](https://img.shields.io/ros/v/noetic/foxglove_msgs)](https://index.ros.org/p/foxglove_msgs#noetic)
[![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 Rolling version](https://img.shields.io/ros/v/rolling/foxglove_msgs)](https://index.ros.org/p/foxglove_msgs#rolling)
Foxglove schemas for ROS
TypeScript
[@foxglove/schemas](./typescript/schemas) [![npm version](https://img.shields.io/npm/v/@foxglove/schemas)](https://www.npmjs.com/package/@foxglove/schemas) Foxglove schemas for TypeScript
Other
[schemas](./schemas) Raw schema definitions for ROS, Protobuf, Flatbuffer, JSON, and OMG IDL

License

MIT License

Stay in touch

Join our Discord community to ask questions, share feedback, and stay up to date on what our team is working on.

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)
corepack enable  # ensure you have corepack enabled
yarn install     # install dependencies
yarn generate    # regenerate files

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

All SDK languages are versioned and released together.

  1. Manually trigger the “Draft Release” workflow in GitHub Actions, specifying the new version number.
  2. Check the release notes, and hit publish on the new release.
  3. 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 [language]/[package-name]/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


Repository Summary

Checkout URI https://github.com/foxglove/schemas.git
VCS Type git
VCS Version main
Last Updated 2025-03-05
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
foxglove_msgs 3.1.0

README

Foxglove SDK

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

[!IMPORTANT]

This new Foxglove SDK is under active development.

It is ready for beta testing, but it is not yet fully documented and the API is subject to change. Please provide feedback via Discord or GitHub Discussions.

For stable libraries, see the existing ws-protocol or ros-foxglove-bridge repos.

The new SDK is written in Rust, with bindings and packages available for Python (C, C++, and ROS coming soon).

  • Visualize live data using the Foxglove WebSocket protocol
  • Log data to MCAP files for later visualization or analysis
  • Leverage built-in Foxglove schemas for common visualizations, or your own custom messages using a supported serialization format

Visit Foxglove Docs to get started.

Packages

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
Rust
[foxglove](./rust/foxglove) [![conan version](https://img.shields.io/crates/v/foxglove)](https://crates.io/crates/foxglove) Foxglove SDK for Rust
ROS
[foxglove_msgs](./ros/foxglove_msgs) [![ROS Noetic version](https://img.shields.io/ros/v/noetic/foxglove_msgs)](https://index.ros.org/p/foxglove_msgs#noetic)
[![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 Rolling version](https://img.shields.io/ros/v/rolling/foxglove_msgs)](https://index.ros.org/p/foxglove_msgs#rolling)
Foxglove schemas for ROS
TypeScript
[@foxglove/schemas](./typescript/schemas) [![npm version](https://img.shields.io/npm/v/@foxglove/schemas)](https://www.npmjs.com/package/@foxglove/schemas) Foxglove schemas for TypeScript
Other
[schemas](./schemas) Raw schema definitions for ROS, Protobuf, Flatbuffer, JSON, and OMG IDL

License

MIT License

Stay in touch

Join our Discord community to ask questions, share feedback, and stay up to date on what our team is working on.

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)
corepack enable  # ensure you have corepack enabled
yarn install     # install dependencies
yarn generate    # regenerate files

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

All SDK languages are versioned and released together.

  1. Manually trigger the “Draft Release” workflow in GitHub Actions, specifying the new version number.
  2. Check the release notes, and hit publish on the new release.
  3. 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 [language]/[package-name]/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


Repository Summary

Checkout URI https://github.com/foxglove/schemas.git
VCS Type git
VCS Version main
Last Updated 2025-03-05
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
foxglove_msgs 3.1.0

README

Foxglove SDK

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

[!IMPORTANT]

This new Foxglove SDK is under active development.

It is ready for beta testing, but it is not yet fully documented and the API is subject to change. Please provide feedback via Discord or GitHub Discussions.

For stable libraries, see the existing ws-protocol or ros-foxglove-bridge repos.

The new SDK is written in Rust, with bindings and packages available for Python (C, C++, and ROS coming soon).

  • Visualize live data using the Foxglove WebSocket protocol
  • Log data to MCAP files for later visualization or analysis
  • Leverage built-in Foxglove schemas for common visualizations, or your own custom messages using a supported serialization format

Visit Foxglove Docs to get started.

Packages

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
Rust
[foxglove](./rust/foxglove) [![conan version](https://img.shields.io/crates/v/foxglove)](https://crates.io/crates/foxglove) Foxglove SDK for Rust
ROS
[foxglove_msgs](./ros/foxglove_msgs) [![ROS Noetic version](https://img.shields.io/ros/v/noetic/foxglove_msgs)](https://index.ros.org/p/foxglove_msgs#noetic)
[![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 Rolling version](https://img.shields.io/ros/v/rolling/foxglove_msgs)](https://index.ros.org/p/foxglove_msgs#rolling)
Foxglove schemas for ROS
TypeScript
[@foxglove/schemas](./typescript/schemas) [![npm version](https://img.shields.io/npm/v/@foxglove/schemas)](https://www.npmjs.com/package/@foxglove/schemas) Foxglove schemas for TypeScript
Other
[schemas](./schemas) Raw schema definitions for ROS, Protobuf, Flatbuffer, JSON, and OMG IDL

License

MIT License

Stay in touch

Join our Discord community to ask questions, share feedback, and stay up to date on what our team is working on.

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)
corepack enable  # ensure you have corepack enabled
yarn install     # install dependencies
yarn generate    # regenerate files

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

All SDK languages are versioned and released together.

  1. Manually trigger the “Draft Release” workflow in GitHub Actions, specifying the new version number.
  2. Check the release notes, and hit publish on the new release.
  3. 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 [language]/[package-name]/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


Repository Summary

Checkout URI https://github.com/foxglove/schemas.git
VCS Type git
VCS Version main
Last Updated 2025-03-05
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
foxglove_msgs 3.1.0

README

Foxglove SDK

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

[!IMPORTANT]

This new Foxglove SDK is under active development.

It is ready for beta testing, but it is not yet fully documented and the API is subject to change. Please provide feedback via Discord or GitHub Discussions.

For stable libraries, see the existing ws-protocol or ros-foxglove-bridge repos.

The new SDK is written in Rust, with bindings and packages available for Python (C, C++, and ROS coming soon).

  • Visualize live data using the Foxglove WebSocket protocol
  • Log data to MCAP files for later visualization or analysis
  • Leverage built-in Foxglove schemas for common visualizations, or your own custom messages using a supported serialization format

Visit Foxglove Docs to get started.

Packages

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
Rust
[foxglove](./rust/foxglove) [![conan version](https://img.shields.io/crates/v/foxglove)](https://crates.io/crates/foxglove) Foxglove SDK for Rust
ROS
[foxglove_msgs](./ros/foxglove_msgs) [![ROS Noetic version](https://img.shields.io/ros/v/noetic/foxglove_msgs)](https://index.ros.org/p/foxglove_msgs#noetic)
[![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 Rolling version](https://img.shields.io/ros/v/rolling/foxglove_msgs)](https://index.ros.org/p/foxglove_msgs#rolling)
Foxglove schemas for ROS
TypeScript
[@foxglove/schemas](./typescript/schemas) [![npm version](https://img.shields.io/npm/v/@foxglove/schemas)](https://www.npmjs.com/package/@foxglove/schemas) Foxglove schemas for TypeScript
Other
[schemas](./schemas) Raw schema definitions for ROS, Protobuf, Flatbuffer, JSON, and OMG IDL

License

MIT License

Stay in touch

Join our Discord community to ask questions, share feedback, and stay up to date on what our team is working on.

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)
corepack enable  # ensure you have corepack enabled
yarn install     # install dependencies
yarn generate    # regenerate files

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

All SDK languages are versioned and released together.

  1. Manually trigger the “Draft Release” workflow in GitHub Actions, specifying the new version number.
  2. Check the release notes, and hit publish on the new release.
  3. 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 [language]/[package-name]/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


Repository Summary

Checkout URI https://github.com/foxglove/schemas.git
VCS Type git
VCS Version main
Last Updated 2025-03-05
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
foxglove_msgs 3.1.0

README

Foxglove SDK

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

[!IMPORTANT]

This new Foxglove SDK is under active development.

It is ready for beta testing, but it is not yet fully documented and the API is subject to change. Please provide feedback via Discord or GitHub Discussions.

For stable libraries, see the existing ws-protocol or ros-foxglove-bridge repos.

The new SDK is written in Rust, with bindings and packages available for Python (C, C++, and ROS coming soon).

  • Visualize live data using the Foxglove WebSocket protocol
  • Log data to MCAP files for later visualization or analysis
  • Leverage built-in Foxglove schemas for common visualizations, or your own custom messages using a supported serialization format

Visit Foxglove Docs to get started.

Packages

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
Rust
[foxglove](./rust/foxglove) [![conan version](https://img.shields.io/crates/v/foxglove)](https://crates.io/crates/foxglove) Foxglove SDK for Rust
ROS
[foxglove_msgs](./ros/foxglove_msgs) [![ROS Noetic version](https://img.shields.io/ros/v/noetic/foxglove_msgs)](https://index.ros.org/p/foxglove_msgs#noetic)
[![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 Rolling version](https://img.shields.io/ros/v/rolling/foxglove_msgs)](https://index.ros.org/p/foxglove_msgs#rolling)
Foxglove schemas for ROS
TypeScript
[@foxglove/schemas](./typescript/schemas) [![npm version](https://img.shields.io/npm/v/@foxglove/schemas)](https://www.npmjs.com/package/@foxglove/schemas) Foxglove schemas for TypeScript
Other
[schemas](./schemas) Raw schema definitions for ROS, Protobuf, Flatbuffer, JSON, and OMG IDL

License

MIT License

Stay in touch

Join our Discord community to ask questions, share feedback, and stay up to date on what our team is working on.

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)
corepack enable  # ensure you have corepack enabled
yarn install     # install dependencies
yarn generate    # regenerate files

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

All SDK languages are versioned and released together.

  1. Manually trigger the “Draft Release” workflow in GitHub Actions, specifying the new version number.
  2. Check the release notes, and hit publish on the new release.
  3. 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 [language]/[package-name]/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