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
File details
Details for the file simple_token_bucket-0.2.0.tar.gz
.
File metadata
- Download URL: simple_token_bucket-0.2.0.tar.gz
- Upload date:
- Size: 5.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.27.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83710d5fce3c2678334fd43ba45ccf3eb339c9c7fdf9d1fd0a057df41439cf60 |
|
MD5 | ba68269837f2e599d024ede7b5ee97d4 |
|
BLAKE2b-256 | 0ff7f81fa26a4197af5513df44f0f63d5646fadc96d2270efe52d9d46e0472c9 |
File details
Details for the file simple_token_bucket-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: simple_token_bucket-0.2.0-py3-none-any.whl
- Upload date:
- Size: 4.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.27.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9558bde377a07b6733f09d1c326d5fcef9976ad718a08874d2cc2a00d259fedc |
|
MD5 | 44ffdc04e557f6a1e63bef17f622b5f0 |
|
BLAKE2b-256 | 232e152325179ae5f24a182c6ef1a9adeccd9943e5b18cd1322bf91e6f9c9217 |