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

Uploaded Source

Built Distribution

graphene_tornado-2.5.1-py2.py3-none-any.whl (53.1 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: graphene-tornado-2.5.1.tar.gz
  • Upload date:
  • Size: 40.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

File hashes

Hashes for graphene-tornado-2.5.1.tar.gz
Algorithm Hash digest
SHA256 d95bd6a6018aa922dcf56c9ac8effe24b57a4363ba950b092ea7b017ea32fa1e
MD5 9f4add88a3ae3156f10e3de50d3c67d9
BLAKE2b-256 3420f3a99398203174acbbbf706b10173902a10eee2928810a9301d933e163bc

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: graphene_tornado-2.5.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 53.1 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

File hashes

Hashes for graphene_tornado-2.5.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 61229d4793c0847ff270e38e4e509382fdeea3cdc29a2f1ee68dbc27e25a9f08
MD5 4fe5ab0c046d709ca0fbf0a61fb30c84
BLAKE2b-256 06bdc4658bc4ac13dcf2151d742e019f78184784539f839406f5bb096841c094

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