requests-ratelimit-adapter

pypi version Travis Status Documentation Status

A ratelimiting Session adapter for requests.

Example

>>> from requests_ratelimit_adapter import HTTPRateLimitAdapter
>>> import requests
>>> import time

>>> # Create a rate limiting adapter
>>> rate_limiter = HTTPRateLimitAdapter(calls=1, period=1)

>>> s = requests.Session()
>>> s.mount("https://", rate_limiter)

>>> # This first request will start the period.
>>> r = s.get("https://httpbin.org/get")
>>> r.raise_for_status()
>>> time1 = time.time()

>>> # This second request will wait 1 second before executing.
>>> r2 = s.get("https://httpbin.org/get")
>>> r2.raise_for_status()
>>> time2 = time.time()

>>> # For this example, verify the timestamps are more than a second apart.
>>> assert time2 >= time1 + 1

Credits

This package was created with Cookiecutter and the cmeister2/cookiecutter-pypackage project template.