A nice library.
Project description
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 topip install commitizen
and then commit using:cz c
(orcz c --retry
if the last one failed). -
docs from scratch:
- Add docs folder and requirements.txt with
sphinx
andsphinx-rtd-theme
- Add docs folder and requirements.txt with
-
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:
- TUT init check_installation
- autoimports in each init
- dcase test tools
- pylintrc?
- custom "asteroid" sphinx theme
- mypy (not needed in research code)
- gitignore.io
- dependabot https://dependabot.com/github-actions/
- Ignore commits in changelog: https://github.com/conventional-changelog/conventional-changelog/issues/342
- Deploy to conda-forge
- change docstring style to napoleon
- add doctest
- Add changelog to autodocs
- Integrate wiki. Add wiki to autodocs
- Autocomment: https://github.com/marketplace/actions/label-commenter
TODO:
- CML+ Complete ML project
- Generalize runner to GPU, home and GitLab
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for aferro_ml_lib-0.7.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a4f628cccab4186674a7af5d1bf010a46f7f1823b688113e1e83736760335b9a |
|
MD5 | a3f428214f41350fba14eb40aafd3d67 |
|
BLAKE2b-256 | 6b77a6288ca9f64a479743861ca11f58fce7304e0927ef4813c5c11690d43123 |