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-3.0.3.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-3.0.3-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: poet_api-3.0.3.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.13.9 Linux/6.1.0-40-amd64

File hashes

Hashes for poet_api-3.0.3.tar.gz
Algorithm Hash digest
SHA256 d47825fe64495bce55f193893bb0c3199271db7ed99cef61ae73300e6e80d138
MD5 442b26e989b66b2a739f7615d0b31dcc
BLAKE2b-256 03531ef7b816b07797557052122384dc736d9452ec4f62448789e516a3bd5759

See more details on using hashes here.

File details

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

File metadata

  • Download URL: poet_api-3.0.3-py3-none-any.whl
  • Upload date:
  • Size: 6.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.13.9 Linux/6.1.0-40-amd64

File hashes

Hashes for poet_api-3.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 653cd08e43523f82c720a72fc61e980e2589f4732a9bc4c51225a566b5732d20
MD5 643b3fe6304deede36a3878f2d8b5326
BLAKE2b-256 edfa1c055337d7fc0217f24fd2d1c22dd82d25f0e1e64f238442f80a00becea1

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