mirror of
https://github.com/BerriAI/litellm.git
synced 2026-10-09 03:18:44 +00:00
* 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>
150 lines
3.9 KiB
TOML
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"
|