rate_limiter¶
rate_limiter ¶
Token bucket rate limiter for API calls.
Implements token bucket algorithm for rate limiting.
RateLimiter ¶
Token bucket rate limiter for controlling API request rates.
Thread-safe implementation.
Initialize rate limiter.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
requests_per_minute
|
int
|
Maximum requests per minute |
required |
burst_size
|
int | None
|
Maximum burst size (default: requests_per_minute) |
None
|
Source code in ondine/utils/rate_limiter.py
acquire ¶
Acquire tokens for making requests.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
tokens
|
int
|
Number of tokens to acquire |
1
|
timeout
|
float | None
|
Maximum wait time in seconds (None = wait forever) |
None
|
Returns:
| Type | Description |
|---|---|
bool
|
True if tokens acquired, False if timeout |
Raises:
| Type | Description |
|---|---|
ValueError
|
If tokens > capacity |