{ "info": { "author": "Eric Hauser", "author_email": "ewhauser@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Software Development :: Libraries" ], "description": "|Build Status| |Coverage Status|\n\ngraphene-tornado\n================\n\nA project for running `Graphene `__ on top\nof `Tornado `__ in Python 2 and 3. The\ncodebase is a port of\n`graphene-django `__.\n\nGetting started\n===============\n\nCreate a Tornado application and add the GraphQL handlers:\n\n.. code:: python\n\n import tornado.web\n from tornado.ioloop import IOLoop\n\n from graphene_tornado.schema import schema\n from graphene_tornado.tornado_graphql_handler import TornadoGraphQLHandler\n\n\n class ExampleApplication(tornado.web.Application):\n\n def __init__(self):\n handlers = [\n (r'/graphql', TornadoGraphQLHandler, dict(graphiql=True, schema=schema)),\n (r'/graphql/batch', TornadoGraphQLHandler, dict(graphiql=True, schema=schema, batch=True)),\n (r'/graphql/graphiql', TornadoGraphQLHandler, dict(graphiql=True, schema=schema))\n ]\n tornado.web.Application.__init__(self, handlers)\n\n if __name__ == '__main__':\n app = ExampleApplication()\n app.listen(5000)\n IOLoop.instance().start()\n\nWhen writing your resolvers, decorate them with either Tornado\u2019s\n``@coroutine`` decorator for Python 2.7:\n\n.. code:: python\n\n @gen.coroutine\n def resolve_foo(self, info):\n foo = yield db.get_foo()\n raise Return(foo)\n\nOr use the ``async`` / ``await`` pattern in Python 3:\n\n.. code:: python\n\n async def resolve_foo(self, info):\n foo = await db.get_foo()\n return foo\n\n.. |Build Status| image:: https://travis-ci.org/graphql-python/graphene-tornado.svg?branch=master\n :target: https://travis-ci.org/graphql-python/graphene-tornado\n.. |Coverage Status| image:: https://coveralls.io/repos/github/graphql-python/graphene-tornado/badge.svg?branch=master\n :target: https://coveralls.io/github/graphql-python/graphene-tornado?branch=master\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/graphql-python/graphene-tornado", "keywords": "api graphql protocol rest relay graphene", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "graphene-tornado", "package_url": "https://pypi.org/project/graphene-tornado/", "platform": "any", "project_url": "https://pypi.org/project/graphene-tornado/", "project_urls": { "Homepage": "https://github.com/graphql-python/graphene-tornado" }, "release_url": "https://pypi.org/project/graphene-tornado/2.5.1/", "requires_dist": [ "six (>=1.10.0)", "graphene (<3,>=2.1)", "Jinja2 (>=2.10.1)", "tornado (>=5.1.0)", "werkzeug (==0.12.2)", "json-stable-stringify-python (==0.2) ; extra == 'apollo-engine-reporting'", "protobuf (>=3.7.1) ; extra == 'apollo-engine-reporting'", "tornado-retry-client (==0.6.1) ; extra == 'apollo-engine-reporting'", "opencensus (>=0.7.3) ; extra == 'opencensus'", "coveralls ; extra == 'test'", "mock ; extra == 'test'", "pytest (>=4.4.1) ; extra == 'test'", "pytest-cov (>=2.6.1) ; extra == 'test'", "pytest-tornado (>=0.7.0) ; extra == 'test'", "tox ; extra == 'test'" ], "requires_python": "", "summary": "Graphene Tornado integration", "version": "2.5.1" }, "last_serial": 5910001, "releases": { "2.0.0": [ { "comment_text": "", "digests": { "md5": "3ebe1695288cb83c1ecf67ad100ff001", "sha256": "53a809638db981c50b736fbd39d74158982bdf5b40d016d1ab815ef8f4571de5" }, "downloads": -1, "filename": "graphene-tornado-2.0.0.tar.gz", "has_sig": false, "md5_digest": "3ebe1695288cb83c1ecf67ad100ff001", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12126, "upload_time": "2018-11-23T05:20:17", "url": "https://files.pythonhosted.org/packages/0c/d9/95eadaa39501cd9b883f87bf1082fabfc0f2223b21f4eec17a5b140de7c7/graphene-tornado-2.0.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "7343aad5df048e258e0d8921240e4d76", "sha256": "ba97bbc79167646fbf8cd260d3075d3785092b41c2b3afe66e3052a575ba4aaa" }, "downloads": -1, "filename": "graphene-tornado-2.0.1.tar.gz", "has_sig": false, "md5_digest": "7343aad5df048e258e0d8921240e4d76", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12833, "upload_time": "2018-11-23T17:21:40", "url": "https://files.pythonhosted.org/packages/d6/02/9b5929d409d010439edeb85cd992c802faec86fc2795c043e9dcfe861ec0/graphene-tornado-2.0.1.tar.gz" } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "3b8436dfb23c18b6134e685a19b8a0d4", "sha256": "3805c3fbbb40a6171dd63007854ee65b9a5c2d6597df06afd2850f751df92392" }, "downloads": -1, "filename": "graphene_tornado-2.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3b8436dfb23c18b6134e685a19b8a0d4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15403, "upload_time": "2019-04-14T19:18:51", "url": "https://files.pythonhosted.org/packages/5c/ff/afae7a986b50ae92874f16d3bad51d0659ba2b808c484bb70924d18ceb6c/graphene_tornado-2.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "837b2e3eae67ece4e8fa66ba143bd14c", "sha256": "84f75c3436fd590ae3469bc1ce85f7515e7d12da6a8e433d9a0f5d4f81f6e503" }, "downloads": -1, "filename": "graphene-tornado-2.0.2.tar.gz", "has_sig": false, "md5_digest": "837b2e3eae67ece4e8fa66ba143bd14c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13043, "upload_time": "2019-04-14T19:18:52", "url": "https://files.pythonhosted.org/packages/7a/93/ebd30e268404efe84e8f0e935516154af9b1b2b30637bc26dbf75e0254ab/graphene-tornado-2.0.2.tar.gz" } ], "2.0.3": [ { "comment_text": "", "digests": { "md5": "bda465f9e2ff60753dc5088cee733088", "sha256": "78c71bfca6ccccb18806e96385d18a3fc80eddb74c2d6cbf5c594817d62943a3" }, "downloads": -1, "filename": "graphene_tornado-2.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bda465f9e2ff60753dc5088cee733088", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15397, "upload_time": "2019-04-14T19:53:48", "url": "https://files.pythonhosted.org/packages/36/d6/20a40b2d6920b8c33055ef37ce53899e36512ca347a2448870dea64e4c73/graphene_tornado-2.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ff4514362016138e289372b70f27a0bc", "sha256": "6fb72ea65b5c81a7358fed2200df8b43500f8e277d2ef26ab02dedf513553cf3" }, "downloads": -1, "filename": "graphene-tornado-2.0.3.tar.gz", "has_sig": false, "md5_digest": "ff4514362016138e289372b70f27a0bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13122, "upload_time": "2019-04-14T19:53:49", "url": "https://files.pythonhosted.org/packages/4e/e5/68b3503f7553e95715c09248b38ec0be331f953c5d91e690910e5981f98c/graphene-tornado-2.0.3.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "fceb3dc60811ae0884a7786d46367f45", "sha256": "9e7b22f6f89ab68ccc082da671f4bd8facf06048db86745b9ba0bdf02a3304f5" }, "downloads": -1, "filename": "graphene_tornado-2.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fceb3dc60811ae0884a7786d46367f45", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15527, "upload_time": "2019-04-29T23:09:08", "url": "https://files.pythonhosted.org/packages/46/85/0e6ed68dedc42745e3c141cb2aa6e8c5711ef0166fd89b55595a068bb349/graphene_tornado-2.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4374fec45db326e7249009976d90f628", "sha256": "7d4681e30f40271c0667fc2a13097e1c6d16d6f26f8a35e3aea55c6fbd39cae0" }, "downloads": -1, "filename": "graphene-tornado-2.1.0.tar.gz", "has_sig": false, "md5_digest": "4374fec45db326e7249009976d90f628", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13237, "upload_time": "2019-04-29T23:09:13", "url": "https://files.pythonhosted.org/packages/5d/f9/74e21627cd88254a2ff67d7900ff3b4b295becfbe17f585bfd29a7c7fe6b/graphene-tornado-2.1.0.tar.gz" } ], "2.1.1": [ { "comment_text": "", "digests": { "md5": "b0be3238a948f00a0a2426a3f32f9c5b", "sha256": "ed904cd7bec1a572ccc25280d581921e9026c2bf3122fb75302de769ca51e55c" }, "downloads": -1, "filename": "graphene_tornado-2.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b0be3238a948f00a0a2426a3f32f9c5b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15535, "upload_time": "2019-07-01T16:29:29", "url": "https://files.pythonhosted.org/packages/f6/b2/57867b52cf0d2e8f7fec911b6bde7826c4c776563a7887e7cb57b69a3f4a/graphene_tornado-2.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bace6eadb38d660744620fafd325337b", "sha256": "ba6aecc96d2f72199c7ae1a589d86bebdacf1b24d1cfb9375e83d687d825eb4b" }, "downloads": -1, "filename": "graphene-tornado-2.1.1.tar.gz", "has_sig": false, "md5_digest": "bace6eadb38d660744620fafd325337b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13267, "upload_time": "2019-07-01T16:29:32", "url": "https://files.pythonhosted.org/packages/d3/49/d8e377eb44555b8c2774eb41de9bbad2407ebdd5e7e759b935c3e2a2ccfc/graphene-tornado-2.1.1.tar.gz" } ], "2.2": [ { "comment_text": "", "digests": { "md5": "3b5cf0e1f274fee7fe9c39517d400dc3", "sha256": "ac3f1b17eb48cd98e77ddf95302f8584a428b2fb4916252f91fcdfbb58744e2a" }, "downloads": -1, "filename": "graphene-tornado-2.2.tar.gz", "has_sig": false, "md5_digest": "3b5cf0e1f274fee7fe9c39517d400dc3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15866, "upload_time": "2019-08-27T16:30:21", "url": "https://files.pythonhosted.org/packages/88/b1/5dc2401d75409b3efb314287ddf05e959e4f56280fdbb987aa78e2d8fe29/graphene-tornado-2.2.tar.gz" } ], "2.3.0": [ { "comment_text": "", "digests": { "md5": "6a921a3a7cf62599f1c9e1468d803744", "sha256": "85a4d1873486e2555061fb66b1d6b12aef432f5bf6b19aa86d9ed8cb8df49314" }, "downloads": -1, "filename": "graphene_tornado-2.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6a921a3a7cf62599f1c9e1468d803744", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19614, "upload_time": "2019-09-10T22:07:32", "url": "https://files.pythonhosted.org/packages/e4/e5/8a6192152336053b8d7c0bd9687bab4bcc285c1d4846d551d85fc85bc7e7/graphene_tornado-2.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8e0286bbca215d58abb4c02d7eef0ef6", "sha256": "fc16e269935520f3e282babcacc27c0744ba695463bfde5d4e3d41bc6e9d7f8b" }, "downloads": -1, "filename": "graphene-tornado-2.3.0.tar.gz", "has_sig": false, "md5_digest": "8e0286bbca215d58abb4c02d7eef0ef6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15911, "upload_time": "2019-09-10T22:07:33", "url": "https://files.pythonhosted.org/packages/39/7e/0ead21361347d7aa1aef5343f6335e8af55fd98a6619ede2389b21a3f785/graphene-tornado-2.3.0.tar.gz" } ], "2.4.0": [ { "comment_text": "", "digests": { "md5": "8eca8ffcfe5ef311bb0a778b97983a08", "sha256": "0d9370f55007479d5fc358911d5eadda9c68a5cc733f997002efd8ca4d860ae4" }, "downloads": -1, "filename": "graphene_tornado-2.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8eca8ffcfe5ef311bb0a778b97983a08", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 25920, "upload_time": "2019-09-15T23:55:20", "url": "https://files.pythonhosted.org/packages/6f/ea/79c732d6d30a191f55b497d829ef1aeb50e22e04109311380c43e3019972/graphene_tornado-2.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5524984140475c7f834401470a341a35", "sha256": "163d8978a00029304f0b9a073752fdb84ed868028ad7103e1803648e478dafd5" }, "downloads": -1, "filename": "graphene-tornado-2.4.0.tar.gz", "has_sig": false, "md5_digest": "5524984140475c7f834401470a341a35", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20096, "upload_time": "2019-09-15T23:55:22", "url": "https://files.pythonhosted.org/packages/d6/c1/1e1eb82471801b6063992a559667cfb72320fe154046face778dc0128ef9/graphene-tornado-2.4.0.tar.gz" } ], "2.5.0": [ { "comment_text": "", "digests": { "md5": "83495713c1b84b178a987ab5cbd10f4c", "sha256": "f82e5283b7ff7ddb18c253b8c3a5a18bf3bc8d3d74fcb465d9b74af861856006" }, "downloads": -1, "filename": "graphene_tornado-2.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "83495713c1b84b178a987ab5cbd10f4c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 51646, "upload_time": "2019-09-27T00:31:49", "url": "https://files.pythonhosted.org/packages/9f/96/1761bdb4353d44724e28f236c9e03509cbd8c9eda2c99ea1c5f1d7659239/graphene_tornado-2.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2d4c2800cb3d226362b10efde94fa1e8", "sha256": "e5529461fc2977a0448c4a86bc561bfbb1c973718e641ffff11443b180b62a32" }, "downloads": -1, "filename": "graphene-tornado-2.5.0.tar.gz", "has_sig": false, "md5_digest": "2d4c2800cb3d226362b10efde94fa1e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38963, "upload_time": "2019-09-27T00:31:53", "url": "https://files.pythonhosted.org/packages/e0/2c/78f6d8f21470ba48b7c91eeaf0463611fbe131ad7ec7d2f2e86bd331b848/graphene-tornado-2.5.0.tar.gz" } ], "2.5.1": [ { "comment_text": "", "digests": { "md5": "4fe5ab0c046d709ca0fbf0a61fb30c84", "sha256": "61229d4793c0847ff270e38e4e509382fdeea3cdc29a2f1ee68dbc27e25a9f08" }, "downloads": -1, "filename": "graphene_tornado-2.5.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4fe5ab0c046d709ca0fbf0a61fb30c84", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 53139, "upload_time": "2019-10-01T02:09:28", "url": "https://files.pythonhosted.org/packages/06/bd/c4658bc4ac13dcf2151d742e019f78184784539f839406f5bb096841c094/graphene_tornado-2.5.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9f4add88a3ae3156f10e3de50d3c67d9", "sha256": "d95bd6a6018aa922dcf56c9ac8effe24b57a4363ba950b092ea7b017ea32fa1e" }, "downloads": -1, "filename": "graphene-tornado-2.5.1.tar.gz", "has_sig": false, "md5_digest": "9f4add88a3ae3156f10e3de50d3c67d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40120, "upload_time": "2019-10-01T02:09:30", "url": "https://files.pythonhosted.org/packages/34/20/f3a99398203174acbbbf706b10173902a10eee2928810a9301d933e163bc/graphene-tornado-2.5.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4fe5ab0c046d709ca0fbf0a61fb30c84", "sha256": "61229d4793c0847ff270e38e4e509382fdeea3cdc29a2f1ee68dbc27e25a9f08" }, "downloads": -1, "filename": "graphene_tornado-2.5.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4fe5ab0c046d709ca0fbf0a61fb30c84", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 53139, "upload_time": "2019-10-01T02:09:28", "url": "https://files.pythonhosted.org/packages/06/bd/c4658bc4ac13dcf2151d742e019f78184784539f839406f5bb096841c094/graphene_tornado-2.5.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9f4add88a3ae3156f10e3de50d3c67d9", "sha256": "d95bd6a6018aa922dcf56c9ac8effe24b57a4363ba950b092ea7b017ea32fa1e" }, "downloads": -1, "filename": "graphene-tornado-2.5.1.tar.gz", "has_sig": false, "md5_digest": "9f4add88a3ae3156f10e3de50d3c67d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40120, "upload_time": "2019-10-01T02:09:30", "url": "https://files.pythonhosted.org/packages/34/20/f3a99398203174acbbbf706b10173902a10eee2928810a9301d933e163bc/graphene-tornado-2.5.1.tar.gz" } ] }