Build powerful, efficient, and flexible GraphQL APIs with seamless Django integration.
Go to file
2016-09-17 16:31:17 -07:00
bin Isolated Graphene Django in a new package 2016-09-17 16:31:17 -07:00
examples Isolated Graphene Django in a new package 2016-09-17 16:31:17 -07:00
graphene_django Isolated Graphene Django in a new package 2016-09-17 16:31:17 -07:00
.gitignore Isolated Graphene Django in a new package 2016-09-17 16:31:17 -07:00
.travis.yml Isolated Graphene Django in a new package 2016-09-17 16:31:17 -07:00
django_test_settings.py Isolated Graphene Django in a new package 2016-09-17 16:31:17 -07:00
README.md Isolated Graphene Django in a new package 2016-09-17 16:31:17 -07:00
setup.cfg Isolated Graphene Django in a new package 2016-09-17 16:31:17 -07:00
setup.py Isolated Graphene Django in a new package 2016-09-17 16:31:17 -07:00

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


Graphene Logo Graphene-Django 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-django>=1.0.dev"

Examples

Here is one example for get you started:

from django.db import models
from graphene_django import DjangoObjectType

class UserModel(models.Model):
    name = models.CharField(max_length=100)
    last_name = models.CharField(max_length=100)

class User(DjangoObjectType):
    class Meta:
        # This type will transform all the UserModel fields
        # into Graphene fields automatically
        model = UserModel

    # An extra field in the User Type
    full_name = graphene.String()

    def resolve_full_name(self, args, context, info):
        return "{} {}".format(self.name, self.last_name)

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