Foxglove WebSocket server
Project description
Foxglove WebSocket server
This package provides a server implementation of the Foxglove WebSocket protocol with examples. The protocol enables Foxglove Studio to ingest arbitrary “live” streamed data.
Installation
$ pip install foxglove-websocket
Example servers
This package includes example servers demonstrating how to use JSON and Protobuf data. To install additional dependencies required for the examples, run:
$ pip install 'foxglove-websocket[examples]'
Run a simple example server that publishes messages on a single example_msg
topic:
-
JSON server – Uses JSON to encode message data and JSON Schema to describe the message layout.
python -m foxglove_websocket.examples.json_server
-
Protobuf server – Uses Protobuf to encode message data.
python -m foxglove_websocket.examples.protobuf_server
Note: You must exit each server (control + c) before starting up another.
To see data from any server, open Foxglove Studio with a Foxglove WebSocket connection to ws://localhost:8765/
:
To customize each server for your specifications, copy either server into a separate file like server.py
and make the desired adjustments to this template. Start up your server from the command line, using python3 server.py
.
Multi-threaded usage
The threaded_server
example demonstrates how to use the FoxgloveServer
class in a thread-safe way when interacting with a threaded middleware. Run the server using:
python -m foxglove_websocket.examples.threaded_server
When connected to the server in Foxglove Studio, use the Data Source Info panel to see channels appearing and disappearing, and a Plot panel to visualize data on each channel.
For a more detailed explanation, read the example's source code.
Development
When developing or maintaining the foxglove-websocket
package, it is recommended to use pipenv
to manage development dependencies and virtualenv
.
pipenv install --dev
– Create avirtualenv
and install development dependenciespipenv shell
– Enter thevirtualenv
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for foxglove_websocket-0.0.8-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b790552eff753ceffa64723d831404b231fc073a4f98d9868096a31911b31c61 |
|
MD5 | e4d292edcbadb8eb50f6bfa3489d6c14 |
|
BLAKE2b-256 | 4e818761cf7f3ce7088491de6fac3bb833d8927c6da2dba8403d940c893a104d |