Development Guide
Instructions for running from source code and setting up the development environment.
🐍 Running from Source Code
Prerequisites: Python 3.12 or higher
🚀 Automated Setup Script (Recommended)
For Linux (Ubuntu) and macOS environments, we provide a convenient script that automates everything from installing OS packages to creating a virtual environment (.venv) and installing necessary Python dependencies, Node.js, and other development tools.
Simply open your terminal and run the following command in the repository root directory:
- Note: During execution, you may be prompted to enter your password or confirm default settings for MacPorts.
Once the setup is complete, activate the virtual environment and launch the application using the following commands:
🛠️ Manual Setup
If you prefer not to use the automated script and want to set up the environment manually, please follow the instructions below.
Linux / Ubuntu: Manual Virtual Environment (venv) Setup
While the release versions (AppImage/ZIP) work as is, when running from source code, APT (OS package) Python dependencies (e.g., PyQt6) might be too old to work. Therefore, on Linux, it is recommended to use the system Python but install dependent packages using venv + pip.
-
Install OS dependent libraries (minimum requirements).
sounddeviceuses PortAudio, solibportaudio2is required at runtime.soundfileuses libsndfile, solibsndfile1is required at runtime.
Only if you encounter build errors with
pip install, install additional development headers: -
Create and activate a virtual environment (e.g.,
.venvunder the repository root).From here on,
python/piprefer to the venv (do not usesudo pip).- If you want to run without using
activate, you can always call the venv Python directly:
- If you want to run without using
-
Clone the repository.
-
Install dependencies (use constraints for reproducibility):
-
Launch the application:
macOS: Using MacPorts + Python 3.12 + pyFFTW
(Verified on macOS 13 or later)
When installing pyFFTW on macOS, you need to explicitly specify the FFTW library installed via a package manager (MacPorts recommended).
-
Update MacPorts and install required packages:
-
Select Python version:
- Restart the terminal after configuration.
-
Create and activate a virtual environment:
-
Install pyFFTW (Explicitly specifying the FFTW path):
-
Install dependent packages:
🛠️ Development Setup
If you want to run tests, Lint/type checks, or build the documentation, install the additional packages.
-
Code Development (Tests/Lint, etc.):
- If you are using zsh, you need to enclose
.[dev]in quotes (e.g.,".[dev]").
- If you are using zsh, you need to enclose
-
Documentation Development (MkDocs):
-
Lint:
ruff check src scripts tests - Type check:
mypy src - Tests:
pytest(Hardware/GUI dependent tests require environment variables; skipped by default in CI)