{ "info": { "author": "Alexandre Z", "author_email": "alikzao@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Programming Language :: Python", "Programming Language :: Python :: 3.5", "Topic :: Internet :: WWW/HTTP" ], "description": "\n\n[![License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=plastic)](http://opensource.org/licenses/MIT)\n[![PyPI version](https://badge.fury.io/py/tao1.svg)](https://badge.fury.io/py/tao1)\n\n\n# Introduction.\nThis asynchronous framework with a modular structure like Django. But with mongodb, jinja2, websocket out of the box,\nand more than a simple barrier to entry.\n\nBuilt on the basis of asyncio and aiohttp. In the framework, have batteries. The prototype of the game framework as a component.\n\n###Requirements\n\nPython >= 3.5.1 \naiohttp == 0.20.2\naiohttp_jinja2 \naiohttp_session \naiohttp_debugtoolbar \naiomcache \npymongo \n\n###Installation Python 3.5 for ubuntu \n```bash\nsudo add-apt-repository ppa:fkrull/deadsnakes\nsudo apt-get update\nsudo apt-get install python3.5 python3.5-dev \n```\n\n#Framework Installation\n```bash\n$ pip install tao1\n```\n##Getting Started\n\nCreate a project anywhere:\n```bash\n utils.py -p name\n```\nCreate an application in the folder of the project apps:\n```bash\n utils.py -a name\n``` \nRun server:\n```bash\n python3 index.py\n``` \n##License\n\nIt's *MIT* licensed and freely available.\n\n##Deploy\nWhen you develop enough to run the file `python3 index.py`.\nFor production to run `index.py`, is better to use the `supervisor` and `nginx`.\nSettings supervisor in `/etc`:\n```python\n [program:name]\n command=python3 index.py\n directory=/path/to/your/project\n user=nobody\n autorestart=true\n redirect_stderr=true\n```\nSettings nginx in `/etc` together with proxy websocket::\n```nginx\nserver {\n server_name aio.dev;\n location / {\n proxy_pass http://127.0.0.1:8080;\n }\n location /ws {\n proxy_pass http://127.0.0.1:8080;\n proxy_http_version 1.1;\n proxy_set_header Upgrade $http_upgrade;\n proxy_set_header Connection \"upgrade\";\n }\n}\n```\n\n###Routes\n\nExample route in file `routes.py`::\n```python\n from libs.game.game import *\n from core.union import route\n \n route('GET', '/ws', ws,\t'ws' )\n``` \n###Templates\n\nIn framework integrated `jinja2`. Templates are always in the `templ` folder.\n\nTo call the template function `templ` and pass it the template name. If the template is in some sort of module,\nthe call looks like this `libs.modul_name.templ_name`.\n\nIf the template is in the root of the project in the templ folder, then simply write his name.\n\nExample:\n```python\n def page(request):\n return templ('index', request, {'key':'val'} )\n```\n\n###Websockets\n\nThe websocket to create games and chat very easy to use.\n\nThe first is the need to call route with the template to draw the route and chat with the handler for chat:\n\n```python\n route('GET', '/ws', ws, 'ws' )\n route('GET', '/wsh', ws_handler, 'ws_handler' )\n```\nThese routes work you can see an example.\n\nThe second is the functions themselves.\nFunction for render chat page:\n```python\n async def ws(request):\n return templ('libs.app:chat', request, {} )\n```\nFunction handler chat:\n\n```python \n async def ws_handler(request):\n ws = web.WebSocketResponse()\n await ws.prepare(request)\n async for msg in ws:\n if msg.tp == aiohttp.MsgType.text:\n if msg.data == 'close':\n await ws.close()\n else:\n ws.send_str(msg.data + '/answer')\n elif msg.tp == aiohttp.MsgType.error:\n print('ws connection closed with exception %s' % ws.exception())\n print('websocket connection closed')\n return ws\n```\n\n###Database\n\nTo write the database query you need to `request.db`\nand then as usual.\n\n```python\n async def test_db(request):\n\t # save doc\n\t request.db.doc.save({\"_id\":\"test\", \"status\":\"success\"})\n\t # find doc\n\t val = request.db.doc.find_one({\"_id\":\"test\"})\n\t return templ('apps.app:db_test', request, {'key':val})\n```\n\n###Static files\n\n Static files it is better to entrust `nginx` but `tao1` able return files.\n\n All files must be located in the folder static.\n\n If they are the root of the project then the path will be like this `/static/file_name.pg`.\n If the files are in a certain module, then the path like this `/static/module_name/file_name.jpg`.\n\n###Caching\n\nCreate cache for function 5 second, the first parameter - name::\n\n```python\n @cache(\"main_page\", expire=5)\n async def page(request):\n return templ('index', request, {'key':'val'} )\n```\n\n#Game \nIn this case, the game framework is a battery, the basic framework. The game is a 3D multiplayer shooting.\nPrototype game framework have multiplayer mode, the mini-map, rooms, bot, several typical models of tanks.\nThe client side is written in the framework `WEBGL` babylon.js.\n###Game start\nGame start is located on the route `/pregame`. \n \n![Image alt](https://github.com/alikzao/tao1/raw/master/docs/_static/game.jpg)\n\n###More detail documentation about game.\n\n\n\n###More detailed documentation about base framework \n\n\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/alikzao/tao", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "tao1", "package_url": "https://pypi.org/project/tao1/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/tao1/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/alikzao/tao" }, "release_url": "https://pypi.org/project/tao1/0.2.5/", "requires_dist": null, "requires_python": null, "summary": "framework, CMS and CRM for aiohttp and asyncio", "version": "0.2.5" }, "last_serial": 2228080, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "98fb3577cf6b7a9b661d3c7f40de2aab", "sha256": "991b8f0a86b494da464e5eeaa864b8f37faa1720e55adbfa151ec668f20339df" }, "downloads": -1, "filename": "tao1-0.1.tar.gz", "has_sig": false, "md5_digest": "98fb3577cf6b7a9b661d3c7f40de2aab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4720, "upload_time": "2015-08-04T23:19:00", "url": "https://files.pythonhosted.org/packages/44/e7/fbd3bae08a4ebb47d8f7e14a1e3b270cf10f1fd71c045921ab36e6263f43/tao1-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "684e9017a25dbb0fcc5e613e4e0e0d2e", "sha256": "acf27ffc197fbed575ca1ecf32cc004048dc37366c4573ece554d357efd04d91" }, "downloads": -1, "filename": "tao1-0.1.1.tar.gz", "has_sig": false, "md5_digest": "684e9017a25dbb0fcc5e613e4e0e0d2e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4724, "upload_time": "2015-08-04T23:31:06", "url": "https://files.pythonhosted.org/packages/3b/24/98600a1a9652ccbbd7d54c449d2111013c8b3f904a415044cecddcaab1a3/tao1-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "747ed16a975fbe8dcaeb7c9148663fc8", "sha256": "642371326a25eee70c525941de4e568266e5f4143791139d98bc1fb82eb23beb" }, "downloads": -1, "filename": "tao1-0.1.2.tar.gz", "has_sig": false, "md5_digest": "747ed16a975fbe8dcaeb7c9148663fc8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5014, "upload_time": "2015-08-05T16:34:27", "url": "https://files.pythonhosted.org/packages/16/c1/75e8addd479dc47f53e145433b57002675738ff48dd4b6d89e244333875c/tao1-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "b422c1b1c637683519d5109dd8c48e9b", "sha256": "dcdef447f7563980fbfb699910e03d00545dd0d4411ad77220979b4fd5d23de8" }, "downloads": -1, "filename": "tao1-0.1.3.tar.gz", "has_sig": false, "md5_digest": "b422c1b1c637683519d5109dd8c48e9b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5029, "upload_time": "2015-08-05T16:49:43", "url": "https://files.pythonhosted.org/packages/af/51/cc8d93ebdd84622899b2af74439690756843b84f3c433b0fdb0e379871c4/tao1-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "486742fcc9f0f96349c892074ebcac57", "sha256": "3c7df35ca0b0af0ca03768e46c89e1baee310154b4efaabe8cc8d06c2dc1c690" }, "downloads": -1, "filename": "tao1-0.1.4.tar.gz", "has_sig": false, "md5_digest": "486742fcc9f0f96349c892074ebcac57", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4889, "upload_time": "2015-08-06T13:57:57", "url": "https://files.pythonhosted.org/packages/63/c3/1590394c6b4a887a8275687b1e74e0b746517db9940ab5c709dd61034357/tao1-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "a0135433a0284babbfa768a599b99ef5", "sha256": "cc56e2a8f30edc492ecdc144ae75e8f22eb78bbbc91b9bc108e81ac7b4f8a294" }, "downloads": -1, "filename": "tao1-0.1.5.tar.gz", "has_sig": false, "md5_digest": "a0135433a0284babbfa768a599b99ef5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7410, "upload_time": "2015-09-05T22:05:36", "url": "https://files.pythonhosted.org/packages/bc/73/43b1d533d2bd0d9ac19a278e904e91359aa187c3eb3f7436a39d945b42ee/tao1-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "c9d6eefa63b551344f3d4a3a0103f271", "sha256": "8d3df01398c4e66029f29596afdc15a268ade031f69484065e82d75d98127f96" }, "downloads": -1, "filename": "tao1-0.1.6.tar.gz", "has_sig": false, "md5_digest": "c9d6eefa63b551344f3d4a3a0103f271", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7387, "upload_time": "2015-09-05T22:20:31", "url": "https://files.pythonhosted.org/packages/53/d4/51bdc270827a84db6601df024fcb490a0349bcbf7484913f82b8a416aceb/tao1-0.1.6.tar.gz" } ], "0.1.6.1": [ { "comment_text": "", "digests": { "md5": "9e5e71a1e5c6063e834fa74c04b0a1ac", "sha256": "cfec6022923561d2144c92a5dc2b5f190a296a009b29d62147269798f6335390" }, "downloads": -1, "filename": "tao1-0.1.6.1.tar.gz", "has_sig": false, "md5_digest": "9e5e71a1e5c6063e834fa74c04b0a1ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7349, "upload_time": "2015-09-05T22:41:45", "url": "https://files.pythonhosted.org/packages/02/39/12dc0c0e2f31f6e4504fd2ffcb992f7e1616662fe5d3651aa9d1d6e66fef/tao1-0.1.6.1.tar.gz" } ], "0.1.6.2": [ { "comment_text": "", "digests": { "md5": "06fd4ade93aacedfdf5e1717770ce49e", "sha256": "7367f145ff8e56f709a03c0d76780b8a84f05c61e8987f65762b9b5b10d3b437" }, "downloads": -1, "filename": "tao1-0.1.6.2.tar.gz", "has_sig": false, "md5_digest": "06fd4ade93aacedfdf5e1717770ce49e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7335, "upload_time": "2015-09-07T16:58:07", "url": "https://files.pythonhosted.org/packages/0a/90/b45095512c218019305683a68bdcdd4def342295c6c9f0377bf1b672ddeb/tao1-0.1.6.2.tar.gz" } ], "0.1.6.3": [ { "comment_text": "", "digests": { "md5": "30feb0e0629d3891fcbca87ba71e12e6", "sha256": "a904441d697c3f16a83b3133aae593cbf05c78831d4884aa14a0ed370dfdd555" }, "downloads": -1, "filename": "tao1-0.1.6.3.tar.gz", "has_sig": false, "md5_digest": "30feb0e0629d3891fcbca87ba71e12e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7440, "upload_time": "2015-09-07T18:53:33", "url": "https://files.pythonhosted.org/packages/65/b0/50798309a30be2935e51768be8c40b12b7e8b435255bbd5a152019837842/tao1-0.1.6.3.tar.gz" } ], "0.1.6.4": [ { "comment_text": "", "digests": { "md5": "9d7d45582629aa40a857f3922cf4fd13", "sha256": "dde56612d25374af5a61c387bc7725f7c3f92333c7d6fbeed602fa5107744b79" }, "downloads": -1, "filename": "tao1-0.1.6.4.tar.gz", "has_sig": false, "md5_digest": "9d7d45582629aa40a857f3922cf4fd13", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7434, "upload_time": "2015-09-07T18:56:55", "url": "https://files.pythonhosted.org/packages/ec/8e/a229544438509fd67c14407d1e58b178c33e83cad4015dcfb92201cb0efa/tao1-0.1.6.4.tar.gz" } ], "0.1.6.5": [ { "comment_text": "", "digests": { "md5": "ba81646ea2235e4df34e237edca7ad2b", "sha256": "ac46b0461efb0e784c6c862d5c5f4a0d160e21b208179fd9605fa8e88d94ade3" }, "downloads": -1, "filename": "tao1-0.1.6.5.tar.gz", "has_sig": false, "md5_digest": "ba81646ea2235e4df34e237edca7ad2b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7436, "upload_time": "2015-09-07T19:00:10", "url": "https://files.pythonhosted.org/packages/34/3d/1d1ca36625fa714a0307552e2afab6ceed89fd7ac2d2fe18369e1037743e/tao1-0.1.6.5.tar.gz" } ], "0.1.6.6": [ { "comment_text": "", "digests": { "md5": "74d42c87bc9bb6c0ef684feb21975d08", "sha256": "fe2f0794710a9bec69dacdbd94a412f018d5ce93f7b2ee4cbe281dc54dda3dfc" }, "downloads": -1, "filename": "tao1-0.1.6.6.tar.gz", "has_sig": false, "md5_digest": "74d42c87bc9bb6c0ef684feb21975d08", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7440, "upload_time": "2015-09-07T19:15:32", "url": "https://files.pythonhosted.org/packages/ba/c6/8b6d46466d295da266afb3650c746e144d8682c47ee93f220e04e15707d2/tao1-0.1.6.6.tar.gz" } ], "0.1.6.7": [ { "comment_text": "", "digests": { "md5": "45403d0177c89de8b9eac6f584fa7534", "sha256": "b1e260568440ed5a1207e55b90d3a8de22e696375723d2dd3717074e9c14eac1" }, "downloads": -1, "filename": "tao1-0.1.6.7.tar.gz", "has_sig": false, "md5_digest": "45403d0177c89de8b9eac6f584fa7534", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7446, "upload_time": "2015-09-07T19:18:07", "url": "https://files.pythonhosted.org/packages/44/47/55994b1d8e90d3c9f0916cdfc39e23b0b3b355168608e1221f84e57d51ce/tao1-0.1.6.7.tar.gz" } ], "0.1.6.8": [ { "comment_text": "", "digests": { "md5": "094b47687a6b914118b11e4c273e9a89", "sha256": "f7556627b46ddd4600c5b3bd902e0ec0bfdc3edc2965ea707e10278785be2d85" }, "downloads": -1, "filename": "tao1-0.1.6.8.tar.gz", "has_sig": false, "md5_digest": "094b47687a6b914118b11e4c273e9a89", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7467, "upload_time": "2015-09-07T20:04:39", "url": "https://files.pythonhosted.org/packages/98/8c/677a3ae751f8705f2613142270bcb454ca917960f887e35cc19116d83435/tao1-0.1.6.8.tar.gz" } ], "0.1.6.9": [ { "comment_text": "", "digests": { "md5": "2d52ca6e2230293a40cfb384aec301e5", "sha256": "76ea54219d60d647f4035123868d75934d75c55fc935b409d6c8bc70a57951dd" }, "downloads": -1, "filename": "tao1-0.1.6.9.tar.gz", "has_sig": false, "md5_digest": "2d52ca6e2230293a40cfb384aec301e5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7454, "upload_time": "2015-09-07T20:09:12", "url": "https://files.pythonhosted.org/packages/1b/b5/8330175f0fa3f7492a67cd785755af5139b259b52dd9bb5d3a6ff45f1779/tao1-0.1.6.9.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "fd9c914f785c31b2d82e2a675572fb7e", "sha256": "7b3c38a28c6b20ab7e81715440578d69135ee79a6ad8b75d1141b4163e66b51f" }, "downloads": -1, "filename": "tao1-0.1.7.tar.gz", "has_sig": false, "md5_digest": "fd9c914f785c31b2d82e2a675572fb7e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7472, "upload_time": "2015-09-08T22:57:34", "url": "https://files.pythonhosted.org/packages/d5/66/86c92bee7c7ea812444aac4e5e4823e445eb9466cb24a8ee7ea581db7ba8/tao1-0.1.7.tar.gz" } ], "0.1.7.1": [ { "comment_text": "", "digests": { "md5": "3fb8b58d78dda1042631f0f6890fc5ff", "sha256": "fe2814ac499a2d6b26692ab94c33f15aa4df27d18befb4041854a597faec6a5d" }, "downloads": -1, "filename": "tao1-0.1.7.1.tar.gz", "has_sig": false, "md5_digest": "3fb8b58d78dda1042631f0f6890fc5ff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7030, "upload_time": "2015-09-14T23:05:03", "url": "https://files.pythonhosted.org/packages/ef/ea/0c91435c942c1b5360c6e392e88efa3f2a1446f0b9f5757b989721c7eef2/tao1-0.1.7.1.tar.gz" } ], "0.1.7.2": [ { "comment_text": "", "digests": { "md5": "279612f06a165c633d51a2fb7dc78591", "sha256": "231db0188a8a522e23aff1ece81226600b3a02423e09fd6560aaa5668f0b2c00" }, "downloads": -1, "filename": "tao1-0.1.7.2.tar.gz", "has_sig": false, "md5_digest": "279612f06a165c633d51a2fb7dc78591", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7027, "upload_time": "2015-09-14T23:17:31", "url": "https://files.pythonhosted.org/packages/8e/7f/f1a4beaafa291266096f3ca72dd18154d33f4a3f6f32075e98d64047cc62/tao1-0.1.7.2.tar.gz" } ], "0.1.7.3": [ { "comment_text": "", "digests": { "md5": "35bd75ce601e59ba7fe29c504788b108", "sha256": "871c2808f2dd69ecf5677b321de7f5d1b7965a3f1d54bf45331f667c0e23595e" }, "downloads": -1, "filename": "tao1-0.1.7.3.tar.gz", "has_sig": false, "md5_digest": "35bd75ce601e59ba7fe29c504788b108", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 751547, "upload_time": "2015-09-14T23:47:01", "url": "https://files.pythonhosted.org/packages/25/6b/271e1ee3835fb330196f079fa8560df53d879f92eddd0c15c8eb810c1e14/tao1-0.1.7.3.tar.gz" } ], "0.1.7.4": [ { "comment_text": "", "digests": { "md5": "2d82b67b764d0d6227df5db5adb310f5", "sha256": "e66dcdab691d430cc48003f66f7a10da4da32e8d38a362fd07f290bb6c1ee05d" }, "downloads": -1, "filename": "tao1-0.1.7.4.tar.gz", "has_sig": false, "md5_digest": "2d82b67b764d0d6227df5db5adb310f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 731743, "upload_time": "2015-09-15T00:37:43", "url": "https://files.pythonhosted.org/packages/74/93/9b5574f87dc81a82d86babd3755e97ef731f04768aca1fb65d3e6af1ccf2/tao1-0.1.7.4.tar.gz" } ], "0.1.7.6": [ { "comment_text": "", "digests": { "md5": "366278693299f6cef01fd9b5f0904086", "sha256": "0d4b199cdaf4041baa18303c1cb7172fd53cd2d1f877527c7ee886b39c887dff" }, "downloads": -1, "filename": "tao1-0.1.7.6.tar.gz", "has_sig": false, "md5_digest": "366278693299f6cef01fd9b5f0904086", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 731285, "upload_time": "2015-09-17T10:00:08", "url": "https://files.pythonhosted.org/packages/3b/bd/263671bc3dc7e763f9017e820f3a287127eef79ccf9aa84dd514f59c9b26/tao1-0.1.7.6.tar.gz" } ], "0.1.7.7": [ { "comment_text": "", "digests": { "md5": "af7be0fd3b41e1bb36e8cbadc928f7ba", "sha256": "e45c5da72e7818601a7b1954bb45a02234cfef70e3c0c7ea499ef5f1cb30440a" }, "downloads": -1, "filename": "tao1-0.1.7.7.tar.gz", "has_sig": false, "md5_digest": "af7be0fd3b41e1bb36e8cbadc928f7ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 732880, "upload_time": "2015-10-02T00:46:07", "url": "https://files.pythonhosted.org/packages/68/b3/cd03bb9e260310090aadf1bb5b199bfe2c364818596e85da48779d5110b2/tao1-0.1.7.7.tar.gz" } ], "0.1.7.8": [ { "comment_text": "", "digests": { "md5": "6f6c7d016d128acebfecc210a05dc983", "sha256": "64860fde849b5beaaac6e2328152d1f314c81847dd2178b2c74f1a3b6253712d" }, "downloads": -1, "filename": "tao1-0.1.7.8.tar.gz", "has_sig": false, "md5_digest": "6f6c7d016d128acebfecc210a05dc983", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 732997, "upload_time": "2015-10-03T16:55:12", "url": "https://files.pythonhosted.org/packages/41/f2/8385b775418f8d7208fb631782a00cb42c6bc5a5062df3c0ac64b9774a63/tao1-0.1.7.8.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "f2a612c8f3d8bc5dbc54bfa29066206c", "sha256": "ea854cf1136ce1fc0fdf9553e507658e6013a935afa063e761f04ac87bb19d93" }, "downloads": -1, "filename": "tao1-0.1.8.tar.gz", "has_sig": false, "md5_digest": "f2a612c8f3d8bc5dbc54bfa29066206c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 732984, "upload_time": "2015-10-06T14:26:00", "url": "https://files.pythonhosted.org/packages/d2/6a/d61fb59c25a08ee1a2ab0b10090dbe5cd31be6bf4de4c23506a39b98071a/tao1-0.1.8.tar.gz" } ], "0.1.8.1": [ { "comment_text": "", "digests": { "md5": "bac383489f76653e77452c275f99ccdb", "sha256": "39daddc90de4baebf0472f26a26344a66948075642b45320a730d13e4c7a9bb8" }, "downloads": -1, "filename": "tao1-0.1.8.1.tar.gz", "has_sig": false, "md5_digest": "bac383489f76653e77452c275f99ccdb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 732988, "upload_time": "2015-10-06T14:41:44", "url": "https://files.pythonhosted.org/packages/7d/d2/b050bae28d0f12612ce734e159752dc269d8528606c6fb0982e921f9e43c/tao1-0.1.8.1.tar.gz" } ], "0.1.8.3": [ { "comment_text": "", "digests": { "md5": "5f1a247d76db4c21ea7edbb6305d2c19", "sha256": "508101f69c61f92417c333ce4ede296d9ea2611e7cff9fedee5368e69671ea7e" }, "downloads": -1, "filename": "tao1-0.1.8.3.tar.gz", "has_sig": false, "md5_digest": "5f1a247d76db4c21ea7edbb6305d2c19", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57733924, "upload_time": "2016-02-01T21:14:31", "url": "https://files.pythonhosted.org/packages/6f/21/1fdb82239a18662d3adc396bf879a7eb5ecba1a56b51c96671b51ef6d270/tao1-0.1.8.3.tar.gz" } ], "0.1.8.4": [ { "comment_text": "", "digests": { "md5": "484e9cbc762d89eab7f8598f7fcad2a4", "sha256": "1e9990c6c7683fdf9071e09aa788e5ed8059dcae612be02104b082afe63a1c08" }, "downloads": -1, "filename": "tao1-0.1.8.4.tar.gz", "has_sig": false, "md5_digest": "484e9cbc762d89eab7f8598f7fcad2a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50537969, "upload_time": "2016-02-02T00:18:14", "url": "https://files.pythonhosted.org/packages/51/c6/798936ab80e94a32fdf4b688baf5f17fbf2d5a86d95a507886a72f9727f4/tao1-0.1.8.4.tar.gz" } ], "0.1.8.5": [ { "comment_text": "", "digests": { "md5": "aa40ea2d8d470925c08f9ef13067d1f5", "sha256": "559eb8544821db2b3bc7f3ecb37297e1311add992dcd0a908ec737c33b05df13" }, "downloads": -1, "filename": "tao1-0.1.8.5.tar.gz", "has_sig": false, "md5_digest": "aa40ea2d8d470925c08f9ef13067d1f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50538010, "upload_time": "2016-02-02T00:24:26", "url": "https://files.pythonhosted.org/packages/24/55/0be7405768fd9d5dd16aeca31b0ca0a3851979bf38d7efc74c8cb06be99a/tao1-0.1.8.5.tar.gz" } ], "0.1.8.6": [ { "comment_text": "", "digests": { "md5": "9cb508cd69956cf19f63ca3b3ae59871", "sha256": "3415ae19df7667c2753b3cddec91a0cf68d7d36f58828e505d28e774c2b7c7d3" }, "downloads": -1, "filename": "tao1-0.1.8.6.tar.gz", "has_sig": false, "md5_digest": "9cb508cd69956cf19f63ca3b3ae59871", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44068398, "upload_time": "2016-02-02T00:37:25", "url": "https://files.pythonhosted.org/packages/bc/0f/78fc56ee6b86af618166b212100028c8074d4f45f07d233c458c76a09897/tao1-0.1.8.6.tar.gz" } ], "0.1.8.7": [ { "comment_text": "", "digests": { "md5": "7254d1442aebf31332659254ec20dc2b", "sha256": "a54d9fde252df10324435973d8ec89c71a3a9a93bc791d962488421e581bfdb4" }, "downloads": -1, "filename": "tao1-0.1.8.7.tar.gz", "has_sig": false, "md5_digest": "7254d1442aebf31332659254ec20dc2b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42856104, "upload_time": "2016-02-02T00:51:27", "url": "https://files.pythonhosted.org/packages/60/d3/e47b7866f0a2b0b89366f73221dc67656d093183028634ffc39e6e78d3dd/tao1-0.1.8.7.tar.gz" } ], "0.1.8.9": [ { "comment_text": "", "digests": { "md5": "1de8839ef24522fc378914d52eac8a16", "sha256": "8ac55cf1eb2af5bc88d2a63798d8fd4fdae46b8ffb087ce7d7b76ba73219db91" }, "downloads": -1, "filename": "tao1-0.1.8.9.tar.gz", "has_sig": false, "md5_digest": "1de8839ef24522fc378914d52eac8a16", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42856264, "upload_time": "2016-02-02T01:16:41", "url": "https://files.pythonhosted.org/packages/af/68/6d5a1d3a0ba91d9974cd8f4cf7edb4001fd7ba9e65e4a53fb2457275480b/tao1-0.1.8.9.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "5add9bbc3d5bddff4ec356b55d1ae487", "sha256": "ff5877203d27170274eb15fc07dba44a680d525a39aeb8b8b58332e03f0c3907" }, "downloads": -1, "filename": "tao1-0.2.0.tar.gz", "has_sig": false, "md5_digest": "5add9bbc3d5bddff4ec356b55d1ae487", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43886682, "upload_time": "2016-02-15T01:26:54", "url": "https://files.pythonhosted.org/packages/ce/d2/7a4d48380c5f86150694b20d192d2cef01db9cdf0dddca53ea6ec0b2d887/tao1-0.2.0.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "11864fd2ff806dbfc0a50ed07b59ab24", "sha256": "486d62aedce9e0fe4074836048ae0aaa154832085760399132da6eacc48e7a2a" }, "downloads": -1, "filename": "tao1-0.2.2.tar.gz", "has_sig": false, "md5_digest": "11864fd2ff806dbfc0a50ed07b59ab24", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43237784, "upload_time": "2016-02-16T07:46:34", "url": "https://files.pythonhosted.org/packages/f6/27/c8a6ecb266446a97677cb606d0c34f56062d05decf2bc3bfdf2cfc43dc0f/tao1-0.2.2.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "6b975ceadee9da877580810343ee9168", "sha256": "91a53d6b90a9022864cc38f26727cd76182ad424c2231a85e5add13b915af086" }, "downloads": -1, "filename": "tao1-0.2.4.tar.gz", "has_sig": false, "md5_digest": "6b975ceadee9da877580810343ee9168", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43237723, "upload_time": "2016-02-22T00:12:59", "url": "https://files.pythonhosted.org/packages/59/b4/6c55be4c8ef95e7a1111c2c05a44be830f8e1104fde6da28c3a4cdbdc395/tao1-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "4372cc4260d2b162a450385c0b371204", "sha256": "41fb8c41f23bdf4b116b86e2c4cc91a8da153753e88d47ece3b9c133a5421cbc" }, "downloads": -1, "filename": "tao1-0.2.5.tar.gz", "has_sig": false, "md5_digest": "4372cc4260d2b162a450385c0b371204", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53303611, "upload_time": "2016-07-18T11:38:22", "url": "https://files.pythonhosted.org/packages/5a/84/97e9059e6b05ab8591ba66446b5f310712a5e0bbaebc4c29022f9daad7ed/tao1-0.2.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4372cc4260d2b162a450385c0b371204", "sha256": "41fb8c41f23bdf4b116b86e2c4cc91a8da153753e88d47ece3b9c133a5421cbc" }, "downloads": -1, "filename": "tao1-0.2.5.tar.gz", "has_sig": false, "md5_digest": "4372cc4260d2b162a450385c0b371204", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53303611, "upload_time": "2016-07-18T11:38:22", "url": "https://files.pythonhosted.org/packages/5a/84/97e9059e6b05ab8591ba66446b5f310712a5e0bbaebc4c29022f9daad7ed/tao1-0.2.5.tar.gz" } ] }