install-skinny.sh
1 #!/usr/bin/env bash 2 # Install from master: 3 # curl -LsSf https://raw.githubusercontent.com/mlflow/mlflow/HEAD/dev/install-skinny.sh | sh 4 # 5 # Install from a specific branch: 6 # curl -LsSf https://raw.githubusercontent.com/mlflow/mlflow/HEAD/dev/install-skinny.sh | sh -s <branch> 7 # 8 # Install from a specific PR: 9 # curl -LsSf https://raw.githubusercontent.com/mlflow/mlflow/HEAD/dev/install-skinny.sh | sh -s pull/<pr_num>/merge 10 REF=${1:-HEAD} 11 12 # Fetching the entire repo is slow. Use sparse-checkout to only fetch the necessary files. 13 TEMP_DIR=$(mktemp -d) 14 git clone --filter=blob:none --no-checkout https://github.com/mlflow/mlflow.git $TEMP_DIR 15 cd $TEMP_DIR 16 # Exclude the mlflow/server/js folder as it contains frontend JavaScript files not needed for mlflow-skinny installation. 17 git sparse-checkout set --no-cone /mlflow /libs/skinny /pyproject.toml '!/mlflow/server/js/*' 18 git fetch origin "$REF" 19 git config advice.detachedHead false 20 git checkout FETCH_HEAD 21 OPTIONS=$(if uv pip freeze --system | grep -q "mlflow-skinny @"; then echo "--force-reinstall --no-deps"; fi) 22 uv pip install --system $OPTIONS ./libs/skinny 23 rm -rf $TEMP_DIR