From c72827314bf1a3d3cc4136877f7b3de51dda3adc Mon Sep 17 00:00:00 2001 From: Tai An Date: Tue, 21 Apr 2026 00:15:01 -0700 Subject: [PATCH] fix(deps): relax core runtime dependency pins from exact == to ranges When litellm migrated from Poetry to uv (PR #24905, v1.83.1), the core dependency specifications in pyproject.toml changed from Poetry bare-version strings (e.g. openai = "2.30.0") to PEP 621 exact pins (openai==2.24.0). Poetry bare-version strings are actually caret ranges (^X.Y.Z == >=X.Y.Z,=0.14.0", + "httpx>=0.28.0", + "openai>=2.0.0", + "python-dotenv>=1.0.0", + "tiktoken>=0.7.0", + "importlib-metadata>=6.0.0", + "tokenizers>=0.19.0", + "click>=8.0.0", + "jinja2>=3.1.0", + "aiohttp>=3.10", + "pydantic>=2.5.0,<3.0.0", + "jsonschema>=4.0.0", ] [project.urls] @@ -29,8 +29,9 @@ Homepage = "https://litellm.ai" Repository = "https://github.com/BerriAI/litellm" Documentation = "https://docs.litellm.ai" -# Dependencies pinned from the published `litellm[proxy]==1.83.0` resolution. -# Docker and CI should prefer `uv.lock` rather than maintaining parallel installers. +# Optional extras retain exact pins because they are consumed by Docker images +# where exact reproducibility matters. The core SDK uses ranges so downstream +# consumers can coexist with other packages without forced downgrades. [project.optional-dependencies] proxy = [ "gunicorn==23.0.0", @@ -52,7 +53,7 @@ proxy = [ "azure-identity==1.25.2", "azure-storage-blob==12.28.0", "mcp==1.26.0", - "litellm-proxy-extras==0.4.68", + "litellm-proxy-extras==0.4.67", "litellm-enterprise==0.1.38", "RestrictedPython==8.1", "rich==13.9.4", @@ -208,7 +209,7 @@ build-backend = "uv_build" [tool.uv] default-groups = ["dev"] -required-version = ">=0.10.9" +required-version = "==0.10.9" exclude-newer = "3 days" [tool.uv.sources] @@ -236,7 +237,7 @@ source-exclude = [ profile = "black" [tool.commitizen] -version = "1.83.13" +version = "1.83.10" version_files = [ "pyproject.toml:^version", ] @@ -264,3 +265,4 @@ filterwarnings = [ [tool.coverage.run] source = ["litellm"] relative_files = true +