{"categories":[{"label":"Software Development","url":"https://skillfed.io/packages/category/software-development/5"}],"enrichment":{"capability":"Provides rate limiting, concurrency limiting, execution timing, and performance monitoring for Python asyncio code through context managers and decorators.","skillfed_tags":["asyncio","rate-limiting","concurrency-control"],"use_cases":["Rate-limit API calls to respect external service quotas (e.g., 10 requests per 3 seconds).","Cap concurrent async tasks to prevent overwhelming a resource pool (e.g., max 5 simultaneous HTTP requests).","Enforce fixed-interval execution for periodic jobs (e.g., run a task once per minute, aligned to wall-clock).","Measure and log timing statistics for repeated operations to identify performance regressions.","Combine rate and concurrency limits for APIs that enforce both constraints simultaneously."],"what_it_does":"Throttler is a zero-dependency Python package that provides four complementary tools for controlling execution timing and concurrency in asyncio programs. It exposes both context managers and decorators: Throttler enforces rate limits (e.g., 10 requests per second), ThrottlerSimultaneous caps concurrent tasks (e.g., at most 5 in-flight calls), ExecutionTimer enforces fixed spacing between iterations with optional wall-clock alignment, and Timer logs timing statistics across repeated operations.\n\nThe package is designed for scenarios where you need to respect API rate limits, prevent resource exhaustion from too many concurrent operations, or maintain consistent execution intervals. Throttler and ThrottlerSimultaneous are async-only and must run within an event loop, while ExecutionTimer and Timer support both sync and async usage. The implementation uses a sliding window for rate limiting and an async semaphore for concurrency control.","worth_installing":"Yes. Zero dependencies, active maintenance, MIT license, and broad Python version support (3.8\u20133.14) make it a low-risk choice. Install friction is minimal and the API is straightforward. Use it when you need rate limiting, concurrency control, or execution timing in asyncio code."},"id":"throttler","links":{"html":"https://skillfed.io/packages/throttler","md":"https://skillfed.io/packages/throttler.md","pypi":"https://pypi.org/project/throttler/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2026-01-27","license_spdx":null,"license_treatment":"permissive","name":"throttler","python_support":"supports_current","summary":"Zero-dependency Python package for easy throttling with asyncio support"},"popularity":{"monthly_downloads":1333594,"position":4039,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"1.2.3"}
