This project now uses uv for fast, modern Python package management.
First, manually install binary dependencies on your platform:
- Install SuperCollider
- Install Csound
git clone https://github.com/marksweiss/omnisound.git
cd omnisound
./install.sh
The install script will:
- Install uv if not already present
- Set up the project environment and install dependencies
- Create necessary symlinks for external dependencies
If you prefer to install manually:
# Install uv (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Clone and setup
git clone https://github.com/marksweiss/omnisound.git
cd omnisound
git submodule update --init --recursive
# Install dependencies
uv sync
# Create mingus symlink
ln -s "$(pwd)/ext/python_mingus/mingus/" "$(pwd)/mingus"
Run Python scripts with uv:
uv run python your_script.py
Run tests:
uv run pytest
# or use the convenience script
./run_test
Get a shell in the project environment:
uv shell
# Install for development
uv sync --dev
# Add new dependencies
uv add package-name
Some dependencies like python-rtmidi
may require additional system libraries. Install them optionally:
uv sync --extra rtmidi