No project description provided
Project description
aioratelimits
Client rate limiter. It enqueues function calls and run them as leaky bucket to ensure specified rates.
Implementation
Leaky bucket. We have one queue for requests and count number of workers.
Each worker can handle one request per delay seconds
Install
pip install aioratelimits
Use
The following code prints not more than 2 lines per second.
import asyncio
from aioratelimits import RateLimiter
async def critical_resource(i: int):
print('request:', i)
async def main():
async with RateLimiter(count=2, delay=1) as limiter:
await asyncio.gather(*(
limiter.run(critical_resource(i))
for i in range(10)
))
asyncio.run(main())
Arguments to RateLimiter:
count- how many calls can we do in the specified intervaldelay- the interval in seconds
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aioratelimits-0.2.6.tar.gz.
File metadata
- Download URL: aioratelimits-0.2.6.tar.gz
- Upload date:
- Size: 2.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.14 CPython/3.10.6 Linux/5.15.0-72-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd762bb7ec5d424fec848aff4f412d1f8ca7df7068c29955647e8ced7bac9b2d
|
|
| MD5 |
2503120344d634ba58dd157766169662
|
|
| BLAKE2b-256 |
ad570df52f6091689ca53e6a93e7e7394504e2077eda137a8b5296ac5028cb4b
|
File details
Details for the file aioratelimits-0.2.6-py3-none-any.whl.
File metadata
- Download URL: aioratelimits-0.2.6-py3-none-any.whl
- Upload date:
- Size: 2.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.14 CPython/3.10.6 Linux/5.15.0-72-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b7d77fa7a9b12d2bb34d66c4110507606f768e01b3493845789de82ee471cd37
|
|
| MD5 |
128b1e4f0ccf6ca46314603c6e151437
|
|
| BLAKE2b-256 |
8ec7a7d07045e2863907592019c2f4594210a46c42747ec11337634e4a2274f0
|