mirror of
https://github.com/BerriAI/litellm.git
synced 2026-10-12 03:48:56 +00:00
* fix: support OpenAI SDK 3.x while retaining 2.x compatibility * fix: preserve HTTPX compatibility across OpenAI SDK versions * refactor: trim OpenAI SDK compatibility patch * refactor: simplify SDK client defaults * test: cover SDK compatibility across provider routes * fix: use shared names for SDK transport helpers * fix: address SDK compatibility review feedback * test(openai): send requests through the SDK API factory clients * fix(exceptions): keep the provider response on PaymentRequiredError under httpx 2 * ci(base-sdk): count httpx2 as base-only when a base dependency brings it in OpenAI SDK 3 depends on httpx2, so the litellm-core install at highest resolution pulls it in through openai. The base-only check now resolves the declared base dependency closure of litellm and litellm-core and accepts extras-only modules owned by a distribution inside that closure * test: cover OpenAI SDK 3 client paths end to end and read SDK HTTP headers case-insensitively * test: read C02 spend rows once, wait out the worker healthcheck on respawn, and resolve module owners on Python 3.10 --------- Co-authored-by: Marcus Wood <marcuswood@openai.com> Co-authored-by: mateo-berri <277851410+mateo-berri@users.noreply.github.com>
74 lines
2.3 KiB
TOML
74 lines
2.3 KiB
TOML
[project]
|
|
name = "litellm-core"
|
|
version = "1.105.0"
|
|
description = "Library to easily interface with LLM API providers"
|
|
readme = "README.md"
|
|
requires-python = ">=3.10, <3.15"
|
|
license = "MIT"
|
|
license-files = ["LICENSE"]
|
|
authors = [
|
|
{ name = "BerriAI" },
|
|
]
|
|
dependencies = [
|
|
"fastuuid>=0.14.0,<1.0",
|
|
"filelock>=3.16.1,<4.0",
|
|
"httpx[http2]>=0.28.0,<1.0",
|
|
"openai>=2.20.0,<4.0.0",
|
|
"python-dateutil>=2.8.2,<3.0",
|
|
"python-dotenv>=1.0.0,<2.0",
|
|
"pyyaml>=6.0.3,<7.0",
|
|
"packaging>=24.0",
|
|
"importlib-metadata>=8.0.0,<9.0",
|
|
"tiktoken>=0.8.0,<1.0; python_version < '3.14'",
|
|
"tiktoken>=0.12.0,<1.0; python_version >= '3.14'",
|
|
"click>=8.0.0,<9.0",
|
|
"jinja2>=3.1.6,<4.0",
|
|
"aiohttp>=3.14.2,<4.0",
|
|
"async-timeout>=4.0.3,<6.0; python_version < '3.11'",
|
|
"pydantic>=2.11.0,<3.0.0; python_version < '3.14'",
|
|
"pydantic>=2.12.0,<3.0.0; python_version >= '3.14'",
|
|
"pydantic-settings>=2.14.1,<3.0",
|
|
"jsonschema>=4.0.0,<5.0",
|
|
"typing-extensions>=4.13.0,<5.0",
|
|
]
|
|
|
|
[project.urls]
|
|
Homepage = "https://litellm.ai"
|
|
Repository = "https://github.com/BerriAI/litellm"
|
|
Documentation = "https://docs.litellm.ai"
|
|
|
|
[build-system]
|
|
requires = ["maturin==1.15.0"]
|
|
build-backend = "maturin"
|
|
|
|
[tool.maturin]
|
|
manifest-path = "litellm-rust/crates/python-bridge/Cargo.toml"
|
|
module-name = "litellm.rust_bridge._native"
|
|
python-source = "."
|
|
bindings = "pyo3"
|
|
features = ["extension-module"]
|
|
profile = "release"
|
|
editable-profile = "dev"
|
|
include = [
|
|
{ path = "rust-toolchain.toml", format = "sdist" },
|
|
{ path = ".cargo/config.toml", format = "sdist" },
|
|
"litellm/router_strategy/complexity_router/artifacts/*.json",
|
|
"litellm/router_strategy/complexity_router/fuse_presets.json",
|
|
"litellm/proxy/model_insights_tasks.json",
|
|
"litellm/proxy/common_utils/codex_base_instructions.md",
|
|
"litellm/proxy/common_utils/codex_bundled_models_0.159.3.json",
|
|
]
|
|
exclude = [
|
|
"litellm/proxy/_experimental/out",
|
|
"litellm/proxy/_experimental/out/**",
|
|
"litellm/proxy/enterprise",
|
|
"litellm/proxy/enterprise/**",
|
|
"litellm/proxy/guardrails/guardrail_hooks/litellm_content_filter/guardrail_benchmarks",
|
|
"litellm/proxy/guardrails/guardrail_hooks/litellm_content_filter/guardrail_benchmarks/**",
|
|
"**/__pycache__",
|
|
"**/__pycache__/**",
|
|
"**/.pytest_cache",
|
|
"**/.pytest_cache/**",
|
|
"**/.ruff_cache",
|
|
"**/.ruff_cache/**",
|
|
]
|