{"id":19534054,"url":"https://github.com/foxglove/ws-protocol","last_synced_at":"2025-05-15T20:03:33.936Z","repository":{"id":36972464,"uuid":"427752406","full_name":"foxglove/ws-protocol","owner":"foxglove","description":"Foxglove WebSocket protocol specification and libraries","archived":false,"fork":false,"pushed_at":"2025-04-29T02:18:49.000Z","size":2811,"stargazers_count":126,"open_issues_count":14,"forks_count":73,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-05-08T08:05:57.791Z","etag":null,"topics":["foxglove","robotics","websocket"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/foxglove.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-13T19:16:25.000Z","updated_at":"2025-04-21T14:25:02.000Z","dependencies_parsed_at":"2023-12-20T08:09:31.927Z","dependency_job_id":"35dead39-e34e-48a3-809c-9b9557ec0f49","html_url":"https://github.com/foxglove/ws-protocol","commit_stats":{"total_commits":328,"total_committers":9,"mean_commits":36.44444444444444,"dds":"0.47560975609756095","last_synced_commit":"803bac0ce54776db7032052b5a672a211057d016"},"previous_names":[],"tags_count":65,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foxglove%2Fws-protocol","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foxglove%2Fws-protocol/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foxglove%2Fws-protocol/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foxglove%2Fws-protocol/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/foxglove","download_url":"https://codeload.github.com/foxglove/ws-protocol/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254414493,"owners_count":22067271,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["foxglove","robotics","websocket"],"created_at":"2024-11-11T02:12:08.427Z","updated_at":"2025-05-15T20:03:31.642Z","avatar_url":"https://github.com/foxglove.png","language":"C++","funding_links":[],"categories":["Visualization Tools"],"sub_categories":["Protocols and APIs"],"readme":"# Foxglove WebSocket Protocol\n\nThis repository provides a [protocol specification](docs/spec.md) and reference implementations enabling [Foxglove](https://foxglove.dev/) to ingest arbitrary “live” streamed data.\n\nA 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 documentation](https://docs.foxglove.dev/docs/connecting-to-data/frameworks/custom/#live-connection) for more information on which encodings Foxglove supports.\n\nImplementations are available in the following languages:\n\n| Language              | Includes                                    | Package name                     | Version                                                                                                                      |\n| --------------------- | ------------------------------------------- | -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |\n| Python                | [server + examples](python)                 | `foxglove-websocket`             | [![](https://shields.io/pypi/v/foxglove-websocket)](https://pypi.org/project/foxglove-websocket/)                            |\n| JavaScript/TypeScript | [server + client](typescript/ws-protocol)   | `@foxglove/ws-protocol`          | [![](https://shields.io/npm/v/@foxglove/ws-protocol)](https://www.npmjs.com/package/@foxglove/ws-protocol)                   |\n| JavaScript/TypeScript | [examples](typescript/ws-protocol-examples) | `@foxglove/ws-protocol-examples` | [![](https://shields.io/npm/v/@foxglove/ws-protocol-examples)](https://www.npmjs.com/package/@foxglove/ws-protocol-examples) |\n| C++                   | [server + examples](cpp)                    | `foxglove-websocket`             | [![](https://shields.io/conan/v/foxglove-websocket)](https://conan.io/center/foxglove-websocket)                             |\n\n### Additional resources\n- https://foxglove.github.io/ws-protocol - Connect to a ws-protocol compliant server and measure data throughput\n- [eCAL Foxglove Bridge](https://github.com/eclipse-ecal/ecal-foxglove-bridge) – WebSocket bridge that allows users to connect eCAL systems to Foxglove for easy visualization and debugging\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffoxglove%2Fws-protocol","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffoxglove%2Fws-protocol","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffoxglove%2Fws-protocol/lists"}