| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- Ratelim
- =======
- Ratelim is a simple Python library that limits the number of times a function can be called during a time interval. It is particularly useful when using online APIs, which commonly enforce rate limits.
- Features
- --------
- - Works in Py2 and Py3.
- - Greedy and patient rate limiting.
- - Preserves function signature.
- Installation
- ------------
- .. code-block:: bash
- $ pip install ratelim
- Usage
- -----
- Say you want to call a function at most for ``n_calls`` during a ``n_seconds`` time interval.
- .. code-block:: python
- # 10 times in 5 seconds
- @ratelim.greedy(10, 5)
- def hello():
- print("hello")
- The ``greedy`` rate limiter calls does not delay any function call until it's really necessary.
- In some scenarios, for example when crawling data from an API, you want to maximize the number
- of calls you make and you want to avoid sending them in short sequence. To this aim, we can
- use the ``patient`` rate limiter. It distributes calls evenly between each other.
- .. code-block:: python
- # 10 times in 5 seconds
- # Gets called at most every 0.5 seconds
- @ratelim.patient(10, 5)
- def hello():
- print("hello")
- LICENSE
- -------
- MIT.
|