From 637bfe7314eceb70a399b448d145ff76b219227c Mon Sep 17 00:00:00 2001 From: Sameer6305 Date: Thu, 23 Jul 2026 16:36:58 +0530 Subject: [PATCH 1/2] Fix #788: pin httpx<0.28.0 globally to fix TestClient breakage Adds an explicit httpx<0.28.0 constraint to [project.dependencies] so it applies globally across all environments, not just dev. Without this, different environments could resolve an incompatible transitive httpx version and hit the same Starlette TestClient breakage independently. Verified via git stash comparison: the unmodified baseline fails to even collect the test suite (TestClient TypeError during collection), so this pin doesn't just fix tests, it's what allows the full suite to run at all. Closes #788 --- pyproject.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 9e003ba4..a8f9aa71 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -85,7 +85,8 @@ dependencies = [ "python-dotenv>=1.2.1", "loguru>=0.7.3", "structlog>=22.1.0", - "gensim>=4.4.0" + "gensim>=4.4.0", + "httpx<0.28.0" ] [project.urls] From a256a77277e71be441ae45af2e2bb86e0c965cc0 Mon Sep 17 00:00:00 2001 From: KaifAhmad1 Date: Fri, 24 Jul 2026 13:10:59 +0530 Subject: [PATCH 2/2] Add CHANGELOG entry for #788 httpx pin fix Documents the httpx<0.28.0 global pin from this PR under Unreleased/Fixed. --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1ab260a8..cd4d0dca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Fixed + +- **`tests/explorer/test_explorer_api.py` failed with `TypeError: Client.__init__() got an unexpected keyword argument 'app'` on current httpx** (#788, #789) by @Sameer6305 + - `httpx>=0.28.0` removed the `app=` kwarg that Starlette's `TestClient` relies on to wrap a FastAPI app for testing; `httpx` wasn't pinned anywhere in `pyproject.toml`, so different environments could independently resolve an incompatible transitive version and hit the same break + - Added an explicit `httpx<0.28.0` constraint to the main `[project.dependencies]` array (not just a dev extra), so it applies globally across production, dev, and CI installs + - Without the pin, the full test suite fails to even complete collection (fails immediately on `tests/explorer/test_vocabulary.py` with the same `TestClient` error); with it, `tests/explorer/test_explorer_api.py` goes from 7 failed/12 passed/58 errors to 77 passed, 0 errors + ## [0.6.0] - 2026-07-21 ### Added