freshcrate
Skin:/
Home > Frameworks > aiolimiter

aiolimiter

asyncio rate limiter, a leaky bucket implementation

Why this rank:Strong adoptionRelease freshnessHealthy release cadence

Description

# aiolimiter [![Azure Pipelines status for master branch][azure_badge]][azure_status] [![codecov.io status for master branch][codecov_badge]][codecov_status] [![Latest PyPI package version][pypi_badge]][aiolimiter_release] [![Latest Read The Docs][rtd_badge]][aiolimiter_docs] [azure_badge]: https://dev.azure.com/mjpieters/aiolimiter/_apis/build/status/CI?branchName=master [azure_status]: https://dev.azure.com/mjpieters/aiolimiter/_build/latest?definitionId=4&branchName=master "Azure Pipelines status for master branch" [codecov_badge]: https://codecov.io/gh/mjpieters/aiolimiter/branch/master/graph/badge.svg [codecov_status]: https://codecov.io/gh/mjpieters/aiolimiter "codecov.io status for master branch" [pypi_badge]: https://badge.fury.io/py/aiolimiter.svg [aiolimiter_release]: https://pypi.org/project/aiolimiter "Latest PyPI package version" [rtd_badge]: https://readthedocs.org/projects/aiolimiter/badge/?version=latest [aiolimiter_docs]: https://aiolimiter.readthedocs.io/en/latest/?badge=latest "Latest Read The Docs" ## Introduction An efficient implementation of a rate limiter for asyncio. This project implements the [Leaky bucket algorithm][], giving you precise control over the rate a code section can be entered: ```python from aiolimiter import AsyncLimiter # allow for 100 concurrent entries within a 30 second window rate_limit = AsyncLimiter(100, 30) async def some_coroutine(): async with rate_limit: # this section is *at most* going to entered 100 times # in a 30 second period. await do_something() ``` It was first developed [as an answer on Stack Overflow][so45502319]. ## Documentation https://aiolimiter.readthedocs.io ## Installation ```sh $ pip install aiolimiter ``` The library requires Python 3.8 or newer. ## Requirements - Python >= 3.8 ## License `aiolimiter` is offered under the [MIT license](./LICENSE.txt). ## Source code The project is hosted on [GitHub][]. Please file an issue in the [bug tracker][] if you have found a bug or have some suggestions to improve the library. ## Developer setup This project uses [poetry][] to manage dependencies, testing and releases. Make sure you have installed that tool, then run the following command to get set up: ```sh poetry install --with docs && poetry run doit devsetup ``` Apart from using `poetry run doit devsetup`, you can either use `poetry shell` to enter a shell environment with a virtualenv set up for you, or use `poetry run ...` to run commands within the virtualenv. Tests are run with `pytest` and `tox`. Releases are made with `poetry build` and `poetry publish`. Code quality is maintained with `flake8`, `black` and `mypy`, and `pre-commit` runs quick checks to maintain the standards set. A series of `doit` tasks are defined; run `poetry run doit list` (or `doit list` with `poetry shell` activated) to list them. The default action is to run a full linting, testing and building run. It is recommended you run this before creating a pull request. [leaky bucket algorithm]: https://en.wikipedia.org/wiki/Leaky_bucket [so45502319]: https://stackoverflow.com/a/45502319/100297 [github]: https://github.com/mjpieters/aiolimiter [bug tracker]: https://github.com/mjpieters/aiolimiter/issues [poetry]: https://poetry.eustace.io/

Release History

VersionChangesUrgencyDate
1.2.1Imported from PyPI (1.2.1)Low4/21/2026
v1.2.1Release v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.1Latest release: v1.2.1Low12/8/2024
v1.2.0Release v1.2.0Low12/1/2024
v1.1.1Release v1.1.1Low11/30/2024
v1.1.0Release v1.1.0Low5/8/2023
v1.0.0Release v1.0.0Low10/15/2021
v1.0.0b1Release v1.0.0b1Low12/1/2019
v1.0.0b0Release v1.0.0b0Low11/30/2019

Dependencies & License Audit

Loading dependencies...

Similar Packages

aiosmtplibasyncio SMTP clientv5.1.1
python-socksProxy (SOCKS4, SOCKS5, HTTP CONNECT) client for Python2.8.1
txaioCompatibility API between asyncio/Twisted/Trollius25.12.2
autobahnWebSocket client & server library, WAMP real-time framework25.12.2
greenbackReenter an async event loop from synchronous code1.3.0

More in Frameworks

spec_driven_developSpec-Driven Develop is a platform-agnostic AI agent skill that automates the pre-development workflow for large-scale complex tasks. It is not a framework, not a runtime, not a package manager — it is
deer-flowAn open-source long-horizon SuperAgent harness that researches, codes, and creates. With the help of sandboxes, memories, tools, skill, subagents and message gateway, it handles different levels of ta
tqdmFast, Extensible Progress Meter
simBuild, deploy, and orchestrate AI agents. Sim is the central intelligence layer for your AI workforce.