# Contributing to PEtab SciML First, thanks for taking the time to contribute to PEtab SciML! Contributions of all kinds help improve the format, documentation, and tooling for everyone. ## Ways to contribute We welcome contributions in many forms, including (but not limited to): - Extending or improving the [documentation and examples](https://petab-sciml.readthedocs.io/latest/introduction.html) - New library functionality - Additional minimal [PEtab SciML test cases](https://github.com/PEtab-dev/petab_sciml_testsuite) - Proposing extensions to the PEtab SciML format (see below) ## Extending PEtab SciML PEtab SciML may not cover all use cases. If you have a proposal to extend the format, please open an [issue](https://github.com/PEtab-dev/petab_sciml/issues) in this repository. In general, format extensions should be discussed in an issue before submitting a pull request. ## Contributions to this repository General: - Use descriptive commit messages. Code contributions: - Follow the [PEP 8 style guide](https://www.python.org/dev/peps/pep-0008/). - Cover new functionality with unit tests. - Use Python type hints. - Document all public modules, functions, classes, and arguments in a style consistent with the rest of the library. Documentation contributions: - Wrap lines at 79 characters where practical (long links may exceed this) - Use US English spelling. To contribute to this repository: - Open a pull request. - By opening a pull request, you agree that your contribution will be made available under the license terms in the repository’s [LICENSE](https://github.com/PEtab-dev/petab_sciml/blob/master/LICENSE). - Assign a reviewer, or otherwise indicate that the pull request is ready for review. - Address feedback. If you have not received feedback after a week, feel free to send a gentle reminder.