mirror of
https://github.com/jamiepine/voicebox.git
synced 2026-09-16 13:20:39 -07:00
* fix(setup): install mlx-lm and mlx-audio in setup-python on Apple Silicon The dev setup installed requirements-mlx.txt but not mlx-audio/mlx-lm themselves, so POST /transcribe failed on a fresh Apple Silicon setup with "No module named 'mlx_audio'" (then "No module named 'mlx_lm'"). The release workflow already installs both with --no-deps (they declare transformers>=5.x, conflicting with our <=4.57.x cap); mirror that in the setup-python recipe with the same pins. Co-Authored-By: Claude Fable 5 <[email protected]> * test: add MLX smoke test for the --no-deps mlx-audio/mlx-lm install mlx-audio and mlx-lm are installed --no-deps, so a missing transitive dependency only surfaces at import time. Add a pytest-discoverable smoke test (skipped off Apple Silicon) covering the exact entry points the backend uses: mlx_audio.tts.load, mlx_audio.stt.load (which also exercises the miniaudio dep from issue #505), mlx_lm.load/generate, and a basic mlx.core op. Co-Authored-By: Claude Fable 5 <[email protected]> --------- Co-authored-by: Claude Fable 5 <[email protected]>
Backend Tests
Manual test scripts for debugging and validating backend functionality.
Test Files
test_generation_progress.py
Tests TTS generation with SSE progress monitoring to identify UX issues where users see download progress even when the model is already cached.
Usage:
cd backend
python tests/test_generation_progress.py
Prerequisites:
- Server must be running (
python main.py) - At least one voice profile must exist
test_real_download.py
Tests real model download with SSE progress monitoring.
Usage:
cd backend
# Delete cache first to force fresh download
rm -rf ~/.cache/huggingface/hub/models--openai--whisper-base
python tests/test_real_download.py
Prerequisites:
- Server must be running (
python main.py)
test_progress.py
Unit tests for ProgressManager and HFProgressTracker functionality.
Usage:
cd backend
python tests/test_progress.py
test_check_progress_state.py
Debugging script to inspect the internal state of ProgressManager and TaskManager.
Usage:
cd backend
python tests/test_check_progress_state.py
Notes
These are manual test scripts, not automated unit tests. They're designed for:
- Debugging progress tracking issues
- Validating SSE event streams
- Monitoring real-time download behavior
- Inspecting internal state during development