{ "info": { "author": "Fahreev Eldar", "author_email": "fahreeve@yandex.ru", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "vk.com API python wrapper for asyncio\n=====================================\nfor old version of python you can use https://github.com/dimka665/vk\n\nFeatures\n--------\n* asynchronous\n* support python 3.5+ versions\n* have only one dependency - ``aiohttp 3+``\n* support two-factor authentication\n* support socks proxy with ``aiosocksy``\n* support rate limit of requests\n* support Long Poll connection\n\nTODO\n----\n* replace ``aiosocksy`` to ``aiohttp-socks``\n\nInstall\n-------\n\n.. code-block:: bash\n\n pip install aiovk\n\nExamples\n========\nAnnotation\n----------\nIn all the examples below, I will give only the ``{code}``\n\n.. code-block:: python\n\n async def func():\n {code}\n\n loop = asyncio.get_event_loop()\n loop.run_until_complete(func())\n\n\nAuthorization\n-------------\n**TokenSession** - if you already have token or you use requests which don't require token\n\n.. code-block:: python\n\n session = TokenSession()\n session = TokenSession(access_token='asdf123..')\n\n**ImplicitSession** - client authorization in js apps and standalone (desktop and mobile) apps\n\n.. code-block:: python\n\n >>> session = ImplicitSession(USER_LOGIN, USER_PASSWORD, APP_ID)\n >>> await session.authorize()\n >>> session.access_token\n asdfa2321afsdf12eadasf123...\n\nWith scopes:\n\n.. code-block:: python\n\n ImplicitSession(USER_LOGIN, USER_PASSWORD, APP_ID, 'notify')\n ImplicitSession(USER_LOGIN, USER_PASSWORD, APP_ID, 'notify,friends')\n ImplicitSession(USER_LOGIN, USER_PASSWORD, APP_ID, ['notify', 'friends'])\n ImplicitSession(USER_LOGIN, USER_PASSWORD, APP_ID, 3) # notify and friends\n\nAlso you can use ``SimpleImplicitSessionMixin`` for entering confirmation code\nor captcha key\n\n**AuthorizationCodeSession** - authorization for server apps or Open API\n\nSee https://vk.com/dev/authcode_flow_user for getting the CODE\n\n.. code-block:: python\n\n >>> session = AuthorizationCodeSession(APP_ID, APP_SECRET, REDIRECT_URI, CODE)\n >>> await session.authorize()\n >>> session.access_token\n asdfa2321afsdf12eadasf123...\n\nOr:\n\n.. code-block:: python\n\n >>> session = AuthorizationCodeSession(APP_ID, APP_SECRET, REDIRECT_URI)\n >>> await session.authorize(CODE)\n >>> session.access_token\n asdfa2321afsdf12eadasf123...\n\n**Authorization using context manager** - you won't need to use session.close() after work\n\n.. code-block:: python\n\n async with aiovk.TokenSession(access_token=YOUR_VK_TOKEN) as ses:\n api = API(ses)...\n\nAnd your session will be closed after all done or code fail(similar to simple \"with\" usage)\nWorks with all types of authorization\n\nDrivers\n-------\n**HttpDriver** - default driver for using ``aiohttp``\n\n.. code-block:: python\n\n >>> driver = HttpDriver()\n >>> driver = HttpDriver(timeout=10) # default timeout for all requests\n\n.. code-block:: python\n\n >>> driver = Socks5Driver(PROXY_ADDRESS, PORT) # 1234 is port\n >>> driver = Socks5Driver(PROXY_ADDRESS, PORT, timeout=10)\n >>> driver = Socks5Driver(PROXY_ADDRESS, PORT, PROXY_LOGIN, PROXY_PASSWORD, timeout=10)\n\nHow to use custom driver with session:\n\n.. code-block:: python\n\n >>> session = TokenSession(..., driver=HttpDriver())\n\nHow to use driver with own loop:\n\n.. code-block:: python\n\n >>> loop = asyncio.get_event_loop()\n >>> asyncio.set_event_loop(None)\n >>> session = TokenSession(driver=HttpDriver(loop=loop)) # or Socks5Driver\n\nHow to use driver with custom http session object:\n\nSolve next problem: https://stackoverflow.com/questions/29827642/asynchronous-aiohttp-requests-fails-but-synchronous-requests-succeed\n\n.. code-block:: python\n\n >>> connector = aiohttp.TCPConnector(verify_ssl=False)\n >>> session = aiohttp.ClientSession(connector=connector)\n >>> driver = HttpDriver(loop=loop, session=session)\n\n\n**LimitRateDriverMixin** - mixin class what allow you create new drivers with speed rate limits\n\n.. code-block:: python\n\n >>> class ExampleDriver(LimitRateDriverMixin, HttpDriver):\n ... requests_per_period = 3\n ... period = 1 #seconds\n\nVK API\n------\nFirst variant:\n\n.. code-block:: python\n\n >>> session = TokenSession()\n >>> api = API(session)\n >>> await api.users.get(user_ids=1)\n [{'first_name': 'Pavel', 'last_name': 'Durov', 'id': 1}]\n\nSecond variant:\n\n.. code-block:: python\n\n >>> session = TokenSession()\n >>> api = API(session)\n >>> await api('users.get', user_ids=1)\n [{'first_name': 'Pavel', 'last_name': 'Durov', 'id': 1}]\n\nAlso you can add ``timeout`` argument for each request or define it in the session\n\nSee https://vk.com/dev/methods for detailed API guide.\n\nLazy VK API\n-----------\nIt is useful when a bot has a large message flow\n\n.. code-block:: python\n\n >>> session = TokenSession()\n >>> api = LazyAPI(session)\n >>> message = api.users.get(user_ids=1)\n >>> await message()\n [{'first_name': 'Pavel', 'last_name': 'Durov', 'id': 1}]\n\nSupports both variants like API object\n\nUser Long Poll\n--------------\nFor documentation, see: https://vk.com/dev/using_longpoll\n\nUse exist API object\n\n.. code-block:: python\n\n >>> api = API(session)\n >>> lp = UserLongPoll(api, mode=2) # default wait=25\n >>> await lp.wait()\n {\"ts\":1820350345,\"updates\":[...]}\n >>> await lp.wait()\n {\"ts\":1820351011,\"updates\":[...]}\n\nUse Session object\n\n.. code-block:: python\n\n >>> lp = UserLongPoll(session, mode=2) # default wait=25\n >>> await lp.wait()\n {\"ts\":1820350345,\"updates\":[...]}\n >>> await lp.get_pts() # return pts\n 191231223\n >>> await lp.get_pts(need_ts=True) # return pts, ts\n 191231223, 1820350345\n\nNotice that ``wait`` value only for long pool connection.\n\nReal pause could be more ``wait`` time because of need time\nfor authorization (if needed), reconnect and etc.\n\nBots Long Poll\n--------------\nFor documentation, see: https://vk.com/dev/bots_longpoll\n\nUse exist API object\n\n.. code-block:: python\n\n >>> api = API(session)\n >>> lp = BotsLongPoll(api, mode=2, group_id=1) # default wait=25\n >>> await lp.wait()\n {\"ts\":345,\"updates\":[...]}\n >>> await lp.wait()\n {\"ts\":346,\"updates\":[...]}\n\nUse Session object\n\n.. code-block:: python\n\n >>> lp = BotsLongPoll(session, mode=2, group_id=1) # default wait=25\n >>> await lp.wait()\n {\"ts\":78455,\"updates\":[...]}\n >>> await lp.get_pts() # return pts\n 191231223\n >>> await lp.get_pts(need_ts=True) # return pts, ts\n 191231223, 1820350345\n\nNotice that ``wait`` value only for long pool connection.\n\nReal pause could be more ``wait`` time because of need time\nfor authorization (if needed), reconnect and etc.\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/Fahreeve/aiovk", "keywords": "vk.com api vk wrappper asyncio", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "aiovk", "package_url": "https://pypi.org/project/aiovk/", "platform": "", "project_url": "https://pypi.org/project/aiovk/", "project_urls": { "Homepage": "https://github.com/Fahreeve/aiovk" }, "release_url": "https://pypi.org/project/aiovk/3.0.0/", "requires_dist": [ "aiohttp (>=3.2.0)" ], "requires_python": "", "summary": "vk.com API python wrapper for asyncio", "version": "3.0.0" }, "last_serial": 5477703, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "10e0e53e123cd82a058ec46bc7fe70b9", "sha256": "75fb3b5ed9b273ef85743ff3acc5a75f9db564b04480df6469e8c9b909ebd7bd" }, "downloads": -1, "filename": "aiovk-0.1.tar.gz", "has_sig": false, "md5_digest": "10e0e53e123cd82a058ec46bc7fe70b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4547, "upload_time": "2016-07-10T14:37:51", "url": "https://files.pythonhosted.org/packages/d4/95/fdc0f58ce97cb0f69b90f1946b47662766388a25b16fc10a28783d9e2292/aiovk-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "f6a94ebb153d0f69371c5d4a84bd7e94", "sha256": "d8ddde2b3eb9ea484dc14325833e1a641d0aed072b3ba65b76ef1aa5a9602845" }, "downloads": -1, "filename": "aiovk-0.2.tar.gz", "has_sig": false, "md5_digest": "f6a94ebb153d0f69371c5d4a84bd7e94", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4858, "upload_time": "2016-07-23T12:49:46", "url": "https://files.pythonhosted.org/packages/c0/52/ff5dfec4447fc342140a87c1947d38cb40a37e21a9c89aece3e0761f464e/aiovk-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "0bb048168ca6700327ee632f895e0ce1", "sha256": "9e960d1cc463105eea213c22679599f6772b5ae824d445a9f871b588c2af9f4f" }, "downloads": -1, "filename": "aiovk-0.3.tar.gz", "has_sig": false, "md5_digest": "0bb048168ca6700327ee632f895e0ce1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5495, "upload_time": "2016-10-06T19:48:23", "url": "https://files.pythonhosted.org/packages/60/f0/42031e4c16d0570ec0e518f869dc728c345a4d7530ffdda8a86bfd1e7223/aiovk-0.3.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "59460ae958d6ad34e3c0bbfe79186afa", "sha256": "b0349d83335bacbc9649cf155e71626fdcf4c165e9aa874b171d6d52e2b57137" }, "downloads": -1, "filename": "aiovk-0.3.1.tar.gz", "has_sig": false, "md5_digest": "59460ae958d6ad34e3c0bbfe79186afa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5525, "upload_time": "2016-10-14T14:31:42", "url": "https://files.pythonhosted.org/packages/d7/2d/5018997fd8a88c349dd223a266b41e0d59f6751883bc92aac1c79b7c2e11/aiovk-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "e39c218c1277ae4701f290f73ed8ccaa", "sha256": "4c96cb9aaa70850d8268fb3348569a3844bf2a456148ec43957a9ad2dabf314b" }, "downloads": -1, "filename": "aiovk-0.3.2.tar.gz", "has_sig": false, "md5_digest": "e39c218c1277ae4701f290f73ed8ccaa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5994, "upload_time": "2016-10-16T06:03:07", "url": "https://files.pythonhosted.org/packages/a5/1c/57743df9aaedf98ddb2adccdf4559c30eaf850be43a92d2f9d4759133eea/aiovk-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "2e00e27f771933fcdedd86ead55349c7", "sha256": "33f7455ac3b20ef15ba118edad77ff84164be82bb1c572a78f2bf6bf11c8a60d" }, "downloads": -1, "filename": "aiovk-0.3.3.tar.gz", "has_sig": false, "md5_digest": "2e00e27f771933fcdedd86ead55349c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6295, "upload_time": "2016-10-16T12:18:39", "url": "https://files.pythonhosted.org/packages/f1/22/4967bec33b55baaa03475725c850dc4ffc42f2d54dc76fae58e1a37ce31a/aiovk-0.3.3.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "6a244486875b12df10b51daf12d4c17c", "sha256": "0693853bcc866f0d027fa2f93142a0fd2d3a0c1ffca92717ea2bbcc52328a62e" }, "downloads": -1, "filename": "aiovk-0.4.0.tar.gz", "has_sig": false, "md5_digest": "6a244486875b12df10b51daf12d4c17c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6725, "upload_time": "2016-10-16T18:28:16", "url": "https://files.pythonhosted.org/packages/dc/6e/352e2929073c9bd9ed6c4e0e181536014f522764fbb16f1c7fef65671f4d/aiovk-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "7766c127875c60ca1f3882bd555ca91b", "sha256": "68d394d4b8e6afcb62618cbfbbdf674271a5139b87af9c339c4ffad145bae238" }, "downloads": -1, "filename": "aiovk-0.5.0.tar.gz", "has_sig": false, "md5_digest": "7766c127875c60ca1f3882bd555ca91b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6819, "upload_time": "2017-02-13T20:13:54", "url": "https://files.pythonhosted.org/packages/4e/2a/0155798dbc1855e769a60743f78f186bd5fb253e00bdb4de7f9511790b10/aiovk-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "4e032b88b462bf4688b8066c707f020b", "sha256": "039fb53c95591897040466032bd57b2cf4f64303a0d1cd2dccc94b727d22aebb" }, "downloads": -1, "filename": "aiovk-0.5.1.tar.gz", "has_sig": false, "md5_digest": "4e032b88b462bf4688b8066c707f020b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6830, "upload_time": "2017-02-15T20:54:58", "url": "https://files.pythonhosted.org/packages/fc/57/5dfc95fe35b4953b7ccccae1ecab72f88df075686370fbf3a99f13746104/aiovk-0.5.1.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "78fe643573ffdb6b1cac15be52fc82d5", "sha256": "7bbce62a5a8042ffdcbd41de23071975f4e2ad17d792180033d3fc3e25ddd498" }, "downloads": -1, "filename": "aiovk-1.0.0.tar.gz", "has_sig": false, "md5_digest": "78fe643573ffdb6b1cac15be52fc82d5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6924, "upload_time": "2017-03-29T15:11:31", "url": "https://files.pythonhosted.org/packages/f5/e5/fe360cff70aa512912170b7767f658e79ac8fcfc8de838f7488221d83150/aiovk-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "df67aa8a9dcc75d8fc7672a8d52a62a6", "sha256": "ac533678f4d2c450c1461146e22a0d498a8d3d60caf9aaff70fe84f6d4cea01b" }, "downloads": -1, "filename": "aiovk-1.1.0.tar.gz", "has_sig": false, "md5_digest": "df67aa8a9dcc75d8fc7672a8d52a62a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7795, "upload_time": "2017-04-01T08:09:49", "url": "https://files.pythonhosted.org/packages/4d/16/737a314e043d5b6cbe1cbc28480e7b5b5274467abc95cb2357f0ba637618/aiovk-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "985d55fe0e1dc84cec242e22226d43f2", "sha256": "47f53f26279729f086b099be25cc796816292bab5551286f000a0370d6cc9215" }, "downloads": -1, "filename": "aiovk-1.1.1.tar.gz", "has_sig": false, "md5_digest": "985d55fe0e1dc84cec242e22226d43f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7742, "upload_time": "2017-04-28T20:33:21", "url": "https://files.pythonhosted.org/packages/df/70/735ac7d9cce9ccc582649737422c21d56a69ae682e2a1854cd4aa8324c86/aiovk-1.1.1.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "25e17c6cd402dd16323f42cba9fd6e8e", "sha256": "344c3a4231e170929bddbf8f6a1d64efb393f301550ca1289f033e5fb58b36e4" }, "downloads": -1, "filename": "aiovk-1.2.0.tar.gz", "has_sig": false, "md5_digest": "25e17c6cd402dd16323f42cba9fd6e8e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8180, "upload_time": "2017-06-17T17:38:18", "url": "https://files.pythonhosted.org/packages/e9/11/b2cb8929a82fbb1d828b67617dd1560986307825daa7d32a5f12d3fa9376/aiovk-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "9e18db36d6c631f71431295347bd66e2", "sha256": "f50c4c6857cb4dfae2a3f439c90d9b220c09061d321dd6488cb52858cb709e84" }, "downloads": -1, "filename": "aiovk-1.2.1.tar.gz", "has_sig": false, "md5_digest": "9e18db36d6c631f71431295347bd66e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8184, "upload_time": "2017-06-18T20:03:57", "url": "https://files.pythonhosted.org/packages/5e/08/8693ed8d5cbc87b6e362342694de1a36998c7a8055ef149f18d52a82baf3/aiovk-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "902df9fa096b7e0bbcd2de3a83c9a4c4", "sha256": "b2e98bf0295a8ab0f9c16e790ae0d884f45b8b1a45db8618a0ef780ceb068063" }, "downloads": -1, "filename": "aiovk-1.2.2.tar.gz", "has_sig": false, "md5_digest": "902df9fa096b7e0bbcd2de3a83c9a4c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8202, "upload_time": "2017-06-19T11:24:55", "url": "https://files.pythonhosted.org/packages/a8/f1/e26e04fbf2ac35aed2d31126a09493b96dff83fe6fcc72f8f96014acc336/aiovk-1.2.2.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "208e458b509d3d90511025be844f1353", "sha256": "4ac01debcaf1990ad44f77a1eac94020b841a9f16fff79441ed79b72504b9b19" }, "downloads": -1, "filename": "aiovk-1.3.0.tar.gz", "has_sig": false, "md5_digest": "208e458b509d3d90511025be844f1353", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8381, "upload_time": "2017-08-05T18:45:56", "url": "https://files.pythonhosted.org/packages/0c/39/62dc427c47fe5a8c479cff48aa2f172a2d4d91541398a3d2aec667dbab7f/aiovk-1.3.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "a5662df451683acc44cc8cebc81f28eb", "sha256": "5fe0c128fd12c1818edc0b556eb0c21cfd4670fc987f5614d29e9d2892b3b3c9" }, "downloads": -1, "filename": "aiovk-1.3.1.tar.gz", "has_sig": false, "md5_digest": "a5662df451683acc44cc8cebc81f28eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9567, "upload_time": "2018-02-12T13:03:51", "url": "https://files.pythonhosted.org/packages/75/39/6098115a45fa18dd5430605ea0fca8fcc3d84102e687326739d00aa401c3/aiovk-1.3.1.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "c08bceb17588532c10737b2d3a5c0d22", "sha256": "23377d24fee2e747522e708dc3e85c65e2a1f34e940810c7e38e1986d664b16f" }, "downloads": -1, "filename": "aiovk-2.0.0.tar.gz", "has_sig": false, "md5_digest": "c08bceb17588532c10737b2d3a5c0d22", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10900, "upload_time": "2018-04-08T15:42:10", "url": "https://files.pythonhosted.org/packages/91/bb/498193e42f9b5439932be7f5140a2b6951b602525181e86c8e18952d0dd8/aiovk-2.0.0.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "0e978ab1cd7edc89dd40dbabdfcb4277", "sha256": "2ba29aed99a6efbc2f30461c77876ef6352a1993ef092e489178863a79ca8de1" }, "downloads": -1, "filename": "aiovk-2.1.0.tar.gz", "has_sig": false, "md5_digest": "0e978ab1cd7edc89dd40dbabdfcb4277", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10905, "upload_time": "2018-04-22T09:49:54", "url": "https://files.pythonhosted.org/packages/d2/21/c3b1700e8ea12a579e1f787f6f29ae61ae9b472f28cef07bcbfa3f7f7523/aiovk-2.1.0.tar.gz" } ], "2.1.1": [ { "comment_text": "", "digests": { "md5": "5f4e5a3a27f3382f052f6b5ec27cd5f0", "sha256": "340885e07feefde79149bbe4788111a52505d607f7d39375e491bd27d54ee2dd" }, "downloads": -1, "filename": "aiovk-2.1.1.tar.gz", "has_sig": false, "md5_digest": "5f4e5a3a27f3382f052f6b5ec27cd5f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10917, "upload_time": "2018-06-25T06:47:24", "url": "https://files.pythonhosted.org/packages/a4/aa/ae03831b375d1d5de041fb3d164367f271df367231f23727f51d1f378c1b/aiovk-2.1.1.tar.gz" } ], "2.2.1": [ { "comment_text": "", "digests": { "md5": "5201aee904183df2053895becff369f3", "sha256": "48429c703cf74915f44b50f31abdc404cbc3eb37bc07fc714db7cc659dd5bbbe" }, "downloads": -1, "filename": "aiovk-2.2.1.tar.gz", "has_sig": false, "md5_digest": "5201aee904183df2053895becff369f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11425, "upload_time": "2018-07-15T19:23:06", "url": "https://files.pythonhosted.org/packages/2b/bc/3068488109dbce9635d1ba705f75bf517b70dde3b63693e8cf4ab5a540d6/aiovk-2.2.1.tar.gz" } ], "3.0.0": [ { "comment_text": "", "digests": { "md5": "afe6e5432327a5cb5f26680aee7b9b94", "sha256": "e157f589f0840542e6fdb2eca04d50849bcca7443c0da447ffb1e55b90d4a4fa" }, "downloads": -1, "filename": "aiovk-3.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "afe6e5432327a5cb5f26680aee7b9b94", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13110, "upload_time": "2019-07-02T17:49:22", "url": "https://files.pythonhosted.org/packages/77/be/c85d2b927dd3c3329af40315f25a978e5903ba34f8cd7292e6d8babbc018/aiovk-3.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "82488636a7d825243f763231d11583cf", "sha256": "be567007f6fd8f78452f86ecf1e8d211c15c292b08b7c3b12d44d15a605cc083" }, "downloads": -1, "filename": "aiovk-3.0.0.tar.gz", "has_sig": false, "md5_digest": "82488636a7d825243f763231d11583cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12099, "upload_time": "2019-07-02T17:49:24", "url": "https://files.pythonhosted.org/packages/85/2d/a7ea8da35f72bf121a7f99967653175ae86015cd55295a75a67d514a713c/aiovk-3.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "afe6e5432327a5cb5f26680aee7b9b94", "sha256": "e157f589f0840542e6fdb2eca04d50849bcca7443c0da447ffb1e55b90d4a4fa" }, "downloads": -1, "filename": "aiovk-3.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "afe6e5432327a5cb5f26680aee7b9b94", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13110, "upload_time": "2019-07-02T17:49:22", "url": "https://files.pythonhosted.org/packages/77/be/c85d2b927dd3c3329af40315f25a978e5903ba34f8cd7292e6d8babbc018/aiovk-3.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "82488636a7d825243f763231d11583cf", "sha256": "be567007f6fd8f78452f86ecf1e8d211c15c292b08b7c3b12d44d15a605cc083" }, "downloads": -1, "filename": "aiovk-3.0.0.tar.gz", "has_sig": false, "md5_digest": "82488636a7d825243f763231d11583cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12099, "upload_time": "2019-07-02T17:49:24", "url": "https://files.pythonhosted.org/packages/85/2d/a7ea8da35f72bf121a7f99967653175ae86015cd55295a75a67d514a713c/aiovk-3.0.0.tar.gz" } ] }