.PHONY: check-deps install-deps format update check-deps: @command -v isort >/dev/null 2>&1 || (echo "Installing isort..." && pip install isort) @command -v black >/dev/null 2>&1 || (echo "Installing black..." && pip install black) install-deps: pip install isort black format: check-deps @echo "Formatting modified Python files..." git diff --name-only --diff-filter=M | grep '\.py$$' | xargs -I {} sh -c 'isort {} && black {}' FILES_TO_UPDATE = docker/Dockerfile.rocm \ python/pyproject.toml \ python/sglang/version.py \ docs/developer/setup_github_runner.md \ docs/start/install.md update: @if [ -z "$(filter-out $@,$(MAKECMDGOALS))" ]; then \ echo "Version required. Usage: make update "; \ exit 1; \ fi @OLD_VERSION=$$(grep "version" python/sglang/version.py | cut -d '"' -f2); \ NEW_VERSION=$(filter-out $@,$(MAKECMDGOALS)); \ echo "Updating version from $$OLD_VERSION to $$NEW_VERSION"; \ for file in $(FILES_TO_UPDATE); do \ if [ "$(shell uname)" = "Darwin" ]; then \ sed -i '' -e "s/$$OLD_VERSION/$$NEW_VERSION/g" $$file; \ else \ sed -i -e "s/$$OLD_VERSION/$$NEW_VERSION/g" $$file; \ fi \ done; \ echo "Version update complete" %: @: