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

Uploaded Python 3

File details

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

File metadata

  • Download URL: poet_api-2.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.12.12 Linux/6.1.0-40-amd64

File hashes

Hashes for poet_api-2.0.3.tar.gz
Algorithm Hash digest
SHA256 e8da7c4d1b3eae7b1efb7661588f8dab815cc66e63313ba2912e64d0ddd88bd4
MD5 da6fc80b48ae915c043113c0937bfd1b
BLAKE2b-256 80cf192c834d7c3bd3c551a091d2cca0e8eda602159a985220d39536abc26b1d

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for poet_api-2.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ca6947f030437746cfc0614f41c4655399419427840c211427c2d000e01c2c1c
MD5 f9fa38920766de7abc9308bc5dfa1af9
BLAKE2b-256 10c444255e489d115ea83157634c38e3e312dfbc670cd421b23d3344222cbd64

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