Skip to main content

httpx API client toolkit — pagination, retry, rate limiting, auth refresh, middleware.

Project description

crashbytes-apiclient

httpx API client toolkit — pagination, retry, rate limiting, auth refresh, middleware.

Install

pip install crashbytes-apiclient

Usage

from crashbytes_apiclient import (
    ApiClient, BearerAuth, RetryMiddleware, CursorPaginator,
)

client = ApiClient(
    base_url="https://api.example.com",
    auth=BearerAuth("your-token"),
    middlewares=[RetryMiddleware(max_retries=3)],
)

# Simple requests
response = client.get("/users")
response = client.post("/users", json={"name": "Alice"})

# Paginated iteration
for batch in client.paginate("/items", CursorPaginator()):
    for item in batch:
        process(item)

client.close()

Features

  • Auth: BearerAuth, RefreshableAuth (auto-refresh on 401)
  • Middleware: RetryMiddleware, RateLimitMiddleware, custom middleware protocol
  • Pagination: CursorPaginator, PageNumberPaginator
  • HTTP Methods: .get(), .post(), .put(), .patch(), .delete()
  • Context Manager: with ApiClient(...) as client:

License

MIT

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

crashbytes_apiclient-1.1.5.tar.gz (44.0 kB view details)

Uploaded Source

Built Distribution

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

crashbytes_apiclient-1.1.5-py3-none-any.whl (5.4 kB view details)

Uploaded Python 3

File details

Details for the file crashbytes_apiclient-1.1.5.tar.gz.

File metadata

  • Download URL: crashbytes_apiclient-1.1.5.tar.gz
  • Upload date:
  • Size: 44.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for crashbytes_apiclient-1.1.5.tar.gz
Algorithm Hash digest
SHA256 1504e5d1b7427e97f1ce30a41d46cd02a99b6e3eb5019104b677f7baaa00bb75
MD5 f1ce700b2a3ea64dd2ee8e9a9a37c389
BLAKE2b-256 61f16ae910c7d790f59802dd028118c8e27cc04497843fa50b74f0e24a69a6d4

See more details on using hashes here.

Provenance

The following attestation bundles were made for crashbytes_apiclient-1.1.5.tar.gz:

Publisher: publish.yml on CrashBytes/crashbytes-apiclient

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file crashbytes_apiclient-1.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for crashbytes_apiclient-1.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 89f0fda10f10f005597145c60483fd7a8772bb863a9186e687ad4cec24a25d88
MD5 635c0093034b0eedfb31bed610b5b2df
BLAKE2b-256 668f40cad154e94237c302b0f97ecbb5617307ba473169ba3d8f8fe7be7c65ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for crashbytes_apiclient-1.1.5-py3-none-any.whl:

Publisher: publish.yml on CrashBytes/crashbytes-apiclient

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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