Message schemas supported by Foxglove
Language/Framework | Package name | Version |
---|---|---|
JavaScript/TypeScript | @foxglove/schemas |
|
Python + Protobuf | foxglove-schemas-protobuf |
|
Python + FlatBuffers | foxglove-schemas-flatbuffer |
|
ROS | foxglove_msgs |
See Foxglove Schemas documentation.
The schemas folder contains type definitions generated for ROS 1, ROS 2, Protobuf, JSON Schema, TypeScript, and OMG IDL.
These schemas can be used in MCAP files or Foxglove WebSocket servers to take advantage of Foxglove's visualizations.
@foxglove/schemas is licensed under the MIT License.
The schema definitions are in internal/schemas.ts.
After editing the schemas, re-generate the language-specific definitions by running yarn update-generated-files
.
package.json
, make a PR, and merge to mainreleases/typescript/vX.Y.Z
on the squash-merged commit, and push the tagpython/[package-name]/setup.cfg
, make a PR, and merge to mainreleases/python/[package-name]/vX.Y.Z
on the squash-merged commit, and push the tagFor 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
).
package.xml
and CHANGELOG.rst
with new version inforos-vX.Y.Z
for the new versionbloom-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: melodic, noetic, foxy, galactic, humble, iron, rolling
Join our Slack channel to ask questions, share feedback, and stay up to date on what our team is working on.