A fast and modern graphql client designed with simplicity in mind.
- Compatible with Python 3.7 and above
- Build on top of qlient-core, requests and websocket-client
- support for subscriptions
See documentation for more details.
If you want more information about the internals, I kindly refer you to the qlient-core documentation.
If you are looking for an asynchronous implementation, I kindly refer you to the qlient-aiohttp sister project.
pip install qlient
from qlient.http import HTTPClient, GraphQLResponse
client = HTTPClient("https://swapi-graphql.netlify.app/.netlify/functions/index")
res: GraphQLResponse = client.query.film(
# swapi graphql input fields
id="ZmlsbXM6MQ==",
# qlient specific
_fields=["id", "title", "episodeID"]
)
print(res.request.query) # query film($id: ID) { film(id: $id) { id title episodeID } }
print(res.request.variables) # {'id': 'ZmlsbXM6MQ=='}
print(res.data) # {'film': {'id': 'ZmlsbXM6MQ==', 'title': 'A New Hope', 'episodeID': 4}}