Skip to content

feat!: switch HTTP transport from httpx to httpx2 - #14

Merged
challey74 merged 1 commit into
mainfrom
httpx2-migration
Aug 18, 2026
Merged

feat!: switch HTTP transport from httpx to httpx2#14
challey74 merged 1 commit into
mainfrom
httpx2-migration

Conversation

@challey74

@challey74 challey74 commented Aug 18, 2026

Copy link
Copy Markdown
Owner

Summary

httpx development has stalled; httpx2 is the Pydantic-maintained fork with the same API. This swaps the dependency (httpx>=0.28.1 -> httpx2>=2.0.0) and renames the import everywhere: src, tests, scripts/generate_endpoints.py, and docs. Bumps the version to 0.2.0 with a dated changelog entry.

Breaking: a custom client passed via Api(client=) must now be an httpx2.AsyncClient.

Behavior note: httpx2 uses truststore (OS trust store) instead of certifi for SSL verification, so machine-installed corporate/internal CAs now work out of the box.

Test plan

  • uv run pytest: 90 passed
  • uv run ruff check / uv run ruff format --check: clean
  • uv run pyright: 0 errors

httpx development has stalled; httpx2 is the Pydantic-maintained fork
with the same API (import name httpx2, httpcore vendored as httpcore2,
truststore instead of certifi).

BREAKING CHANGE: a custom client passed via Api(client=) must now be an
httpx2.AsyncClient.
@challey74
challey74 merged commit 8564154 into main Aug 18, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant