First of all, thanks for considering contributing to pydov! It's people like you that make it rewarding for us - the project :ref:`authors` - to work on pydov.
pydov is an open source project, maintained by people who care. We are not directly funded to do so.
Please note that this project is released with a :ref:`code_conduct`. By participating in this project you agree to abide by its terms.
There are several ways you can contribute to this project. If you want to know more about why and how to contribute to open source projects like this one, see this Open Source Guide.
Think pydov is useful? Let others discover it, by telling them in person, via social media or a blog post.
Using pydov for a paper you are writing? Consider citing it:
Roel Huybrechts, Stijn Van Hoey, Pieter Jan Haest, Johan Van de Wauw, Joris Synaeve, Guillaume Vandekerckhove, Killian Paenen, Peter Desmet, Gilles Trenson, sweco-begilt, Joris Van den Bossche, marleenvd, & Shaun. (2023). Zenodo. https://doi.org/10.5281/zenodo.2788680
Using pydov 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 or the discovery of bugs.
Want to ask a question in private? Contact DOV directly by email.
Have an idea for a new pydov feature? 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, it helps to:
- Explain in detail how it would work.
- Keep the scope as narrow as possible.
See below, :ref:`docs-technical`, if you want to contribute code for your idea as well.
Using pydov 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.
- Detailed steps to reproduce the bug.
Noticed a typo on the website? Think a function could use a better example? Good documentation makes all the difference, so your help to improve it is very welcome! Maybe you've written a good introduction tutorial or example case, these are typically very popular sections for new users.
The website
This website is generated with Sphinx. That means we don't have to
write any html. Content is pulled together from documentation in the code,
notebooks, reStructuredText files and the package conf.py
settings. If you
know your way around Sphinx, you can propose a file change to improve
documentation. If not, report an issue and we can point you in the right direction.
For more technical details about the Sphinx setup of the pydov project, See the :ref:`docs-technical` section.
Function documentation
Functions are described as comments near their code and translated to documentation using the numpy docstring standard. If you want to improve a function description:
- Go to
pydov/
directory in the code repository. - Look for the file with the name of the function.
- Propose a file change to update the function documentation in the docstring (in between the triple quotes).
Care to fix bugs or implement new functionality for pydov? Awesome! Have a look at the issue list and leave a comment on the things you want to work on.
Make sure to setup your development environment and check the :ref:`development guidelines <dev-guidelines>` to see ow we develop the pydov package.
Made something cool using pydov, that might be useful for others too? Feel free to share it, and be sure to let us know so we can include a reference in our documentation and help promote it.
Smaller scripts and tools can be included in the contrib section of our repository too. Don't hesitate to open a pull request to add yours!
The contribution section is not maintained by the pydov core team and does not require the same level of e.g. test coverage as does the main pydov code. The minimum to provide besided the script itself is a README.md with minimal information on what it does and how to use it, and a requirements.txt file if your script requires additional dependencies.