Skip to main content

Graphene Tornado integration

Project description

Build Status Coverage Status

graphene-tornado

A project for running Graphene on top of Tornado in Python 2 and 3. The codebase is a port of graphene-django.

Getting started

Create a Tornado application and add the GraphQL handlers:

import tornado.web
from tornado.ioloop import IOLoop

from graphene_tornado.schema import schema
from graphene_tornado.tornado_graphql_handler import TornadoGraphQLHandler


class ExampleApplication(tornado.web.Application):

    def __init__(self):
        handlers = [
            (r'/graphql', TornadoGraphQLHandler, dict(graphiql=True, schema=schema)),
            (r'/graphql/batch', TornadoGraphQLHandler, dict(graphiql=True, schema=schema, batch=True)),
            (r'/graphql/graphiql', TornadoGraphQLHandler, dict(graphiql=True, schema=schema))
        ]
        tornado.web.Application.__init__(self, handlers)

if __name__ == '__main__':
    app = ExampleApplication()
    app.listen(5000)
    IOLoop.instance().start()

When writing your resolvers, decorate them with either Tornado’s @coroutine decorator for Python 2.7:

@gen.coroutine
def resolve_foo(self, info):
  foo = yield db.get_foo()
  raise Return(foo)

Or use the async / await pattern in Python 3:

async def resolve_foo(self, info):
  foo = await db.get_foo()
  return foo

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

graphene-tornado-2.4.0.tar.gz (20.1 kB view details)

Uploaded Source

Built Distribution

graphene_tornado-2.4.0-py2.py3-none-any.whl (25.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file graphene-tornado-2.4.0.tar.gz.

File metadata

  • Download URL: graphene-tornado-2.4.0.tar.gz
  • Upload date:
  • Size: 20.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.16

File hashes

Hashes for graphene-tornado-2.4.0.tar.gz
Algorithm Hash digest
SHA256 163d8978a00029304f0b9a073752fdb84ed868028ad7103e1803648e478dafd5
MD5 5524984140475c7f834401470a341a35
BLAKE2b-256 d6c11e1eb82471801b6063992a559667cfb72320fe154046face778dc0128ef9

See more details on using hashes here.

Provenance

File details

Details for the file graphene_tornado-2.4.0-py2.py3-none-any.whl.

File metadata

  • Download URL: graphene_tornado-2.4.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 25.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.16

File hashes

Hashes for graphene_tornado-2.4.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 0d9370f55007479d5fc358911d5eadda9c68a5cc733f997002efd8ca4d860ae4
MD5 8eca8ffcfe5ef311bb0a778b97983a08
BLAKE2b-256 6fea79c732d6d30a191f55b497d829ef1aeb50e22e04109311380c43e3019972

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page