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.2.tar.gz (6.4 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.2-py3-none-any.whl (5.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: crashbytes_apiclient-1.1.2.tar.gz
  • Upload date:
  • Size: 6.4 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.2.tar.gz
Algorithm Hash digest
SHA256 c70b4e27e92ab70184af9b2c590c83461f2d7fb3f78c7936235ee33f0f230240
MD5 2b80609142415906276403ecae021c46
BLAKE2b-256 25cde2fd70f60121fc127ef4b4685e5717c9cf1f4d1f0fdf20b4b177838450bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for crashbytes_apiclient-1.1.2.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.2-py3-none-any.whl.

File metadata

File hashes

Hashes for crashbytes_apiclient-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ea50eebb4ace71e9018e6bfe8058affc5df9fc57a752b523f9cac03a5b14e9be
MD5 f5897567c5363bf240e3ba351e21bbb7
BLAKE2b-256 8ca9d50f771f3dd1aa4617369617989f1803d46b154c1f73c29d1996236e4c7f

See more details on using hashes here.

Provenance

The following attestation bundles were made for crashbytes_apiclient-1.1.2-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