Upgrade LiteLLM to 1.84.1 (#14396)

Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: aivong-openhands <ai.vong@openhands.dev>
This commit is contained in:
Graham Neubig
2026-05-27 23:03:06 -07:00
committed by GitHub
co-authored by openhands aivong-openhands
parent a9de690411
commit 1505caaaa9
4 changed files with 137 additions and 872 deletions
+103 -838
View File
File diff suppressed because it is too large Load Diff
Generated
+22 -22
View File
@@ -1,4 +1,4 @@
# This file is automatically @generated by Poetry 2.3.2 and should not be changed by hand.
# This file is automatically @generated by Poetry 2.3.4 and should not be changed by hand.
[[package]]
name = "agent-client-protocol"
@@ -4230,29 +4230,29 @@ files = [
[[package]]
name = "litellm"
version = "1.83.14"
version = "1.84.1"
description = "Library to easily interface with LLM API providers"
optional = false
python-versions = "<3.14,>=3.10"
groups = ["main"]
files = [
{file = "litellm-1.83.14-py3-none-any.whl", hash = "sha256:92b11ba2a32cf80707ddf388d18526696c7999a21b418c5e3b6eda1243d2cfdb"},
{file = "litellm-1.83.14.tar.gz", hash = "sha256:24aef9b47cdc424c833e32f3727f411741c690832cd1fe4405e0077144fe09c9"},
{file = "litellm-1.84.1-py3-none-any.whl", hash = "sha256:1f39e2d2d134bc0570577df846a987547efafd3c70765b00a83c456318fcdbe8"},
{file = "litellm-1.84.1.tar.gz", hash = "sha256:2d01b146e5206e49d1bccc224d31afc37b41b275823c27184b81afaba90464c3"},
]
[package.dependencies]
aiohttp = "3.13.4"
click = "8.1.8"
fastuuid = "0.14.0"
httpx = "0.28.1"
importlib-metadata = "8.5.0"
jinja2 = "3.1.6"
jsonschema = "4.23.0"
openai = "2.24.0"
pydantic = "2.12.5"
python-dotenv = "1.2.2"
tiktoken = "0.12.0"
tokenizers = "0.22.2"
aiohttp = ">=3.10,<4.0"
click = ">=8.0.0,<9.0"
fastuuid = ">=0.14.0,<1.0"
httpx = ">=0.28.0,<1.0"
importlib-metadata = ">=8.0.0,<9.0"
jinja2 = ">=3.1.6,<4.0"
jsonschema = ">=4.0.0,<5.0"
openai = ">=2.20.0,<3.0.0"
pydantic = ">=2.10.0,<3.0.0"
python-dotenv = ">=1.0.0,<2.0"
tiktoken = ">=0.8.0,<1.0"
tokenizers = ">=0.21.0,<1.0"
[package.extras]
caching = ["diskcache (==5.6.3)"]
@@ -4260,7 +4260,7 @@ extra-proxy = ["a2a-sdk (==0.3.24)", "azure-identity (==1.25.2)", "azure-keyvaul
google = ["google-cloud-aiplatform (==1.133.0)"]
grpc = ["grpcio (==1.78.0)"]
mlflow = ["mlflow (==3.11.1)"]
proxy = ["apscheduler (==3.11.2)", "azure-identity (==1.25.2)", "azure-storage-blob (==12.28.0)", "backoff (==2.2.1)", "boto3 (==1.42.59)", "cryptography (==46.0.7)", "fastapi (==0.124.4)", "fastapi-sso (==0.19.0)", "gunicorn (==23.0.0)", "litellm-enterprise (==0.1.39)", "litellm-proxy-extras (==0.4.69)", "mcp (==1.26.0)", "orjson (==3.11.6)", "polars (==1.38.1)", "pyjwt (==2.12.0)", "pynacl (==1.6.2)", "pyroscope-io (==0.8.16) ; sys_platform != \"win32\"", "python-multipart (==0.0.26)", "pyyaml (==6.0.3)", "restrictedpython (==8.1)", "rich (==13.9.4)", "rq (==2.7.0)", "soundfile (==0.12.1)", "uvicorn (==0.33.0)", "uvloop (==0.21.0) ; sys_platform != \"win32\"", "websockets (==15.0.1)"]
proxy = ["apscheduler (==3.11.2)", "azure-identity (==1.25.2)", "azure-storage-blob (==12.28.0)", "backoff (==2.2.1)", "boto3 (==1.43.1)", "cryptography (==46.0.7)", "fastapi (==0.124.4)", "fastapi-sso (==0.19.0)", "gunicorn (==23.0.0)", "litellm-enterprise (==0.1.40)", "litellm-proxy-extras (==0.4.72)", "mcp (==1.26.0)", "orjson (==3.11.6)", "polars (==1.38.1)", "pyjwt (==2.12.0)", "pynacl (==1.6.2)", "pyroscope-io (==0.8.16) ; sys_platform != \"win32\"", "python-multipart (==0.0.27)", "pyyaml (==6.0.3)", "restrictedpython (==8.1)", "rich (==13.9.4)", "rq (==2.7.0)", "soundfile (==0.12.1)", "uvicorn (==0.33.0)", "uvloop (==0.21.0) ; sys_platform != \"win32\"", "websockets (==15.0.1)"]
proxy-runtime = ["anthropic[vertex] (==0.84.0)", "azure-ai-contentsafety (==1.0.0)", "azure-storage-file-datalake (==12.20.0)", "ddtrace (==2.19.0)", "detect-secrets (==1.5.0)", "google-cloud-aiplatform (==1.133.0)", "google-genai (==1.37.0)", "grpcio (==1.78.0)", "langfuse (==2.59.7)", "llm-sandbox (==0.3.39)", "mangum (==0.17.0)", "opentelemetry-api (==1.28.0)", "opentelemetry-exporter-otlp (==1.28.0)", "opentelemetry-sdk (==1.28.0)", "prometheus-client (==0.20.0)", "pypdf (==6.10.2) ; python_full_version < \"3.14.0\"", "sentry-sdk (==2.21.0)"]
semantic-router = ["aurelio-sdk (==0.0.19) ; python_full_version < \"3.14.0\"", "semantic-router (==0.1.12) ; python_full_version < \"3.14.0\""]
utils = ["numpydoc (==1.8.0)"]
@@ -5511,14 +5511,14 @@ pydantic = ">=2.9"
[[package]]
name = "openai"
version = "2.24.0"
version = "2.33.0"
description = "The official Python library for the openai API"
optional = false
python-versions = ">=3.9"
groups = ["main"]
files = [
{file = "openai-2.24.0-py3-none-any.whl", hash = "sha256:fed30480d7d6c884303287bde864980a4b137b60553ffbcf9ab4a233b7a73d94"},
{file = "openai-2.24.0.tar.gz", hash = "sha256:1e5769f540dbd01cb33bc4716a23e67b9d695161a734aff9c5f925e2bf99a673"},
{file = "openai-2.33.0-py3-none-any.whl", hash = "sha256:03ac37d70e8c9e3a8124214e3afa785e2cbc12e627fbd98177a086ef2fd87ad5"},
{file = "openai-2.33.0.tar.gz", hash = "sha256:f850c435e2a4685bba3295bd54912dd26315d9c1b7733068186134d6e0599f9a"},
]
[package.dependencies]
@@ -5529,7 +5529,7 @@ jiter = ">=0.10.0,<1"
pydantic = ">=1.9.0,<3"
sniffio = "*"
tqdm = ">4"
typing-extensions = ">=4.11,<5"
typing-extensions = ">=4.14,<5"
[package.extras]
aiohttp = ["aiohttp", "httpx-aiohttp (>=0.1.9)"]
@@ -13797,4 +13797,4 @@ cffi = ["cffi (>=1.17,<2.0) ; platform_python_implementation != \"PyPy\" and pyt
[metadata]
lock-version = "2.1"
python-versions = "^3.12,<3.14"
content-hash = "133ec366390efe06da17f04f4f9e4957e5e6c6fe1385f7f5c1d8b2376590482a"
content-hash = "18050ea651088c9ba79dc2bcaa853c2068d9fe2d42525619f1d550c15ef36923"
+4 -4
View File
@@ -51,12 +51,12 @@ dependencies = [
"jupyter-kernel-gateway",
"kubernetes>=33.1",
"libtmux>=0.46.2",
"litellm!=1.64.4,!=1.67.*,>=1.83.14",
"litellm==1.84.1",
"lmnr>=0.7.20",
"mcp>=1.25",
"memory-profiler>=0.61",
"numpy",
"openai==2.24",
"openai==2.33.0",
"openhands-agent-server==1.23.1",
"openhands-sdk==1.23.1",
"openhands-tools==1.23.1",
@@ -159,8 +159,8 @@ include = [
python = "^3.12,<3.14"
authlib = ">=1.6.9" # CVE-2026-27962 (fixed in 1.6.9)
orjson = ">=3.11.6" # Pinned to fix CVE-2025-67221
litellm = ">=1.83.14, !=1.64.4, !=1.67.*" # avoid 1.64.4 (known bug) & 1.67.* (known bug #10272)
openai = "2.24.0" # Pin because litellm 1.83.14 requires 2.24.0 and is incompatible with >=1.100.0 (BerriAI/litellm#13711)
litellm = "1.84.1" # Exact pin to the verified 1.84.1 release; bump explicitly when upgrading (rather than a floor) to ensure only the tested version is used
openai = "2.33.0" # Pin because litellm 1.84.1 requires 2.33.0 and is incompatible with >=1.100.0 (BerriAI/litellm#13711)
aiohttp = ">=3.13.4" # Keep aiohttp on a fixed-or-newer release while allowing litellm's pinned 3.13.4
google-genai = "*" # To use litellm with Gemini Pro API
google-api-python-client = "^2.164.0" # For Google Sheets API
Generated
+8 -8
View File
@@ -2735,7 +2735,7 @@ wheels = [
[[package]]
name = "litellm"
version = "1.83.14"
version = "1.84.1"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "aiohttp" },
@@ -2751,9 +2751,9 @@ dependencies = [
{ name = "tiktoken" },
{ name = "tokenizers" },
]
sdist = { url = "https://files.pythonhosted.org/packages/8d/7c/c095649380adc96c8630273c1768c2ad1e74aa2ee1dd8dd05d218a60569f/litellm-1.83.14.tar.gz", hash = "sha256:24aef9b47cdc424c833e32f3727f411741c690832cd1fe4405e0077144fe09c9", size = 14836599, upload-time = "2026-04-26T03:16:10.176Z" }
sdist = { url = "https://files.pythonhosted.org/packages/7c/9e/ec7d92a10f3aacc7184c5531d67adc20ec0bfb180d6577fb68dc2e6f18f7/litellm-1.84.1.tar.gz", hash = "sha256:2d01b146e5206e49d1bccc224d31afc37b41b275823c27184b81afaba90464c3", size = 15105765, upload-time = "2026-05-21T02:08:02.742Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/7f/5c/1b5691575420135e90578543b2bf219497caa33cfd0af64cb38f30288450/litellm-1.83.14-py3-none-any.whl", hash = "sha256:92b11ba2a32cf80707ddf388d18526696c7999a21b418c5e3b6eda1243d2cfdb", size = 16457054, upload-time = "2026-04-26T03:16:05.72Z" },
{ url = "https://files.pythonhosted.org/packages/1d/b0/11913b4b4d02f1fde11a2331b4122b090bd635a79cedbeeb70ef4f8f03b9/litellm-1.84.1-py3-none-any.whl", hash = "sha256:1f39e2d2d134bc0570577df846a987547efafd3c70765b00a83c456318fcdbe8", size = 16736900, upload-time = "2026-05-21T02:07:59.059Z" },
]
[[package]]
@@ -3439,7 +3439,7 @@ wheels = [
[[package]]
name = "openai"
version = "2.24.0"
version = "2.33.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "anyio" },
@@ -3451,9 +3451,9 @@ dependencies = [
{ name = "tqdm" },
{ name = "typing-extensions" },
]
sdist = { url = "https://files.pythonhosted.org/packages/55/13/17e87641b89b74552ed408a92b231283786523edddc95f3545809fab673c/openai-2.24.0.tar.gz", hash = "sha256:1e5769f540dbd01cb33bc4716a23e67b9d695161a734aff9c5f925e2bf99a673", size = 658717, upload-time = "2026-02-24T20:02:07.958Z" }
sdist = { url = "https://files.pythonhosted.org/packages/f0/ee/d056c82f63c05f06baac0cffb4a90952d8274f90c49dfe244f20497b9bbd/openai-2.33.0.tar.gz", hash = "sha256:f850c435e2a4685bba3295bd54912dd26315d9c1b7733068186134d6e0599f9a", size = 693254, upload-time = "2026-04-28T14:04:42.428Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/c9/30/844dc675ee6902579b8eef01ed23917cc9319a1c9c0c14ec6e39340c96d0/openai-2.24.0-py3-none-any.whl", hash = "sha256:fed30480d7d6c884303287bde864980a4b137b60553ffbcf9ab4a233b7a73d94", size = 1120122, upload-time = "2026-02-24T20:02:05.669Z" },
{ url = "https://files.pythonhosted.org/packages/7d/32/37734d769bc8b42e4938785313cc05aade6cb0fa72479d3220a0d61a4e78/openai-2.33.0-py3-none-any.whl", hash = "sha256:03ac37d70e8c9e3a8124214e3afa785e2cbc12e627fbd98177a086ef2fd87ad5", size = 1162695, upload-time = "2026-04-28T14:04:40.482Z" },
]
[[package]]
@@ -3678,12 +3678,12 @@ requires-dist = [
{ name = "jupyter-kernel-gateway" },
{ name = "kubernetes", specifier = ">=33.1" },
{ name = "libtmux", specifier = ">=0.46.2" },
{ name = "litellm", specifier = ">=1.83.14" },
{ name = "litellm", specifier = "==1.84.1" },
{ name = "lmnr", specifier = ">=0.7.20" },
{ name = "mcp", specifier = ">=1.25" },
{ name = "memory-profiler", specifier = ">=0.61" },
{ name = "numpy" },
{ name = "openai", specifier = "==2.24" },
{ name = "openai", specifier = "==2.33.0" },
{ name = "openhands-aci", specifier = "==0.3.3" },
{ name = "openhands-agent-server", specifier = "==1.22.1" },
{ name = "openhands-sdk", specifier = "==1.22.1" },