Skip to main content

Resilience-first async HTTP client framework for Python

Project description

httpware

Test PyPI version Python versions License: MIT

Async HTTP client framework for Python.

httpware is a typed, async HTTP client library with a protocol-based seam so the transport is swappable (httpx2 ships as the default). Middleware composes via an onion model. Pydantic and msgspec response decoding ship out of the box. RecordedTransport replaces respx for transport-level tests.

Status: Pre-1.0 (0.1.0 alpha). Public API is subject to change between minor releases until v1.0. Resilience middleware (retry / timeout / bulkhead), streaming, and observability are not yet shipped.

Install

pip install httpware

Optional extras:

pip install httpware[msgspec]    # MsgspecDecoder

(otel, niquests, and all extras are declared; integrations have not shipped yet.)

Quickstart

from httpware import AsyncClient
from pydantic import BaseModel


class User(BaseModel):
    id: int
    name: str


async def main() -> None:
    async with AsyncClient(base_url="https://api.example.com") as client:
        user = await client.get("/users/1", response_model=User)
        print(user.name)

📚 Documentation

📦 PyPI

📝 License

Part of modern-python

Browse the full list of templates and libraries in modern-python — see the org profile for the categorized index.

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

httpware-0.2.0.tar.gz (8.5 kB view details)

Uploaded Source

Built Distribution

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

httpware-0.2.0-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

File details

Details for the file httpware-0.2.0.tar.gz.

File metadata

  • Download URL: httpware-0.2.0.tar.gz
  • Upload date:
  • Size: 8.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.18 {"installer":{"name":"uv","version":"0.11.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for httpware-0.2.0.tar.gz
Algorithm Hash digest
SHA256 fcb4e997420974701e8db4c58c4a5a4ff124ad19572edd9958003b702909ba7d
MD5 aae49f34f7be714392e9071b5a2ae62b
BLAKE2b-256 a73a7dd44157cad1d78b498896013491dfa3a8f15ab5f5507c01478900121f17

See more details on using hashes here.

File details

Details for the file httpware-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: httpware-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 11.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.18 {"installer":{"name":"uv","version":"0.11.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for httpware-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 553c455d9bbbb6ad5586566944e8ff60e6a74871047bbc5dc02015d2fbfbd1fa
MD5 fd49cff02eabc76e6817202c45171942
BLAKE2b-256 0d249d71e29678bdabea21355c311c10123c8b5b2cd8e2fe4484cc11b1aa0b0d

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