{ "info": { "author": "Exahilosys", "author_email": "exahilosys@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Utilities" ], "description": "## Server Usage\n```py\nimport asyncio\nimport peewee_async\nimport peewee_asyncext\nimport peewee\nimport aiodata.server as aiodata\nimport aiohttp.web\nimport functools\n\n# get event loop\nloop = asyncio.get_event_loop()\n\n# create an asyncio-compatible peewee database\ndatabase = peewee_asyncext.PostgresqlExtDatabase('test')\n\n# used for async query executions\nobjects = peewee_async.Manager(database)\n\n# build a model\nclass Users(peewee.Model):\n\n name = peewee.TextField(null = True)\n\n tag = peewee.IntegerField(null = True)\n\n hobby = peewee.TextField(null = True)\n\n class Meta:\n\n database = database\n\n primary_key = peewee.CompositeKey('name', 'tag')\n\n# ensure it exists\nUsers.create_table()\n# ...do other stuff\n\n# will create a function checking the 'Authorization'\n# header of each request for this token and validating;\n# raises an aiohttp.web.HTTPUnauthorized error upon failure\nauthorize = aiodata.utils.authorizer('super secret')\n\n# heartbeat\ninterval = 30\n\n# create the client;\n# for no auth, simply pass `lambda request: None`\nclient = aiodata.Client(authorize, interval)\n\n# utils.fail is a convenience function for error raising with json data;\n# this is the error handlers will raise for bad requests, passing an\n# arbitrary amount of positional arguments, starting with a code (str)\n# representing the error, ex: error('database error', output)\nfail = functools.partial(aiodata.utils.fail, aiohttp.web.HTTPBadRequest)\n\n# make the application\napp = aiohttp.web.Application()\n\n# will create handlers and then dispatchers for the client;\n# also saves information related to the smooth execution of\n# websocket connections utilized by the peers - important!\n# yields route assets in the form of (method, path, handler)\nroutes = aiodata.utils.setup(client, objects, Users, authorize, fail)\n\n# iterate through\nfor route in routes:\n\n # and add them to our router\n app.router.add_route(*route)\n\n# also add some route for the websocket connection\napp.router.add_route('GET', '/state', client.connect)\n\n# disable sync\ndatabase.set_allow_sync(False)\n\n# run the app localy\naiohttp.web.run_app(app)\n```\nRequests should be in the form of `METHOD */model` with json `[keys, data]`. \n```py\nimport requests\n\nurl = 'http://localhost:8080/users'\n\nkeys = ['cat', 40]\n\ndata = {'hobby': 'meowing'}\n\nbody = [keys, data]\n\nheaders = {'Authorization': 'super secret'}\n\nresponse = requests.post(url, json = body, headers = headers)\n\n# will be an array of dicts as rows with all their columns;\n# every successful request returns all the rows affected\nentries = response.json()\n\nprint(entries)\n```\n## Client Usage\n```py\nimport asyncio\nimport aiohttp\nimport aiodata.client as aiodata\n\n# get event loop\nloop = asyncio.get_event_loop()\n\n# create the session\nsession = aiohttp.ClientSession(loop = loop)\n\n# beep boop\nhost = 'http://localhost:8080'\n\n# create a function injecting the headers\n# with an 'Authorization' key against this token\nauthorize = aiodata.utils.authorizer('super secret')\n\n# create the client;\n# for no auth, simply pass `lambda kwargs: None`\nclient = aiodata.Client(session, host, authorize)\n\n# listen for rows being updated\n@client.track('update', 'users')\nasync def listener(entries):\n\n for before, after in entries:\n\n for key, value in before.items():\n\n check = after[key]\n\n if value == check:\n\n continue\n\n print('changed', key, 'from', value, 'to', check)\n\n# demonstration\nasync def execute():\n\n # will connect to websocket,\n # receive info, build, fill cache,\n # listen for database interactions\n await client.start('/state')\n\n # cache can be poked like so;\n # entries are simple objects,\n # tables are overwritten dicts\n entry = client.cache.users.get('cat', 40)\n\n # see before\n print(entry.hobby)\n\n # change the tag (primary) and hobby\n # make a request, patching all rows with 'cat' as name;\n # the positional nature of the keys implies entries\n # can't be bulk edited by leading primary keys alone\n entries = await client.update('cat', tag = 80, hobby = 'barking')\n\n print(entries)\n\n await client.close()\n\n await session.close()\n\ncoroutine = execute()\n\nloop.run_until_complete(coroutine)\n```\n## Installing\n```\npython3 -m pip install aiodata\n```\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/Exahilosys/aiodata/archive/v1.4.10.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Exahilosys/aiodata", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "aiodata", "package_url": "https://pypi.org/project/aiodata/", "platform": "", "project_url": "https://pypi.org/project/aiodata/", "project_urls": { "Download": "https://github.com/Exahilosys/aiodata/archive/v1.4.10.tar.gz", "Homepage": "https://github.com/Exahilosys/aiodata" }, "release_url": "https://pypi.org/project/aiodata/1.4.10/", "requires_dist": [ "aiohttp", "yarl", "aiocogs", "peewee" ], "requires_python": "", "summary": "HTTP database access.", "version": "1.4.10" }, "last_serial": 5468005, "releases": { "0.0.0": [ { "comment_text": "", "digests": { "md5": "5572115751330d2c6089726787244b31", "sha256": "8f2728200743e61664b33ae40d3ffbfdd5ccd9880efd6c37178a3bd714eab037" }, "downloads": -1, "filename": "aiodata-0.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "5572115751330d2c6089726787244b31", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13233, "upload_time": "2019-01-06T15:20:36", "url": "https://files.pythonhosted.org/packages/16/e6/ae7247e7b7d8de8658467d6bdb26ee6519ebebd01bbf184eddde9e7b5ede/aiodata-0.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "47dfaa5a5ff17fd214438316b6a969ff", "sha256": "a424ae0c715f60c75111af1eb57b89aea3c3ca557bf0963649ea20e2d65cd5b9" }, "downloads": -1, "filename": "aiodata-0.0.0.tar.gz", "has_sig": false, "md5_digest": "47dfaa5a5ff17fd214438316b6a969ff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10592, "upload_time": "2019-01-06T15:20:38", "url": "https://files.pythonhosted.org/packages/bd/d1/9f5fb6d068acf075aa4551f2b9eda7a71b124c4568ac09d4d9b615a75e4a/aiodata-0.0.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "98815bc93fc44ce6ad67677cd531eb12", "sha256": "1253537dc7470fcf9be3196931379e01cbc20ed1afc8494796dd0f8592c7565a" }, "downloads": -1, "filename": "aiodata-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "98815bc93fc44ce6ad67677cd531eb12", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13304, "upload_time": "2019-01-21T21:34:18", "url": "https://files.pythonhosted.org/packages/ec/9f/4bc14a287bec0a039e94bcabcc66f062b42b4c83865aec6ba27c396966b1/aiodata-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "346c9bc6f2aa200498a4606a448c1101", "sha256": "a20f86a33d8079ddb3fd4d77005c8659fd5169467b737156587777e226bd8dcb" }, "downloads": -1, "filename": "aiodata-1.0.0.tar.gz", "has_sig": false, "md5_digest": "346c9bc6f2aa200498a4606a448c1101", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10647, "upload_time": "2019-01-21T21:34:20", "url": "https://files.pythonhosted.org/packages/b0/6e/8b18d295eadad1babd0dd4e32b432f3c8be99e99c99a400db8cd498d6221/aiodata-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "df7fcb69e3e48464d8a3eebe8d2a9051", "sha256": "effa808f4dfc41ba882f3c43d7b12ca111491cad797fd2727641c0b3b2172f6f" }, "downloads": -1, "filename": "aiodata-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "df7fcb69e3e48464d8a3eebe8d2a9051", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13301, "upload_time": "2019-01-22T19:46:01", "url": "https://files.pythonhosted.org/packages/cf/52/c537c7a440a2c27aa0917ac006efd1a1d9b738e424a46134d15016169a1c/aiodata-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2df6a745246382f25d30cdf274d3184b", "sha256": "7253404baaa39b8cde9d3fb14162b8c58560d26ccbe1aa3058cfd6129787691a" }, "downloads": -1, "filename": "aiodata-1.0.1.tar.gz", "has_sig": false, "md5_digest": "2df6a745246382f25d30cdf274d3184b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10652, "upload_time": "2019-01-22T19:46:02", "url": "https://files.pythonhosted.org/packages/cd/1e/2e8b224a3c664d46979cb07c5e6e0db860de605aa60fb2078087120015c3/aiodata-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "2d7100e95d5a813e911993824595a5b3", "sha256": "f20cfffbe9a5af747d09d9e20c830367e4fc8cb12004db6f8c3aab2c3866f9ed" }, "downloads": -1, "filename": "aiodata-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "2d7100e95d5a813e911993824595a5b3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13307, "upload_time": "2019-01-25T10:40:45", "url": "https://files.pythonhosted.org/packages/52/b3/1bf6140cd425b047317c5d36c7b3e28718223b2ef40c6b9e7624f6d86850/aiodata-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "98ea3d664fa95720144de27b0f989a17", "sha256": "cca43e163add5d95110f219ad38339cbd5227b3132ff79beefb696a914610103" }, "downloads": -1, "filename": "aiodata-1.0.2.tar.gz", "has_sig": false, "md5_digest": "98ea3d664fa95720144de27b0f989a17", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10656, "upload_time": "2019-01-25T10:40:47", "url": "https://files.pythonhosted.org/packages/3e/cd/4acb79e410863c6373e5c3f28ef1f945314d6a6d1b27b703e446f77101d5/aiodata-1.0.2.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "7b3c2ea3ac6cfa484118c3d46ef38804", "sha256": "eca9c831bc97c14009f08f78cd1636ef2150aaab26f2b557ba3d501f2262a661" }, "downloads": -1, "filename": "aiodata-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "7b3c2ea3ac6cfa484118c3d46ef38804", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13349, "upload_time": "2019-01-27T12:46:17", "url": "https://files.pythonhosted.org/packages/42/b1/940db7b3c0b0abc2d60a2d83cdc0915493c2e500ff067bb2e8cb2b03d045/aiodata-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7a2600f6c6365c431c84fbc11326f13f", "sha256": "fd01c5b338f714dfe26c86e5ab5a904bd508a452220c363040b2351cd37a0d8c" }, "downloads": -1, "filename": "aiodata-1.1.0.tar.gz", "has_sig": false, "md5_digest": "7a2600f6c6365c431c84fbc11326f13f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10659, "upload_time": "2019-01-27T12:46:19", "url": "https://files.pythonhosted.org/packages/e1/7c/7fbd1b934eecfbfe761b541a3f0f53ebcb5132c3dd34633e9871f823d4d4/aiodata-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "f04deb179ddb9caa11486177d809f890", "sha256": "4c9d6aecc9d0e7ae1b5b00644b69dbd6d209cb3d7f4c214329dc5c61e4e0a1f6" }, "downloads": -1, "filename": "aiodata-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f04deb179ddb9caa11486177d809f890", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13343, "upload_time": "2019-01-27T16:29:56", "url": "https://files.pythonhosted.org/packages/11/06/459d2c4d30fbcf428fcb58116fbf65359d9befc737db6fd7bddd864448fd/aiodata-1.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "623472ee318a6eb3856de715c2462cb6", "sha256": "a7730f88766b28222db1fbac9755cabb3892c6fa138b7ffa9c4f6c2f648c28f9" }, "downloads": -1, "filename": "aiodata-1.1.1.tar.gz", "has_sig": false, "md5_digest": "623472ee318a6eb3856de715c2462cb6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10656, "upload_time": "2019-01-27T16:29:57", "url": "https://files.pythonhosted.org/packages/20/45/c6dd89c52c2a7761d77aae99e04656854e7b5157b3554b43f280847b0fcf/aiodata-1.1.1.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "fcc2e9b9acb6afe5a46cb527bb0fd300", "sha256": "34386e041df88b2d36fa5417cb29947315d60a9123c98eaa7a6c588fa7a71f4c" }, "downloads": -1, "filename": "aiodata-1.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "fcc2e9b9acb6afe5a46cb527bb0fd300", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13495, "upload_time": "2019-02-02T14:58:56", "url": "https://files.pythonhosted.org/packages/ff/41/f038f1b4b3e71c53dd57eb1f8667ed99996eee4830a8f1aa04c6cc396e68/aiodata-1.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5f0d06c4ebfd2d98d2027a3d97af0304", "sha256": "bde41b142468e9caa03989b0e541a198e122f403df058299fe6bc6ef2775df0b" }, "downloads": -1, "filename": "aiodata-1.2.0.tar.gz", "has_sig": false, "md5_digest": "5f0d06c4ebfd2d98d2027a3d97af0304", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10768, "upload_time": "2019-02-02T14:58:58", "url": "https://files.pythonhosted.org/packages/00/9a/9798f8cb486bef1edf51092b730026dad718b4db1ec152be933b9b49f13b/aiodata-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "c85b3ec68938f83a7a8ad7bfc93cf246", "sha256": "e173f17735e0cbcbbd8a270198f4ee6cf9a992153c3a97f0387c3c3fc23c623c" }, "downloads": -1, "filename": "aiodata-1.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "c85b3ec68938f83a7a8ad7bfc93cf246", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13501, "upload_time": "2019-02-02T23:15:44", "url": "https://files.pythonhosted.org/packages/17/f8/5096986aa2910f03b55a52c90222df1167a0848f364d86ff2dd4273e2f64/aiodata-1.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4562f165d61a8354964300536a4d4a80", "sha256": "397000d38daf284ba41d38e19cd7b939718b9c60e8860ff63f9c48b5ad87527b" }, "downloads": -1, "filename": "aiodata-1.2.1.tar.gz", "has_sig": false, "md5_digest": "4562f165d61a8354964300536a4d4a80", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10796, "upload_time": "2019-02-02T23:15:45", "url": "https://files.pythonhosted.org/packages/56/7c/a71ca6f731e313e6778e852face7aaa516c5dd29000c1532a8c16f2ce187/aiodata-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "72d2d3c6cd57d233ce1c81512a9e1376", "sha256": "e657be39d9788f9496f388cdc08bb2f7681c7d2d8523f8f926f8b486144ea2b2" }, "downloads": -1, "filename": "aiodata-1.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "72d2d3c6cd57d233ce1c81512a9e1376", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13505, "upload_time": "2019-02-02T23:32:22", "url": "https://files.pythonhosted.org/packages/a5/39/592ad60a98b3adba799c21c99a6e0e9bac47031002625be0fbf494855d7d/aiodata-1.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8c9bee99d7a59408c7e529dcf2931403", "sha256": "9adcbdef82c558c6c570a7310dd02f5f80f562655429a25adea08bc8c71cef32" }, "downloads": -1, "filename": "aiodata-1.2.2.tar.gz", "has_sig": false, "md5_digest": "8c9bee99d7a59408c7e529dcf2931403", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10797, "upload_time": "2019-02-02T23:32:23", "url": "https://files.pythonhosted.org/packages/41/b0/1e42895a4288496d3570403fae8a58e73f87bc01c0024b34bb177acfdf12/aiodata-1.2.2.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "7c51c8bab4c377eead1140508e1921ed", "sha256": "b33ba8d76eec3fc4748bece9421e691172e01a0e73a2a4456540073f2d52e14c" }, "downloads": -1, "filename": "aiodata-1.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "7c51c8bab4c377eead1140508e1921ed", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13710, "upload_time": "2019-02-03T16:00:11", "url": "https://files.pythonhosted.org/packages/24/9a/57d0d4770b28cf0c3563134ebe3a2e3aee6a75bcb4d854653826d88d4989/aiodata-1.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "90c368b0b99f286f08432208c42f9c7a", "sha256": "9357b4fb11e588cfb6bdcfc3de1033b23e38beee8c30e7178540afa65bb75fd8" }, "downloads": -1, "filename": "aiodata-1.3.0.tar.gz", "has_sig": false, "md5_digest": "90c368b0b99f286f08432208c42f9c7a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10953, "upload_time": "2019-02-03T16:00:13", "url": "https://files.pythonhosted.org/packages/c0/3e/90fac2d60a65ad65cb11dc2a8154ae973eb7138382006ffd4f06baf53f93/aiodata-1.3.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "987ef8f3e369158febd0aaacfe9b6572", "sha256": "26f8df07c90ee589990be5e755c06af12467653e925f209126a67ae9aa85ebe2" }, "downloads": -1, "filename": "aiodata-1.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "987ef8f3e369158febd0aaacfe9b6572", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13720, "upload_time": "2019-02-03T16:05:21", "url": "https://files.pythonhosted.org/packages/29/16/959a95edfbbcffe17591cbdd15be9015e8e7adf5f8eda658ec8cb36994bf/aiodata-1.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "553e3dddf5ae2f9d45e85b4241b88eb3", "sha256": "30c4c499936d6f4c751cf18e8e6f3c9839d6b9f22e60a88f1f66d047ea213a97" }, "downloads": -1, "filename": "aiodata-1.3.1.tar.gz", "has_sig": false, "md5_digest": "553e3dddf5ae2f9d45e85b4241b88eb3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10976, "upload_time": "2019-02-03T16:05:22", "url": "https://files.pythonhosted.org/packages/db/0e/c33a5efce427d24b7ab341098939a6d3af043ce1a5139f147bff87434ac6/aiodata-1.3.1.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "d53f17d530776da6398ffdeb94d1d861", "sha256": "1be3c2f0f865a9df8b308a3676c946b0416d84e8ace3049ce82f77a22498fa37" }, "downloads": -1, "filename": "aiodata-1.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "d53f17d530776da6398ffdeb94d1d861", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13724, "upload_time": "2019-02-04T12:08:52", "url": "https://files.pythonhosted.org/packages/90/48/723fe195c775c7a3c3539e5afc88ae48003cf7c228730ee782fcc1248290/aiodata-1.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5c95e494488b98adef1855deb0883691", "sha256": "97b2c9bbe29f2b3f1c1e69e85a688a7efdab59b1e4c5b6e8df2521b6f5675ad3" }, "downloads": -1, "filename": "aiodata-1.3.2.tar.gz", "has_sig": false, "md5_digest": "5c95e494488b98adef1855deb0883691", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10995, "upload_time": "2019-02-04T12:08:54", "url": "https://files.pythonhosted.org/packages/fc/cb/e4ef53f4ecb3c3e64ac48b428903a7baad223e8a9214aa3e4cf419846e16/aiodata-1.3.2.tar.gz" } ], "1.3.3": [ { "comment_text": "", "digests": { "md5": "8f1fb9a73eff597bb98e17374101f182", "sha256": "678065b530225c8f81333857dd9a14f673b0ae1054390cdeeb7439fb4ee150c2" }, "downloads": -1, "filename": "aiodata-1.3.3-py3-none-any.whl", "has_sig": false, "md5_digest": "8f1fb9a73eff597bb98e17374101f182", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13922, "upload_time": "2019-04-15T14:02:48", "url": "https://files.pythonhosted.org/packages/1d/6d/b61f066e2a3e1d29eee170084d3597dfd2a2fcfcf922825e368225bfcd87/aiodata-1.3.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "27ac3bc44fc52c71ce7599bc1f6e5bb5", "sha256": "d857d9fa308c2a54876c0fe02ae97e28816c94001a54956725b1b3c8c22cf36a" }, "downloads": -1, "filename": "aiodata-1.3.3.tar.gz", "has_sig": false, "md5_digest": "27ac3bc44fc52c71ce7599bc1f6e5bb5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11187, "upload_time": "2019-04-15T14:02:51", "url": "https://files.pythonhosted.org/packages/af/34/f8c265fcc28e42cffd4b98abe3be5486466b918ac98299f93bc433ca3b28/aiodata-1.3.3.tar.gz" } ], "1.3.4": [ { "comment_text": "", "digests": { "md5": "8f464509b7f29ce791db31fa58312433", "sha256": "dd7bbe865831daac62eb417b843e3e6c24db70138b0b06bad1e435b9299ab0a8" }, "downloads": -1, "filename": "aiodata-1.3.4-py3-none-any.whl", "has_sig": false, "md5_digest": "8f464509b7f29ce791db31fa58312433", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13894, "upload_time": "2019-04-15T14:07:04", "url": "https://files.pythonhosted.org/packages/1d/df/7b1b7fa684f369148a57e978e73a7acbe0b2aa640bfb444bb2ab59c3109e/aiodata-1.3.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ffd4eb5846adb25ec971a97539ab9e88", "sha256": "8340b4d3e0d1e88e69ca5fa58c560876fb765c56b3665d9bd605b797fcb421fa" }, "downloads": -1, "filename": "aiodata-1.3.4.tar.gz", "has_sig": false, "md5_digest": "ffd4eb5846adb25ec971a97539ab9e88", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11160, "upload_time": "2019-04-15T14:07:06", "url": "https://files.pythonhosted.org/packages/ee/0a/925d70b3523c73d00cd6e0dd8fd34365fe1d7d6aeafe4f1099c6943e45cb/aiodata-1.3.4.tar.gz" } ], "1.3.5": [ { "comment_text": "", "digests": { "md5": "2df304739720d18bbe9f177be4377b3f", "sha256": "e6fb4f1a52aff4bf2b0e725689f0f4d5cc2c78fb4e3d024e37c722644aae7eff" }, "downloads": -1, "filename": "aiodata-1.3.5-py3-none-any.whl", "has_sig": false, "md5_digest": "2df304739720d18bbe9f177be4377b3f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13896, "upload_time": "2019-04-15T14:08:25", "url": "https://files.pythonhosted.org/packages/7e/ef/d21915ae44d70019e2464eeab032815e7882816d16c304e8eefa93dfa628/aiodata-1.3.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "886d59e1349dca428c30e575c4e60cd0", "sha256": "5c7d2d9ced991e84a9e6c981d2e03f3135c1e3271d22a99f747d0f6169d2f404" }, "downloads": -1, "filename": "aiodata-1.3.5.tar.gz", "has_sig": false, "md5_digest": "886d59e1349dca428c30e575c4e60cd0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11161, "upload_time": "2019-04-15T14:08:27", "url": "https://files.pythonhosted.org/packages/41/e9/db625c27d35cc72798c71f0416c738cfe10a95a4aa6526c3c6a39bfa8a1f/aiodata-1.3.5.tar.gz" } ], "1.3.6": [ { "comment_text": "", "digests": { "md5": "8f0c123c395bab4c10a2857749600916", "sha256": "1e70044c190224acfd71346761d1f9766c102e4f0407b84bae22408b40a30755" }, "downloads": -1, "filename": "aiodata-1.3.6-py3-none-any.whl", "has_sig": false, "md5_digest": "8f0c123c395bab4c10a2857749600916", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13913, "upload_time": "2019-04-15T14:17:35", "url": "https://files.pythonhosted.org/packages/27/9d/2f61c489d3cddf14774b48f1ac4eebf101af0949ae527102c2b2e00a4e65/aiodata-1.3.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3541147fd2e1ab96d9e46563243b4b09", "sha256": "d7b30fb039eebe69e7cf045049d1f8e8eb8b5fa74815dc15314fafec658088cb" }, "downloads": -1, "filename": "aiodata-1.3.6.tar.gz", "has_sig": false, "md5_digest": "3541147fd2e1ab96d9e46563243b4b09", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11168, "upload_time": "2019-04-15T14:17:37", "url": "https://files.pythonhosted.org/packages/64/d9/1df37fb42b6131408879c1415b5a5e7c53aae914b96c6f379f2cc24a9b9e/aiodata-1.3.6.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "2ae6f433eb0da7d9c497f791c0c765d4", "sha256": "038def8a3eaaf9f3eeab06f70085e0b9824db8c160b933b7e5de50dfa1c5a5ea" }, "downloads": -1, "filename": "aiodata-1.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2ae6f433eb0da7d9c497f791c0c765d4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14020, "upload_time": "2019-04-18T11:29:51", "url": "https://files.pythonhosted.org/packages/09/2f/b898f55f87cf28ef05e9af2e0b00af7c21f1bd903b8d58006347d8249330/aiodata-1.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3006ae4a04a3e942bea3eb3ffee74bfd", "sha256": "d206e6537fbd3cc03e94f024c3deda75263255f97d7f2cd0fc0751939ff33365" }, "downloads": -1, "filename": "aiodata-1.4.0.tar.gz", "has_sig": false, "md5_digest": "3006ae4a04a3e942bea3eb3ffee74bfd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11264, "upload_time": "2019-04-18T11:29:53", "url": "https://files.pythonhosted.org/packages/7b/37/6435951aea08f4b5ffcf8781b3776dd789af9e18ceb5b09338ea1985b415/aiodata-1.4.0.tar.gz" } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "386bdda8be57c070eb756706341033dd", "sha256": "6a15b6d6aed00c01f1327b376344a57abaf9072032d1dfcdc81556f841cb9eaf" }, "downloads": -1, "filename": "aiodata-1.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "386bdda8be57c070eb756706341033dd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14025, "upload_time": "2019-04-18T11:35:41", "url": "https://files.pythonhosted.org/packages/7c/b6/2f7fdac71e4dd199bde59531167157728d0df0a7caba7d5878015e09e9f5/aiodata-1.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d5ea65898a456947f953fc7641ecd196", "sha256": "200351fc83b7e5286be6498cc882412c1cc7e2caf679000c524fc76aac52711c" }, "downloads": -1, "filename": "aiodata-1.4.1.tar.gz", "has_sig": false, "md5_digest": "d5ea65898a456947f953fc7641ecd196", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11257, "upload_time": "2019-04-18T11:35:43", "url": "https://files.pythonhosted.org/packages/de/fa/55d5739fbea9419c6884c37f58fe589d784ab27398c678417c8c36e0d060/aiodata-1.4.1.tar.gz" } ], "1.4.10": [ { "comment_text": "", "digests": { "md5": "cbfabdcc400e63b132545ada670deeb3", "sha256": "5ced8d18589462f284e76f98374d4b547bdad6916c336ce522ae38aa83e9764c" }, "downloads": -1, "filename": "aiodata-1.4.10-py3-none-any.whl", "has_sig": false, "md5_digest": "cbfabdcc400e63b132545ada670deeb3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14038, "upload_time": "2019-06-30T13:58:14", "url": "https://files.pythonhosted.org/packages/34/ce/858467708de65befe9191975fe8ccfc1b586600f80266492d8b4821c9877/aiodata-1.4.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "11fccfa1abf5ad4bef75bc5d18456324", "sha256": "df923555d2dffd9a4fdcd9f03a6e3c5e46cd294200548bd2d83c63262a16c495" }, "downloads": -1, "filename": "aiodata-1.4.10.tar.gz", "has_sig": false, "md5_digest": "11fccfa1abf5ad4bef75bc5d18456324", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11269, "upload_time": "2019-06-30T13:58:16", "url": "https://files.pythonhosted.org/packages/bc/6e/0c6346d599e181af399341a576b19d7e21ca50f365abb288dae95d09a274/aiodata-1.4.10.tar.gz" } ], "1.4.2": [ { "comment_text": "", "digests": { "md5": "ebbc17d5151a2955e54f296f2c08a075", "sha256": "e4f4bd78b0ec0c4f6235d08f025f811f6a2950c3b8016197d506919873a8a057" }, "downloads": -1, "filename": "aiodata-1.4.2-py3-none-any.whl", "has_sig": false, "md5_digest": "ebbc17d5151a2955e54f296f2c08a075", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14029, "upload_time": "2019-04-18T11:36:46", "url": "https://files.pythonhosted.org/packages/91/aa/a88737d026f93be6532e0e1d6149a7f67ca9abf8eabd60a097c32e6ae497/aiodata-1.4.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aa45f0cec52b7b4332cc5399ba56dd60", "sha256": "b38188d4f57f59468b90f5a69c89067cb612b7313ba00dece087dd39654e2c25" }, "downloads": -1, "filename": "aiodata-1.4.2.tar.gz", "has_sig": false, "md5_digest": "aa45f0cec52b7b4332cc5399ba56dd60", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11262, "upload_time": "2019-04-18T11:36:48", "url": "https://files.pythonhosted.org/packages/33/ea/32f1d352b5b6f109edab7a68e5464e913d20a2d1810402c7421d3d76efb6/aiodata-1.4.2.tar.gz" } ], "1.4.3": [ { "comment_text": "", "digests": { "md5": "15a775410099c141e8dc1ab8da282112", "sha256": "62fe5d7221fcf9e3f536ab268faf13540eed988d1618c0ce0e354cdd0ee83fc5" }, "downloads": -1, "filename": "aiodata-1.4.3-py3-none-any.whl", "has_sig": false, "md5_digest": "15a775410099c141e8dc1ab8da282112", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14028, "upload_time": "2019-04-18T11:37:31", "url": "https://files.pythonhosted.org/packages/f1/ba/a09ae007462f53ee2f6a6365c6b85f0207bc3cba78c4acd4aa7d3258a4af/aiodata-1.4.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8105fd50e8713b1d353b772d1832f925", "sha256": "aa62cee823b169e298203ed9a11bd8d4583db1fb8604b77beca407cddffd4da0" }, "downloads": -1, "filename": "aiodata-1.4.3.tar.gz", "has_sig": false, "md5_digest": "8105fd50e8713b1d353b772d1832f925", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11256, "upload_time": "2019-04-18T11:37:32", "url": "https://files.pythonhosted.org/packages/d2/d5/cbfb20ea473c80ecbe1b5e9968cd92aeeb318e12af42e42acf20001ed10c/aiodata-1.4.3.tar.gz" } ], "1.4.4": [ { "comment_text": "", "digests": { "md5": "131fd7e197fda1439f21381608005dfa", "sha256": "40977379343b3f9f9ae5560cf0959508e23831d387ebf67df18f4df5adb95e4a" }, "downloads": -1, "filename": "aiodata-1.4.4-py3-none-any.whl", "has_sig": false, "md5_digest": "131fd7e197fda1439f21381608005dfa", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14024, "upload_time": "2019-04-18T11:38:41", "url": "https://files.pythonhosted.org/packages/2d/12/a265c4a40080daed169ac3b229ab7aa011d6565534195c8a3c4b08c77e05/aiodata-1.4.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8ec4b1d0e6ecf651f6d7746115aed687", "sha256": "d312bb95548a2437a40f2e7bca64f8e5b872d43b3fda70624d5e3be24829dbb2" }, "downloads": -1, "filename": "aiodata-1.4.4.tar.gz", "has_sig": false, "md5_digest": "8ec4b1d0e6ecf651f6d7746115aed687", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11255, "upload_time": "2019-04-18T11:38:43", "url": "https://files.pythonhosted.org/packages/e0/1f/7a1f7e4e1ae033a178294bd376e315bfb8069d52a6879e1ba2e475a1fc04/aiodata-1.4.4.tar.gz" } ], "1.4.5": [ { "comment_text": "", "digests": { "md5": "40a2a5240ea91385ff65abe4c30a0562", "sha256": "81ad1be5cd46bbc2947b2c490c8b4765203b604538604d9db8ee47b72a3b3e87" }, "downloads": -1, "filename": "aiodata-1.4.5-py3-none-any.whl", "has_sig": false, "md5_digest": "40a2a5240ea91385ff65abe4c30a0562", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14025, "upload_time": "2019-04-18T11:41:23", "url": "https://files.pythonhosted.org/packages/ed/c0/3d337dd28ad74870a1f06463063269e626795de5e3e52e06dac5aaac5453/aiodata-1.4.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c9fa25563dbe9729fae5521a842eaa05", "sha256": "e959ee2a045e60167c3d778a7c1e377872cd3104e3c7ea65b4746aa9aa82d67f" }, "downloads": -1, "filename": "aiodata-1.4.5.tar.gz", "has_sig": false, "md5_digest": "c9fa25563dbe9729fae5521a842eaa05", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11259, "upload_time": "2019-04-18T11:41:24", "url": "https://files.pythonhosted.org/packages/ad/02/5d0f8b543b640657c8351c0a4d2e8d3baf8cbc5adc701d53ba9d856e4de3/aiodata-1.4.5.tar.gz" } ], "1.4.6": [ { "comment_text": "", "digests": { "md5": "8b96b99591f549bffba6b78c17e73f63", "sha256": "73bbc0a632eca76eb57eab03ae08b0a6d7077ed57189c358feee1d1da5cc9c45" }, "downloads": -1, "filename": "aiodata-1.4.6-py3-none-any.whl", "has_sig": false, "md5_digest": "8b96b99591f549bffba6b78c17e73f63", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14019, "upload_time": "2019-04-18T11:48:50", "url": "https://files.pythonhosted.org/packages/15/b5/ad4059703423f118e71a26c1887522661029905c3fc2fec7fadb7c2e678e/aiodata-1.4.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9bc0a763978fc8cec2e59420dec44e2d", "sha256": "6f490161ef859e9ba77fe4b779fa3488fe0276959d1ad505e537cdb904b14a2d" }, "downloads": -1, "filename": "aiodata-1.4.6.tar.gz", "has_sig": false, "md5_digest": "9bc0a763978fc8cec2e59420dec44e2d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11251, "upload_time": "2019-04-18T11:48:52", "url": "https://files.pythonhosted.org/packages/08/14/9bb7406e2dfef3171fd701ea756d60390affba467d6ab3d539ebbe571523/aiodata-1.4.6.tar.gz" } ], "1.4.7": [ { "comment_text": "", "digests": { "md5": "b391921ec16ba84105aad6206d37a1e7", "sha256": "e6907ab99d28f90a2980ead47f53bdf72b3f46cf2e8bbd71bb4aca02c6c23ed6" }, "downloads": -1, "filename": "aiodata-1.4.7-py3-none-any.whl", "has_sig": false, "md5_digest": "b391921ec16ba84105aad6206d37a1e7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14038, "upload_time": "2019-04-18T11:52:33", "url": "https://files.pythonhosted.org/packages/77/04/cc816398e3d9be4064a852212fa859b3f19e586084d91af6dba6b7d0f23a/aiodata-1.4.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2afd77069209f35abf9964f7b0b5eae1", "sha256": "146de61cb5d8c9e1e2a610d9ed443a8b0e41ca82f4b737fc157a7e81a3e6cff6" }, "downloads": -1, "filename": "aiodata-1.4.7.tar.gz", "has_sig": false, "md5_digest": "2afd77069209f35abf9964f7b0b5eae1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11277, "upload_time": "2019-04-18T11:52:35", "url": "https://files.pythonhosted.org/packages/0f/bc/35d1d168bfe06718121b742d0af8cb6b6b19d8960b6196e65cf313abf0c3/aiodata-1.4.7.tar.gz" } ], "1.4.8": [ { "comment_text": "", "digests": { "md5": "20612da108942e531088b5543ed477f2", "sha256": "926d7546ad64c62346267fdc190ba2520854a9de7e72c4bc81f83447f17da002" }, "downloads": -1, "filename": "aiodata-1.4.8-py3-none-any.whl", "has_sig": false, "md5_digest": "20612da108942e531088b5543ed477f2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14019, "upload_time": "2019-04-26T10:58:57", "url": "https://files.pythonhosted.org/packages/50/0d/382b1f011f98e7604af8e47ac453ce98ff89108cbc48bdfe3fb7532f2ecb/aiodata-1.4.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3f8f802536717f6fc8ee270ec81892ed", "sha256": "c2b719ceb6b3909adc68ac190e5f08d826d366cc276d94219eff51695978cb78" }, "downloads": -1, "filename": "aiodata-1.4.8.tar.gz", "has_sig": false, "md5_digest": "3f8f802536717f6fc8ee270ec81892ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11250, "upload_time": "2019-04-26T10:58:59", "url": "https://files.pythonhosted.org/packages/8e/b1/4ed42078a60098cdfd9fc95183c44b4f71ae6b0b2c1e8d11549bc43cbebe/aiodata-1.4.8.tar.gz" } ], "1.4.9": [ { "comment_text": "", "digests": { "md5": "d197dae8a6f39dd9602b37c6cb2ad105", "sha256": "1d01a91c03bdaaf469dbdbff280f433d9fe39e920fefc595223bab9971d9d1d8" }, "downloads": -1, "filename": "aiodata-1.4.9-py3-none-any.whl", "has_sig": false, "md5_digest": "d197dae8a6f39dd9602b37c6cb2ad105", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14028, "upload_time": "2019-06-30T13:33:32", "url": "https://files.pythonhosted.org/packages/04/b9/e6ce921b3aa169abd173121c34c1a5e8845732c49dc43ebb80686a359e36/aiodata-1.4.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d8a65adf98b04a1c676ba968676030ee", "sha256": "2e3fd8bd05f3bbf0f111222b58d78f49b387008c0228c272102fa138034e54cf" }, "downloads": -1, "filename": "aiodata-1.4.9.tar.gz", "has_sig": false, "md5_digest": "d8a65adf98b04a1c676ba968676030ee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11257, "upload_time": "2019-06-30T13:33:34", "url": "https://files.pythonhosted.org/packages/10/95/89776d99154485f6a0ce66cded510778eba82c0fa3991b45febb6be1ca23/aiodata-1.4.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "cbfabdcc400e63b132545ada670deeb3", "sha256": "5ced8d18589462f284e76f98374d4b547bdad6916c336ce522ae38aa83e9764c" }, "downloads": -1, "filename": "aiodata-1.4.10-py3-none-any.whl", "has_sig": false, "md5_digest": "cbfabdcc400e63b132545ada670deeb3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14038, "upload_time": "2019-06-30T13:58:14", "url": "https://files.pythonhosted.org/packages/34/ce/858467708de65befe9191975fe8ccfc1b586600f80266492d8b4821c9877/aiodata-1.4.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "11fccfa1abf5ad4bef75bc5d18456324", "sha256": "df923555d2dffd9a4fdcd9f03a6e3c5e46cd294200548bd2d83c63262a16c495" }, "downloads": -1, "filename": "aiodata-1.4.10.tar.gz", "has_sig": false, "md5_digest": "11fccfa1abf5ad4bef75bc5d18456324", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11269, "upload_time": "2019-06-30T13:58:16", "url": "https://files.pythonhosted.org/packages/bc/6e/0c6346d599e181af399341a576b19d7e21ca50f365abb288dae95d09a274/aiodata-1.4.10.tar.gz" } ] }