gql
GraphQL client for Python
Install
gql on PyPI
pip
pip install gqluv
uv add gqlpoetry
poetry add gqlPackage facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.8.1) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — graphql-core, yarl, backoff, anyio |
| Maintenance | actively maintained — 361 days since the last release |
| Last repo commit | |
| First released | |
| Popularity | one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-13) |
Evidence: gql-4.0.0-py3-none-any.whl
Keywords: api, graphql, protocol, rest, relay, gql, client
About gql
from the package's own PyPI description — quoted content, verbatim
GQL
This is a GraphQL client for Python.
Plays nicely with graphene, graphql-core, graphql-js and any other GraphQL implementation
compatible with the GraphQL specification.
GQL architecture is inspired by React-Relay and Apollo-Client.
GitHub-Actions (image) pyversion (image) pypi (image) Anaconda-Server Badge (image) codecov (image)
Documentation
The complete documentation for GQL can be found...
Read as markdown · JSON record · Source repository · Homepage
AI interpretation — verify before relying
AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page
GQL is a GraphQL client for Python that executes queries, mutations, and subscriptions against GraphQL servers using multiple transport protocols (HTTP, WebSockets, and others), with support for both sync and async execution.
Low install friction with a pure-wheel distribution (gql-4.0.0-py3-none-any.whl) and only four runtime dependencies. The package is actively maintained with a recent release on 2025-08-17 and an active GitHub repository.
MIT license is permissive, allowing commercial and private use with minimal restrictions—you may use, modify, and distribute GQL freely as long as you include the license notice.
Usage
from gql import Client, gql
from gql.transport.aiohttp import AIOHTTPTransport
transport = AIOHTTPTransport(url="https://example.com/graphql")
client = Client(transport=transport)
query = gql("query { example }")
result = client.execute(query)
Requires Python >=3.8.1; async usage requires an asyncio event loop or use of async context managers; transport modules (e.g., aiohttp) are optional extras not included in the base install.
Verdict: GQL is a production-stable, actively maintained GraphQL client with low install friction and permissive licensing. Its broad protocol support and dual sync/async capability make it suitable for most GraphQL integration scenarios. No known vulnerabilities reported.
Needs verification
- Whether optional transport extras (aiohttp, websockets, etc.) are required for typical use cases or if the base install suffices
- Performance characteristics or throughput limits compared to alternatives in real-world workloads
Similar packages
permissive · top 1,000 on PyPI
graphql-relaypermissive · top 1,000 on PyPI
graphql-corepermissive · top 1,000 on PyPI
bracexpermissive · top 1,000 on PyPI
ipythonpermissive · top 1,000 on PyPI
nest-asynciopermissive · top 1,000 on PyPI
tornadopermissive · top 1,000 on PyPI
websocket-clientpermissive · top 1,000 on PyPI
websocketspermissive · top 100 on PyPI
jupyter-lsppermissive · top 1,000 on PyPI