requests-wrapper

Wrapper around requests package, with extra API key management


License
MIT
Install
pip install requests-wrapper==0.0.3

Documentation

requests-wrapper

Code quality checks Status
CodeFactor Codefactor
Github Workflows GithubWorkflows
Codecov codecov

This repo is a wrapper programme based python's requests package, adding a simple API key management capability.

It is designed to:

  • Enable calling API endpoints using multiple API keys
  • So that different API keys can be used for each consecutive call
  • This can potentially benefit in cases where each API key is rate limiting
  • When the rate limit is specified, this wrapper will automatically sleep accordingly until the API key can be used again, reducing the chance of getting a bad 429 Too Many Requests error code

Installation

pip install requests-wrapper

Example

from requests_wrapper.requests_wrapper import RequestsWrapper

# Load API keys, api_key_header and rate limit when constructing the class instance
requests_wrapper = RequestsWrapper(
    api_keys=["<api_key1>", "<api_key2>"],
    api_key_header="Authorization",
    call_limit_per_second=2
)

queries = ["search_term1", "search_term2", "search_term3"]
responses = []

for query in queries:

    # Calling this is almost the same as calling requests, 
    # with the addition of specifying the http_method 
    response = requests_wrapper.call(
        http_method="get",
        url="<my_url>",
        params={"q": query}
    )

    responses.append(response)