litellm/pyproject.toml
Krish Dholakia de4f32762a
v1.73.6.rc (#12146)
* fix - using on python 3.9

* [⚡️ Python SDK Import] - 2 second faster import times (#12135)

* speedup - move wb logger to conditional

* fix import path

* docs(index.md): initial pre-release note

* 🧹 Refactor init.py to use a model registry (#12138)

* fix - refactor init to use a registry

* # noqa: PLR0915

* fix import loc

* test whitelisted models

* Revert "🧹 Refactor init.py to use a model registry (#12138)" (#12141)

This reverts commit f93326a214.

* [⚡️ Python SDK import] - reduce python sdk import time by .3s  (#12140)

* use 1 file for KeyManagementSystem

* move key management settings

* fix import locs

* test_proxy_types_not_imported

* test the import loc

* fix import item

* fix imports

* fix import loc

* fix imports

* fix imports

* fix - revert list team changes

* fix for o-series param checks

* bump poetry

* docs(index.md): update release note with cleaner table for updated models

* `/v1/messages` - Remove hardcoded model name on streaming + Tags - enable setting custom header tags (#12131)

* fix(anthropic/experimental_pass_through): use given model name when returning streaming chunks

don't harcode model name on streaming

confusing for user

* fix(anthropic/streaming_iterator.py): remove scope of import

* feat(litellm_logging.py): allow admin to specify additional headers for using as spend tags

Closes https://github.com/BerriAI/litellm/issues/12129

* test(test_litellm_logging.py): add unit tests

* feat(openweb_ui.md): add custom tag tutorial to docs

* docs(cost_tracking.md): add tag based usage UI screenshot

* test: update test

* fix: fix import

* docs - update release notes

* Benefits of using gemini-cli with LiteLLM

* UI QA Fixes - prevent team model reset on model add + return team-only models on /v2/model/info + render team member budget correctly (#12144)

* fix(team_endpoints.py): prevent overwriting current list of team models on new model add

* fix(networking.tsx): fix default proxy base url

* fix(proxy_server.py): include team only models when retrieving all deployments on `/v2/model/info` helper util

ensures team only models are shown to user

* fix(router.py): check model name by team public model name when team id given

Fixes issue where team member could not see team only models when clicking into that team on `Models + Endpoints`

* fix(team_member_view.tsx): fix rendering team member budget, when budget is set

* test: update tests

* test: update unit test

* docs gemini cli x litellm

* docs: index.md

release note cleanup

* docs(index.md): add more hyperlinks to docs

* docs(index.md): add batch api cost tracking to docs

* docs(index.md): update docs

* VertexAI Anthropic - streaming cost tracking w/ prompt caching fixes (#12188)

* fix(rebuild-usage-object---ensure-cache_tokens-is-set): Ensures cache tokens is correctly set

Fixes https://github.com/BerriAI/litellm/issues/12149

* test(test_stream_chunk_builder_utils.py): add unit test to ensure cached tokens is part of stream chunk builder

Ensures standardized values are used

* Fix rendering ui on non-root images (#12226)

* fix(proxy_server.py): only rewrite server_root_path if path set

Fixes UI rendering issue on non-root images

* docs(custom_root_ui.md): clarify custom root path doesn't work on non-root images

* build(pyproject.toml): version rc2

* fix(streaming_handler.py): store finish reason, even if is_finished is false - allows storing early gemini finish reasons (#12250)

Fixes https://github.com/BerriAI/litellm/issues/12249

---------

Co-authored-by: Ishaan Jaff <ishaanjaffer0324@gmail.com>
2025-07-02 20:39:38 -07:00

150 lines
3.9 KiB
TOML

[tool.poetry]
name = "litellm"
version = "1.73.6.rc.2"
description = "Library to easily interface with LLM API providers"
authors = ["BerriAI"]
license = "MIT"
readme = "README.md"
packages = [
{ include = "litellm" },
{ include = "litellm/py.typed"},
]
[tool.poetry.urls]
homepage = "https://litellm.ai"
Homepage = "https://litellm.ai"
repository = "https://github.com/BerriAI/litellm"
Repository = "https://github.com/BerriAI/litellm"
documentation = "https://docs.litellm.ai"
Documentation = "https://docs.litellm.ai"
[tool.poetry.dependencies]
python = ">=3.8.1,<4.0, !=3.9.7"
httpx = ">=0.23.0"
openai = ">=1.68.2"
python-dotenv = ">=0.2.0"
tiktoken = ">=0.7.0"
importlib-metadata = ">=6.8.0"
tokenizers = "*"
click = "*"
jinja2 = "^3.1.2"
aiohttp = ">=3.10"
pydantic = "^2.0.0"
jsonschema = "^4.22.0"
numpydoc = {version = "*", optional = true} # used in utils.py
uvicorn = {version = "^0.29.0", optional = true}
uvloop = {version = "^0.21.0", optional = true, markers="sys_platform != 'win32'"}
gunicorn = {version = "^23.0.0", optional = true}
fastapi = {version = "^0.115.5", optional = true}
backoff = {version = "*", optional = true}
pyyaml = {version = "^6.0.1", optional = true}
rq = {version = "*", optional = true}
orjson = {version = "^3.9.7", optional = true}
apscheduler = {version = "^3.10.4", optional = true}
fastapi-sso = { version = "^0.16.0", optional = true }
PyJWT = { version = "^2.8.0", optional = true }
python-multipart = { version = "^0.0.18", optional = true}
cryptography = {version = "^43.0.1", optional = true}
prisma = {version = "0.11.0", optional = true}
azure-identity = {version = "^1.15.0", optional = true}
azure-keyvault-secrets = {version = "^4.8.0", optional = true}
google-cloud-kms = {version = "^2.21.3", optional = true}
resend = {version = "^0.8.0", optional = true}
pynacl = {version = "^1.5.0", optional = true}
websockets = {version = "^13.1.0", optional = true}
boto3 = {version = "1.34.34", optional = true}
redisvl = {version = "^0.4.1", optional = true, markers = "python_version >= '3.9' and python_version < '3.14'"}
mcp = {version = "1.9.3", optional = true, python = ">=3.10"}
litellm-proxy-extras = {version = "0.2.6", optional = true}
rich = {version = "13.7.1", optional = true}
litellm-enterprise = {version = "0.1.10", optional = true}
diskcache = {version = "^5.6.1", optional = true}
[tool.poetry.extras]
proxy = [
"gunicorn",
"uvicorn",
"uvloop",
"fastapi",
"backoff",
"pyyaml",
"rq",
"orjson",
"apscheduler",
"fastapi-sso",
"PyJWT",
"python-multipart",
"cryptography",
"pynacl",
"websockets",
"boto3",
"mcp",
"litellm-proxy-extras",
"litellm-enterprise",
"rich",
]
extra_proxy = [
"prisma",
"azure-identity",
"azure-keyvault-secrets",
"google-cloud-kms",
"resend",
"redisvl"
]
utils = [
"numpydoc",
]
caching = ["diskcache"]
[tool.isort]
profile = "black"
[tool.poetry.scripts]
litellm = 'litellm:run_server'
litellm-proxy = 'litellm.proxy.client.cli:cli'
[tool.poetry.group.dev.dependencies]
flake8 = "^6.1.0"
black = "^23.12.0"
mypy = "^1.0"
pytest = "^7.4.3"
pytest-mock = "^3.12.0"
pytest-asyncio = "^0.21.1"
requests-mock = "^1.12.1"
responses = "^0.25.7"
respx = "^0.22.0"
ruff = "^0.1.0"
types-requests = "*"
types-setuptools = "*"
types-redis = "*"
types-PyYAML = "*"
opentelemetry-api = "1.25.0"
opentelemetry-sdk = "1.25.0"
opentelemetry-exporter-otlp = "1.25.0"
langfuse = "^2.45.0"
[tool.poetry.group.proxy-dev.dependencies]
prisma = "0.11.0"
hypercorn = "^0.15.0"
prometheus-client = "0.20.0"
opentelemetry-api = "1.25.0"
opentelemetry-sdk = "1.25.0"
opentelemetry-exporter-otlp = "1.25.0"
azure-identity = "^1.15.0"
[build-system]
requires = ["poetry-core", "wheel"]
build-backend = "poetry.core.masonry.api"
[tool.commitizen]
version = "1.73.6.rc.2"
version_files = [
"pyproject.toml:^version"
]
[tool.mypy]
plugins = "pydantic.mypy"