Skip to main content

Token Bucket Limiter

A simple, thread-safe Token Bucket rate limiter for Python.

Installation

pip install token-bucket-limiter

Usage

Basic Usage

from token_bucket_limiter import TokenBucket

# 10 tokens max, refill 2 tokens every 1 second
limiter = TokenBucket(max_tokens=10, refill_rate=2, interval=1.0)

if limiter.allow_request():
    print("Request allowed!")
else:
    print("Rate limit exceeded.")

Rate Limiter Store (Per-user/IP)

from token_bucket_limiter import RateLimiterStore

store = RateLimiterStore(max_tokens=10, refill_rate=2, interval=1.0)

# Get or create a bucket for a specific user
user_bucket = store.get_bucket("user_123")
if user_bucket.allow_request():
    # Process request
    pass

License

MIT

Release files for token-bucket-limiter 0.1.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 token-bucket-limiter 0.1.0
File Size Uploaded
token_bucket_limiter-0.1.0.tar.gz 4.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for token-bucket-limiter 0.1.0
File Interpreter ABI Platform
token_bucket_limiter-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 7.8 kB

Release files / token_bucket_limiter-0.1.0.tar.gz

Download URL token_bucket_limiter-0.1.0.tar.gz
Size 4.0 kB
Tags Source
SHA-256 checksum
How to use checksums
5151795ccf5a40e10c29375080350d4a0212af232ecab8bf3632f20dc922c4ae
BLAKE2b-256 checksum
How to use checksums
c36b8bbc2ac58608102c73dea3066c80a1cacdf0a19614d9b7995ae2043b570b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.15

Release files / token_bucket_limiter-0.1.0-py3-none-any.whl

Download URL token_bucket_limiter-0.1.0-py3-none-any.whl
Size 3.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f8bc742020f65effa76af302fc3e8b4ce5824cd815ab281abcceba1caa6d9daf
BLAKE2b-256 checksum
How to use checksums
703e69687bb8db849691793b637feaf556622912c0e1f56e7fbbbb53229008e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.15

Release history Release notifications | RSS feed

This release

0.1.0 This release

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