Skip to content

Commit

Permalink
readme: Add new python and rust packages
Browse files Browse the repository at this point in the history
  • Loading branch information
amacneil committed Mar 1, 2025
1 parent 94e5ff2 commit 0dea454
Showing 1 changed file with 50 additions and 39 deletions.
89 changes: 50 additions & 39 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,14 @@
# Foxglove SDK

This repo provides libraries and schemas to log and visualize multimodal data with [Foxglove](https://foxglove.dev).
The Foxglove SDK allows you to log and visualize multimodal data with [Foxglove](https://foxglove.dev).

Visit [Foxglove Docs](https://docs.foxglove.dev/) to get started.
The SDK is written in Rust, with bindings and packages available for Python, C, C++, and ROS.

- Visualize live data using the Foxglove WebSocket protocol
- Write logs to [MCAP](https://mcap.dev/) files for later visualization or analysis
- Leverage built-in [Foxglove schemas](https://docs.foxglove.dev/docs/visualization/message-schemas/introduction) for common visualizations, or log your own custom messages using any supported serialization

Visit the [Foxglove Docs](https://docs.foxglove.dev/) to get started.

## Packages

Expand All @@ -11,56 +17,64 @@ Visit [Foxglove Docs](https://docs.foxglove.dev/) to get started.
<tr><th>Package</th><th>Version</th><th>Description</th></tr>
</thead>
<tbody>

<tr><td><strong>Python</strong></td><td></td><td></td></tr>
<tr>
<td>foxglove-schemas-flatbuffer</td>
<td>

[![pypi version](https://shields.io/pypi/v/foxglove-schemas-flatbuffer)](https://pypi.org/project/foxglove-schemas-flatbuffer/)
[foxglove-sdk](./python/foxglove-sdk/)

</td>
<td>Compiled flatbuffers</td>
</tr>
<tr>
<td>foxglove-schemas-protobuf</td>
<td>

[![pypi version](https://shields.io/pypi/v/foxglove-schemas-protobuf)](https://pypi.org/project/foxglove-schemas-protobuf/)
[![pypi version](https://shields.io/pypi/v/foxglove-sdk)](https://pypi.org/project/foxglove-sdk/)

</td>
<td>Compiled protocol buffers</td>
<td>Foxglove SDK for Python</td>
</tr>

<tr><td><strong>C / C++</strong></td><td></td><td></td></tr>
<tr>
<td>foxglove-websocket</td>
<td>

[![pypi version](https://shields.io/pypi/v/foxglove-websocket)](https://pypi.org/project/foxglove-websocket/)
[foxglove](./c)

</td>
<td></td>
<td>Foxglove SDK for C</td>
</tr>
<tr>
<td>

Python implementation of the WebSocket protocol<br/>Repo: [foxglove/ws-protocol](https://github.com/foxglove/ws-protocol/tree/main/python)
[foxglove_cpp](./cpp)

</td>
<td></td>
<td>Foxglove SDK for C++</td>
</tr>
<tr><td><strong>C++</strong></td><td></td><td></td></tr>

<tr><td><strong>Rust</strong></td><td></td><td></td></tr>
<tr>
<td>foxglove-websocket</td>
<td>

[![conan version](https://img.shields.io/conan/v/foxglove-websocket)](https://conan.io/center/recipes/foxglove-websocket)
[foxglove](./rust/foxglove)

</td>
<td>

C++ implementation of the WebSocket protocol<br/>
Repo: [foxglove/ws-protocol](https://github.com/foxglove/ws-protocol/tree/main/cpp)
[![conan version](https://img.shields.io/crates/v/foxglove)](https://crates.io/crates/foxglove)

</td>
<td>Foxglove SDK for Rust</td>
</tr>

<tr><td><strong>ROS</strong></td><td></td><td></td></tr>
<tr>
<td>foxglove_msgs</td>
<td>

[foxglove_msgs](./ros/foxglove_msgs)

</td>
<td>

[![ROS Noetic version](https://img.shields.io/ros/v/noetic/foxglove_msgs)](https://index.ros.org/p/foxglove_msgs#noetic)<br/>
Expand All @@ -69,10 +83,14 @@ Repo: [foxglove/ws-protocol](https://github.com/foxglove/ws-protocol/tree/main/c
[![ROS Rolling version](https://img.shields.io/ros/v/rolling/foxglove_msgs)](https://index.ros.org/p/foxglove_msgs#rolling)

</td>
<td>Foxglove message definitions for ROS 1 and ROS 2</td>
<td>Foxglove schemas for ROS</td>
</tr>
<tr>
<td>foxglove_bridge</td>
<td>

[foxglove_bridge](https://github.com/foxglove/ros-foxglove-bridge)

</td>
<td>

[![ROS Noetic version](https://img.shields.io/ros/v/noetic/foxglove_bridge)](https://index.ros.org/p/foxglove_bridge#noetic)<br/>
Expand All @@ -81,44 +99,37 @@ Repo: [foxglove/ws-protocol](https://github.com/foxglove/ws-protocol/tree/main/c
[![ROS Rolling version](https://img.shields.io/ros/v/rolling/foxglove_bridge)](https://index.ros.org/p/foxglove_bridge#rolling)

</td>
<td>Foxglove bridge for ROS</td>
</tr>

<tr><td><strong>TypeScript</strong></td><td></td><td></td></tr>
<tr>
<td>

ROS implementation of the WebSocket protocol<br/>
Repo: [foxglove/ros-foxglove-bridge](https://github.com/foxglove/ros-foxglove-bridge)
[@foxglove/schemas](https://www.npmjs.com/package/@foxglove/schemas)

</td>
</tr>
<tr><td><strong>JavaScript / TypeScript</strong></td><td></td><td></td></tr>
<tr>
<td>@foxglove/schemas</td>
<td>

[![npm version](https://img.shields.io/npm/v/@foxglove/schemas)](https://www.npmjs.com/package/@foxglove/schemas)

</td>
<td>Foxglove schemas for TypeScript</td>
</tr>
<tr>
<td>@foxglove/ws-protocol</td>
<td>

[![npm version](https://img.shields.io/npm/v/@foxglove/ws-protocol)](https://www.npmjs.com/package/@foxglove/ws-protocol)

</td>
<tr><td><strong>Other</strong></td><td></td><td></td></tr>
<tr>
<td>

TypeScript implementation of the WebSocket protocol<br/>
Repo: [foxglove/ws-protocol](https://github.com/foxglove/ws-protocol/tree/main/typescript/ws-protocol)
[schemas](./schemas)

</td>
<td></td>
<td>Raw schema definitions for ROS, Protobuf, Flatbuffer, JSON, and OMG IDL</td>
</tr>
</tbody>
</table>

### Other

The [schemas](./schemas) directory contains type definitions for ROS 1, ROS 2, Protobuf, JSON Schema, TypeScript, and OMG IDL. They can be copied and used in your application directly.

## Stay in touch

Join our [Discord community](https://foxglove.dev/chat) to ask questions, share feedback, and stay up to date on what our team is working on.

0 comments on commit 0dea454

Please sign in to comment.