aferro-ml-lib

A nice library.


License
MIT
Install
pip install aferro-ml-lib==0.7.2

Documentation

CI docs badge PyPI version Code style: black

python_ml_template

First actions:

When setting up the repo (and potentially also the venv) from scratch, a few one-time actions are needed:

  • install pip dependencies
  • pre-commit install --install-hooks -t pre-commit -t commit-msg
  • git config branch.master.mergeOptions "--squash
  • Activate gh-pages web (otherwise the CI release will error here).

Features:

The following things are already integrated via CI, but can be run manually:

  • Utest: python -m unittest

  • utest with py coverage: coverage run -m unittest

  • flake8

  • all

  • using pre-commit, added commitizen to pre-commit (remember to pre-commit install --install-hooks -t pre-commit -t commit-msg). This enforces "conventional commits" style: https://www.conventionalcommits.org/en/v1.0.0/#summary To commit, reecommended to pip install commitizen and then commit using: cz c (or cz c --retry if the last one failed).

  • docs from scratch:

    1. Add docs folder and requirements.txt with sphinx and sphinx-rtd-theme
  • Centralized version and metadata. Setup works with very few parameters

  • To enforce squash merging to master, issue git config branch.master.mergeOptions "--squash" (info: https://stackoverflow.com/a/37828622)

  • GH pages action. Make sure that the repo server has publishing enabled, otherwise it will error.

  • PyPI: need a regular and a test account. Create a token for GH actions (if global only need to do this once). Then, in the GH repo, add that token under secrets->pypi. https://pypi.org/manage/account/token/

Further feature ideas/TODOs:

TODO:

  1. CML+ Complete ML project
  2. Generalize runner to GPU, home and GitLab