Skip to content

Foxglove Studio WebSocket protocol specification and libraries

License

Notifications You must be signed in to change notification settings

pezy/ws-protocol

 
 

Repository files navigation

Foxglove WebSocket Protocol

This repository provides a protocol specification and reference implementations enabling Foxglove Studio to ingest arbitrary “live” streamed data.

A Foxglove WebSocket server can provide multiple data streams, called channels. When a client subscribes to a channel, it begins receiving messages on that channel. This protocol does not prescribe the messages' data format. Instead, the server specifies each channel's encoding, and the client uses this information to determine whether it can decode that channel's messages. Read the Foxglove Studio documentation for more information on which encodings Studio supports.

Implementations are available in the following languages:

Language Includes Package name Version
Python server + examples foxglove-websocket
JavaScript/TypeScript server + client @foxglove/ws-protocol
JavaScript/TypeScript examples @foxglove/ws-protocol-examples
C++ server + examples foxglove-websocket

Additional resources

  • eCAL Foxglove Bridge – WebSocket bridge that allows users to connect eCAL systems to Foxglove Studio for easy visualization and debugging

About

Foxglove Studio WebSocket protocol specification and libraries

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 36.6%
  • TypeScript 34.4%
  • Python 27.2%
  • CMake 0.6%
  • JavaScript 0.5%
  • Dockerfile 0.4%
  • Makefile 0.3%