Contributing Guidelines
Contributions to fractopo
are welcome and highly appreciated.
Contributions do not have to be pull requests (i.e., code
contributions), rather it is very useful for you to report any issues
and problems you have in installing, using the software and
misunderstandings that might arise due to lacking or misleading
documentation.
If you are up for submitting code, an issue is first recommended to be created about your plans for the submission so it can be determined if the pull request is deemed suitable for the project and subsequently, time will not be wasted making pull requests that are not suitable.
In particular, when submitting a pull request:
Install the requirements for the project using
poetry
.poetry
uses thepyproject.toml
andpoetry.lock
files to replicate the development environment.Run the unit tests using
pytest
i.e.,poetry run pytest
. Some tests are very strict (regression tests i.e. the result should match exactly the previous test results) and therefore no strict requirements are made that all tests should always pass for every pull request. A few failing tests can always be reviewed in the pull request phase!Please write new tests if functionality is added or changed!
Style
See
pyproject.toml
for the supported Python versionsYou should set up pre-commit hooks to automatically run a number of style and syntax checks on the code. The
pre-commit
checks are the primary validation for the style of the code.New code should be documented following the style of the code base i.e., using the
sphinx
style.