Skip to content

Verification and release

What the evidence covers

The package’s contracts, configuration, reports, transport and client are exercised by 635 local tests at the client completion checkpoint. Nineteen client cases cover defaults and binding, retries, batching, concurrency, redirects/cookies, partial responses, limits, exact multipart signing, authentication flows, ASGI service calls, cancellation, early stream exit and owned/borrowed resources.

Transport coverage includes actual local TLS, mutual TLS, HTTP proxy, connection reuse, timeout, HTTP/2 ALPN negotiation and framed responses, and SOCKS5/SOCKS5H handshakes with destination-hostname forwarding. The three added protocol cases bring the HTTP test inventory to 638. The eleven component notebooks record incremental use; the client notebook has seven executed cells. Fixture-based provider examples prove the parsing/client path, not current third-party website availability or units.

These protocol checks use local servers and do not certify every external proxy or server implementation. Shared common-auth implementations receive their own integration checks when they are built; the HTTP flow seam is already exercised with local adapters.

Reproduce checks

From the repository root with registry authentication configured:

Terminal window
uv sync --locked --all-extras --group dev
uv run ruff check .
uv run ruff format --check .
uv run mypy libs/
PYTHON_DOTENV_DISABLED=1 uv run pytest libs/http/tests/ -q
uv build --package common-http
uv run python docs/scripts/gen_api_docs.py
npm --prefix docs ci --no-audit --no-fund
npm --prefix docs run build

The docs toolchain requires Node 22.19 or newer. Local network tests need loopback socket permission and do not contact vendor APIs. Live credential-dependent provider checks are outside this suite. Registry tokens belong in environment or the normal runtime credential setup; do not commit them to project configuration.

Release dependencies

Execution and core remain maintained in the old common repository during this migration. This workspace must consume their released versions; reserved empty member directories must not shadow those installed distributions. The execution dependency must include typed-header and HTTP-date Retry-After handling.

Release readiness requires a clean dependency install, passing checks on the CI Python matrix, successful documentation build and an installed-wheel consumer check. A wheel that merely builds in a prepared editable environment is not that evidence. CI and the release workflow supply publication receipts; a local build does not constitute publication.

Versions and changelogs are managed through release-please. Do not publish empty reserved members over the existing distributions. HTTP can release independently of auth once its actual dependencies and checks are satisfied.

Supported boundary

This package supplies async buffered and streamed HTTP responses, with the body formats documented in requests. It does not implement live request-body upload streams, synchronous facades, WebSockets, CONNECT tunnels, browser execution, provider pagination, domain parsing, persistent cookie storage, distributed quotas or token custody. Those responsibilities stay with consumers or the appropriate shared package.