Skip to main content

Wrapper around requests package, with extra API key management

Project description

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)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

requests_wrapper-0.0.3.tar.gz (3.1 kB view hashes)

Uploaded Source

Built Distribution

requests_wrapper-0.0.3-py3-none-any.whl (4.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page