Upload setup_uv.sh
Browse files- setup_uv.sh +61 -0
setup_uv.sh
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/bin/bash
|
| 2 |
+
# Setup script for DFlash-MLX-Universal using `uv`
|
| 3 |
+
# Works on macOS with Apple Silicon (M1/M2/M3/M4)
|
| 4 |
+
|
| 5 |
+
set -euo pipefail
|
| 6 |
+
|
| 7 |
+
echo "=========================================="
|
| 8 |
+
echo "DFlash-MLX-Universal UV Setup"
|
| 9 |
+
echo "=========================================="
|
| 10 |
+
|
| 11 |
+
# ββ 1. Check if uv is installed βββββββββββββββββββββββββββββββββββββββββββββ
|
| 12 |
+
if ! command -v uv &> /dev/null; then
|
| 13 |
+
echo "β uv is not installed. Install it first:"
|
| 14 |
+
echo " brew install uv"
|
| 15 |
+
echo " # or: curl -LsSf https://astral.sh/uv/install.sh | sh"
|
| 16 |
+
exit 1
|
| 17 |
+
fi
|
| 18 |
+
|
| 19 |
+
echo "β
uv found: $(uv --version)"
|
| 20 |
+
|
| 21 |
+
# ββ 2. Create virtual environment βββββββββββββββββββββββββββββββββββββββββββ
|
| 22 |
+
echo ""
|
| 23 |
+
echo "π¦ Creating virtual environment..."
|
| 24 |
+
uv venv
|
| 25 |
+
|
| 26 |
+
# ββ 3. Install package with all extras ββββββββββββββββββββββββββββββββββββ
|
| 27 |
+
echo ""
|
| 28 |
+
echo "π₯ Installing dflash-mlx-universal with dev + server extras..."
|
| 29 |
+
uv pip install -e ".[dev,server]"
|
| 30 |
+
|
| 31 |
+
# ββ 4. Lock dependencies ββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 32 |
+
echo ""
|
| 33 |
+
echo "π Locking dependencies (this may take a moment)..."
|
| 34 |
+
uv lock
|
| 35 |
+
|
| 36 |
+
# ββ 5. Quick verification βββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 37 |
+
echo ""
|
| 38 |
+
echo "π§ͺ Running quick verification..."
|
| 39 |
+
uv run python -c "import dflash_mlx; print(f'β
dflash_mlx version: {dflash_mlx.__version__}')"
|
| 40 |
+
uv run python -c "import mlx; print(f'β
mlx version: {mlx.__version__}')"
|
| 41 |
+
uv run python -c "import mlx_lm; print(f'β
mlx-lm installed')"
|
| 42 |
+
|
| 43 |
+
# ββ 6. Print usage summary ββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 44 |
+
echo ""
|
| 45 |
+
echo "=========================================="
|
| 46 |
+
echo "β
Setup complete!"
|
| 47 |
+
echo "=========================================="
|
| 48 |
+
echo ""
|
| 49 |
+
echo "Quick start:"
|
| 50 |
+
echo " uv run python examples/qwen3_4b_demo.py"
|
| 51 |
+
echo ""
|
| 52 |
+
echo "Convert a drafter:"
|
| 53 |
+
echo " uv run python -m dflash_mlx.convert --model z-lab/Qwen3-4B-DFlash-b16 --output ./drafter"
|
| 54 |
+
echo ""
|
| 55 |
+
echo "Run tests:"
|
| 56 |
+
echo " uv run pytest tests/ -v"
|
| 57 |
+
echo ""
|
| 58 |
+
echo "Start server:"
|
| 59 |
+
echo " uv run python -m dflash_mlx.serve --target mlx-community/Qwen3-4B-bf16 --draft ./drafter --port 8000"
|
| 60 |
+
echo ""
|
| 61 |
+
echo "For full docs see USAGE_GUIDE.md"
|