Skip to main content

Requests for all

Project description

poet-api

Requests with Limiter.

Uses pyrate_limiter.SQLiteBucket with use_file_lock=True.

It can handle many connections concurrently and respect the chosen limits per_second, per_minute, per_day.

class Communicate

init

  • session: requests.Session (Required)
  • caller_name: str (limiter id) (Required)
  • per_second: int = 1
  • per_minute: int = 56
  • per_day: Optional[int] = None
  • stream: bool = False
  • timeout: Union[float, tuple] = 5
  • allow_redirects: bool = True

send

  • method: str (Required)
  • url: str (Required)
  • headers: Optional[dict] = None (default headers are sent if None)
  • **kwargs (accepted by requests.Request)

Examples

  • Simplest (by default: 56 requests per minute, 1 request per second):

    from api import Communicate
    from requests import Session
    
    session = Session()
    
    response = Communicate(session=session, caller_name="simple_john").send(
        method="GET", url="https://john-site.com"
    )
    
  • With custom limits and custom headers:

    from api import Communicate
    from requests import Session
    
    session = Session()
    headers = {"User-Agent": ("My Dear Agent v.1")}
    
    response = Communicate(session=session, caller_name="John", per_minute=6).send(
        method="GET", url="https://mysite.com", headers=headers
    )
    

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

poet_api-2.0.1.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

poet_api-2.0.1-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file poet_api-2.0.1.tar.gz.

File metadata

  • Download URL: poet_api-2.0.1.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.0 CPython/3.13.7 Linux/6.1.0-39-amd64

File hashes

Hashes for poet_api-2.0.1.tar.gz
Algorithm Hash digest
SHA256 ccbb3d70d87269c021e09446ca9818ef3f089911b44b50a21b82945985a23f3a
MD5 96e3ab3dfd1458b8d05165795999ec82
BLAKE2b-256 a13323d7b7dd5f273cd6d3c5643ff08b20a1e82efaa7babe78c2b1ea25215f94

See more details on using hashes here.

File details

Details for the file poet_api-2.0.1-py3-none-any.whl.

File metadata

  • Download URL: poet_api-2.0.1-py3-none-any.whl
  • Upload date:
  • Size: 6.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.0 CPython/3.13.7 Linux/6.1.0-39-amd64

File hashes

Hashes for poet_api-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 37368fc90c7627b34bd3e69debf71db02f238336545a748176a6941b626ae8ad
MD5 c1e2cacd003e7e7d32fd6da59b34b2b9
BLAKE2b-256 8467304aeb47990888d831bf59dfebbcbd110f17f7e6c1f0704fd70b939f4ec3

See more details on using hashes here.

Supported by

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