--- id: asyncio-throttle version: "1.0.2" license: MIT license_treatment: permissive maintenance: abandoned --- # asyncio-throttle — Simple, easy-to-use throttler for asyncio License: permissive · Maintenance: abandoned · Downloads: 798.0K/mo ## What it is and what it does asyncio-throttle is a lightweight library that wraps asyncio coroutines to enforce rate limits on concurrent work. It exports a single Throttler class that acts as an async context manager; you wrap any async operation with `async with throttler:` to ensure that no more than a specified number of operations execute within a given time window. The library is designed to integrate cleanly with asyncio patterns and works well with libraries like aiohttp for rate-limiting HTTP requests. The package has no external dependencies and requires only Python 3.6 or later. It is abandoned—last updated in 2021—so it will not receive updates for newer Python versions or asyncio features. For simple, stateless rate-limiting of concurrent tasks, it remains functional; for projects requiring active maintenance or support for the latest Python releases, a maintained alternative may be preferable. Use it for: - Limit HTTP requests to an external API to stay within rate-limit quotas or avoid overwhelming a server. - Cap the concurrency of database queries or connection pool usage across multiple async workers. - Throttle file I/O or network operations to prevent resource exhaustion in high-concurrency scenarios. - Enforce a maximum throughput (e.g., 500 operations per minute) across a pool of async tasks. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Provides a simple async context manager to limit the rate at which concurrent asyncio tasks execute work, enforcing a configurable operations-per-second or operations-per-period ceiling. Yes, for simple rate-limiting of asyncio tasks in projects targeting Python 3.6–3.9. The library is small, has no dependencies, and the core API is stable. However, because it is abandoned and has not been updated since 2021, verify compatibility with your Python version and consider a maintained alternative if you need ongoing support or plan to upgrade to Python 3.10+. ## Install pip install asyncio-throttle uv add asyncio-throttle poetry add asyncio-throttle ## Installing asyncio-throttle Before you install: No runtime dependencies and a pure-Python wheel distribution make installation straightforward. However, the package is abandoned—last release was 2021-04-07 and last commit 2022-07-12—so it will not receive bug fixes or maintenance for modern Python versions. License in practice: MIT license is permissive and imposes no restrictions on use, modification, or distribution in commercial or private projects. Quickstart: from asyncio_throttle import Throttler import asyncio async def main(): throttler = Throttler(rate_limit=5) # 5 ops/sec async with throttler: print('Work executed at limited rate') asyncio.run(main()) Requires Python 3.6 or later; package is abandoned and may not be compatible with Python 3.10+. Verify before relying: - Whether the package remains compatible with Python 3.10+ given its abandoned status and lack of recent testing. - Real-world performance characteristics under high concurrency or with modern asyncio patterns (e.g., asyncio.TaskGroup). ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: abandoned - Downloads: 798.0K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags asyncio rate limiting, async throttler, rate limit concurrent tasks, asyncio concurrency control, limit requests per second, async work throttling, asyncio rate cap, asyncio, rate-limiting, concurrency-control [View on SkillFed](https://skillfed.io/packages/asyncio-throttle) · [View on PyPI](https://pypi.org/project/asyncio-throttle/)