{ "info": { "author": "EzyInsights team", "author_email": "andrii.kostenko@kampiki.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5" ], "description": "Tornado + Alchemy REST Client\n=============================\n\nThis simple module creates CRUD endpoints for SQLAlchemy table. Its\npurpose to allow quickly create RESTful APIs, for example for admin\npanel. List endpoints support pagination and filtering. Was written for\nAngular\u2019s ng-admin, so this module supports ng-admin querying out of the\nbox\n\nInstallation\n------------\n\n::\n\n pip install tornado-alchemy-rest\n\nUsage example\n-------------\n\n.. code:: python\n\n import tornado.web\n from tornado.web import URLSpec\n from .models import ItemTable\n from tornado_alchemy_rest import SingleRESTAPIHandler, ListRESTAPIHandler\n\n class SingleItemHandler(SingleRESTAPIHandler):\n table = ItemTable\n\n def delete(self, *args, **kwargs):\n raise HTTPError(405)\n\n\n class ItemHandler(ListRESTAPIHandler):\n table = ItemTable\n\n app = tornado.web.Application([\n URLSpec(prefix(r'items'), ItemHandler, dict(psql=psql_pool), 'items'),\n URLSpec(prefix(r'items/(\\d+)'), SingleItemHandler, dict(psql=psql_pool), 'single_item'),\n ])\n\nMore complex example, where you can override object creation methods:\n\n.. code:: python\n\n class SingleItemHandler(SingleRESTAPIHandler):\n table = TableItem\n\n @gen.coroutine\n def get_object_dict(self, *args):\n obj = yield super().get_object_dict(*args)\n\n cursor = yield self._execute_query(User.select().where(User.c.id == obj['user_id']))\n obj['user'] = cursor.fetchone()\n return obj\n\n @gen.coroutine\n def put_object_dict(self, id, params):\n assert params['value'] > 5\n yield super().put_object_dict(id, params)\n\n class ItemHandler(ListRESTAPIHandler):\n table = TableItem\n\n @gen.coroutine\n def get_object_list(self, query):\n objects = yield super().get_object_list(query)\n for obj in objects:\n cursor = yield self._execute_query(User.select().where(User.c.id == obj['user_id']))\n obj['user'] = cursor.fetchone()\n raise gen.Return(objects)\n\n @gen.coroutine\n def post_object_dict(self, params):\n assert params['value'] > 5\n yield super().post_object_dict(params)\n\nQuerying\n--------\n\nTo get second page with ordering by id DESC you need to do that query:\n\n::\n\n GET /item?_page=2&_perPage=30&_sortField=id&_sortDir=DESC\n\nTo get all items, where ``name`` contains \u201ctest\u201d and ``type`` is 5 and\n``value`` is 7 or 6, you will need that query:\n\n::\n\n GET /item?_filters={\"name__contains\":\"test\", \"type\":5, \"value__any\":[7,6]}\n\nQuery params\n~~~~~~~~~~~~\n\n- \\_page \u2013 page name\n- \\_perPage \u2013 rows per page\n- \\_sortField \u2013 field to order by\n- \\_sortDir \u2013 direction to sort by\n- \\_filters \u2013 filter items with given params. Currently supported\n filters are: \u201c\u201d (equality), startswith, contains, icontains, any, ne\n\nJoin support\n~~~~~~~~~~~~\n\nThat will return data from both tables at some time:\n\n.. code:: python\n\n class SingleItemHandler(SingleRESTAPIHandler):\n table = TableItem\n\n def get_from(self):\n return self.table.join(TableUser, isouter=True)\n\nRequirements\n------------\n\ntornado, sqlalchemy\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/EzyInsights/tornado-alchemy-rest", "keywords": "tornado sqlalchemy alchemy rest api postgresql", "license": "Apache", "maintainer": "", "maintainer_email": "", "name": "tornado-alchemy-rest", "package_url": "https://pypi.org/project/tornado-alchemy-rest/", "platform": "", "project_url": "https://pypi.org/project/tornado-alchemy-rest/", "project_urls": { "Homepage": "https://github.com/EzyInsights/tornado-alchemy-rest" }, "release_url": "https://pypi.org/project/tornado-alchemy-rest/1.0.18/", "requires_dist": [ "tornado", "sqlalchemy", "check-manifest; extra == 'dev'", "coverage; extra == 'test'" ], "requires_python": "", "summary": "Tornado REST API", "version": "1.0.18" }, "last_serial": 3908191, "releases": { "0.1.2": [ { "comment_text": "", "digests": { "md5": "a6fee55bdb3a0c7169c96d77e47f2cef", "sha256": "2f9b110cd8f83d509c8916668e85850e3d9a6efdabcee1f12ef6f875e055af67" }, "downloads": -1, "filename": "tornado-alchemy-rest-0.1.2.tar.gz", "has_sig": false, "md5_digest": "a6fee55bdb3a0c7169c96d77e47f2cef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4310, "upload_time": "2016-09-06T09:00:54", "url": "https://files.pythonhosted.org/packages/bc/15/2f9eaeff2897d9148236a5e2e1e92ec522fd5b57afcbbe88b5f069fac61c/tornado-alchemy-rest-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "62cb1d440fe0f954160af03022676d40", "sha256": "35ad0ac4338069170ffd56b1bc5da0213d563e75ccd7d62d839ae686cd608b15" }, "downloads": -1, "filename": "tornado-alchemy-rest-0.1.3.tar.gz", "has_sig": false, "md5_digest": "62cb1d440fe0f954160af03022676d40", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5488, "upload_time": "2016-09-06T09:35:14", "url": "https://files.pythonhosted.org/packages/9c/a0/59c647faf99b05c18a0a4028ebb786365400585349cf1dc9d7269b3dcb9b/tornado-alchemy-rest-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "cde272e7612d9351f36eba0edb102fa7", "sha256": "c14fdd080fa783741472c31d9ce16b989dfc5c5940dc5570db07abaf6eb8c4be" }, "downloads": -1, "filename": "tornado-alchemy-rest-0.1.4.tar.gz", "has_sig": false, "md5_digest": "cde272e7612d9351f36eba0edb102fa7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5572, "upload_time": "2017-10-06T08:02:40", "url": "https://files.pythonhosted.org/packages/09/92/40222cdc32631ce9bf48cf276690f9ef000336d538a41c98a16a05eb57f6/tornado-alchemy-rest-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "db6e287ce8ac59072e8239b9e1d2ed65", "sha256": "5cf2cdb06bdef94e08a8b4c165283641cfe93e054620cbece188b9e41d39e321" }, "downloads": -1, "filename": "tornado-alchemy-rest-0.1.5.tar.gz", "has_sig": false, "md5_digest": "db6e287ce8ac59072e8239b9e1d2ed65", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5571, "upload_time": "2017-10-10T09:20:17", "url": "https://files.pythonhosted.org/packages/79/45/9a90fcfeec5e7c82bfa17fe8407350524e52e87d9b89abd6487f26463390/tornado-alchemy-rest-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "17c7f115291bbf19163776d61b8bbdae", "sha256": "9ad5a8cac0ec75b7e8cd68f1e252b259476554a66af0a08e30fbdeefbfba8477" }, "downloads": -1, "filename": "tornado-alchemy-rest-0.1.6.tar.gz", "has_sig": false, "md5_digest": "17c7f115291bbf19163776d61b8bbdae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5604, "upload_time": "2017-11-28T11:03:16", "url": "https://files.pythonhosted.org/packages/68/b3/c4bf9e9b0d8c5624acb385f9579e6e0482ad063344b058c1283069655b47/tornado-alchemy-rest-0.1.6.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "29744ea666bfbd22b571e3528763f4a1", "sha256": "568a7e3b198090bd57be7bcf412121f5a6cdf82a65af6151d5b38f18025af0ed" }, "downloads": -1, "filename": "tornado-alchemy-rest-1.0.0.tar.gz", "has_sig": false, "md5_digest": "29744ea666bfbd22b571e3528763f4a1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5721, "upload_time": "2018-04-25T08:43:21", "url": "https://files.pythonhosted.org/packages/b1/91/691f144ed085fade864124f4ddd499e89f5001a68f0221f10a6a8544c2f4/tornado-alchemy-rest-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "af204ab9bc013a0efc935d47cf842505", "sha256": "7c5a3515e88e7a02279761656451224bdee3ef8c6442ba356e948da72407333a" }, "downloads": -1, "filename": "tornado-alchemy-rest-1.0.1.tar.gz", "has_sig": false, "md5_digest": "af204ab9bc013a0efc935d47cf842505", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5736, "upload_time": "2018-04-25T11:25:51", "url": "https://files.pythonhosted.org/packages/5d/63/c46ebeb980cdda603de0b7a342cb0c11aea3e47357202fac01a9d9297c5e/tornado-alchemy-rest-1.0.1.tar.gz" } ], "1.0.10": [ { "comment_text": "", "digests": { "md5": "5478c7ae5ea082b6db92834f35242eff", "sha256": "9fc707f20c9f5e998280913adf788314795c7cb4a2138461c47ad4aa47155aac" }, "downloads": -1, "filename": "tornado-alchemy-rest-1.0.10.tar.gz", "has_sig": false, "md5_digest": "5478c7ae5ea082b6db92834f35242eff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5750, "upload_time": "2018-04-25T12:11:35", "url": "https://files.pythonhosted.org/packages/e6/6d/7dd82cddc48104abc48d9303047732a0c552289680e9afee962ad696f9a2/tornado-alchemy-rest-1.0.10.tar.gz" } ], "1.0.11": [ { "comment_text": "", "digests": { "md5": "00c35c3e9a57555b86d348a7a7949ad5", "sha256": "4861e1c777fb8119a3ac91af13f508687f459f70594f520021ca0cc05b2e8874" }, "downloads": -1, "filename": "tornado-alchemy-rest-1.0.11.tar.gz", "has_sig": false, "md5_digest": "00c35c3e9a57555b86d348a7a7949ad5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5755, "upload_time": "2018-04-25T12:12:39", "url": "https://files.pythonhosted.org/packages/59/f2/94c9f3cf715478848b6025b71fa9ea54b53c73c8cb918329a3a493a4df4c/tornado-alchemy-rest-1.0.11.tar.gz" } ], "1.0.12": [ { "comment_text": "", "digests": { "md5": "f552c3d34591405c94d2a2e453cb4521", "sha256": "4f76449051c3a6866459bf76fe26a70d92fd9209ccfe19a384f8ad4f530b7b3f" }, "downloads": -1, "filename": "tornado-alchemy-rest-1.0.12.tar.gz", "has_sig": false, "md5_digest": "f552c3d34591405c94d2a2e453cb4521", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5791, "upload_time": "2018-04-30T06:26:35", "url": "https://files.pythonhosted.org/packages/de/c0/f38963b222388c34aea5195f56aec6de1c2a4fca2a1bf06e2de2814a4699/tornado-alchemy-rest-1.0.12.tar.gz" } ], "1.0.13": [ { "comment_text": "", "digests": { "md5": "d93bd516333e0ddf4673ff58796926dc", "sha256": "97e5252f3c68bf024da62cc97630ec5ffafbcbeb44813cd617d7265fd85f256d" }, "downloads": -1, "filename": "tornado-alchemy-rest-1.0.13.tar.gz", "has_sig": false, "md5_digest": "d93bd516333e0ddf4673ff58796926dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5799, "upload_time": "2018-04-30T09:48:48", "url": "https://files.pythonhosted.org/packages/f9/c5/3383cf1855d9257aa21151265d450d18acb9c83b736cb9f4c3e22aa01d6b/tornado-alchemy-rest-1.0.13.tar.gz" } ], "1.0.14": [ { "comment_text": "", "digests": { "md5": "07bec9d23d807cc94ca67d07e485f30f", "sha256": "88aa48fb41c5ca3e9840bbe72542779c73240a87ea0885565b3b300552280ded" }, "downloads": -1, "filename": "tornado-alchemy-rest-1.0.14.tar.gz", "has_sig": false, "md5_digest": "07bec9d23d807cc94ca67d07e485f30f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5759, "upload_time": "2018-05-03T13:19:00", "url": "https://files.pythonhosted.org/packages/c6/40/b5949125d2a67c23dd073bc77ef6fe59c294f504b45e464b1304ec3c8ce0/tornado-alchemy-rest-1.0.14.tar.gz" } ], "1.0.15": [ { "comment_text": "", "digests": { "md5": "e26dbe8d3f49640b46c9545683fdb237", "sha256": "89f78e906fbab4edd1717ae7a1338065f0eccf4f0e19f5217eac9b2768bba3ba" }, "downloads": -1, "filename": "tornado-alchemy-rest-1.0.15.tar.gz", "has_sig": false, "md5_digest": "e26dbe8d3f49640b46c9545683fdb237", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5774, "upload_time": "2018-05-03T14:04:48", "url": "https://files.pythonhosted.org/packages/41/47/d8d84c57083cf4f74275f02c37f4f9040b3b43b8da7ae043b0ceacf1dd13/tornado-alchemy-rest-1.0.15.tar.gz" } ], "1.0.16": [ { "comment_text": "", "digests": { "md5": "9cc4f012f0b360dcec1d0f72b95a1884", "sha256": "4f5be4e1ec93a13bc17666e3a86690e72ad0c45cee032fa749c80e5d419ccca2" }, "downloads": -1, "filename": "tornado_alchemy_rest-1.0.16-py2-none-any.whl", "has_sig": false, "md5_digest": "9cc4f012f0b360dcec1d0f72b95a1884", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 5490, "upload_time": "2018-05-21T12:17:06", "url": "https://files.pythonhosted.org/packages/10/c0/777319897b493c3eb3fbb301c87dea365cae8d140ce496f4079704e7a649/tornado_alchemy_rest-1.0.16-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "763282a56c2b0c25b153bff9dee9ab08", "sha256": "803550806be88c2157d3a1b97bda101b1a3aee4dc77dd46f960f4c6b5d780213" }, "downloads": -1, "filename": "tornado_alchemy_rest-1.0.16-py3-none-any.whl", "has_sig": false, "md5_digest": "763282a56c2b0c25b153bff9dee9ab08", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5493, "upload_time": "2018-05-21T12:17:07", "url": "https://files.pythonhosted.org/packages/d6/c1/331594af333231b2af4c0c2345ec7cf06341dd1d44bdb42d82548f82bb8d/tornado_alchemy_rest-1.0.16-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b1ba65bd270ea203b182797624a4e7b6", "sha256": "ede1f097f3244f77591e9ca558a27ec76d8a0d9ff7de47fd06423f549e073ed5" }, "downloads": -1, "filename": "tornado-alchemy-rest-1.0.16.tar.gz", "has_sig": false, "md5_digest": "b1ba65bd270ea203b182797624a4e7b6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5710, "upload_time": "2018-05-21T12:17:48", "url": "https://files.pythonhosted.org/packages/2d/bf/4831ce8ff90da0cebb68896a208ced5269aa104a38858f4b9da8686257ef/tornado-alchemy-rest-1.0.16.tar.gz" } ], "1.0.17": [ { "comment_text": "", "digests": { "md5": "4dc74125bdf02f19673f149f50b8bc95", "sha256": "d1dd9387fcdc60f60759328d4f6d8f6ce6d79a480cd2e99cf670e330844b04eb" }, "downloads": -1, "filename": "tornado_alchemy_rest-1.0.17-py3-none-any.whl", "has_sig": false, "md5_digest": "4dc74125bdf02f19673f149f50b8bc95", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5499, "upload_time": "2018-05-28T10:26:33", "url": "https://files.pythonhosted.org/packages/fe/ac/c85e5de27ac1b8451163eb0d10a98b491c6ce94ffbdbe882169db4b0bb32/tornado_alchemy_rest-1.0.17-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ffe24254797611f0dc645e90cb213f72", "sha256": "c3994420cf77c87269a949480649b908bc422c15b547b8e2148dba461d7abea9" }, "downloads": -1, "filename": "tornado-alchemy-rest-1.0.17.tar.gz", "has_sig": false, "md5_digest": "ffe24254797611f0dc645e90cb213f72", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5721, "upload_time": "2018-05-28T10:26:35", "url": "https://files.pythonhosted.org/packages/9b/f7/351e7837f2e9bc3b0ab07a5d12028c373a36fa42fc7a6ca933d600afe38d/tornado-alchemy-rest-1.0.17.tar.gz" } ], "1.0.18": [ { "comment_text": "", "digests": { "md5": "89f270b579e9836a8a9afaeb2e40f7bd", "sha256": "29cd11525a710b4517f8c4d383e4c073236f5d6d4f2212f0b72e75a3edf5e5be" }, "downloads": -1, "filename": "tornado_alchemy_rest-1.0.18-py3-none-any.whl", "has_sig": false, "md5_digest": "89f270b579e9836a8a9afaeb2e40f7bd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5499, "upload_time": "2018-05-29T08:08:42", "url": "https://files.pythonhosted.org/packages/17/f9/6057fc1dfc17b0e9a62f30971200c84276bd440e1eaf325ed35dfbbb857b/tornado_alchemy_rest-1.0.18-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4287b4b24ec06dd771532c45309a2fda", "sha256": "1efee47d79d4a78a155aff8058dfad8b92fdd7652524f442bcddbbf99814258c" }, "downloads": -1, "filename": "tornado-alchemy-rest-1.0.18.tar.gz", "has_sig": false, "md5_digest": "4287b4b24ec06dd771532c45309a2fda", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5716, "upload_time": "2018-05-29T08:08:44", "url": "https://files.pythonhosted.org/packages/c6/9a/d60a31a0c86d3990c11e263dead8a9b0a864a12c96dc934b34452b25820a/tornado-alchemy-rest-1.0.18.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "1eabd9067fd45cc7145b517e7331df5a", "sha256": "2bd92a7bfa7a6c993e794a80b758a5a361ac819977c864e413362d5359681874" }, "downloads": -1, "filename": "tornado-alchemy-rest-1.0.2.tar.gz", "has_sig": false, "md5_digest": "1eabd9067fd45cc7145b517e7331df5a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5770, "upload_time": "2018-04-25T11:35:24", "url": "https://files.pythonhosted.org/packages/c2/4f/207c9b0509c637f04b18472c6e54f7908280f94522741d7dcdd1efc683cd/tornado-alchemy-rest-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "e66256c1ae7616839052aa8f05da5775", "sha256": "2ac24a95f6288189ea5c79603b7ee616f1d955656b17df6fbbe9af4203851e01" }, "downloads": -1, "filename": "tornado-alchemy-rest-1.0.3.tar.gz", "has_sig": false, "md5_digest": "e66256c1ae7616839052aa8f05da5775", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5783, "upload_time": "2018-04-25T11:39:09", "url": "https://files.pythonhosted.org/packages/7b/a3/6a4f799b4e0266990ce02169e7efe68d5aa80d2ca63792db4401cd8dc6d8/tornado-alchemy-rest-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "7e6497e1b37a3b04c23203f1044f26e0", "sha256": "fe08c212c8378714b9c03890ee6b9d9e30fba28b1aca73b97a19867e2bbc260f" }, "downloads": -1, "filename": "tornado-alchemy-rest-1.0.4.tar.gz", "has_sig": false, "md5_digest": "7e6497e1b37a3b04c23203f1044f26e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5754, "upload_time": "2018-04-25T11:42:08", "url": "https://files.pythonhosted.org/packages/d0/ee/5535e36ec5f7f3bd89586b76871c37f092c9e32dbb399da9e569f522b636/tornado-alchemy-rest-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "1f4a8c8b6d36a86a864bf7761dea41e8", "sha256": "e423c3993ea6340c662989387d4935e1117542c6a8d6db39b6fcb401c3d9a502" }, "downloads": -1, "filename": "tornado-alchemy-rest-1.0.5.tar.gz", "has_sig": false, "md5_digest": "1f4a8c8b6d36a86a864bf7761dea41e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5760, "upload_time": "2018-04-25T11:50:39", "url": "https://files.pythonhosted.org/packages/f7/9e/fad29244c89f354d956790dc07592522e4549077a0455e413d2ce794eaeb/tornado-alchemy-rest-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "37418f065f63b90cef4fb32a4615f4be", "sha256": "fb2bbade85dfa83a00f936904083479a299a50f76c27015ce3a2dcf161b799c0" }, "downloads": -1, "filename": "tornado-alchemy-rest-1.0.6.tar.gz", "has_sig": false, "md5_digest": "37418f065f63b90cef4fb32a4615f4be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5765, "upload_time": "2018-04-25T11:51:28", "url": "https://files.pythonhosted.org/packages/5a/14/4306c7991c64325d6e546a3ff88041cdcaa312b443ffca47346cadb94d2d/tornado-alchemy-rest-1.0.6.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "8f83b5c61a0f1a0baa9083d23cd820cf", "sha256": "73b29ec28e05a661ea2351d9cc4663247f501a0a4511e7f037f747eb5473febc" }, "downloads": -1, "filename": "tornado-alchemy-rest-1.0.7.tar.gz", "has_sig": false, "md5_digest": "8f83b5c61a0f1a0baa9083d23cd820cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5764, "upload_time": "2018-04-25T11:53:05", "url": "https://files.pythonhosted.org/packages/91/0d/512c7e8c0e5d696f76a8f0b7926ed570fb20e28415b059ab5934e5ee3b75/tornado-alchemy-rest-1.0.7.tar.gz" } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "72bfa2b569b6d51405eccbb62b5eeb69", "sha256": "12c63887b012a5f5d7f70e554d419860a06166224a8cd4303ea48aa7b8670719" }, "downloads": -1, "filename": "tornado-alchemy-rest-1.0.8.tar.gz", "has_sig": false, "md5_digest": "72bfa2b569b6d51405eccbb62b5eeb69", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5770, "upload_time": "2018-04-25T12:00:36", "url": "https://files.pythonhosted.org/packages/24/ba/beb7d3be6537e5573b63005781661d39317c3f2b79be3e35c7ea13ed0388/tornado-alchemy-rest-1.0.8.tar.gz" } ], "1.0.9": [ { "comment_text": "", "digests": { "md5": "ca2c73f805efa2f8624324d7d219beb7", "sha256": "ec11ff413359a5ca76e2f7b6e3bf364f73e1e23cb86a8886bf3e53769563938b" }, "downloads": -1, "filename": "tornado-alchemy-rest-1.0.9.tar.gz", "has_sig": false, "md5_digest": "ca2c73f805efa2f8624324d7d219beb7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5751, "upload_time": "2018-04-25T12:10:43", "url": "https://files.pythonhosted.org/packages/8d/73/4bbdef6504679bd30268d5c79e993a70927f997fa212d2268c2b64bb7f2c/tornado-alchemy-rest-1.0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "89f270b579e9836a8a9afaeb2e40f7bd", "sha256": "29cd11525a710b4517f8c4d383e4c073236f5d6d4f2212f0b72e75a3edf5e5be" }, "downloads": -1, "filename": "tornado_alchemy_rest-1.0.18-py3-none-any.whl", "has_sig": false, "md5_digest": "89f270b579e9836a8a9afaeb2e40f7bd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5499, "upload_time": "2018-05-29T08:08:42", "url": "https://files.pythonhosted.org/packages/17/f9/6057fc1dfc17b0e9a62f30971200c84276bd440e1eaf325ed35dfbbb857b/tornado_alchemy_rest-1.0.18-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4287b4b24ec06dd771532c45309a2fda", "sha256": "1efee47d79d4a78a155aff8058dfad8b92fdd7652524f442bcddbbf99814258c" }, "downloads": -1, "filename": "tornado-alchemy-rest-1.0.18.tar.gz", "has_sig": false, "md5_digest": "4287b4b24ec06dd771532c45309a2fda", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5716, "upload_time": "2018-05-29T08:08:44", "url": "https://files.pythonhosted.org/packages/c6/9a/d60a31a0c86d3990c11e263dead8a9b0a864a12c96dc934b34452b25820a/tornado-alchemy-rest-1.0.18.tar.gz" } ] }