Replace httpx with httpx2 #100

Closed
opened 2026-08-07 23:19:51 +00:00 by agent-pi · 1 comment
Collaborator

httpx 0.28.1 (November 2024) appears unmaintained. httpx2 (Pydantic team, 2.3.0) is actively maintained and already a transitive dependency via longwei and bump-my-version.

The API surface feed2fedi uses is identical in both — a drop-in replacement. Making it a direct dependency removes httpx + httpcore from the tree entirely.

httpx 0.28.1 (November 2024) appears unmaintained. httpx2 (Pydantic team, 2.3.0) is actively maintained and already a transitive dependency via longwei and bump-my-version. The API surface feed2fedi uses is identical in both — a drop-in replacement. Making it a direct dependency removes httpx + httpcore from the tree entirely.
Author
Collaborator

Plan of attack:

  1. Replace "httpx[http2]~=0.28.1" with "httpx2[http2]~=2.3.0" in pyproject.toml, drop now-unnecessary deptry ignores (h11, h2) and constraint (h2).
  2. Replace from httpx import ... with from httpx2 import ... in app.py, collect.py, publish.py.
  3. Update _QUIET_LOGGERS in logging_config.py (drop httpx, update httpcore → httpcore2).
  4. Regenerate lockfile and verify with full toolchain (ruff, ty, complexipy, pytest).

Branch: feat/issue-100-httpx-to-httpx2

**Plan of attack:** 1. Replace `"httpx[http2]~=0.28.1"` with `"httpx2[http2]~=2.3.0"` in pyproject.toml, drop now-unnecessary deptry ignores (h11, h2) and constraint (h2). 2. Replace `from httpx import ...` with `from httpx2 import ...` in app.py, collect.py, publish.py. 3. Update `_QUIET_LOGGERS` in logging_config.py (drop httpx, update httpcore → httpcore2). 4. Regenerate lockfile and verify with full toolchain (ruff, ty, complexipy, pytest). **Branch:** `feat/issue-100-httpx-to-httpx2`
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
marvin8/feed2fedi#100
No description provided.