From 490cc019e60fc098a8f26c095f1b812bbae31c03 Mon Sep 17 00:00:00 2001 From: Eric Hare Date: Wed, 24 Jun 2026 12:26:59 -0700 Subject: [PATCH] fix: move litellm uv override to workspace root --- pyproject.toml | 3 +++ src/backend/base/pyproject.toml | 10 ---------- uv.lock | 1 + 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index bd3162e697..7479a90de4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -167,6 +167,9 @@ override-dependencies = [ "dynaconf>=3.2.13", "pillow>=12.1.1", # Force Pillow 12.1.1+ to prevent CVE-vulnerable versions "playwright>=1.59.0", # Latest available on PyPI; ensures updated Chromium with CVE fixes + # Keep uv workspace resolution on the supported LiteLLM floor without forcing + # an upstream package that declares Requires-Python <3.14 onto Python 3.14. + "litellm>=1.85.1,<2.0.0; python_version < '3.14'", # Transitive dependency CVE fixes "lxml>=6.1.0,<7.0.0", # CVE-2026-41066 "mako>=1.3.12,<2.0.0", # CVE-2026-44307 diff --git a/src/backend/base/pyproject.toml b/src/backend/base/pyproject.toml index 699d8d034d..548f3d0e65 100644 --- a/src/backend/base/pyproject.toml +++ b/src/backend/base/pyproject.toml @@ -110,16 +110,6 @@ dependencies = [ "transformers>=5.6.0,<6.0.0", ] -[tool.uv] -# Workspace-resolution override for litellm, gated to <3.14 to match the -# litellm/opik/toolguard extras. litellm has no 3.14-compatible release, so an -# unconditional override would force the resolver to select an uninstallable -# litellm on 3.14 (pulled transitively by opik/toolguard before they too were -# gated). Drop the marker once upstream litellm supports 3.14. -override-dependencies = [ - "litellm>=1.85.1,<2.0.0; python_version < '3.14'" -] - [dependency-groups] dev = [ "asgi-lifespan>=2.1.0", diff --git a/uv.lock b/uv.lock index d230efc699..5020254d6e 100644 --- a/uv.lock +++ b/uv.lock @@ -39,6 +39,7 @@ members = [ overrides = [ { name = "dynaconf", specifier = ">=3.2.13" }, { name = "gunicorn", specifier = ">=25.3.0" }, + { name = "litellm", marker = "python_full_version < '3.14'", specifier = ">=1.85.1,<2.0.0" }, { name = "lxml", specifier = ">=6.1.0,<7.0.0" }, { name = "mako", specifier = ">=1.3.12,<2.0.0" }, { name = "markdown", specifier = ">=3.8.0" },