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