Start to collaborate

First of all, thanks for considering contributing to pySODM! It’s people like you that make it rewarding for me, the project author, to work on pySODM. There are several ways you can contribute to this project.

Share the love

Using pySODM for a research project and writing a paper? Consider citing it:

Tijs W. Alleman, Christian Stevens and Jan. M. Baetens. (2023). pySODM: Simulating and Optimising Dynamical Models in Python 3. Journal of Computational Science. DOI: https://doi.org/10.1016/j.jocs.2023.102148

Ask a question

Using pySODM code and got stuck? Browse the documentation to see if you can find a solution. Still stuck? Post your question as a New Issue on GitHub. While we cannot offer user support, we’ll try to do our best to address it, as questions often lead to better documentation, new insights or the discovery of bugs.

Report a bug

Using pySODM code and discovered a bug? That’s annoying! Don’t let others have the same experience and report it as a New Issue so we can fix it. A good bug report makes it easier for us to do so, so please include:

  • Your operating system name and version (e.g. Mac OS 10.13.6).

  • Any details about your local setup that might be helpful in troubleshooting.

  • A minimal working example to reproduce the bug.

The issue template will provide some guidance on the required information.

Propose an idea

Have an idea for pySODM? Take a look at the documentation and Issue list to see if it isn’t included or suggested yet. If not, suggest your idea as a New Issue on GitHub. While we can’t promise to implement your idea or do your model exercise, it helps to:

  • Explain in detail how it would work.

  • Keep the scope as narrow as possible.

Keep reading if you want to contribute code for your idea as well.

Contribute code

Care to fix bugs or implement new functionalities? Awesome! Have a look at the Issue list and leave a comment on the things you want to work on. When working on pySODM, make sure to read the Contribution Guidelines and keep them in mind. The main purpose of being rigid about the structure of the repository is to improve the general collaboration while keeping structure of the code in the long run and support reproducibility of the work. Still, it is work in progress and it should not block your work. In case you get stuck on something or you have a suggestion for improvement, feel free to open an New Issue on the repository.