Skip to main content

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 interval
  • delay - 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

aioratelimits-0.2.6.tar.gz (2.1 kB view details)

Uploaded Source

Built Distribution

aioratelimits-0.2.6-py3-none-any.whl (2.0 kB view details)

Uploaded Python 3

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

Hashes for aioratelimits-0.2.6.tar.gz
Algorithm Hash digest
SHA256 cd762bb7ec5d424fec848aff4f412d1f8ca7df7068c29955647e8ced7bac9b2d
MD5 2503120344d634ba58dd157766169662
BLAKE2b-256 ad570df52f6091689ca53e6a93e7e7394504e2077eda137a8b5296ac5028cb4b

See more details on using hashes here.

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

Hashes for aioratelimits-0.2.6-py3-none-any.whl
Algorithm Hash digest
SHA256 b7d77fa7a9b12d2bb34d66c4110507606f768e01b3493845789de82ee471cd37
MD5 128b1e4f0ccf6ca46314603c6e151437
BLAKE2b-256 8ec7a7d07045e2863907592019c2f4594210a46c42747ec11337634e4a2274f0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page