Developer overview¶
Contributing¶
Supriya accepts contributions on GitHub.
When fixing bugs, fork the repository and open a pull request against it.
When suggesting features, please open an issue or start a discussion on GitHub before opening a pull request. Just like with Python itself, not everything needs to be part of the base project. If the feature is deemed worth adding to the base project, proceed like opening a bug: fork the repo and open a pull request.
See the following sections for more detailed guidance on developing Supriya itself.
Editorial
I (Joséphine) am exceedingly disinterested in helping package Supriya for random Linux distributions. Please just install Supriya from PyPI. There’s no reason to package it up for Arch, etc. That just creates a graveyard of unmaintained ancient packages which - if anyone even notices them - can become a burden for me.
Tooling¶
Supriya provides a Makefile
with targets for common local development tasks:
josephine@laptop:~/supriya$ make
make[2]: Entering directory '/home/runner/work/supriya/supriya'
clean Clean-out transitory files
docs-clean Build documentation from scratch
docs Build documentation
help This help
lint Run all linters
mypy-cov Type-check via mypy with coverage reported to ./mypycov/
mypy-strict Type-check via mypy strictly
mypy Type-check via mypy
pytest Unit test via pytest
reformat Reformat codebase
ruff-format-fix Lint via ruff
ruff-format Lint via ruff
ruff-imports-fix Format imports via ruff
ruff-imports Format imports via ruff
ruff-lint-fix Lint via ruff
ruff-lint Lint via ruff
make[2]: Leaving directory '/home/runner/work/supriya/supriya'