GraphQL framework for Python
Go to file
Joshua Schüler 9f15678767 Make it more obvious that node is required for relay
Give the error message that occurs if you forget the node Field,
so googling for this brings you right to the documentation
2016-06-22 16:54:16 +02:00
bin Improved PEP8 syntax and order imports 2016-01-02 21:19:15 +01:00
docs Make it more obvious that node is required for relay 2016-06-22 16:54:16 +02:00
examples Updated GraphQL SQLAlchemy version 2016-05-18 21:00:22 -07:00
graphene fixed model column name 2016-06-13 20:13:14 +05:00
tests Improved Django Compatibility. Added graphql_schema command tests #73 2016-01-03 18:51:02 +01:00
.coveragerc Improved coverage cover 2016-02-01 14:13:46 -08:00
.editorconfig Adding .editorconfig to help enforce whitespace rules 2015-12-05 09:02:15 +00:00
.gitignore Adding cookbook example app demoing new django functionality 2015-12-31 03:01:36 +00:00
.travis.yml Update package requirements 2016-05-11 22:44:25 -07:00
LICENSE First working version of Graphene 😃 2015-09-24 02:11:50 -07:00
MANIFEST.in Exclude tests directories in graphene package 2016-05-12 00:12:00 -07:00
README.md Updated main documentation mentioning SQLAlchemy support 2016-01-23 15:00:05 -08:00
README.rst Updated main documentation mentioning SQLAlchemy support 2016-01-23 15:00:05 -08:00
setup.cfg Improved coverage cover 2016-02-01 14:13:46 -08:00
setup.py Updated version to 0.10.2 2016-05-31 22:15:01 -07:00
tox.ini Updated requirements 2016-05-21 00:35:12 -07:00

Graphene Logo Graphene Build Status PyPI version Coverage Status

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:

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