Contributing¶
Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given.
Reporting bugs and requesting features¶
File an issue at https://github.com/arkottke/pyrotd/issues. For a bug, please include your operating system and Python version, and the steps to reproduce it. For a feature, explain how it would work and keep the scope as narrow as possible. This is a volunteer-driven project.
Setting up for development¶
Fork the repository on GitHub and clone your fork:
git clone git@github.com:your_name_here/pyrotd.git cd pyrotd
Create a branch for your change:
git checkout -b name-of-your-bugfix-or-feature
Run the tests, lint and format with uv:
uv run --extra test pytest uv run --extra style ruff check src/ tests/ uv run --extra style ruff format src/ tests/
The tests write comparison plots only if the
PYROTD_PLOT_DIRenvironment variable names a directory.Build the documentation with:
uv run --extra docs sphinx-build -b html docs docs/_build/html
Commit your changes, push your branch, and open a pull request.
Pull request guidelines¶
Include tests. Check results against an independent solution when you change a calculation (see
tests/test_reference.py).If the pull request adds functionality, document it in a docstring that follows the NumPy conventions, and list it in the README.
The pull request should work for Python 3.13 and later. The GitHub Actions workflow runs the tests on the supported versions.