No project description provided
Project description
Simple Token Bucket
A simple token bucket implementation.
Project philosophy
simple-token-bucket
is meant to be a light and very simple to use
token bucket library. Simple is better than
complex.
Installation
simple-token-bucket
is available on PyPI:
python -m pip install simple-token-bucket[redis]
This project requires Python 3.8 or newer to run.
Usage example
from simple_token_bucket import SimpleTokenBucket
from simple_token_bucket.backends.redis import RedisBackend
# Create a new bucket
third_party_api_rate_limit_bucket = SimpleTokenBucket(
name="third_party_api",
bucket_size=3,
interval=10,
backend=RedisBackend.from_url("redis://localhost:6379/0")
)
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 a NotEnoughTokens exception.
third_party_api_rate_limit_bucket.try_get_token()
# after 10 seconds everything works again.
import time
time.sleep(10)
third_party_api_rate_limit_bucket.try_get_token()
The latest documentation can be found here
Contributing
Contributions are welcome. See Contributing section in docs.
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
Close
Hashes for simple_token_bucket-0.2.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83710d5fce3c2678334fd43ba45ccf3eb339c9c7fdf9d1fd0a057df41439cf60 |
|
MD5 | ba68269837f2e599d024ede7b5ee97d4 |
|
BLAKE2b-256 | 0ff7f81fa26a4197af5513df44f0f63d5646fadc96d2270efe52d9d46e0472c9 |
Close
Hashes for simple_token_bucket-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9558bde377a07b6733f09d1c326d5fcef9976ad718a08874d2cc2a00d259fedc |
|
MD5 | 44ffdc04e557f6a1e63bef17f622b5f0 |
|
BLAKE2b-256 | 232e152325179ae5f24a182c6ef1a9adeccd9943e5b18cd1322bf91e6f9c9217 |