⚙️ HTTP#

Client#

class HTTPClient(*, base_url='', timeout=60, headers=None)[source]#

Bases: object

HTTP requests client.

property ratelimit: RateLimit#

Current ratelimit status.

async request(method, url, params=None, headers=None, data=None, filename=None, raw=False)[source]#

Send HTTP request.

Parameters:
  • method (str) – HTTP method.

  • url (str) – Request URL.

  • params (optional) – Query parameters.

  • headers (optional) – Request headers.

  • data (optional) – Request body.

  • filename (optional) – File path to streaming.

  • raw (optional) – Return raw bytes without parsing.

Return type:

Any

Returns:

Parsed response data.

async HEAD(url, params=None, headers=None, raw=False)[source]#
async GET(url, params=None, headers=None, filename=None, raw=False)[source]#
async POST(url, params=None, headers=None, data=None, raw=False)[source]#
async PUT(url, params=None, headers=None, data=None, raw=False)[source]#
async DELETE(url, params=None, headers=None, raw=False)[source]#
async PATCH(url, params=None, headers=None, data=None, raw=False)[source]#
async close()[source]#

Close client session.

Return type:

None

Api#

class APIClient[source]#

Bases: object

property ratelimit: RateLimit#

Current ratelimit status.

async close()[source]#
Return type:

None

Params#

class Params(**kwargs)[source]#

Bases: object

HTTP query parameter container.

to_dict()[source]#
Return type:

Dict[str, str]

Rate Limit#

class RateLimit(**data)[source]#

Bases: BaseModel

limit: Optional[int]#
remaining: Optional[int]#
used: Optional[int]#
reset: Optional[datetime]#
property estimated_used: int | None#

Estimated requests used based on limit and remaining.

classmethod parse_reset(reset)[source]#
Return type:

Optional[datetime]

model_config: ClassVar[ConfigDict] = {}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

Types#

class BaseListing(items, total=0)[source]#

Bases: List[M]

Base paginated list with total count.

class Listing(response, model, key_data='data', key_total='total')[source]#

Bases: BaseListing[M]

Paginated API response wrapper.