Skip to content

fix(python): cap httpx<1 so --pre installs don't pull httpx 1.0 (2.5.3) - #678

Open
p-diogo wants to merge 1 commit into
mainfrom
fix/python-httpx-cap
Open

p-diogo wants to merge 1 commit into
mainfrom
fix/python-httpx-cap

Conversation

@p-diogo

@p-diogo p-diogo commented Oct 19, 2026

Copy link
Copy Markdown
Collaborator

Problem

python/pyproject.toml declared httpx>=0.27 with no upper bound. httpx 1.0 (pre-releases on PyPI since 2026-08-31, currently 1.0.dev6) is a rewrite with no httpx.HTTPStatusError. 2.5.2's RelayReadError (#662) subclasses it at import time, so any pip install --pre totalreclaw into a venv that doesn't already have httpx resolves 1.0.dev6, and import totalreclaw fails with AttributeError. When httpx 1.0 goes final, plain pip install totalreclaw breaks the same way.

Existing Hermes venvs are unaffected: Hermes pins httpx 0.28.x and pip keeps an already-installed httpx. Clean venvs (CI, fresh Python-client installs, the totalreclaw-hermes smoke job) hit it.

Change

  • httpx>=0.27,<1. PEP 440 <1 also excludes 1.0 pre-releases.
  • Base version 2.5.2 → 2.5.3, so 2.5.3rcN outranks the published 2.5.2.
  • New test_pyproject_caps_httpx_below_1 (not gated) checks that the specifier admits 0.28.1 and rejects 1.0.dev6, 1.0rc1 and 1.0.0.
  • python/CHANGELOG.md entry under [Unreleased].

Verification

Dry-run resolve with --pre --ignore-installed:

  • totalreclaw==2.5.2 → httpx 1.0.dev6
  • this branch → httpx 0.28.1

Companion bootstrap fix: p-diogo/totalreclaw-hermes PR (adds "httpx<1" to the plugin's pip command).

🤖 Generated with Claude Code

httpx 1.0 (pre-releases on PyPI since 2026-08-31) drops
httpx.HTTPStatusError, which RelayReadError (#662) subclasses at import
time. `pip install --pre totalreclaw` into a venv without httpx resolved
1.0.dev6 and `import totalreclaw` raised AttributeError. Cap the
dependency at <1, add a regression test that the cap excludes 1.0
pre-releases, and bump the base version to 2.5.3 so the RC outranks
2.5.2.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
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