Foxglove open source software

Open source

Our team relied heavily on open source software to develop Foxglove, and so we're committed to keeping our own code open source and making our own contributions back to the community.

Foxglove has published several npm packages to facilitate common robotics development tasks – like serializing and deserializing data, parsing message definitions, and exposing helper methods for data manipulation. While these were originally developed for Foxglove, they can be used in any TypeScript or JavaScript project.

Check out our npm and GitHub pages for more details.

Foxglove

Foxglove Studio

Open source desktop and web app for robotics data visualization and debugging

MCAP

Modular, performant, and serialization-agnostic container file format

Foxglove WebSocket protocol

Libraries for loading custom data into Foxglove Studio via WebSocket servers

ROS (Robot Operating System)

@foxglove/ros1

TypeScript implementation of ROS 1 protocol with a pluggable transport layer

@foxglove/rosbag

ROS 1 bag reader and writer abstract implementation

@foxglove/rosbag2

ROS 2 bag reader and writer abstract implementation

@foxglove/rosbag2-node

ROS 2 bag reader and writer for Node.js

@foxglove/rosbag2-web

ROS 2 bag reader and writer for the browser

@foxglove/rosmsg

ROS 1 and 2 message definition parser

@foxglove/rosmsg-msgs-common

Common ROS message definitions using @foxglove/rosmsg

@foxglove/rosmsg-msgs-foxglove

Foxglove ROS message definitions using @foxglove/rosmsg

@foxglove/rosmsg-serialization

ROS 1 message serialization for reading and writing bags and network messages

@foxglove/rosmsg2-serialization

ROS 2 message serialization for reading and writing bags and network messages

@foxglove/rostime

Primitives and helper methods for ROS Time and Duration

Miscellaneous

@foxglove/cdr

Common Data Representation (CDR) serialization and deserialization

@foxglove/electron-socket

Networking sockets for Electron apps

@foxglove/just-fetch

Isomorphic ponyfill wrapping fetch and node-fetch

@foxglove/velodyne-cloud

TypeScript library for converting Velodyne LIDAR packets to point cloud

@foxglove/wasm-bz2

Bzip2 decompression compiled to WebAssembly

@foxglove/xmlrpc

TypeScript library implementing an XMLRPC client and server with pluggable server backend

@foxglove/eslint-plugin

ESLint configuration used in Foxglove Studio

Want product news and updates?

Sign up for our newsletter to stay up to date with our latest features.