Skip to main content

A GraphQL WebSocket server and client to facilitate GraphQL queries, mutations and subscriptions over WebSocket

Project description

graphql-ws-aiohttp

Code CI Test Coverage Latest PyPI version Apache License

Port of graphql-ws-next for graphql-core v3.

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.

PyPI

pip install graphql-ws-aiohttp

Source code

https://github.com/dls-controls/graphql-ws-aiohttp

Changelog

https://github.com/dls-controls/graphql-ws-aiohttp/blob/master/CHANGELOG.rst

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-aiohttp-0.0.1.tar.gz (13.5 kB view details)

Uploaded Source

Built Distribution

graphql_ws_aiohttp-0.0.1-py3-none-any.whl (15.0 kB view details)

Uploaded Python 3

File details

Details for the file graphql-ws-aiohttp-0.0.1.tar.gz.

File metadata

  • Download URL: graphql-ws-aiohttp-0.0.1.tar.gz
  • Upload date:
  • Size: 13.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10

File hashes

Hashes for graphql-ws-aiohttp-0.0.1.tar.gz
Algorithm Hash digest
SHA256 facae6100f63421c94ff893bf9cd5037942ec824d1931564ae1713b88d8bb143
MD5 48e8b80b421d9c8d6cd8d97068a42aab
BLAKE2b-256 c17c808a9fbe06f9fcb9f04eb2e15c424748e45050f70c4cdfaca095c7a1bf66

See more details on using hashes here.

File details

Details for the file graphql_ws_aiohttp-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: graphql_ws_aiohttp-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 15.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10

File hashes

Hashes for graphql_ws_aiohttp-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3b209b54ee539b36d9ef209de986b14de53b45bc674328c6847561e1b61e8b70
MD5 705fc566a945091dd79c88cd1aa46b0e
BLAKE2b-256 d627ce0e0840146a3dfc2d87764d4f6b78d32ec871ac81949889013df1b1d600

See more details on using hashes here.

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