Please contribute to this repository through creating issues and pull requests.
Bugs reports and enhancement suggestions are tracked via issues. Each issue can contain following information:
- A clear and descriptive title
- Description
- Current behavior and expected behavior
- Error message and stack trace
Issues should serve as the basis for creating a merge request. They should have at least one tag associated with them.
Merge requests are created to address one single issue or multiple. Either the assignee or the creator of the merge request is responsible for merging. Each merge request has to be approved by at least one reviewer before merging it. A person can be assigned as reviewer by either mark them as such or asking for a review by tagging the person in the description/comment of the merge request.
A merge request can be made even if the branch is not ready to yet to be merged. When doing so please mark them as Work-in-Progress by writing WIP
at the beginning of the title. This way people/reviewer know that currently someone is working to address an issue. This gives them the opportunity share their thoughts knowing that the merge request is still subject to change and does not need a full review yet.
The CHANGELOG.md describes changes made in a merge request. It should contain a short description of the performed changes, as well as (a) link(s) to issue(s) or merge request.
- Dev makes a PR/MR.
- Rev reviews and raises some comments.
- Dev addresses the comments and leaves responses explaining what has to be done. In cases where Dev just implemented Rev's suggestion, a simple "Done" is sufficient.
- Rev reviews the changes and
- If Rev is happy with a change, then Rev resolves the comment.
- If Rev is still unsatisfied with a change, then Rev adds another comment explaining what is still missing.
- Restart from 3 until all comments are resolved.
All development work is based on the main branch (main
). Merge requests are expected to target the main branch.
This project uses ruff
to ensure consistent code style. See the pyproject.toml
file for configuration.
poetry run ruff format .
poetry run ruff .
In addition, pre-commit is set up to run those tools prior to any git commit. In contrast to above described commands running these hooks will not apply any changes to the code base. Instead, 'pre-commit' checks if there would be any changes to be made. In that case simply run above commands manually.
Please provide tests.
- Troubleshooting -> docs/troubleshooting.md
- How are indicators structured? -> docs/indicator.md.