Skip to content

Latest commit

 

History

History
47 lines (35 loc) · 1.31 KB

File metadata and controls

47 lines (35 loc) · 1.31 KB

Contributing to sonoscript

Thanks for taking the time to help out. This is a small project and I try to keep it approachable — bug reports, docs fixes and new palette voices are all welcome.

Development setup

sonoscript targets Python 3.9+ and depends only on NumPy at runtime.

git clone https://github.com/fayevans/sonoscript
cd sonoscript
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pre-commit install

Before you open a pull request

Run the same checks CI does:

ruff check .
ruff format --check .
mypy
pytest --cov=sonoscript

pre-commit runs the ruff hooks automatically on every commit, so most style issues are fixed for you.

Guidelines

  • Keep it dependency-light. New runtime dependencies are a hard sell; the point of the project is to stay small and offline.
  • Determinism matters. Anything that generates audio must be a pure function of its inputs (seed your randomness). Tests rely on it.
  • Add a test for any behaviour change, and a CHANGELOG.md entry under Unreleased for anything user-visible.
  • Keep commits focused and write a clear message.

Reporting bugs

Open an issue with a minimal script that reproduces the problem and what you expected to happen instead. A short WAV or a snippet that synthesises the input is ideal.