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

Uploaded Python 3

File details

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

File metadata

  • Download URL: crashbytes_apiclient-1.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 1ee9acdf5bd60030d56ff06189083720e6325a5babc3e36f559f7bd253680dbb
MD5 e86b7193b5344539a7de9c0b5632bf8a
BLAKE2b-256 6a3781bffb495adc43a24db21591904d3012dfffb7310f8138951afec055b483

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for crashbytes_apiclient-1.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 371f6ec7ab569bbc60a20f8d9ce7fa70a8485c16ad4a1ddd2c9489da1d46eb5f
MD5 6ac74c08aa95838ad2c47a9c99184d04
BLAKE2b-256 17e978918bcd71e4b2f901ccdedd04740e31c02537abe9b76ef628f190b156bd

See more details on using hashes here.

Provenance

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