No project description provided
Project description
Rate Limiting Decorator
This Python module provides a rate_limit_decorator
that allows you to limit the rate at which a function can be called. It supports both synchronous and asynchronous functions, making it versatile for various applications.
Features
- Rate Limiting: Control the maximum number of function calls within a given time interval.
- Support for Asynchronous and Synchronous Functions: The decorator works seamlessly with both types of functions.
- Easy Integration: Simply apply the decorator to your function, and it will handle rate limiting for you.
Usage
Here’s a basic example of how to use the rate_limit_decorator
:
Synchronous
from rate_limit_guard import rate_limit_decorator
@rate_limit_decorator(interval=1, max_calls=5)
def my_function():
print("Function is called")
def main():
try:
for _ in range(10):
my_function()
except RuntimeError:
# this will be raised after the rate limit is reached
pass
Asynchronous
from rate_limit_guard import rate_limit_decorator
import asyncio
@rate_limit_decorator(interval=1, max_calls=5)
async def my_async_function():
print("Async function is called")
await asyncio.sleep(0.5)
async def main():
try:
for _ in range(10):
await my_async_function()
except RuntimeError:
# this will be raised after the rate limit is reached
pass
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
rate_limit_guard-0.1.1.tar.gz
(2.6 kB
view hashes)
Built Distribution
Close
Hashes for rate_limit_guard-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fefc8c1773b3a44d0567551f8b334a1f34b0d3a88d2cf6dd1aacf14d98cfd344 |
|
MD5 | a1d4f8dfa9b766be509c5d6fd5790cc6 |
|
BLAKE2b-256 | baacf4269abc3d600e0455fd3608ba40302a0ba5cab288f3bba19f8843752858 |