We welcome anyone interested in contributing to this project, be it with new ideas, suggestions, by filing bug reports or contributing code to our GitHub repository.
- If you already have some code changes, you can submit them directly as a pull request.
- If you are wondering where we would greatly appreciate your efforts, check out the
help wanted
tag in the issues list and initiate a discussion there. - If you start working on a feature in the code, let us know by opening an issue or a draft pull request. This helps all of us to keep an overview on what is being done and helps to avoid a situation where we are doing the same work twice in parallel.
For linting, formatting and checking your code contributions against our guidelines (e.g. we use Black as code style use pre-commit:
- Installation
mamba install -c conda-forge pre-commit
orpip install pre-commit
- Usage:
- To automatically activate
pre-commit
on everygit commit
: Runpre-commit install
- To manually run it:
pre-commit run --all
- To automatically activate
Note
Note that installing pre-commit
locally is not strictly necessary. If you create a Pull Request the pre-commit CI
will be triggered automatically and take care of the checks.
For all code contributions we follow the four eyes principle (two person principle), i.e. all suggested code including our own are reviewed by a second person before they are incorporated into our repository.
If you are unfamiliar with pull requests, the GitHub help pages have a nice guide.
To ask and answer general usage questions, join the PyPSA mailing list.
We strive to keep documentation useful and up to date for all PyPSA users. If you encounter an area where documentation is not available or insufficient, we very much welcome your contribution. Here is How To:
- Install the conda environment for documentation from the PyPSA repository. (Here is how to install a conda environment.)
- Make your changes in the corresponding .rst file under
pypsa-eur/doc
. - Compile your changes by running the following command in your terminal in the
doc
folder:make html
You may encounter some warnings, but end up with a message such asbuild succeeded, XX warnings.
. html files to review your changes can then be found underdoc/_build/html
. - Contribute your documentation in a pull request (here is a guide).