mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-12 23:01:41 +00:00
* ci: drop redundant mypy type-check gate, standardize on basedpyright Type checking ran both mypy (via the pydantic.mypy plugin) and basedpyright. pydantic v2 emits dataclass_transform, so basedpyright understands models natively with no plugin, and its gated rules already cover what the mypy pass caught (no-untyped-def, no-any-return, valid-type, import-not-found all map to basedpyright equivalents). Running both meant two checkers, two budgets, and a plugin only mypy could load. This removes the mypy type-check gate: the lint-mypy/lint-mypy-budget-update Makefile targets, the CI MyPy step, mypy-code-budget.json, the budget-ratchet entry, and the vestigial [tool.mypy] pydantic plugin block (the gating pass used litellm/mypy.ini, which never loaded the plugin). type_check_gate.py is specialized to basedpyright since the mypy parsing path is now unused. mypy stays a dev dependency because the Any-discipline gate (scripts/check_any_discipline.py) imports it as a library to detect Any-typed values; it is no longer run as a type checker. * ci: remove the Any-discipline gate, rely on basedpyright's reportAny The Any-discipline gate (scripts/check_any_discipline.py) was the last consumer of mypy: it imported mypy as a library to detect values whose inferred type contains Any, gated per-file against any-discipline-budget.json. basedpyright already reports the same class of finding through reportAny/reportExplicitAny, which are gated tree-wide in basedpyright-code-budget.json, so the separate gate (and the mypy dependency behind it) is redundant. Removes the gate end to end: check_any_discipline.py and its test, the any-discipline CI job, the lint-any/lint-any-budget-update Makefile targets, any-discipline-budget.json, litellm/mypy.ini, the .mypy_cache_any references, and mypy from the dev dependencies. budget_ratchet_check.py drops the any-discipline entry and the now-unused zero-floor mechanism (rewritten as a comprehension). check_type_discipline.py drops the any-ok suppression token, since # any-ok suppressed only the deleted gate; the 134 now-orphaned # any-ok comments across 14 files are stripped (they never affected basedpyright, which uses # pyright: ignore). uv.lock is intentionally left untouched: uv still considers it consistent with the mypy-removed pyproject (uv lock --check and uv sync --frozen both pass), and a relock bumps 30+ unrelated packages because of the moving exclude-newer window. A future intentional relock will prune the now-unreferenced mypy entry. * build: relock to drop mypy from uv.lock CI's uv 0.10.9 honors the repo's exclude-newer window and correctly flags the lockfile as out of sync once mypy leaves pyproject; my earlier local uv 0.8.17 could not parse exclude-newer and silently passed --check. Relocking with the pinned CI version removes only mypy and its transitive librt, with no other version changes.
125 lines
3.2 KiB
Text
125 lines
3.2 KiB
Text
.python-version
|
|
.venv
|
|
.venv_policy_test
|
|
.env
|
|
.claude
|
|
.newenv
|
|
newenv/*
|
|
litellm/proxy/myenv/*
|
|
litellm_uuid.txt
|
|
__pycache__/
|
|
*.pyc
|
|
bun.lockb
|
|
**/.DS_Store
|
|
.aider*
|
|
litellm_results.jsonl
|
|
secrets.toml
|
|
.gitignore
|
|
litellm/proxy/litellm_secrets.toml
|
|
litellm/proxy/api_log.json
|
|
.idea/
|
|
router_config.yaml
|
|
litellm_server/config.yaml
|
|
litellm/proxy/_secret_config.yaml
|
|
.aws-sam/
|
|
litellm/tests/aiologs.log
|
|
litellm/tests/exception_data.txt
|
|
litellm/tests/config_*.yaml
|
|
litellm/tests/langfuse.log
|
|
langfuse.log
|
|
.langfuse.log
|
|
.pin_list.txt
|
|
.cov_new.xml
|
|
litellm/tests/test_custom_logger.py
|
|
litellm/tests/langfuse.log
|
|
litellm/tests/dynamo*.log
|
|
.vscode/settings.json
|
|
litellm/proxy/log.txt
|
|
proxy_server_config_@.yaml
|
|
.gitignore
|
|
proxy_server_config_2.yaml
|
|
litellm/proxy/secret_managers/credentials.json
|
|
hosted_config.yaml
|
|
litellm/proxy/tests/node_modules
|
|
litellm/proxy/tests/package.json
|
|
litellm/proxy/tests/package-lock.json
|
|
ui/litellm-dashboard/.next
|
|
ui/litellm-dashboard/node_modules
|
|
ui/litellm-dashboard/next-env.d.ts
|
|
ui/litellm-dashboard/package.json
|
|
ui/litellm-dashboard/package-lock.json
|
|
deploy/charts/litellm/*.tgz
|
|
deploy/charts/litellm/charts/*
|
|
deploy/charts/*.tgz
|
|
litellm/proxy/vertex_key.json
|
|
**/.vim/
|
|
**/node_modules
|
|
kub.yaml
|
|
loadtest_kub.yaml
|
|
litellm/proxy/_new_secret_config.yaml
|
|
litellm/proxy/_new_secret_config.yaml
|
|
litellm/proxy/_super_secret_config.yaml
|
|
litellm/proxy/_super_secret_config.yaml
|
|
litellm/proxy/myenv/bin/activate
|
|
litellm/proxy/myenv/bin/Activate.ps1
|
|
myenv/*
|
|
litellm/tests/log.txt
|
|
litellm/tests/langfuse.log
|
|
litellm/tests/langfuse.log
|
|
litellm/proxy/google-cloud-sdk/*
|
|
tests/llm_translation/log.txt
|
|
venv/
|
|
tests/local_testing/log.txt
|
|
|
|
.codegpt
|
|
litellm/proxy/_new_new_secret_config.yaml
|
|
litellm/proxy/custom_guardrail.py
|
|
litellm/proxy/application.log
|
|
tests/llm_translation/vertex_test_account.json
|
|
tests/llm_translation/test_vertex_key.json
|
|
litellm/proxy/migrations/0_init/migration.sql
|
|
litellm/proxy/db/migrations/0_init/migration.sql
|
|
litellm/proxy/db/migrations/*
|
|
litellm/proxy/migrations/*config.yaml
|
|
litellm/proxy/migrations/*
|
|
litellm/proxy/to_delete_loadtest_work/*
|
|
config.yaml
|
|
tests/litellm/litellm_core_utils/llm_cost_calc/log.txt
|
|
tests/test_custom_dir/*
|
|
test.py
|
|
|
|
litellm_config.yaml
|
|
!.github/observatory/litellm_config.yaml
|
|
.cursor
|
|
litellm/proxy/to_delete_loadtest_work/*
|
|
update_model_cost_map.py
|
|
tests/test_litellm/proxy/_experimental/mcp_server/test_mcp_server_manager.py
|
|
scripts/test_vertex_ai_search.py
|
|
LAZY_LOADING_IMPROVEMENTS.md
|
|
STABILIZATION_TODO.md
|
|
**/test-results
|
|
**/playwright-report
|
|
**/*.storageState.json
|
|
**/coverage
|
|
test-config
|
|
|
|
# ---------- Terraform ----------
|
|
# Provider binaries + module cache — regenerated by `terraform init`.
|
|
**/.terraform/
|
|
# State files often contain secrets (DB passwords, API keys snapshotted from
|
|
# data sources). Keep state in a remote backend, never in git.
|
|
*.tfstate
|
|
*.tfstate.*
|
|
*.tfstate.backup
|
|
# Plan files can also contain sensitive values (variables in plaintext).
|
|
*.tfplan
|
|
# User-specific variable inputs — example files (terraform.tfvars.example) are
|
|
# tracked because they end in .example, which doesn't match the glob below.
|
|
*.tfvars
|
|
*.auto.tfvars
|
|
crash.log
|
|
crash.*.log
|
|
# .terraform.lock.hcl is intentionally NOT ignored — it pins provider versions
|
|
# and should be committed.
|
|
.vscode
|
|
.pin_list.txt
|