Contributing Guidelines

Thank you for looking into contributing to KPP! KPP is an open-source package that relies on contributions from community members like you. Whether you’re a new or longtime KPP user, you’re a valued member of the community, and we want you to feel empowered to contribute.

We use GitHub and ReadTheDocs

We use GitHub to host the KPP source code, to track issues, user questions, and feature requests, and to accept pull requests: https://github.com/KineticPreProcessor/KPP. Please help out as you can in response to issues and user questions.

We use ReadTheDocs to host the KPP user documentation: https://kpp.readthedocs.io.

How to submit changes

We use GitHub Flow, so all changes happen through pull requests. This workflow is described here: GitHub Flow. If your change affects multiple submodules, submit a pull request for each submodule with changes, and link to these submodule pull requests in your main pull request.

As the author you are responsible for: - Testing your changes - Updating the user documentation (if applicable) - Supporting issues and questions related to your changes in the near-term

Coding conventions

The KPP codebase dates back several decades and includes contributions from many people and multiple organizations. Therefore, some inconsistent conventions are inevitable, but we ask that you do your best to be consistent with nearby code.

How to request an enhancement

We accept feature requests through issues on GitHub. To request a new feature, open a new issue and select the feature request template. Please include all the information that might be relevant, including the motivation for the feature.

How to report a bug

Please see “Support Guidelines”.

Where can I ask for help?

Please see “Support Guidelines”.