GraphQL Framework for Python
Project description
Graphene is a Python library for building GraphQL schemas/types fast and easily.
Easy to use: Graphene helps you use GraphQL in Python without effort.
Relay: Graphene has builtin support for Relay
Django: Automatic Django model mapping to Graphene Types. Check a fully working Django implementation
Graphene also supports SQLAlchemy!
What is supported in this Python version? Everything: Interfaces, ObjectTypes, Scalars, Unions and Relay (Nodes, Connections), in addition to queries, mutations and subscriptions.
NEW!: Try graphene online
Installation
For instaling graphene, just run this command in your shell
pip install graphene
# In case of need Django model support
pip install graphene[django]
# Or in case of need SQLAlchemy support
pip install graphene[sqlalchemy]
Examples
Here is one example for get you started:
class Query(graphene.ObjectType):
hello = graphene.String(description='A typical hello world')
ping = graphene.String(description='Ping someone',
to=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:
Basic Schema: Starwars example
Relay Schema: Starwars Relay example
Django model mapping: Starwars Django example
SQLAlchemy model mapping: Flask SQLAlchemy 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file graphene-0.8.1.tar.gz
.
File metadata
- Download URL: graphene-0.8.1.tar.gz
- Upload date:
- Size: 61.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fa104cecd33be5eaa054b986c55345162d05e93a3923023b0d9bef84c4d2a766 |
|
MD5 | e968b8249256707326115abfdb0c9414 |
|
BLAKE2b-256 | a0e37291a9096bc8b98287e66140c8a0f724c5ccf99254c6fe4779378caf0902 |