diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9ef1d5ae2b8..e5fb065f121 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -148,7 +148,7 @@ make lint Individual linting commands: ```bash -make format-check # Check Black formatting +make format-check # Check ruff format formatting make lint-ruff # Run Ruff linting make lint-basedpyright # Run basedpyright type checking make check-circular-imports # Check for circular imports @@ -160,14 +160,14 @@ Apply formatting (auto-fixes issues): make format ``` -> **Black formatting is enforced in CI.** All PRs must pass the Black formatting check. +> **ruff format is enforced in CI.** All PRs must pass the ruff format check. > -> - **AI coding agents** (Claude Code, Copilot, Cursor, etc.): `AGENTS.md` and `CLAUDE.md` instruct agents to run `poetry run black .` before committing. -> - **VS Code users**: Install the [Black Formatter extension](https://marketplace.visualstudio.com/items?itemName=ms-python.black-formatter) and enable format-on-save: +> - **AI coding agents** (Claude Code, Copilot, Cursor, etc.): `AGENTS.md` and `CLAUDE.md` instruct agents to run `make pre-commit` before committing, which format-checks the staged files. +> - **VS Code users**: Install the [Ruff extension](https://marketplace.visualstudio.com/items?itemName=charliermarsh.ruff) and enable format-on-save: > ```json > { > "[python]": { -> "editor.defaultFormatter": "ms-python.black-formatter", +> "editor.defaultFormatter": "charliermarsh.ruff", > "editor.formatOnSave": true > } > } @@ -197,8 +197,8 @@ make help # Show all available commands make install-dev # Install development dependencies make install-proxy-dev # Install proxy development dependencies make install-test-deps # Install the full local test environment -make format # Apply Black code formatting -make format-check # Check Black formatting (matches CI) +make format # Apply ruff format code formatting +make format-check # Check ruff format formatting (matches CI) make lint # Run all linting checks make test-unit # Run unit tests make test-integration # Run integration tests @@ -210,7 +210,7 @@ make test-unit-helm # Run Helm unit tests LiteLLM follows the [Google Python Style Guide](https://google.github.io/styleguide/pyguide.html). Our automated quality checks include: -- **Black** for consistent code formatting +- **ruff format** for consistent code formatting - **Ruff** for linting and code quality - **basedpyright** for static type checking - **Circular import detection** diff --git a/Makefile b/Makefile index e17fdba3c85..0e2d8a09df2 100644 --- a/Makefile +++ b/Makefile @@ -166,8 +166,8 @@ lint-ruff: $(LINT_DEP_INSTALL) # inspiration from: # https://github.com/astral-sh/ruff/discussions/10977 # https://github.com/astral-sh/ruff/discussions/4049 -lint-format-changed: install-dev - @git diff origin/main --unified=0 --no-color -- '*.py' | \ +lint-format-changed: install-dev lint-fetch-base + @git diff origin/litellm_internal_staging --unified=0 --no-color -- '*.py' | \ perl -ne '\ if (/^diff --git a\/(.*) b\//) { $$file = $$1; } \ if (/^@@ .* \+(\d+)(?:,(\d+))? @@/) { \ @@ -181,16 +181,16 @@ lint-format-changed: install-dev $(UV_RUN) ruff format --range "$$lines" "$$file"; \ done -lint-ruff-dev: install-dev +lint-ruff-dev: install-dev lint-fetch-base @tmpfile=$$(mktemp /tmp/ruff-dev.XXXXXX) && \ cd litellm && \ ($(UV_RUN) ruff check . --output-format=pylint || true) > "$$tmpfile" && \ - $(UV_RUN) diff-quality --violations=pylint "$$tmpfile" --compare-branch=origin/main && \ + $(UV_RUN) diff-quality --violations=pylint "$$tmpfile" --compare-branch=origin/litellm_internal_staging && \ cd .. ; \ rm -f "$$tmpfile" -lint-ruff-FULL-dev: install-dev - @files=$$(git diff --name-only origin/main -- '*.py'); \ +lint-ruff-FULL-dev: install-dev lint-fetch-base + @files=$$(git diff --name-only origin/litellm_internal_staging -- '*.py'); \ if [ -n "$$files" ]; then echo "$$files" | xargs $(UV_RUN) ruff check; \ else echo "No changed .py files to check."; fi diff --git a/README.md b/README.md index 68aaa09ec98..fe24735924f 100644 --- a/README.md +++ b/README.md @@ -629,9 +629,9 @@ For detailed contributing guidelines, see [CONTRIBUTING.md](CONTRIBUTING.md). LiteLLM follows the [Google Python Style Guide](https://google.github.io/styleguide/pyguide.html). Our automated checks include: -- **Black** for code formatting +- **ruff format** for code formatting - **Ruff** for linting and code quality -- **MyPy** for type checking +- **basedpyright** for type checking - **Circular import detection** - **Import safety checks**