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-3.0.0b1.tar.gz (39.3 kB view details)

Uploaded Source

File details

Details for the file graphene-tornado-3.0.0b1.tar.gz.

File metadata

  • Download URL: graphene-tornado-3.0.0b1.tar.gz
  • Upload date:
  • Size: 39.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.1

File hashes

Hashes for graphene-tornado-3.0.0b1.tar.gz
Algorithm Hash digest
SHA256 a3ebf5000095dde7b7cc1a8ff8b32aede15c861194b6e2c430b59cb6cacad035
MD5 a8d1553823bf252eadd49a1cae5c50e2
BLAKE2b-256 b058d6f1ec2950bee009bec60fdad692e70c9d24de370892be1c07dc3649c449

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