graphene/README.md
2015-10-27 23:56:24 -07:00

2.1 KiB

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: It maps the models/fields to internal GraphQL objects without effort.
  • Relay: Graphene has builtin support for Relay
  • Django: Automatic Django model mapping to Graphene Types. See an example Django implementation

Installation

For instaling graphene, just run this command in your shell

pip install graphene

Examples

Here is one example for get you started:

class Query(graphene.ObjectType):
    hello = graphene.StringField(description='A typical hello world')
    ping = graphene.StringField(description='Ping someone',
                                to=graphene.Argument(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