Developers
This section is for developers who want to contribute to the Pastas plugins repository.
How do I create my own plugin for Pastas?
Fork and clone the pastas-plugins repository.
Create a new folder under pastas_plugins/. E.g. pastas-plugins/my_plugin/.
Your folder contents should look something like this:
pastas_plugins/ my_plugin/ # your plugin folder __init__.py # init importing version and main functions my_plugin.py # your awesome contribution to Pastas here version.py # add a version number here
Under docs/plugins/ create a new .rst file for your plugin. E.g. my_plugin.rst. Write up your documentation, and use the autodoc directives to include the documentation of your custom classes/functions. See the other plugin examples for inspiration.
Under docs/examples add a notebook showcasing your plugin. E.g. my_plugin.ipynb. Add a link to this notebook in docs/examples/index.rst.
Under tests/ add a script, e.g. test_my_plugin.py that tests your code.
In pyproject.toml add a dependency group under [project.optional-dependencies]. Add any dependencies your plugin relies on. Don’t forget to add version numbers if necessary.
Commit and push your changes to your fork and submit a Pull Request to the main repository. Your contribution will be reviewed by the Pastas development team. Once it has been accepted, your plugin will be available to the Pastas community.
Celebrate! You are now a Pastas plugin developer!
Requirements
Your plugin should adhere to the following requirements:
Your plugin should be compatible with the latest version of Pastas.
Your plugin should be well-documented.
Your plugin should be tested. No tests means we will not review your contribution!
Include an example notebook showcasing your plugin.