Metadata-Version: 2.4
Name: token-bucket-limiter
Version: 0.1.0
Summary: A simple Token Bucket rate limiter for Python.
Project-URL: Homepage, https://github.com/samagra1136/token-bucket-limiter
Author-email: Samagra Shrivastava <samagra1136@gmail.com>
License-File: LICENSE
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.7
Description-Content-Type: text/markdown

# Token Bucket Limiter

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

## Installation

```bash
pip install token-bucket-limiter
```

## Usage

### Basic Usage

```python
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)

```python
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
