Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given.
When reporting a bug please include:
- Your operating system name and version.
- Any details about your local setup that might be helpful in troubleshooting.
- Detailed steps to reproduce the bug.
oemof-solph could always use more documentation, whether as part of the official oemof-solph docs, in docstrings, or even on the web in blog posts, articles, and such.
The best way to send feedback is to file an issue at https://github.com/oemof/oemof-solph/issues.
If you are proposing a feature:
- Explain in detail how it would work.
- Keep the scope as narrow as possible, to make it easier to implement.
- Remember that this is a volunteer-driven project, and that code contributions are welcome :)
To set up oemof-solph for local development:
Fork oemof-solph (look for the "Fork" button).
Clone your fork locally:
git clone [email protected]:oemof/oemof-solph.git
Create a branch for local development:
git checkout -b name-of-your-bugfix-or-feature
Now you can make your changes locally.
When you're done making changes run all the checks and docs builder with tox one command:
tox
Commit your changes and push your branch to GitHub:
git add . git commit -m "Your detailed description of your changes." git push origin name-of-your-bugfix-or-feature
Submit a pull request through the GitHub website.
If you need some code review or feedback while you're developing the code just make the pull request.
For merging, you should:
- Include passing tests (run
tox
) [1]. - Update documentation when there's new API, functionality etc.
- Add a note about the changes to
docs/whatsnew/next_version.rst
. - Add your name to
AUTHORS.rst
andCITATION.cff
.
[1] | If you don't have all the necessary python versions available locally, you can rely on the CI pipeline at GitHub. It will be slower though ... |
To run the all tests run:
tox
Note, to combine the coverage data from all the tox environments run:
Windows | set PYTEST_ADDOPTS=--cov-append tox |
---|---|
Other | PYTEST_ADDOPTS=--cov-append tox |
To run only parts of the testing pipeline (e.g. documentation, stylcheck, specific python version):
tox -e envname
Available standard environments are:
clean check docs py39 py310 py311
To run a subset of tests:
tox -e envname -- pytest -k test_myfeature
To run all the test environments in parallel (you need to pip install detox
):
detox