Simple Token Bucket¶
Simple Token Bucket is meant to be a light and very simple to use token bucket library. Simple is better than complex.
Usage:
from simple_token_bucket import SimpleTokenBucket
from simple_token_bucket.backends.redis import RedisBackend
third_party_api_rate_limit_bucket = SimpleTokenBucket(
name="third_party_api",
bucket_size=3,
interval=10,
)
third_party_api_rate_limit_bucket.try_get_token()
third_party_api_rate_limit_bucket.try_get_token()
third_party_api_rate_limit_bucket.try_get_token()
# will raises NotEnoughTokens
third_party_api_rate_limit_bucket.try_get_token()
# after 10 seconds everythin works again
import time
time.sleep(10)
third_party_api_rate_limit_bucket.try_get_token()
Installation¶
Simple Token Bucket requires Python 3.8 or newer to run.
pip install simple_token_bucket[redis]