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.5.0.tar.gz (39.0 kB view details)

Uploaded Source

Built Distribution

graphene_tornado-2.5.0-py2.py3-none-any.whl (51.6 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: graphene-tornado-2.5.0.tar.gz
  • Upload date:
  • Size: 39.0 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.5.0.tar.gz
Algorithm Hash digest
SHA256 e5529461fc2977a0448c4a86bc561bfbb1c973718e641ffff11443b180b62a32
MD5 2d4c2800cb3d226362b10efde94fa1e8
BLAKE2b-256 e02c78f6d8f21470ba48b7c91eeaf0463611fbe131ad7ec7d2f2e86bd331b848

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: graphene_tornado-2.5.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 51.6 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.5.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 f82e5283b7ff7ddb18c253b8c3a5a18bf3bc8d3d74fcb465d9b74af861856006
MD5 83495713c1b84b178a987ab5cbd10f4c
BLAKE2b-256 9f961761bdb4353d44724e28f236c9e03509cbd8c9eda2c99ea1c5f1d7659239

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