Best practices cookiecutter template as described in this blogpost.
- Testing with pytest
- Formatting with black
- Import sorting with isort
- Static typing with mypy
- Linting with flake8
- Git hooks that run all the above with pre-commit
- Deployment ready with Docker
- Continuous Integration with GitHub Actions ** On this fork **
- add setup.py
# Install pipx if pipenv and cookiecutter are not installed
# Use cookiecutter to create project from this template
cookiecutter gh:LEAD-Machine-Learning/python-best-practices-cookiecutter
# Enter project directory
cd <repo_name>
# Initialise git repo
git init
# Install dependencies
pip install -e ".[test]"
# Setup pre-commit and pre-push hooks
pre-commit install -t pre-commit
pre-commit install -t pre-push