Commit Graph

1786 Commits

Author SHA1 Message Date
yuneng-jiang
3504f05a5c Adding tests + update pyproject 2026-02-05 21:00:05 -08:00
yuneng-jiang
8b0d0b2610 bump: version 0.4.30 → 0.4.31 2026-02-05 14:46:38 -08:00
Sameer Kankute
453d1bd5e1
Merge branch 'main' into litellm_oss_staging_02_04_2026 2026-02-05 12:19:03 +05:30
Sameer Kankute
0ce1bfe26a bump: version 1.81.7 → 1.81.8 2026-02-05 10:44:48 +05:30
Sameer Kankute
3c12dda856 bump: litellm-proxy-extras 0.4.29 → 0.4.30
- Add allow_team_guardrail_config field to TeamTable and DeletedTeamTable
- Add migration 20260205091235_allow_team_guardrail_config
2026-02-05 09:21:20 +05:30
jquinter
18f4b7219b
feat: add faster linting targets for development workflow (#19729)
* feat: add faster linting targets for development workflow

- Add lint-dev target that only checks changed files vs origin/main
- Add lint-format-changed to format only modified Python lines
- Add lint-ruff-dev using diff-quality for incremental lint checks
- Upgrade ruff from 0.1.x to 0.2.x for --range formatting support
- Add pylint and diff-cover as dev dependencies
- Use portable PIP variable for cross-platform compatibility
- Suppress poetry warnings in install-dev target

* fix(mypy): fix type: ignore placement for OTEL LogRecord import

The type: ignore[attr-defined] comment was on the import alias line
inside parentheses, but mypy reports the error on the `from` line.
Collapse to single-line imports so the suppression is on the correct
line. Also add no-redef to the fallback branch.

* fix: address review issues in faster linting PR

- Remove poetry lock/check from install-dev (slow, can mutate lockfile)
- Remove misplaced [virtualenvs] and [installer] from pyproject.toml
  (these belong in poetry.toml, not project metadata)
- Remove unused pylint dev dependency (diff-quality uses pylint output
  format, not the pylint package itself)
- Fix trailing whitespace in .PHONY declaration
- Use mktemp instead of hardcoded /tmp/ruff.txt in lint-ruff-dev
- Guard lint-ruff-FULL-dev against empty file list from git diff
- Fix incorrect comment on lint-dev target
- Regenerate poetry.lock

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: address review issues in faster linting PR

- Remove poetry lock/check from install-dev (slow, can mutate lockfile)
- Remove misplaced [virtualenvs] and [installer] from pyproject.toml
  (these belong in poetry.toml, not project metadata)
- Remove unused pylint dev dependency (diff-quality uses pylint output
  format, not the pylint package itself)
- Fix trailing whitespace in .PHONY declaration
- Use mktemp instead of hardcoded /tmp/ruff.txt in lint-ruff-dev
- Guard lint-ruff-FULL-dev against empty file list from git diff
- Fix incorrect comment on lint-dev target
- Regenerate poetry.lock

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 22:29:29 -08:00
Sameer Kankute
47c5366cf3 bump litellm 1.81.7 2026-02-03 16:51:42 +05:30
Ishaan Jaffer
427d8f4377 bump: version 1.81.5 → 1.81.6 2026-01-31 15:31:35 -08:00
Ishaan Jaffer
7e5e626781 bump extras 2026-01-31 15:19:14 -08:00
shin-bot-litellm
ea011633d7
litellm_fix: bump litellm-proxy-extras version to 0.4.28 (#20166)
Changes were made to litellm_proxy_extras (schema.prisma, utils.py, migrations)
but version was not bumped, causing CI publish job to fail.

This commit bumps the version from 0.4.27 to 0.4.28 in all required files:
- litellm-proxy-extras/pyproject.toml
- requirements.txt
- pyproject.toml

Co-authored-by: shin-bot-litellm <shin-bot-litellm@users.noreply.github.com>
2026-01-31 10:23:17 -08:00
Alexsander Hamir
69bd4426e8
[Release Day] - Fixed CI/CD issues & changed processes (#19902) 2026-01-28 17:57:24 -08:00
Alexsander Hamir
c442fcd922
CI/CD: Increase retries and stabilize litellm_mapped_tests_core (#19826)
* Fix PLR0915: Extract system message handling to reduce statement count

* fix mypy

* fix: add host_progress_callback parameter to mock_call_tool in test

The test_call_tool_without_broken_pipe_error was failing because the mock function did not accept the host_progress_callback keyword argument that the actual implementation passes to client.call_tool(). Updated the mock to accept this parameter to match the real implementation signature.

* fixing flaky tests around oidc and email

* Add documentation comment to test file

* add retry

* add dependency

* increase retry

---------

Co-authored-by: yuneng-jiang <yuneng.jiang@gmail.com>
2026-01-26 17:00:18 -08:00
Alexsander Hamir
8ece284ca3
bump: version 1.81.3 → 1.81.4 (#19793) 2026-01-26 09:41:25 -08:00
Ishaan Jaffer
df3c54ec6a BUMP extras 2026-01-24 14:04:30 -08:00
Ishaan Jaffer
006b810370 bump: version 1.81.2 → 1.81.3 2026-01-24 09:15:06 -08:00
Ishaan Jaffer
c945677ea8 BUMP pyproject 2026-01-23 13:28:06 -08:00
yuneng-jiang
d72f548e19 bump: version 1.81.1 → 1.81.2 2026-01-22 12:35:13 -08:00
Sameer Kankute
ad1edd38d5
Merge branch 'main' into litellm_staging_01_21_2026 2026-01-22 17:56:40 +05:30
Kamil Jopek
ce722ab763
Make grpc dependency optional (#19447)
* Make grpc optional and document gRPC OTEL setup

* Add tests for missing OTLP gRPC imports
2026-01-20 19:03:52 -08:00
yuneng-jiang
9df4bd2bbb bump: version 1.81.0 → 1.81.1 2026-01-20 17:58:10 -08:00
yuneng-jiang
231023c422
Merge pull request #19446 from BerriAI/migration_fix_yj
[Infra] Fixing LiteLLM Proxy Extras
2026-01-20 15:24:15 -08:00
yuneng-jiang
2c2e0649d9 bump: version 0.4.24 → 0.4.25 2026-01-20 15:22:18 -08:00
Cesar Garcia
2b44d02682
fix: add google-cloud-aiplatform as optional dependency with clear error message (#19437)
- Add google-cloud-aiplatform as optional dependency in pyproject.toml
- Add 'google' extra for easy installation: pip install litellm[google]
- Improve error messages when Google SDK is not installed to guide users

Fixes #5483
2026-01-20 15:22:13 -08:00
yuneng-jiang
0bcf7097d2 bump: version 0.4.23 → 0.4.24 2026-01-20 15:22:11 -08:00
Sameer Kankute
deb9142117
Merge pull request #19400 from BerriAI/main
merge main iin 19/1 staging
2026-01-20 16:45:01 +05:30
Yuta Saito
ec7bf0ff1a Merge remote-tracking branch 'upstream/main' into litellm_feat_mcp_version_up 2026-01-20 09:52:38 +09:00
Jón Levy
5db0e3289a
fix(agentcore): simplify agentcore streaming (#17141)
* fix(agentcore): simplify agentcore streaming

* fix(agentcore): move CustomStreamWrapper import to module level

The deferred imports inside streaming methods caused initialization delays
during health check requests, leading to timeouts in ECS deployments.

- Move CustomStreamWrapper import to module-level (line 19)
- Remove deferred imports from get_sync_custom_stream_wrapper (line 588)
- Remove deferred import from get_async_custom_stream_wrapper (line 747)
- Remove from TYPE_CHECKING block to use actual import

This ensures the import happens at module load time rather than during
first request processing, preventing health check endpoint blocking.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* test(agentcore): ensure sync response

* chore: upgrade boto3 to 1.40.76 in pyproject.toml

* chore: added taplo.toml

* fix(types): correct annotation type hint for MyPy compatibility

Update _convert_annotations_to_chat_format return type from
Dict[str, Any] to ChatCompletionAnnotation TypedDict to match
the Message class's expected type signature.

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Benedikt Óskarsson <bensi94@hotmail.com>
2026-01-19 05:20:24 -08:00
Sameer Kankute
c5a8d4e34e
Merge branch 'main' into litellm_staging_01_16_2026 2026-01-19 18:11:21 +05:30
Yuta Saito
30f2c09401 feat: mcp version up 1.21.2 -> 1.25.0 2026-01-19 15:25:08 +09:00
Ishaan Jaffer
0a84120be5 v1.81.0 2026-01-17 16:43:00 -08:00
Harshit Jain
866bd46748
chore: resolve ModuleNotFoundError for Microsoft Foundry Agents (#18991) 2026-01-17 04:56:52 +05:30
yuneng-jiang
1cd4c9fb17 bump: version 0.4.22 → 0.4.23 2026-01-16 14:28:19 -08:00
YutaSaito
7aba0f738a
Revert "Litellm staging 01 15 2026" 2026-01-17 06:31:34 +09:00
Yuta Saito
bec61c39ae bump: version 0.4.21 → 0.4.22 2026-01-17 06:17:38 +09:00
Sameer Kankute
84974d5745 Fix boto3 conflicting dependency 2026-01-16 16:55:12 +05:30
Sameer Kankute
f3ca05112e
Merge pull request #19206 from BerriAI/main
merge main
2026-01-16 15:22:16 +05:30
Yuta Saito
f85840a34f bump: version 1.80.16 → 1.80.17 2026-01-16 14:58:36 +09:00
burnerburnerburnerman
5676c6c135
Chore: bump boto3 version (#19090) 2026-01-16 02:39:30 +05:30
Yuta Saito
f149491498 bump: version 1.80.15 → 1.80.16 2026-01-13 11:21:57 +09:00
Ishaan Jaffer
080982e157 1.80.15 2026-01-10 17:50:13 -08:00
Ishaan Jaffer
f36e898cce bump: version 1.80.14 → 1.80.15 2026-01-10 17:49:46 -08:00
Ishaan Jaffer
3223554905 bump 2026-01-10 14:15:28 -08:00
yuneng-jiang
369b1fae69 bump: version 0.4.20 → 0.4.21 2026-01-10 12:00:03 -08:00
Alexsander Hamir
578abd4465
Add memory leak detection tests with CI integration (#18881) 2026-01-09 17:36:10 -08:00
Sameer Kankute
3e066db0b5 bump: version 1.80.12 → 1.80.13 2026-01-08 18:34:16 +05:30
yuneng-jiang
b6f5ba6205 bump: version 0.4.19 → 0.4.20 2026-01-07 11:10:26 -08:00
yuneng-jiang
ec6510c61b bump: version 0.4.18 → 0.4.19 2026-01-07 10:27:07 -08:00
Ishaan Jaffer
dd24252a9f bump: version 1.80.11 → 1.80.12 2026-01-07 18:11:14 +05:30
Ishaan Jaffer
676e362d43 bump extrs 2026-01-07 14:40:30 +05:30
Anders Kaseorg
89b4a6d67c
Allow installation with current grpcio on old Python (#18473)
Instead of limiting grpcio < 1.68.0, specifically exclude the versions
affected by the reconnect bug, and allow installation with either
older or newer versions.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2026-01-04 00:45:15 +05:30
Ishaan Jaffer
49fecf0f1e bump: version 1.80.10 → 1.80.11 2025-12-20 21:52:48 +05:30
Ishaan Jaffer
b351472f89 new build 2025-12-20 14:55:41 +05:30
Alexsander Hamir
f353bb6dba
[Fix] CI/CD - litellm_mapped_tests_llms | litellm_mapped_tests_core | caching_unit_tests (#18197) 2025-12-18 08:49:23 -08:00
yuneng-jiang
d6f8e79f0d bump: version 0.1.26 → 0.1.27 2025-12-17 15:07:16 -08:00
yuneng-jiang
7a18c81cf4 bump: version 0.1.25 → 0.1.26 2025-12-15 16:00:37 -08:00
Ishaan Jaffer
95e818fdc4 bump litellm-proxy-extras 2025-12-13 16:22:26 -08:00
Peter Chanthamynavong
df9a644e37
fix: add Python 3.14 support via grpcio version constraints (#17666)
* fix: add Python 3.14 support via grpcio version constraints

Updates grpcio dependency to support Python 3.14 while maintaining
backward compatibility:

- Python <3.14: grpcio >=1.62.3,<1.68.0 (avoids buggy 1.68.x versions)
- Python >=3.14: grpcio >=1.75.0 (has cp314 wheels + bug fix)

The grpc/grpc#38290 bug was fixed in grpcio 1.75.0+, which also
added Python 3.14 wheel support.

Fixes #15504
Fixes #17374

* chore: regenerate poetry.lock

Update lock file to match pyproject.toml changes for grpcio
Python 3.14 conditional dependency.
2025-12-11 15:24:48 -08:00
yuneng-jiang
de9a195d8c
Merge pull request #17781 from BerriAI/litellm_daily_agent_table
[Feature] Daily Agent Usage Backend
2025-12-11 15:01:50 -08:00
yuneng-jiang
3784b5597a bump: version 0.4.12 → 0.4.13 2025-12-10 20:51:23 -08:00
yuneng-jiang
439d42ba67 bump: version 0.1.24 → 0.1.25 2025-12-10 18:26:07 -08:00
yuneng-jiang
b5763d27eb bump: version 0.1.23 → 0.1.24 2025-12-09 19:31:12 -08:00
Krrish Dholakia
cc8a46b6b2 bump: version 1.80.9 → 1.80.10 2025-12-09 14:55:43 -08:00
yuneng-jiang
7957244367 bump: version 0.4.11 → 0.4.12 2025-12-09 11:24:18 -08:00
Krrish Dholakia
6ec7e95f28 bump: version 1.80.8 → 1.80.9 2025-12-07 23:49:51 -08:00
Ishaan Jaffer
edcfc13ebb bump: version 1.80.7 → 1.80.8 2025-12-06 10:18:23 -08:00
Ishaan Jaffer
bcf601b8a6 bump proxy extras pip 2025-12-06 10:00:22 -08:00
yuneng-jiang
cb18af542e
Merge pull request #17498 from BerriAI/litellm_customer_usage_backend
[Feature] Customer (end user) Usage
2025-12-05 15:31:08 -08:00
yuneng-jiang
a750f5ca69 bump: version 0.1.22 → 0.1.23 2025-12-05 11:08:04 -08:00
yuneng-jiang
5439f03bfc bump: version 0.4.9 → 0.4.10 2025-12-04 12:56:43 -08:00
Ishaan Jaffer
1fca4a9fa5 bump: version 1.80.6 → 1.80.7 2025-11-27 13:08:24 -08:00
Yannay Hammer
d7ad2913be
Upgrade websockets to v15 (#16734) 2025-11-27 10:08:16 -08:00
yuneng-jiang
f1789a5fa9 bump: version 0.4.8 → 0.4.9 2025-11-26 14:12:15 -08:00
Ishaan Jaffer
5a60a8ab3b bump: version 1.80.5 → 1.80.6 2025-11-26 13:20:25 -08:00
Ishaan Jaffer
0437be13d3 bump pyproject extras 2025-11-26 13:10:57 -08:00
Ishaan Jaffer
c7746eb58f bump proxy extras 2025-11-26 11:40:06 -08:00
Alexsander Hamir
7c09187daf
downgrade grpcio (#17090) 2025-11-25 19:33:24 -08:00
Ishaan Jaffer
c7fefcc717 bump v 2025-11-22 13:37:44 -08:00
Ishaan Jaffer
37460b6aee bump: version 1.80.4 → 1.80.5 2025-11-22 13:37:12 -08:00
Ishaan Jaffer
4f707ed323 bump: version 1.80.3 → 1.80.4 2025-11-22 11:09:32 -08:00
YutaSaito
93affcb732
[Feat] mcp resources support (#16800)
* feat: mcp prompts support

* feat: mcp resources support
2025-11-20 14:53:44 -08:00
Ishaan Jaffer
d389b9dd66 bump litellm enterprise 2025-11-19 16:56:50 -08:00
Ishaan Jaffer
6477740b8c bump proxy extras 2025-11-19 13:23:16 -08:00
Cesar Garcia
4167a64853
fix: Support GPT-5.1 reasoning.effort='none' in proxy (#16745)
* fix: Add support for GPT-5.1 reasoning.effort='none' parameter

- Override Reasoning type to include 'none' effort value
- Maintains compatibility with semantic-router (requires openai <2.0.0)
- GPT-5.1 defaults to reasoning.effort='none' as of OpenAI SDK 2.8.0
- Override can be removed once semantic-router supports OpenAI SDK 2.x

Fixes #16741

* feat: Update to OpenAI SDK 2.8+ and Python 3.9+

- Update minimum Python version from 3.8.1 to 3.9 (3.8 EOL Oct 2024)
- Update OpenAI SDK requirement from >=1.99.5 to >=2.8.0
- Update semantic-router to >=0.1.12 with Python >=3.9,<3.14 constraint
- Update resend to >=0.8.0 (allows 2.x versions)
- Revert custom Reasoning TypedDict - now using native type from OpenAI SDK 2.8+

OpenAI SDK 2.8.0 natively supports reasoning.effort='none' for GPT-5.1,
eliminating the need for our custom type override.

* chore: Update poetry.lock with OpenAI SDK 2.8.1 and dependencies
2025-11-18 20:06:50 -08:00
Krrish Dholakia
dd02310b30 bump: version 1.80.2 → 1.80.3 2025-11-15 18:26:36 -08:00
Krish Dholakia
586f126395
Prometheus - make OSS (#16689)
* refactor: remove enterprise license from prometheus metrics

* refactor: complete refactoring imports

* refactor: complete prometheus refactoring

* bump: version 1.80.0 → 1.80.1

* bump: version 1.80.1 → 1.80.2

* build: update litellm lock file

* docs(enterprise.md): cleanup enterprise docs

* docs: more docs cleanup

* docs: doc cleanup

* fix: fix imports

* fix: fix linting error
2025-11-15 11:06:34 -08:00
Krrish Dholakia
70b8641822 build: bump migration 2025-11-15 09:34:50 -08:00
Ishaan Jaffer
a029c88cb9 bump litellm-proxy-extras 2025-11-15 09:11:47 -08:00
Ishaan Jaffer
f8c022c8f5 bump new schema 2025-11-14 17:39:54 -08:00
Ishaan Jaffer
6b532b31a6 bump: version 1.79.3 → 1.79.4 2025-11-14 17:38:46 -08:00
Ishaan Jaffer
3d9dcead8e bump: version 1.79.2 → 1.79.3 2025-11-08 16:30:35 -08:00
Krish Dholakia
06906534b3
feat(audio_transcriptions/): calculate duration of audio file for cost calculation + feat (image_generations): cost tracking accuracy improved with output_format, quality, size values fixed per openai model
* feat(audio_transcriptions/): calculate duration of audio file for cost calculation

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

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

* fix(cost_calculator.py): correctly use base model, when set

Fixes issue where azure base model was being ignored

* feat(cost_calculator.py): fix default cost tracking quality param for image generation

* feat(image_generations/): return output_format, quality, size

aligns response to openai spec and improves cost tracking accuracy

* fix(cost_calculator.py): refactor cost calculation for image generation to use image response instead of hidden params

* build: update build

* fix: fix cost calculation

* build: update poetry lock

* fix: fix ruff checks

* fix: fix aembedding

* fix: fix ruff errors

* fix: modify to catch errors

* fix: test

* fix: loosen test to handle openai lib out of sync

* fix: fix base models

* fix: fix usage object
2025-11-08 16:24:31 -08:00
Ishaan Jaffer
5299a97d2c bump: version 1.79.1 → 1.79.2 2025-11-08 16:06:54 -08:00
Krish Dholakia
202eaeb1a2
Revert "(feat) Audio transcription - cost tracking + (feat) image generation …" (#16409)
This reverts commit c96da44265.
2025-11-08 15:38:16 -08:00
Krish Dholakia
c96da44265
(feat) Audio transcription - cost tracking + (feat) image generation - accurate cost tracking based on output_format/quality/size
* feat(audio_transcriptions/): calculate duration of audio file for cost calculation

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

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

* fix(cost_calculator.py): correctly use base model, when set

Fixes issue where azure base model was being ignored

* feat(cost_calculator.py): fix default cost tracking quality param for image generation

* feat(image_generations/): return output_format, quality, size

aligns response to openai spec and improves cost tracking accuracy

* fix(cost_calculator.py): refactor cost calculation for image generation to use image response instead of hidden params

* build: update build

* fix: fix cost calculation

* build: update poetry lock

* fix: fix ruff checks

* fix: fix aembedding

* fix: fix ruff errors

* fix: modify to catch errors

* fix: test

* fix: loosen test to handle openai lib out of sync
2025-11-08 15:30:46 -08:00
Krish Dholakia
bce8a5d6b7
Revert "(feat) audio transcriptions cost tracking (for azure/other non-openai…" (#16402)
This reverts commit 9a88fe0861.
2025-11-08 14:24:51 -08:00
Krish Dholakia
9a88fe0861
(feat) audio transcriptions cost tracking (for azure/other non-openai models) + (fix) image generations - accurate cost tracking for dalle3/gpt-image-1 - uses the correct max image quality (#16076)
* feat(audio_transcriptions/): calculate duration of audio file for cost calculation

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

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

* fix(cost_calculator.py): correctly use base model, when set

Fixes issue where azure base model was being ignored

* feat(cost_calculator.py): fix default cost tracking quality param for image generation

* feat(image_generations/): return output_format, quality, size

aligns response to openai spec and improves cost tracking accuracy

* fix(cost_calculator.py): refactor cost calculation for image generation to use image response instead of hidden params

* build: update build

* fix: fix cost calculation

* build: update poetry lock

* fix: fix ruff checks
2025-11-08 13:54:37 -08:00
Ishaan Jaffer
9b6a4c2650 bump pyproject 2025-11-08 10:24:23 -08:00
Ishaan Jaffer
9c59d42fc1 bump extras pkg 2025-11-06 19:17:03 -08:00
Krish Dholakia
80440e11a7
Revert "Update MCP version from 1.10.1 to 1.20.0 (#16281)" (#16300)
This reverts commit 34c12d0131.
2025-11-05 18:42:34 -08:00
Guan Zheng Huang
34c12d0131
Update MCP version from 1.10.1 to 1.20.0 (#16281)
* Update MCP version from 1.10.1 to 1.20.0

- Update mcp dependency: 1.10.1 -> 1.20.0 in requirements.txt, pyproject.toml, and CI config
- Update uvicorn dependency: 0.29.0 -> 0.31.1 (required by MCP 1.20.0)
- Update PyJWT constraint to support newer versions required by MCP
- Update all CI pipeline references to MCP 1.20.0
- Add test to verify MCP version and import compatibility

MCP 1.20.0 requires uvicorn >=0.31.1 and PyJWT >=2.10.1.
MCP package remains Python >=3.10 only (no change to version constraint).

* Update poetry.lock for MCP 1.20.0
2025-11-05 18:34:28 -08:00