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

Uploaded Source

Built Distribution

graphene_tornado-2.6.1-py2.py3-none-any.whl (51.9 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: graphene-tornado-2.6.1.tar.gz
  • Upload date:
  • Size: 39.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/43.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.5

File hashes

Hashes for graphene-tornado-2.6.1.tar.gz
Algorithm Hash digest
SHA256 953bf812267177224ce1ac2a93c669069d85a8fa187a9fac681b76b63dffebc2
MD5 6db6055e4e636f0da208806bb40c0374
BLAKE2b-256 41e485471712288567a34ffd8d422deed8da9404ea38d1ff74d2f5624747a5e1

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: graphene_tornado-2.6.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 51.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/43.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.5

File hashes

Hashes for graphene_tornado-2.6.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 291c61452917f9fa014ec69d73cef1f74f7f2f39fd85aa6a84a7e20332b7ce4d
MD5 6c703a7750ae089ac1259ed94ee80a41
BLAKE2b-256 e2fe068c5e3adeaeb3245a1756748c311d7214403501c4344baf66a63d719107

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