{ "info": { "author": "Yury Pliner", "author_email": "yury.pliner@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "This library is inspired by [this book](https://landing.google.com/sre/sre-book/chapters/handling-overload/) and this implementation https://github.com/vostok/throttling.\n\nFeatures:\n1. Set capacity(max parallel requests) and queue(max queued requests) limits.\n1. Per-consumer limits. For instance, to not allow any consumer to use more than 70% of service's capacity.\n1. Per-request priorities. For instance, to not allow requests with lowest priority to be queued or to now allow requests with normal priority to use more than 90% of service's capacity. \n\nExample:\n```python\nfrom aio_throttle import Throttler, MaxFractionCapacityQuota, ThrottlePriority, ThrottleResult\n\ncapacity_limit = 100\nqueue_limit = 200\nconsumer_quotas = [MaxFractionCapacityQuota(0.7)]\npriority_quotas = [MaxFractionCapacityQuota(0.9, ThrottlePriority.NORMAL)]\nthrottler = Throttler(capacity_limit, queue_limit, consumer_quotas, priority_quotas)\n\n\nconsumer, priority = \"yet another consumer\", ThrottlePriority.HIGH\nasync with throttler.throttle(consumer=consumer, priority=priority) as result:\n ... # check if result is ThrottleResult.ACCEPTED or not\n```\n\nExample of an integration with aiohttp and prometheus_client()\n```python\nimport aiohttp\nimport aiohttp.web\nimport aiohttp.web_request\nimport aiohttp.web_response\n\nimport aio_throttle\n\n\n@aio_throttle.aiohttp_ignore() # do not throttle this handler \nasync def healthcheck(_: aiohttp.web_request.Request) -> aiohttp.web_response.Response:\n return aiohttp.web_response.Response()\n\n\nasync def authorize(_: aiohttp.web_request.Request) -> aiohttp.web_response.Response:\n return aiohttp.web_response.Response()\n\n\nasync def create_app() -> aiohttp.web.Application:\n app = aiohttp.web.Application(middlewares=[\n aio_throttle.aiohttp_middleware_factory(\n capacity_limit=20,\n queue_limit=100,\n consumer_quotas=[aio_throttle.MaxFractionCapacityQuota[str](0.7)],\n priority_quotas=[\n aio_throttle.MaxFractionCapacityQuota[aio_throttle.ThrottlePriority](\n 0.9, aio_throttle.ThrottlePriority.NORMAL\n )\n ],\n metrics_provider=aio_throttle.PROMETHEUS_METRICS_PROVIDER,\n ),\n ])\n app.router.add_get(\"/healthcheck\", healthcheck)\n app.router.add_post(\"/authorize\", authorize)\n return app\n\n\naiohttp.web.run_app(create_app(), port=8080, access_log=None)\n```\n\n\n", "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/Pliner/aio-throttle", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "aio-throttle", "package_url": "https://pypi.org/project/aio-throttle/", "platform": "", "project_url": "https://pypi.org/project/aio-throttle/", "project_urls": { "Homepage": "https://github.com/Pliner/aio-throttle" }, "release_url": "https://pypi.org/project/aio-throttle/1.7.0/", "requires_dist": null, "requires_python": ">=3.7", "summary": "A simple throttling package", "version": "1.7.0", "yanked": false, "yanked_reason": null }, "last_serial": 12840035, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "17bdb1f3de7183eea2e1c2a4e4df9cd7", "sha256": "b0d8c29b2a448ff811b21f8b0051f18a6fa7b2537656abd7741c446a0243b98c" }, "downloads": -1, "filename": "aio_throttle-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "17bdb1f3de7183eea2e1c2a4e4df9cd7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 5940, "upload_time": "2019-09-21T08:55:57", "upload_time_iso_8601": "2019-09-21T08:55:57.039476Z", "url": "https://files.pythonhosted.org/packages/56/55/cc9d09d2996761647814946827fb32a44ff0d97aac3a89dc40830da0cd69/aio_throttle-1.0.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "c60d98ac54665db311b1a466afc0934d", "sha256": "c1949acaa580905ebd002c6473389ca425ec222db807c821931d041d07e3d36c" }, "downloads": -1, "filename": "aio-throttle-1.0.0.tar.gz", "has_sig": false, "md5_digest": "c60d98ac54665db311b1a466afc0934d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 3981, "upload_time": "2019-09-21T08:55:59", "upload_time_iso_8601": "2019-09-21T08:55:59.222342Z", "url": "https://files.pythonhosted.org/packages/00/6a/8cc683cd33028f9eaa8b33ea39b325a917664e4da1a37644b9187915c57f/aio-throttle-1.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "238bc117cb379bb89fcf2eccf883d1c2", "sha256": "e2ffd76ed2c31461e1c5ea6d069ebddb575e19c3813509819ae099f6a159fc0f" }, "downloads": -1, "filename": "aio_throttle-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "238bc117cb379bb89fcf2eccf883d1c2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 6001, "upload_time": "2019-10-28T18:29:24", "upload_time_iso_8601": "2019-10-28T18:29:24.731310Z", "url": "https://files.pythonhosted.org/packages/3a/d9/412b7bf7972b61df142eac23b7b03ff16b62827473614fa3bf7e0d7234bb/aio_throttle-1.0.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f6a58cf019b11e85db1d3b81a4241e98", "sha256": "6a46232480cf48c66ff094ea267fdff6774b62ceac5078b0cc1a93479ba38b4f" }, "downloads": -1, "filename": "aio-throttle-1.0.1.tar.gz", "has_sig": false, "md5_digest": "f6a58cf019b11e85db1d3b81a4241e98", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 4101, "upload_time": "2019-10-28T18:29:27", "upload_time_iso_8601": "2019-10-28T18:29:27.215787Z", "url": "https://files.pythonhosted.org/packages/34/71/8cabf5b47d3801f62e0ac4ba615632dcbe14e203f1dbec63e91cd602910c/aio-throttle-1.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "fa2f0a55897db3bae7c5389f7d777cff", "sha256": "d0b0b577fd62ad80361076648cff94823b321787fdb5d74b6448ae455c48feec" }, "downloads": -1, "filename": "aio_throttle-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "fa2f0a55897db3bae7c5389f7d777cff", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 6020, "upload_time": "2019-10-30T10:05:18", "upload_time_iso_8601": "2019-10-30T10:05:18.893521Z", "url": "https://files.pythonhosted.org/packages/45/8f/9bbf3da60a63bd16bcb84c305f5546de64e4f6e5531bef99090d4f969190/aio_throttle-1.1.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "c8de0dd07e9319d224768e65e85282ea", "sha256": "8a1b4bd60ee86efe340797551751df0c3618cf9f7513d0e4f627a906318a2126" }, "downloads": -1, "filename": "aio-throttle-1.1.0.tar.gz", "has_sig": false, "md5_digest": "c8de0dd07e9319d224768e65e85282ea", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 4135, "upload_time": "2019-10-30T10:05:20", "upload_time_iso_8601": "2019-10-30T10:05:20.703506Z", "url": "https://files.pythonhosted.org/packages/84/18/eb8d53e3e504da5850ee004f1ca2b7d966f415e59e1210f9b3c6b1b244d6/aio-throttle-1.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "23d6097c2cc0b328aef906c6b1d4ed5a", "sha256": "3032821855bb82b6a9ae03af3499e6fafa094e917bb60595f2df2945730b50ef" }, "downloads": -1, "filename": "aio_throttle-1.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "23d6097c2cc0b328aef906c6b1d4ed5a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 6009, "upload_time": "2019-10-30T16:51:22", "upload_time_iso_8601": "2019-10-30T16:51:22.872393Z", "url": "https://files.pythonhosted.org/packages/77/60/cd8c918770db5ad81c1e93f0842189264fef8750ac5d2b88e98d8a01a569/aio_throttle-1.2.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "717a9a567de84158900af199e564798c", "sha256": "b49fe27d45affe884b53ba59bae3a7c51e8f5830592bd4342ab723b4adf5fc7b" }, "downloads": -1, "filename": "aio-throttle-1.2.0.tar.gz", "has_sig": false, "md5_digest": "717a9a567de84158900af199e564798c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 4117, "upload_time": "2019-10-30T16:51:26", "upload_time_iso_8601": "2019-10-30T16:51:26.609919Z", "url": "https://files.pythonhosted.org/packages/ad/b7/3eda8555bd5b55a318073b12077d1df98f662e8cffdfa2fddc30190ced66/aio-throttle-1.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "93e0fb01c6a555a86aa9147c0f6a18b4", "sha256": "28ffac30d3b25296f0e5ab6a018c49f1bcc6855562d6e5a899cb1231bf287240" }, "downloads": -1, "filename": "aio_throttle-1.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "93e0fb01c6a555a86aa9147c0f6a18b4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 6074, "upload_time": "2019-10-30T17:18:02", "upload_time_iso_8601": "2019-10-30T17:18:02.964728Z", "url": "https://files.pythonhosted.org/packages/f2/a0/449b74591bb3369ad0ec13b448e9a62ad1f48dc4a7ab47147baeea4b4c9b/aio_throttle-1.2.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "8e62acd41b042a928f34da6fc6cb1936", "sha256": "e1780409295b0c6938a5979ce0c3c61b2ed3db96734c4e924316ff16daa562f9" }, "downloads": -1, "filename": "aio-throttle-1.2.1.tar.gz", "has_sig": false, "md5_digest": "8e62acd41b042a928f34da6fc6cb1936", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 4179, "upload_time": "2019-10-30T17:18:04", "upload_time_iso_8601": "2019-10-30T17:18:04.229292Z", "url": "https://files.pythonhosted.org/packages/d3/3f/fa6f60fc626b32b658666ff7b0d1ee465c689e9db337e23243a3a55d12ad/aio-throttle-1.2.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "68512e06e74b0cb74d154de468267383", "sha256": "5020d8007a80fbaac537e8532329a157655e59bfd436821834a2c63a69c2e3a3" }, "downloads": -1, "filename": "aio_throttle-1.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "68512e06e74b0cb74d154de468267383", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 6765, "upload_time": "2020-10-18T13:01:14", "upload_time_iso_8601": "2020-10-18T13:01:14.974996Z", "url": "https://files.pythonhosted.org/packages/11/7d/c2391dc769a881f1d1f1e7f1a9eeb828065695aa4ee593256b0e4ce137e2/aio_throttle-1.3.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "4055acf1ebb4720a9550abcae7f4a7a6", "sha256": "38ddb8d297d4fbd986e1f8fd0c52f645e21818def2fc9aaa295cad8471c2166b" }, "downloads": -1, "filename": "aio-throttle-1.3.0.tar.gz", "has_sig": false, "md5_digest": "4055acf1ebb4720a9550abcae7f4a7a6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 4734, "upload_time": "2020-10-18T13:01:16", "upload_time_iso_8601": "2020-10-18T13:01:16.064508Z", "url": "https://files.pythonhosted.org/packages/c0/dc/2e65d1b045b49e5e60e41e8d0b2c4c2fffd5ce11e40821bb873b50b204ba/aio-throttle-1.3.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "e57f088ca2b6757dbb65f9147568959d", "sha256": "8f3b85f60c4b65b9d442c781161e6230f2a785583215c566e5f9f76a01b56006" }, "downloads": -1, "filename": "aio_throttle-1.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "e57f088ca2b6757dbb65f9147568959d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 8618, "upload_time": "2020-11-12T12:51:40", "upload_time_iso_8601": "2020-11-12T12:51:40.022646Z", "url": "https://files.pythonhosted.org/packages/3e/c8/a0700626706d3a8dfa471c85c568e7c4854d73112aba632a5d4cac1f910a/aio_throttle-1.4.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "cec51bb0e291db2a6034ff2755b5d07d", "sha256": "87d9881580838777f24cb4a106420bf67563ec009b5b4db670675b4302dd2145" }, "downloads": -1, "filename": "aio-throttle-1.4.1.tar.gz", "has_sig": false, "md5_digest": "cec51bb0e291db2a6034ff2755b5d07d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 6481, "upload_time": "2020-11-12T12:51:41", "upload_time_iso_8601": "2020-11-12T12:51:41.328820Z", "url": "https://files.pythonhosted.org/packages/a9/83/da4ac8a4c8e568704410778f0a446bdbf38a06107d97f9c5e48fcf2255eb/aio-throttle-1.4.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.5.0": [ { "comment_text": "", "digests": { "md5": "00d0f3ed4d2f2263f31f3a159fb5b3d8", "sha256": "ae3d3a6e7247fbf4b1afbf7ce4d74ba4c88ef6ebb42df646c54fa70b4567a9c8" }, "downloads": -1, "filename": "aio_throttle-1.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "00d0f3ed4d2f2263f31f3a159fb5b3d8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 8545, "upload_time": "2021-01-30T07:35:08", "upload_time_iso_8601": "2021-01-30T07:35:08.113447Z", "url": "https://files.pythonhosted.org/packages/71/4d/68b0af2bf9200d7d09a374029a80931df2250ff0a67c3676cfcf473ee3e0/aio_throttle-1.5.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "a24ccc4aa57bfc7afc18ed8e77a8e96c", "sha256": "f6f29bee79ee82fa69a6aedd95c20ab6f845c9435d9fcff8a8820f6531b8f9fd" }, "downloads": -1, "filename": "aio-throttle-1.5.0.tar.gz", "has_sig": false, "md5_digest": "a24ccc4aa57bfc7afc18ed8e77a8e96c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 6595, "upload_time": "2021-01-30T07:35:09", "upload_time_iso_8601": "2021-01-30T07:35:09.118773Z", "url": "https://files.pythonhosted.org/packages/52/b5/e84edb50ee1d2b074f2330e1e3af51b8ae3ee520c546388ddf3216c88dee/aio-throttle-1.5.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.6.0": [ { "comment_text": "", "digests": { "md5": "dcc69444fa050e63c92b759fd309a032", "sha256": "16e38b1611afac78ab85aec79cf97e07d4751179f20ef78c3ff252bfdcf43e2d" }, "downloads": -1, "filename": "aio_throttle-1.6.0-py3-none-any.whl", "has_sig": false, "md5_digest": "dcc69444fa050e63c92b759fd309a032", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 9628, "upload_time": "2021-03-11T04:33:04", "upload_time_iso_8601": "2021-03-11T04:33:04.862742Z", "url": "https://files.pythonhosted.org/packages/8b/93/577405f40013a7b3638e72f8d56da5787c1b00a62fd93543c67f1eefaddb/aio_throttle-1.6.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "3bec1ed00be37170dfc90dbde2176bf5", "sha256": "829a62d2ac2560ef56895b04cc3dc07303d0bfb1e5f6c86c345c93804bcb9377" }, "downloads": -1, "filename": "aio-throttle-1.6.0.tar.gz", "has_sig": false, "md5_digest": "3bec1ed00be37170dfc90dbde2176bf5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 7361, "upload_time": "2021-03-11T04:33:06", "upload_time_iso_8601": "2021-03-11T04:33:06.183906Z", "url": "https://files.pythonhosted.org/packages/58/5d/f4191d6292f3090a7688bef57e030ca6fa93c3064f4e083c67e1e116318d/aio-throttle-1.6.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.6.1": [ { "comment_text": "", "digests": { "md5": "112ced8320b1280064277f240da32e9b", "sha256": "97e5d4deb8320ad6ee1bf9b488d5d92c6df1ffea12ebdbe8db969514ffb57000" }, "downloads": -1, "filename": "aio_throttle-1.6.1-py3-none-any.whl", "has_sig": false, "md5_digest": "112ced8320b1280064277f240da32e9b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 9942, "upload_time": "2021-07-13T08:31:51", "upload_time_iso_8601": "2021-07-13T08:31:51.654437Z", "url": "https://files.pythonhosted.org/packages/48/93/726a711d7fec76edc4e6ab0771143a6df7753054dab72fcd4a7bb1331b69/aio_throttle-1.6.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "0ad9670fe23c2d843b76276b61481142", "sha256": "3d0112bd04ea8e695f4bb1c8e31b06cb29587787994341e6e3ae60976d41abe5" }, "downloads": -1, "filename": "aio-throttle-1.6.1.tar.gz", "has_sig": false, "md5_digest": "0ad9670fe23c2d843b76276b61481142", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 8299, "upload_time": "2021-07-13T08:31:52", "upload_time_iso_8601": "2021-07-13T08:31:52.580155Z", "url": "https://files.pythonhosted.org/packages/a9/2d/b3a063df6c9aaf7199cc23abc6d3105adfe642e832621b9ba9e19c7431e6/aio-throttle-1.6.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.6.2": [ { "comment_text": "", "digests": { "md5": "4124f8a65d20685dfb8440fc1408bb37", "sha256": "442ef9b45d9933e1131c0d3a32faa552ca65ae319bc365d5699da2f97d0f4bad" }, "downloads": -1, "filename": "aio_throttle-1.6.2-py3-none-any.whl", "has_sig": false, "md5_digest": "4124f8a65d20685dfb8440fc1408bb37", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 10078, "upload_time": "2021-07-18T12:03:40", "upload_time_iso_8601": "2021-07-18T12:03:40.879796Z", "url": "https://files.pythonhosted.org/packages/d1/02/1241efe64822a675f548f367bbb170336b0b57ba24ea363b2aaf43f2a5cc/aio_throttle-1.6.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "e1db052dc486591f256b29c4a2e29b58", "sha256": "ee04699426437a112e069f8026ea27a4a05bdd7a2791c117f2d68c415c35a732" }, "downloads": -1, "filename": "aio-throttle-1.6.2.tar.gz", "has_sig": false, "md5_digest": "e1db052dc486591f256b29c4a2e29b58", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 8474, "upload_time": "2021-07-18T12:03:42", "upload_time_iso_8601": "2021-07-18T12:03:42.209795Z", "url": "https://files.pythonhosted.org/packages/e7/87/f9a9878a0f7f20a716936d88dfcf0e42389488b0b69ac2847c0182d488bd/aio-throttle-1.6.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.7.0": [ { "comment_text": "", "digests": { "md5": "dd4e245e6c43a23acfd96168fa9dda9f", "sha256": "6b96d8c3f999be21e060ba013da6601628973cacb61633ce17fc07f80f821716" }, "downloads": -1, "filename": "aio_throttle-1.7.0-py3-none-any.whl", "has_sig": false, "md5_digest": "dd4e245e6c43a23acfd96168fa9dda9f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 10090, "upload_time": "2022-02-09T16:12:36", "upload_time_iso_8601": "2022-02-09T16:12:36.938722Z", "url": "https://files.pythonhosted.org/packages/1b/f3/e4145220b66fa9dd773434cbbda69742454a601531b818a4513ec64b1651/aio_throttle-1.7.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "c7afc4c2c46c36f48989294ec22e5127", "sha256": "ce969ebb149ffe59231008a71917165893a38c40b49c3e5201c24209a49b9829" }, "downloads": -1, "filename": "aio-throttle-1.7.0.tar.gz", "has_sig": false, "md5_digest": "c7afc4c2c46c36f48989294ec22e5127", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 8327, "upload_time": "2022-02-09T16:12:38", "upload_time_iso_8601": "2022-02-09T16:12:38.046164Z", "url": "https://files.pythonhosted.org/packages/bc/0f/72748a063f9caa57fbd18cb8eeebc2c41b570f88dfc68c0cb47acd869611/aio-throttle-1.7.0.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "dd4e245e6c43a23acfd96168fa9dda9f", "sha256": "6b96d8c3f999be21e060ba013da6601628973cacb61633ce17fc07f80f821716" }, "downloads": -1, "filename": "aio_throttle-1.7.0-py3-none-any.whl", "has_sig": false, "md5_digest": "dd4e245e6c43a23acfd96168fa9dda9f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 10090, "upload_time": "2022-02-09T16:12:36", "upload_time_iso_8601": "2022-02-09T16:12:36.938722Z", "url": "https://files.pythonhosted.org/packages/1b/f3/e4145220b66fa9dd773434cbbda69742454a601531b818a4513ec64b1651/aio_throttle-1.7.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "c7afc4c2c46c36f48989294ec22e5127", "sha256": "ce969ebb149ffe59231008a71917165893a38c40b49c3e5201c24209a49b9829" }, "downloads": -1, "filename": "aio-throttle-1.7.0.tar.gz", "has_sig": false, "md5_digest": "c7afc4c2c46c36f48989294ec22e5127", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 8327, "upload_time": "2022-02-09T16:12:38", "upload_time_iso_8601": "2022-02-09T16:12:38.046164Z", "url": "https://files.pythonhosted.org/packages/bc/0f/72748a063f9caa57fbd18cb8eeebc2c41b570f88dfc68c0cb47acd869611/aio-throttle-1.7.0.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }