- 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
# Install pipx if pipenv and cookiecutter are not installed
python3 -m pip install pipx
python3 -m pipx ensurepath
# Use cookiecutter to create project from this template
pipx run cookiecutter gh:christophalt/pytorch-lightning-hydra-cookiecutter
# Enter project directory
cd <repo_name>
# Initialise git repo
git init
# [OPTIONAL] Create conda environment
bash bash/setup_conda.sh
# Activate conda environment
conda activate <env_name>
# install requirements
pip install -r requirements.txt
# Setup pre-commit and pre-push hooks
pre-commit install -t pre-commit
pre-commit install -t pre-push
This template is largely based on the following projects: