Skip to content

wavemm/gql

This branch is 15 commits ahead of, 314 commits behind graphql-python/gql:master.

Folders and files

NameName
Last commit message
Last commit date
Jun 28, 2016
Jun 29, 2016
May 2, 2018
May 1, 2018
Jun 28, 2016
Jun 30, 2016
Jun 27, 2016
Apr 30, 2018
Aug 6, 2016
Jun 30, 2016
Jun 28, 2016
Jun 30, 2016

Repository files navigation

GQL

This is a GraphQL client for Python. Plays nicely with graphene, graphql-core, graphql-js and any other GraphQL implementation compatible with the spec.

GQL architecture is inspired by React-Relay and Apollo-Client.

travis pypi coveralls

Installation

$ pip install gql

Usage

The example below shows how you can execute queries against a local schema.

from gql import gql, Client

client = Client(schema=schema)
query = gql('''
{
  hello
}
''')

client.execute(query)

To execute against a graphQL API. (We get the schema by using introspection).

from gql import gql, Client
from gql.transport.requests import RequestsHTTPTransport

_transport = RequestsHTTPTransport(
    url='http://api.xxx/graphql',
    use_json=True,
)

client = Client(
    retries=3,
    transport=_transport,
    fetch_schema_from_transport=True,
)
query = gql('''
{
  hello
}
''')

client.execute(query)

If you have a local schema stored as a schema.graphql file, you can do:

from graphql import build_ast_schema, parse
from gql import gql, Client

with open('schema.graphql') as source:
    document = parse(source.read())
    
schema = build_ast_schema(document)

client = Client(schema=schema)
query = gql('''
{
  hello
}
''')

client.execute(query)

License

MIT License

About

A GraphQL client in Python

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.4%
  • Shell 0.6%