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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file requests_wrapper-0.0.3.tar.gz.

File metadata

  • Download URL: requests_wrapper-0.0.3.tar.gz
  • Upload date:
  • Size: 3.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for requests_wrapper-0.0.3.tar.gz
Algorithm Hash digest
SHA256 e59a50d9993b66d3204904152440cd3629dea689197a5cf03038ff4bcebeb389
MD5 d29ba0f192a644fddc59af197590dab0
BLAKE2b-256 29e09e95e15964645693a2221831d34c1e089c71ca2f96edebdec8797808cb3a

See more details on using hashes here.

File details

Details for the file requests_wrapper-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: requests_wrapper-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 4.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for requests_wrapper-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 0813c9bb8bd16c05741abf325dcb9af2e971676e2acdd94f0cf345021e473394
MD5 005ae8d5f661bf13ffdf1fa865757143
BLAKE2b-256 c37c70ab7a0e5e4a37dae0e361ccc1261f981a6702871f26e3109668c544e2cf

See more details on using hashes here.

Supported by

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