mirror of
https://github.com/graphql-python/graphene.git
synced 2024-11-11 04:07:16 +03:00
GraphQL framework for Python
graphene | ||
tests | ||
.gitignore | ||
.travis.yml | ||
LICENSE | ||
README.md | ||
README.rst | ||
setup.cfg | ||
setup.py | ||
tox.ini |
Graphene
Graphene is a Python library for building GraphQL schemas/types fast and easily.
- Easy to use: It maps the models/fields to internal GraphQL objects without effort.
- Relay: Graphene has builtin support for Relay
- Django: Automatic Django model mapping to Graphene Types. See an example Django implementation
Installation
For instaling graphene, just run this command in your shell
pip install graphene
Examples
Here is one example for get you started:
class Query(graphene.ObjectType):
hello = graphene.StringField(description='A typical hello world')
ping = graphene.StringField(description='Ping someone',
to=graphene.Argument(graphene.String))
def resolve_hello(self, args, info):
return 'World'
def resolve_ping(self, args, info):
return 'Pinging {}'.format(args.get('to'))
schema = graphene.Schema(query=Query)
Then Querying graphene.Schema
is as simple as:
query = '''
query SayHello {
hello
ping(to:'peter')
}
'''
result = schema.execute(query)
If you want to learn even more, you can also check the following examples:
- Relay Schema: Starwars Relay example
- Django: Starwars Django example
Contributing
After cloning this repo, ensure dependencies are installed by running:
python setup.py install
After developing, the full test suite can be evaluated by running:
python setup.py test # Use --pytest-args="-v -s" for verbose mode