Skip to main content

Simple Token Bucket

Documentation PyPI GitHub

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

https://simple-token-bucket.readthedocs.io/en/latest/

Contributing

Contributions are welcome. See Contributing section in docs.

Metadata

Release files for simple-token-bucket 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for simple-token-bucket 0.2.0
File Size Uploaded
simple_token_bucket-0.2.0.tar.gz 5.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for simple-token-bucket 0.2.0
File Interpreter ABI Platform
simple_token_bucket-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 10.0 kB

Release files / simple_token_bucket-0.2.0.tar.gz

Download URL simple_token_bucket-0.2.0.tar.gz
Size 5.5 kB
Tags Source
SHA-256 checksum
How to use checksums
83710d5fce3c2678334fd43ba45ccf3eb339c9c7fdf9d1fd0a057df41439cf60
BLAKE2b-256 checksum
How to use checksums
0ff7f81fa26a4197af5513df44f0f63d5646fadc96d2270efe52d9d46e0472c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-httpx/0.27.0

Release files / simple_token_bucket-0.2.0-py3-none-any.whl

Download URL simple_token_bucket-0.2.0-py3-none-any.whl
Size 4.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9558bde377a07b6733f09d1c326d5fcef9976ad718a08874d2cc2a00d259fedc
BLAKE2b-256 checksum
How to use checksums
232e152325179ae5f24a182c6ef1a9adeccd9943e5b18cd1322bf91e6f9c9217
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-httpx/0.27.0

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page