GraphQL framework for Python
Python Shell
Latest commit 02eb685 Jan 22, 2017 @syrusakbary syrusakbary committed on GitHub Merge pull request #406 from kelvintaywl/fix-small-readme-typo
small grammar fix on readme

Please read to learn how to upgrade to Graphene 1.0.

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
  • Data agnostic: Graphene supports any kind of data source: SQL (Django, SQLAlchemy), NoSQL, custom Python objects, etc. We believe that by providing a complete API you could plug Graphene anywhere your data lives and make your data available through GraphQL.


Graphene has multiple integrations with different frameworks:

integration Package
Django graphene-django
SQLAlchemy graphene-sqlalchemy
Google App Engine graphene-gae
Peewee In progress (Tracking Issue)


For instaling graphene, just run this command in your shell

pip install "graphene>=1.0"

1.0 Upgrade Guide

Please read to learn how to upgrade.


Here is one example for you to get started:

class Query(graphene.ObjectType):
    hello = graphene.String(description='A typical hello world')

    def resolve_hello(self, args, context, info):
        return 'World'

schema = graphene.Schema(query=Query)

Then Querying graphene.Schema is as simple as:

query = '''
    query SayHello {
result = schema.execute(query)

If you want to learn even more, you can also check the following examples:


After cloning this repo, ensure dependencies are installed by running:

python install

After developing, the full test suite can be evaluated by running:

python test # Use --pytest-args="-v -s" for verbose mode


The documentation is generated using the excellent Sphinx and a custom theme.

The documentation dependencies are installed by running:

cd docs
pip install -r requirements.txt

Then to produce a HTML version of the documentation:

make html