GQL 3 is a GraphQL Client for Python 3.6+ which plays nicely with other graphql implementations compatible with the spec.

Under the hood, it uses GraphQL-core which is a Python port of GraphQL.js, the JavaScript reference implementation for GraphQL.


You can install GQL 3 and all the extra dependencies using pip:

pip install --pre gql[all]


Please note that the following documentation describes the current version which is currently only available as a pre-release and needs to be installed with “–pre

After installation, you can start using GQL by importing from the top-level gql package.

Less dependencies

GQL supports multiple transports to communicate with the backend. Each transport can each necessitate specific dependencies. If you only need one transport, instead of using the “all” extra dependency as described above which installs everything, you might want to install only the dependency needed for your transport.

If for example you only need the AIOHTTPTransport, which needs the aiohttp dependency, then you can install GQL with:

pip install --pre gql[aiohttp]

The corresponding between extra dependencies required and the GQL transports is:

Extra dependency










It is also possible to install multiple extra dependencies if needed using commas: gql[aiohttp,websockets]

Reporting Issues and Contributing

Please visit the GitHub repository for gql if you’re interested in the current development or want to report issues or send pull requests.

We welcome all kinds of contributions if the coding guidelines are respected. Please check the Contributing file to learn how to make a good pull request.