From 4e4148f35aa7cd2df1a6144444707fb9254d1559 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Thu, 22 Oct 2026 11:04:34 -0400 Subject: [PATCH] Declare httpx as a runtime dependency routers/invoke.py and invokeai_client.py import httpx at module level, but httpx was only listed under the testing extra. It arrived transitively via huggingface_hub 1.x; huggingface_hub 2.x depends on httpx2 instead, so fresh installs (e.g. the rebuilt demo Docker image) fail at startup with ModuleNotFoundError: No module named 'httpx'. Co-Authored-By: Claude Opus 5.5 --- pyproject.toml | 3 +++ uv.lock | 2 ++ 2 files changed, 5 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index c848ec4e..4c348a4e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -45,6 +45,9 @@ dependencies = [ # an Apple Silicon resolve falls back to the sdist, which contains no # binary at all and fails only later, at the first video indexed. "imageio-ffmpeg>=0.6.0", + # Imported by the InvokeAI client and router. It used to arrive transitively + # via huggingface_hub 1.x, but huggingface_hub 2.x depends on httpx2 instead. + "httpx", "jinja2", "networkx", "numpy", diff --git a/uv.lock b/uv.lock index ffcefbb1..98d1e2e9 100644 --- a/uv.lock +++ b/uv.lock @@ -1748,6 +1748,7 @@ dependencies = [ { name = "colorama" }, { name = "dash" }, { name = "fastapi" }, + { name = "httpx" }, { name = "imageio-ffmpeg" }, { name = "jinja2" }, { name = "networkx", version = "3.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, @@ -1804,6 +1805,7 @@ requires-dist = [ { name = "colorama" }, { name = "dash" }, { name = "fastapi" }, + { name = "httpx" }, { name = "httpx", marker = "extra == 'testing'" }, { name = "imageio-ffmpeg", specifier = ">=0.6.0" }, { name = "jinja2" },