Skip to main content

Websocket server for GraphQL subscriptions

Project description

A GraphQL WebSocket server and client to facilitate GraphQL queries, mutations and subscriptions over WebSocket (for Python 3.6+). This code is based on the current implementation of subscriptions-transport-ws.

Getting Started

Start by installing the package using pip:

Or, by using your favorite package manager, like Poetry:

With aiohttp

Usage with aiohttp is simple:

For other frameworks

Adding support for other web frameworks is simple. A framework must provide a concrete implementation of graphql_ws.abc.AbstractConnectionContext, and then it’s ready to use with the SubscriptionServer.

Usage

Using apollo-link-ws you can opt to use websockets for queries and mutations in addition to subscriptions.

Use it with GraphiQL

Look in the demo<./demo>_ directory to see usage examples for GraphiQL. Due to the implementation of the javascript client for GraphiQL (GraphiQL-Subscriptions-Fetcher), queries and mutations will not be handled over websocket.

Contributing

This project uses Poetry, so to contribute, simply fork and clone this repository, and then set up your virtual environment using:

If you don’t yet have Poetry installed, please follow the documentation for installation.

Code formatting is done via black, and code should be well-typed using mypy.

License

This package is licensed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

graphql-ws-next-1.0.0.tar.gz (7.9 kB view hashes)

Uploaded Source

Built Distribution

graphql_ws_next-1.0.0-py3-none-any.whl (21.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page