Contributing guidelines¶
Make sure to discuss any changes you would like to make in the issue board, before putting in any work.
Setup¶
Development install:
pip install -e '.[all]'
Unit testing:
pytest
We use pre-commit hooks to ensure code styling. Install with:
pre-commit install
Now if you install it (which you are encouraged to do), you are encouraged to do the following command before committing your work:
pre-commit run --all-files
This will allow you to quickly see if the work you made contains some adaptions that you still might need to make before a pull request is accepted.
Documentation¶
We use mkdocs with mkdocs-material theme. The docs are structured using the divio documentation system. To view the docs locally:
pip install mkdocs-material
mkdocs serve
Releases and versioning¶
We use semver for versioning. When we are ready for a release, the maintainer runs:
git tag -a v0.1 -m "skorecard v0.1" && git push origin v0.1
When we create a new github release a github action is triggered that:
- a new version will be deployed to pypi
- the docs will be re-built and deployed
Logo¶
- We adapted the 'scores' noun
- We used this color scheme from coolors.co
- We edited the logo using https://boxy-svg.com/app
Terminology¶
BucketMapping
is a custom class that stores all the information needed for bucketing, including the map itself (either boundaries for binning, or a list of lists for categoricals)FeaturesBucketMapping
is simply a collection ofBucketMapping
s, and is used to store all info for bucketing transformations for a dataset.