GraphQL framework for Python
Go to file
Hugo Duncan f232e433e6 Make assertion message use same var as test
Ensure that the assertion message correctly shows the value used by
the assertion test.
2016-09-12 10:06:35 -04:00
bin Improved PEP8 syntax and order imports 2016-01-02 21:19:15 +01:00
docs Fixed rtd docs generation 2016-09-11 22:13:57 -07:00
examples Revert "Fixed starwars relay tests schema representation" 2016-09-08 21:03:18 -07:00
graphene Make assertion message use same var as test 2016-09-12 10:06:35 -04:00
graphene-django Added descriptions to Django choices enum conversion. Fixed #279 2016-09-11 16:08:35 -07:00
graphene-sqlalchemy Updated graphene SQLAlchemy package version 2016-09-10 22:19:23 -07:00
.coveragerc Fixed coverage 2016-09-08 22:26:31 -07:00
.editorconfig Adding .editorconfig to help enforce whitespace rules 2015-12-05 09:02:15 +00:00
.gitignore Fixed travis 2016-08-06 19:28:09 -07:00
.travis.yml Remove pip cache 2016-08-19 00:37:41 -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 docs reflecting latest resolver arguments 2016-09-10 22:24:18 -07:00
README.rst Updated docs reflecting latest resolver arguments 2016-09-10 22:24:18 -07:00
setup.cfg Fixed coverage 2016-09-08 22:26:31 -07:00
setup.py Added simple benchmarks 2016-08-17 21:26:05 -07:00
tox.ini Improved relay requirement, removed Django/SQLAlchemy dependency in main package 2016-06-14 23:59:37 -07:00
UPGRADE-v1.0.md Updated UPGRADE guide 2016-08-14 15:45:41 -07:00

You are in the next unreleased version of Graphene (1.0.dev). Please read UPGRADE-v1.0.md to learn how to upgrade.


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>=1.0.dev
# In case of need Django model support
pip install graphene-django>=1.0.dev
# Or in case of need SQLAlchemy support
pip install graphene-sqlalchemy>=1.0.dev

1.0 Upgrade Guide

Please read UPGRADE-v1.0.md to learn how to upgrade.

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, context, info):
        return 'World'

    def resolve_ping(self, args, context, 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