A GraphQL over Websockets implementation for Rust
Find a file
Forgejo Actions 1bad5a173b
All checks were successful
rust / check-format (push) Successful in 27s
Release-plz / Release-plz PR (push) Successful in 42s
rust / build (push) Successful in 1m7s
chore: release v0.12.2 (#156)
Co-authored-by: GraphQl Release Bot <graphql-ws-releases@grambo.me.uk>
Co-authored-by: Graeme Coupar <graeme@turbofish.tech>
Reviewed-on: #156
Co-authored-by: Forgejo Actions <forgejo-actions@noreply.codeberg.org>
Co-committed-by: Forgejo Actions <forgejo-actions@noreply.codeberg.org>
2026-03-29 17:22:50 +02:00
.forgejo/workflows chore: configure release-plz for forgejo (#155) 2026-03-29 17:18:05 +02:00
examples chore: release v0.12.2 (#156) 2026-03-29 17:22:50 +02:00
examples-wasm chore: release v0.12.2 (#156) 2026-03-29 17:22:50 +02:00
schemas Commit example (#22) 2021-05-29 13:15:49 +01:00
src fix: docs.rs build (#150) 2026-02-22 20:51:40 +01:00
tests test: add some tests of recent stop & drop additions (#140) 2026-01-11 21:47:34 +00:00
.gitignore chore: rename stream.rs -> subscription.rs (#136) 2025-09-13 12:06:12 +00:00
Cargo.lock chore: release v0.12.2 (#156) 2026-03-29 17:22:50 +02:00
Cargo.toml chore: release v0.12.2 (#156) 2026-03-29 17:22:50 +02:00
CHANGELOG.md chore: release v0.12.2 (#156) 2026-03-29 17:22:50 +02:00
CODE_OF_CONDUCT.md chore: tidy some things (#114) 2024-06-29 14:34:23 +01:00
CONTRIBUTING.md chore: update repository url to codeberg (#148) 2026-02-22 16:27:13 +01:00
LICENSE Initial commit 2021-02-07 15:36:33 +00:00
README.md fix: weird extra words in repo 2026-02-22 20:37:45 +00:00
release-plz.toml chore: configure github release name (#109) 2024-06-08 15:00:40 +00:00

GraphQL Websocket Client

Runtime agnostic graphql websocket client

Crate Info API Docs IRC Room

Examples | Changelog

Overview

The goal of this library is to provide a runtime agnostic implementation for GraphQL-over-Websockets.

The library only supports subscriptions for now but will eventually support queries and mutations.

It supports the websocket libraries async-tungstenite, tokio-tungstenite and ws-stream-wasm

Tungstenite Versions

As the tungstenite library is pre-1.0 graphql-ws-client provides support for a range of versions. You can select which version of tungestenite you want using the tungstenite-0-xx feature flags. Note that only one of these can be active at any time, or graphql-ws-client won't compile. Because of these limitations only one tungstenite version will be tested on the grapqhl-ws-client CI, as a result the other versions may not compile or work corectly.

Integrations

The library offers integrations with some popular GraphQL clients with feature flags:

Documentation

The documentation is quite limited at the moment, here are some sources:

  1. The provided examples
  2. The reference documentation on docs.rs

Logging

By default, the library will log some messages at the trace level to help you debug. It is possible to turn off the logging entirely by using the no-logging feature.

Getting Help

If you want help with graphql-ws-client you can join the #cynic chat room on IRC using any of these options: