Commit graph

289 commits

Author SHA1 Message Date
github-actions[bot]
22704b0176
chore: regenerate poetry.lock to match pyproject.toml (#21811)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-02-21 21:07:29 +00:00
Ishaan Jaff
08ae43ace1
fix(migrations): add ensure_project_id migration + bump litellm-proxy-extras to 0.4.46 (#21800)
* fix(migrations): add ensure_project_id_verification_token migration

Ensures project_id column exists on LiteLLM_VerificationToken. The original
migration (20251113000000_add_project_table) adds this column, but may have
been skipped if LiteLLM_ProjectTable already existed and the migration was
resolved as idempotent. Uses IF NOT EXISTS for safety.

* bump: litellm-proxy-extras 0.4.45 → 0.4.46
2026-02-21 12:15:21 -08:00
github-actions[bot]
e487d711d6
chore: regenerate poetry.lock to match pyproject.toml (#21758)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-02-21 11:26:55 +00:00
github-actions[bot]
2d39825868
chore: regenerate poetry.lock to match pyproject.toml (#21626)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-02-20 00:25:50 +00:00
Julio Quinteros Pro
b5aff267d7 fix(deps): regenerate poetry.lock after pyproject.toml changes
pyproject.toml was updated in two commits (replacing pytest-retry with
pytest-xdist in dev deps, and adding asyncio_default_fixture_loop_scope
to pytest ini_options) without regenerating the lock file, causing all
CI jobs to fail with:

  pyproject.toml changed significantly since poetry.lock was last
  generated. Run `poetry lock` to fix the lock file.

Regenerated with `poetry lock`.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-17 19:14:36 -03:00
Julio Quinteros Pro
7a097ae97f fix(ci): reduce parallelism and add retry logic
- Reduce workers from 4 to 2 to avoid race conditions
  - Add --reruns with 2-3 retries per test group
  - Increase timeout from 15 to 20 minutes
  - Add better test isolation
2026-02-17 15:43:43 -03:00
Sameer Kankute
cd7fc38d21 Update poetry.lock 2026-02-17 19:51:59 +05:30
Julio Quinteros Pro
af9b6f6e0d Merge main into fix/add-pytest-postgresql-dependency
Resolved poetry.lock conflict by regenerating with Poetry 2.3.2.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-16 12:03:20 -03:00
Julio Quinteros Pro
1deb4456e0 Regenerate poetry.lock with Poetry 2.3.2
Updated lock file to use Poetry 2.3.2 (matching main branch standard).
This addresses Greptile feedback about Poetry version mismatch.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 21:12:22 -03:00
Julio Quinteros Pro
e82fc28f42 fix(deps): add fakeredis for pod lock manager tests
The test file test_e2e_pod_lock_manager.py requires fakeredis but it was
not declared as a dev dependency, causing import errors when the test
module is loaded.

This is a pre-existing issue that was exposed by better test coverage in
PR 21277 but is not caused by that PR.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 20:33:09 -03:00
Julio Quinteros Pro
32adfa26e6 fix(deps): add pytest-postgresql for db schema migration tests
The test_db_schema_migration.py test requires pytest-postgresql but it was
missing from dependencies, causing import errors:

  ModuleNotFoundError: No module named 'pytest_postgresql'

Added pytest-postgresql ^6.0.0 to dev dependencies to fix test collection
errors in proxy_unit_tests.

This is a pre-existing issue, not related to PR #21277.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 20:28:50 -03:00
Ishaan Jaff
eb432bf911
Litellm notes 181 12 (#21231)
* docs

* docs

* docs

* docs

* fix SCHEMA

* LiteLLM_PolicyTable

* litellm-proxy-extras = {version = "0.4.39",
2026-02-14 16:39:22 -08:00
Ishaan Jaffer
703bf5add0 BUMP Enterprise PIP 2026-02-14 13:40:48 -08:00
Krish Dholakia
fa0b26c611
ci/cd fixes (#21218)
* fix: add a2a-sdk to dev deps

* fix: fix test

* fix: update poetry lock

* test: cleanup bad/hanging tests
2026-02-14 12:11:53 -08:00
Ishaan Jaffer
d4bb040755 bump pyproject 2026-02-14 09:56:45 -08:00
Alexsander Hamir
30b28da2b7
Add pyroscope for observability (#21167)
* Pyroscope: require PYROSCOPE_APP_NAME and PYROSCOPE_SERVER_ADDRESS, add UTF-8 locale hint

- No defaults for PYROSCOPE_APP_NAME or PYROSCOPE_SERVER_ADDRESS; fail at startup if unset when Pyroscope is enabled
- Set LANG/LC_ALL to C.UTF-8 when unset to reduce malformed_profile (invalid UTF-8) rejections
- Startup message suggests PYTHONUTF8=1 if server rejects profiles
- Simplify LITELLM_ENABLE_PYROSCOPE in config_settings; document Pyroscope env vars as required with no default
- Add pyroscope_profiling to sidebar (Alerting & Monitoring)
- pyproject.toml: pyroscope-io as required dep on non-Windows (marker), in proxy extra

* proxy: add PYROSCOPE_SAMPLE_RATE env, use verbose logging, fix int type

- Add optional PYROSCOPE_SAMPLE_RATE env (integer, no default)
- Pass sample_rate to pyroscope.configure() as int for pyroscope-io
- Replace print with verbose_proxy_logger (info/warning)
- Document PYROSCOPE_SAMPLE_RATE in config_settings.md

* Address Greptile PR feedback: Pyroscope optional, docs, tests, docstring

- pyproject.toml: mark pyroscope-io as optional=true (proxy extra only)
- Add docs/my-website/docs/proxy/pyroscope_profiling.md (fix broken sidebar link)
- Add tests/test_litellm/proxy/test_pyroscope.py for _init_pyroscope()
- proxy_server: fix _init_pyroscope docstring (required server/app name, sample rate as int)

* Update litellm/proxy/proxy_server.py

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

---------

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-02-13 17:32:29 -08:00
jquinter
d32b654d6b
fix: regenerate poetry.lock to sync with pyproject.toml (#21108)
poetry.lock was out of sync with pyproject.toml, causing CI failures
across all PRs with "Run `poetry lock` to fix the lock file" error.

Regenerated the lock file to resolve the sync issue.

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-13 08:38:29 -08:00
Ishaan Jaffer
ef5579c636 bump v 2026-02-07 12:02:16 -08:00
Ishaan Jaffer
5efbed3939 fix schema 2026-02-07 09:39:55 -08:00
Alexsander Hamir
53a1f2d21c
perf(prometheus): parallelize budget metrics, fix caching bug, reduce CPU by ~40% (#20544) 2026-02-06 09:18:24 -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
64aeb18a10 chore: update poetry.lock for litellm-proxy-extras 0.4.30
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 09:25:52 +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
Ishaan Jaffer
c80fae71ef bump litellm enterprise PIP 2026-02-03 10:39:39 -08:00
jquinter
1985aa04fa Fix Nova grounding web_search_options={} not applying systemTool (#20044)
* Fix Nova grounding web_search_options={} not applying systemTool

Two bugs prevented web_search_options={} from working for Nova grounding:

1. Empty dict falsy check: The condition `value and isinstance(value, dict)`
   short-circuits to False when value is {} (empty dict is falsy in Python).
   Changed to `isinstance(value, dict)` to match Anthropic's implementation.

2. Pre-formatted tools mangled by _bedrock_tools_pt: The systemTool
   (already in Bedrock format) was added to optional_params["tools"], but
   _process_tools_and_beta passed all tools through _bedrock_tools_pt which
   expects OpenAI-format tools. This corrupted the systemTool into an empty
   toolSpec. Fixed by separating systemTool blocks before transformation
   and appending them after.

Fixes follow-up to #19598

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

* Fix python-multipart Python version constraint for Poetry lock

python-multipart ^0.0.22 requires Python >=3.10 but the project supports
>=3.9. Add python = ">=3.10" marker so Poetry can resolve dependencies
for Python 3.9.

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

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 18:23:31 +05:30
Ishaan Jaffer
7e5e626781 bump extras 2026-01-31 15:19:14 -08:00
Alexsander Hamir
69bd4426e8
[Release Day] - Fixed CI/CD issues & changed processes (#19902) 2026-01-28 17:57:24 -08:00
Ishaan Jaffer
df3c54ec6a BUMP extras 2026-01-24 14:04:30 -08:00
Ishaan Jaffer
c945677ea8 BUMP pyproject 2026-01-23 13:28:06 -08:00
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
Yuta Saito
ec7bf0ff1a Merge remote-tracking branch 'upstream/main' into litellm_feat_mcp_version_up 2026-01-20 09:52:38 +09: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
YutaSaito
7aba0f738a
Revert "Litellm staging 01 15 2026" 2026-01-17 06:31:34 +09:00
Sameer Kankute
84974d5745 Fix boto3 conflicting dependency 2026-01-16 16:55:12 +05:30
burnerburnerburnerman
5676c6c135
Chore: bump boto3 version (#19090) 2026-01-16 02:39:30 +05:30
Ishaan Jaffer
3223554905 bump 2026-01-10 14:15:28 -08:00
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
prasadkona
d33c54ee0c
Merge branch 'main' into feat/databricks-partner-integration 2025-12-22 12:30:03 -08:00
prasadkona
3a1baae45c feat(databricks): Add enhanced authentication, security features, and custom user-agent support
- Add OAuth M2M (Machine-to-Machine) authentication via DATABRICKS_CLIENT_ID and DATABRICKS_CLIENT_SECRET
- Add Databricks SDK auto-auth with automatic credential discovery
- Add sensitive data redaction for secure logging (tokens, API keys, secrets)
- Add custom user_agent parameter for partner attribution in Databricks telemetry
- Support user_agent in LiteLLM Proxy via config.yaml litellm_params
- Add 49 mocked unit tests for all new functionality
- Add 13 E2E tests for real-world validation (skipped in CI)
- Update documentation with new features and examples
2025-12-22 12:02:51 -08:00
Ishaan Jaffer
b351472f89 new build 2025-12-20 14:55:41 +05:30
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
1c6de2b80d Merge remote-tracking branch 'origin' into litellm_sendgrid 2025-12-10 20:39:25 -08:00
yuneng-jiang
439d42ba67 bump: version 0.1.24 → 0.1.25 2025-12-10 18:26:07 -08:00
Krrish Dholakia
4ea758767a build: update poetry.lock 2025-12-10 11:09:28 -08:00
saisurya237
f3ead2c153
add a new feature fix to expose the team alias when authenticating th… (#17725)
* CLI SSO: show team aliases in team selection

* temp poetry lock fix

* add poetry.lock to gitignore

* Revert proxy_server background job refactor

* Revert proxy_server background job refactor

* rever gitignore and poetry lock file
2025-12-10 10:10:28 -08:00