{ "info": { "author": "tangmi", "author_email": "tangmi360@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Framework :: AsyncIO", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Internet :: WWW/HTTP" ], "description": "========================================\nAsynchronous server component library\n========================================\n\n.. image:: https://travis-ci.org/tangmi001/tomatolib.svg?branch=master\n :target: https://travis-ci.org/tangmi001/tomatolib\n :alt: Travis status for master branch\n\n.. image:: https://codecov.io/gh/tangmi001/tomatolib/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/tangmi001/tomatolib\n :alt: Codecov\n\n.. image:: https://img.shields.io/github/license/tangmi001/tomatolib.svg\n :target: https://github.com/tangmi001/tomatolib/blob/master/LICENSE\n :alt: License\n\n.. image:: https://img.shields.io/pypi/v/tomatolib.svg\n :target: https://pypi.org/project/tomatolib\n :alt: PyPI\n\n\nFeatures\n========\n\n- Manage common modules (MySQLModule, HttpServerModule) with Application class.\n- Web routing configures the handler through the decorator.\n- SQL normalization, avoiding heavy ORM, while also making readability.\n\n\nGetting started\n===============\n\nServer\n------\n\nAn example using a server:\n\n.. code-block:: python\n\n # hello_handler.py\n\n from aiohttp import web\n from tomato.transport.http import Routes\n\n\n routes = Routes()\n\n @routes.get('/hello')\n @routes.get('/hello/{name}')\n async def xxx(request):\n name = request.match_info.get('name', \"Anonymous\")\n text = \"Hello, \" + name\n return web.Response(text=text)\n\n\n.. code-block:: python\n\n # hello.py\n\n from hello_handler import routes\n from tomato.util import Application\n from tomato.transport import HttpServerModule\n\n\n app = Application()\n app['http_server'] = HttpServerModule(host='localhost', port=1024, routes_list=[routes, ])\n # app.run()\n # app.stop()\n app.run_forever()\n\n\nMySQL\n-----\n\n.. code-block:: python\n\n import asyncio\n from tomato.util import Application\n from tomato.store import MySQLModule\n from tomato.store import SqlClauseAssemble\n from tomato.store import SqlParamCollections\n\n\n app = Application()\n # setting parameter is a dictionary type\n app['mysql'] = MySQLModule(setting=mysql_setting)\n app.run()\n sql_assemble = SqlClauseAssemble()\n sql_assemble.wanted_words = ['platform_id', 'open_id']\n sql_assemble.table_name = '`app_account_users`'\n where_params = SqlParamCollections()\n where_params.add_normal_param(('open_id', '=', 18888888888, True))\n sql_assemble.where_params = where_params\n (sql, params) = sql_assemble.get_query_clause()\n print((sql, params))\n loop = asyncio.get_event_loop()\n result_list = loop.run_until_complete(app['mysql'].get_all(sql,params))\n print(result_list)\n app.stop()\n\n\nRedis\n-----\n\n.. code-block:: python\n\n from tomato.util import Application\n from tomato.store import RedisModule\n\n\n app = Application()\n app['redis'] = RedisModule(setting=redis_setting)\n app.run()\n redis = RedisController()\n loop = asyncio.get_event_loop()\n loop.run_until_complete(redis.set('my-key', 'my-value'))\n assert loop.run_until_complete(redis.get('my-key')) == 'my-value'\n app.stop()\n\n\nExample\n-------\n- `server `_\n\n- `mysql `_\n\n\nDependent library\n=================\n\n- `aiohttp `_\n\n\nOther contributors\n==================\n- zhouqinmin: zqm175899960@163.com", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/tangmi001/tomatolib", "keywords": "tomatolib,tomato", "license": "GNU General Public License v3", "maintainer": "tangmi , stevenhu ", "maintainer_email": "tomatolibs@gmail.com", "name": "tomatolib", "package_url": "https://pypi.org/project/tomatolib/", "platform": "", "project_url": "https://pypi.org/project/tomatolib/", "project_urls": { "Homepage": "https://github.com/tangmi001/tomatolib" }, "release_url": "https://pypi.org/project/tomatolib/0.4.5/", "requires_dist": null, "requires_python": ">=3.5.3", "summary": "A quick and lightweight server framework.", "version": "0.4.5" }, "last_serial": 5216987, "releases": { "0.0.8": [ { "comment_text": "", "digests": { "md5": "4903b6b399932d18c35d43cd07b12b5a", "sha256": "04975cd034d43fb6ddae5dbbf5f657f000ee96258c56a86e151b83d28c36baf8" }, "downloads": -1, "filename": "tomatolib-0.0.8.tar.gz", "has_sig": false, "md5_digest": "4903b6b399932d18c35d43cd07b12b5a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 10273, "upload_time": "2018-08-09T16:12:48", "url": "https://files.pythonhosted.org/packages/58/9b/4a045afa72cb30860e8a1212973bd4b00d652abee3828cc3c3f22716bc47/tomatolib-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "a06e454c944c5448d6228592212722c2", "sha256": "f923dca77123ccd160248785f6a7eec12d022ff239d54a95ab0770b707251582" }, "downloads": -1, "filename": "tomatolib-0.0.9.tar.gz", "has_sig": false, "md5_digest": "a06e454c944c5448d6228592212722c2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 10425, "upload_time": "2018-08-15T11:09:43", "url": "https://files.pythonhosted.org/packages/bd/70/d90f9e875b965a6a2c84fb3fd1513cc49a853a293032576079b978aa39cc/tomatolib-0.0.9.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "81ab06f67eb084e4d434b0af2b56e554", "sha256": "f0340c64f38507f626715c10fc56ba7f5f6fff1f55824cb41861fac59bae6fda" }, "downloads": -1, "filename": "tomatolib-0.1.0.tar.gz", "has_sig": false, "md5_digest": "81ab06f67eb084e4d434b0af2b56e554", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 10430, "upload_time": "2018-08-16T07:35:56", "url": "https://files.pythonhosted.org/packages/3d/bb/bf45531837a30bc61d0cc515c69d8c6f246283a14b8ad3e4d5ab5181194f/tomatolib-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "02a405881e4997f1175a893455e55c06", "sha256": "316a71fc1a412aa7b4a75ed9abca21b6a1f75e6a002303947e9c40a722e3b541" }, "downloads": -1, "filename": "tomatolib-0.1.1.tar.gz", "has_sig": false, "md5_digest": "02a405881e4997f1175a893455e55c06", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 10433, "upload_time": "2018-08-17T09:57:42", "url": "https://files.pythonhosted.org/packages/8e/e4/942de028680e77d928c50d98e901da0c8e3ac2850e90992331added45bc8/tomatolib-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "94fe911e1e33b23bff43cbb47278ef4e", "sha256": "13886abaee8eef255ee7e11cd548ee52ae9419d926a41f58d78fec73970b6d64" }, "downloads": -1, "filename": "tomatolib-0.1.2.tar.gz", "has_sig": false, "md5_digest": "94fe911e1e33b23bff43cbb47278ef4e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 10341, "upload_time": "2018-08-23T14:26:24", "url": "https://files.pythonhosted.org/packages/6e/57/0d071d038f503ec18266902bd80bb4e4327d4a3c714eaaf20992a6120b68/tomatolib-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "d70d53686c3b780caa5959a2c2d292b9", "sha256": "3fc34b9f5bb9af3e8826d04257e7a4ddcc50e43451dd559cdd99df944876aa2b" }, "downloads": -1, "filename": "tomatolib-0.1.3.tar.gz", "has_sig": false, "md5_digest": "d70d53686c3b780caa5959a2c2d292b9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 10416, "upload_time": "2018-08-23T15:02:53", "url": "https://files.pythonhosted.org/packages/4c/1b/6eaea34e4a3f040a9a6672787cada232ef4ec880c58855ef8702f3dd85de/tomatolib-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "caabb6070020309e9270d5d256fb7cec", "sha256": "3e3bbbfe80db9bb7c998a12f4bea7dd3fd9f52a4c3968e6ad7bb5f3295ec70e5" }, "downloads": -1, "filename": "tomatolib-0.1.4.tar.gz", "has_sig": false, "md5_digest": "caabb6070020309e9270d5d256fb7cec", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 10443, "upload_time": "2018-08-23T15:21:47", "url": "https://files.pythonhosted.org/packages/41/b7/bab5f93be574e7a9754718f6d6b38ebc13dd5d9879003e400ffe3b242b88/tomatolib-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "516b1528776a23b1133cc2ac05f13e33", "sha256": "665fdfb92383eae597fa68683dcba17a3892362f9cb31e8cb1cc541ee2b40d45" }, "downloads": -1, "filename": "tomatolib-0.1.5.tar.gz", "has_sig": false, "md5_digest": "516b1528776a23b1133cc2ac05f13e33", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 9392, "upload_time": "2018-09-02T00:36:12", "url": "https://files.pythonhosted.org/packages/ae/9a/3636d2bdd5f8fa3e290d3293bd70b86a96934d7c3057141192ddb2ad44a0/tomatolib-0.1.5.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "2adc7e88d461319385bf3891bcd15fae", "sha256": "485a4e81384dc85cdb0fe0fa54f9e8863d391a43ccc0bbaf1e829f4f1e64d300" }, "downloads": -1, "filename": "tomatolib-0.2.0.tar.gz", "has_sig": false, "md5_digest": "2adc7e88d461319385bf3891bcd15fae", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 9231, "upload_time": "2018-09-02T18:25:18", "url": "https://files.pythonhosted.org/packages/36/78/3fe370a217b74a1f573b02a8ebc3b6917a7dfc631c8fc64b701d1050a327/tomatolib-0.2.0.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "bb5861d59f57a7d7a66a2b47a9786b45", "sha256": "2bbc1b8810042a93d2e4288cd6f15f335777f7dd5bd7575d6b4356f53ea31e1e" }, "downloads": -1, "filename": "tomatolib-0.2.2.tar.gz", "has_sig": false, "md5_digest": "bb5861d59f57a7d7a66a2b47a9786b45", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 8486, "upload_time": "2018-09-03T08:04:01", "url": "https://files.pythonhosted.org/packages/c2/96/fe53cd9f23fa334569deea8329d93c721358874a980b34c65458d40a749c/tomatolib-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "ea2f800ea50438946ae4b1cb5904ddac", "sha256": "53f275fe01ab84cae4d463fba27f10841d2012e0007631c4c2d413f8fc2ed769" }, "downloads": -1, "filename": "tomatolib-0.2.3.tar.gz", "has_sig": false, "md5_digest": "ea2f800ea50438946ae4b1cb5904ddac", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 8548, "upload_time": "2018-09-09T17:52:02", "url": "https://files.pythonhosted.org/packages/ab/b5/82632a967272d8f875224cb547f882c2f43faa5f3d6ea6a38c6756dfb9ce/tomatolib-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "c86fe72a86b1040109cb391c2404cc67", "sha256": "57fc422a0d8956727b6017f0a347d2745e6c72873f757afd7833dd17ab9dacb2" }, "downloads": -1, "filename": "tomatolib-0.2.4.tar.gz", "has_sig": false, "md5_digest": "c86fe72a86b1040109cb391c2404cc67", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 7739, "upload_time": "2018-10-03T11:22:56", "url": "https://files.pythonhosted.org/packages/35/aa/49d234d6f4615b5196483e672e812d6a088f06e0835f721c660ba443ca99/tomatolib-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "6fb0af0976917bf02b54bb51e67bf353", "sha256": "fe4910677f0e1d5869f8df513213bf351c0ea27accf4f399261bd39d058c0689" }, "downloads": -1, "filename": "tomatolib-0.2.5.tar.gz", "has_sig": false, "md5_digest": "6fb0af0976917bf02b54bb51e67bf353", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 8971, "upload_time": "2018-10-04T08:27:36", "url": "https://files.pythonhosted.org/packages/36/42/9431707e4867741b6e5da59ce14628e17341bb2598a2fed38e35a1fd2351/tomatolib-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "40ab600501bce7fdb199155359adee77", "sha256": "2ce0cffe83f8b0de31d4bd27cd32335de173a9b01eb16f6a2b2831fddcbc8c47" }, "downloads": -1, "filename": "tomatolib-0.2.6.tar.gz", "has_sig": false, "md5_digest": "40ab600501bce7fdb199155359adee77", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 8917, "upload_time": "2018-11-08T09:52:39", "url": "https://files.pythonhosted.org/packages/75/c9/712ee82a4c4aabb24405b58e8cf873b1df0bf1f6cb8c6cbca128bcaf9ecd/tomatolib-0.2.6.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "228b5c3c24f2d29fa7f82b454862caf0", "sha256": "2380869726d3aad7b8b1ae1aaf5ea2cb264e0294792fa822c0c038e0913698fd" }, "downloads": -1, "filename": "tomatolib-0.2.7.tar.gz", "has_sig": false, "md5_digest": "228b5c3c24f2d29fa7f82b454862caf0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 8808, "upload_time": "2019-01-04T05:32:54", "url": "https://files.pythonhosted.org/packages/50/46/898bdfc19b4e738c4459971d026eed8495224f828944fcc69a913d97c451/tomatolib-0.2.7.tar.gz" } ], "0.2.8": [ { "comment_text": "", "digests": { "md5": "dcc00eb3718a36b0b0af799d8783cd5d", "sha256": "5785caced5c1bb1838a0e1b2e698814b7f4c5552f326d9fedce0e08d88c11d14" }, "downloads": -1, "filename": "tomatolib-0.2.8.tar.gz", "has_sig": false, "md5_digest": "dcc00eb3718a36b0b0af799d8783cd5d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 8685, "upload_time": "2019-01-04T06:34:59", "url": "https://files.pythonhosted.org/packages/06/db/cf448124027999086d16793f9939d37dbe8250c57b0926d114005ca308d3/tomatolib-0.2.8.tar.gz" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "f137eb76ef84318f82c33eb98f6d0320", "sha256": "b96f40ef9bb2700aa434f5fc6c83fd36df3ab79daec2daf831f73d75ba0f40c0" }, "downloads": -1, "filename": "tomatolib-0.3.5.tar.gz", "has_sig": false, "md5_digest": "f137eb76ef84318f82c33eb98f6d0320", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 16207, "upload_time": "2019-01-23T21:12:02", "url": "https://files.pythonhosted.org/packages/eb/be/b6b44bcfd8f5325816319fec7e173b518fc7f7a10764575094dfcc29e468/tomatolib-0.3.5.tar.gz" } ], "0.3.6": [ { "comment_text": "", "digests": { "md5": "3184ab8f0bc82b980eaf497a035010bf", "sha256": "39be73489fabb6d6591a0ad1354582c57639f1970c3b8598f50a5ff68f66b71a" }, "downloads": -1, "filename": "tomatolib-0.3.6.tar.gz", "has_sig": false, "md5_digest": "3184ab8f0bc82b980eaf497a035010bf", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 16243, "upload_time": "2019-01-24T11:13:02", "url": "https://files.pythonhosted.org/packages/41/c1/f5846179ac7dfa7e7a3370f61a9afaf81a90b8663f7816d098295ab7c534/tomatolib-0.3.6.tar.gz" } ], "0.3.7": [ { "comment_text": "", "digests": { "md5": "94374b9425010cd2742985aca8021f01", "sha256": "81470675b22405b1c033e969d4a267c88f109c7ae2c41e50399c665defb6b1f4" }, "downloads": -1, "filename": "tomatolib-0.3.7.tar.gz", "has_sig": false, "md5_digest": "94374b9425010cd2742985aca8021f01", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 16411, "upload_time": "2019-01-25T02:44:30", "url": "https://files.pythonhosted.org/packages/3f/ad/b8b838ebfe428b4fd8dd8f6dbc26e6da8f5591b37d4beac472d41b717520/tomatolib-0.3.7.tar.gz" } ], "0.3.8": [ { "comment_text": "", "digests": { "md5": "a53a3052d716cf058a170d8e9f821382", "sha256": "231eccbdfd6b92202f519e7e928993f1397b43064278d4a8dfbb4df9a2c65930" }, "downloads": -1, "filename": "tomatolib-0.3.8.tar.gz", "has_sig": false, "md5_digest": "a53a3052d716cf058a170d8e9f821382", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 16471, "upload_time": "2019-01-25T05:56:36", "url": "https://files.pythonhosted.org/packages/03/69/ec50aa6959389d99b7843d9d4ae350d6a46410232b1a09b8662def188feb/tomatolib-0.3.8.tar.gz" } ], "0.3.9": [ { "comment_text": "", "digests": { "md5": "bf0d5074934af508af93e30eaefb5195", "sha256": "21a9c8336f7bba04dfd109b4dce1ec670127100c92d407544bff2ab715d11f14" }, "downloads": -1, "filename": "tomatolib-0.3.9.tar.gz", "has_sig": false, "md5_digest": "bf0d5074934af508af93e30eaefb5195", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 16451, "upload_time": "2019-01-25T17:40:44", "url": "https://files.pythonhosted.org/packages/39/fe/af72282e0472efcf9ccfbb490ff726ebd28bb51e18df2c46f5ece43f6c9e/tomatolib-0.3.9.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "e4895662886a0e837ab1c6fcfee89963", "sha256": "9e91c640b64eece185968cb2c50263a8c82a5b0678aca50b06ab0cdeb97c94d1" }, "downloads": -1, "filename": "tomatolib-0.4.0.tar.gz", "has_sig": false, "md5_digest": "e4895662886a0e837ab1c6fcfee89963", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 16447, "upload_time": "2019-02-23T12:33:44", "url": "https://files.pythonhosted.org/packages/73/12/25fd4ebfff9578b24450a5455994b48d56c9c49e886ecd2e4582dabb58b1/tomatolib-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "88d13a3199c6b3e7dbe8316a4b97a48c", "sha256": "3df9bfb0ca944d627f54619a60dbba616b93617f2d2a0fc0ab3d80eec1e9ac1e" }, "downloads": -1, "filename": "tomatolib-0.4.1.tar.gz", "has_sig": false, "md5_digest": "88d13a3199c6b3e7dbe8316a4b97a48c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 16446, "upload_time": "2019-02-23T14:08:28", "url": "https://files.pythonhosted.org/packages/61/11/9a3b8249eda627137b0ec3f3c2127a396a68916590a2ab26103174de40a1/tomatolib-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "ae768aa782e53a135a436e2cd260424c", "sha256": "dcbea96557e02534c319c93a8ce617d60d27b0e70f03ec0b456d2a5a15201d8b" }, "downloads": -1, "filename": "tomatolib-0.4.2.tar.gz", "has_sig": false, "md5_digest": "ae768aa782e53a135a436e2cd260424c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 16451, "upload_time": "2019-03-08T14:21:09", "url": "https://files.pythonhosted.org/packages/9c/79/226396d7f6a19aacf2b1f625a8f1c1c0174e14fdb0d1cd0bd8643efa95b5/tomatolib-0.4.2.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "5aeb94994e1f936a7701b22a6add8592", "sha256": "8c78800e7427d18703fc6f01674ee63f4eb6e7b77ace8ebde741adb62750061b" }, "downloads": -1, "filename": "tomatolib-0.4.3.tar.gz", "has_sig": false, "md5_digest": "5aeb94994e1f936a7701b22a6add8592", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 16447, "upload_time": "2019-03-08T17:29:17", "url": "https://files.pythonhosted.org/packages/b7/82/1d44528374b79c9daf982fc43b0fb9459061c22c3ae43e504bdcf5c19bbe/tomatolib-0.4.3.tar.gz" } ], "0.4.4": [ { "comment_text": "", "digests": { "md5": "18cb1a6cf87d761f9821827da2d5ce80", "sha256": "695f8f0d33f617c5e74dbd3940d054a7ef8faad26293b12564d16f2ca1e13b75" }, "downloads": -1, "filename": "tomatolib-0.4.4.tar.gz", "has_sig": false, "md5_digest": "18cb1a6cf87d761f9821827da2d5ce80", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 16923, "upload_time": "2019-05-02T10:49:51", "url": "https://files.pythonhosted.org/packages/ce/28/44dfe24740330966bad90c293284888b823dd035fda695a5b9c563acb225/tomatolib-0.4.4.tar.gz" } ], "0.4.5": [ { "comment_text": "", "digests": { "md5": "879fb4fc70e2cc9bdc3aff0e2019d568", "sha256": "cc1e49be2d443c704adfcc3141bdaf7d07c4feaddea8fac59baa78e99f38e34a" }, "downloads": -1, "filename": "tomatolib-0.4.5.tar.gz", "has_sig": false, "md5_digest": "879fb4fc70e2cc9bdc3aff0e2019d568", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 17073, "upload_time": "2019-05-02T11:44:56", "url": "https://files.pythonhosted.org/packages/4c/5e/6198dbffaf90a7f9c287d28b43167aa45e1c42e5468a120d414e2f4eefa4/tomatolib-0.4.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "879fb4fc70e2cc9bdc3aff0e2019d568", "sha256": "cc1e49be2d443c704adfcc3141bdaf7d07c4feaddea8fac59baa78e99f38e34a" }, "downloads": -1, "filename": "tomatolib-0.4.5.tar.gz", "has_sig": false, "md5_digest": "879fb4fc70e2cc9bdc3aff0e2019d568", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 17073, "upload_time": "2019-05-02T11:44:56", "url": "https://files.pythonhosted.org/packages/4c/5e/6198dbffaf90a7f9c287d28b43167aa45e1c42e5468a120d414e2f4eefa4/tomatolib-0.4.5.tar.gz" } ] }