GraphQL framework for Python
Go to file
Ustun Ozgur ab9d382cdf Add documentation about using custom input object types as arguments
Proper indentation

Add secondary field to make the intent explicit
2015-12-11 20:02:15 +02:00
bin Fixed lint errors 2015-12-02 23:46:49 -08:00
docs Add documentation about using custom input object types as arguments 2015-12-11 20:02:15 +02:00
examples Improved django example 2015-12-03 18:34:38 -08:00
graphene Fixed DjangoDebugPlugin. Improved Django views 2015-12-10 22:11:43 -08:00
tests Improved tests 2015-12-03 21:49:10 -08:00
.gitignore Improved build process 2015-11-28 00:38:22 -08:00
.travis.yml Improved travis build 2015-12-03 19:10:11 -08:00
LICENSE First working version of Graphene 😃 2015-09-24 02:11:50 -07:00
README.md Updated READMEs 2015-11-30 00:25:18 -08:00
README.rst Updated READMEs 2015-11-30 00:25:18 -08:00
setup.cfg Exclude flake8 syntax in docs. Added tea_store example 2015-11-29 23:09:46 -08:00
setup.py Updated version to 0.5.0 2015-12-10 22:27:56 -08:00
tox.ini Added subscription support. Fixed #35 2015-11-19 08:37:15 -08: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

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
# Or in case of need Django model support
pip install graphene[django]

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