First, thanks for being interested in contributing to reapy
!
There are several ways you can contribute to the project:
Some features of reapy
may have been too quickly tested and have bugs. Don't hesitate to report them by creating an issue.
The API doesn't cover the whole ReaScript API yet. If some features are critical to you, please open an issue. It will help prioritize future work.
Direct contributions to the code are warmly welcomed. You can contribute by hitting the Fork button in the top right corner of the project page.
Documentation aims to follow the numpy docs convention. Yet the docstrings are far from correct for now, so feel free to improve them.
There are two ways of adding features:
- wrapping ReaScript API (i.e. pick a ReaScript API function and include it in
reapy
), - extending the API beyond ReaScript (i.e. building new features that you find the ReaScript API misses).
In both cases, the code should:
- follow PEP style conventions as much as possible. You can check your code is PEP-compliant with the Python package pycodestyle.
- follow the change log convention here. Basically, all changes to the API (addition, removal, or bug fixes) must be reported in the
Unreleased
section of CHANGELOG.md under the corresponding subsections (Added
,Removed
,Fixed
, etc.).
We try to make the use of type checkers (such as mypy) compatible with reapy. Each reapy module module.py
thus has a corresponding module.pyi
file that contains type hints.
However, support for type hinting is not our top priority. Thus, if you don't master type hinting, but still want to contribute, feel free to only change the .py
files. We will take care of making the corresponding .pyi
changes afterwards.