Cookiecutter template for new Python projects
A template for new Python projects, with:
- poetry (with poetry-dynamic-versioning)
- pytest
- pre-commit
- mypy
- black
- flake8 (with bugbear, simplify, and pep8-naming)
- autoflake
- pyupgrade
- bandit
- cruft
- GitHub Actions support
- Coverage reports with codecov.io
Via pipx
:
pip install pipx
pipx install poetry
pipx inject poetry poetry-dynamic-versioning poetry-pre-commit-plugin
Via pip
:
pip install poetry
poetry self add poetry-dynamic-versioning poetry-pre-commit-plugin
With cruft via script
poetry install
poetry run new-cookie <path> # or poetry run cruft create
With cookiecutter directly
pip install cookiecutter
cookiecutter https://github.com/smkent/cookie-python
- Setup:
poetry install
- Run static checks:
poetry run poe lint
orpoetry run pre-commit run --all-files
- Run static checks and tests:
poetry run poe test
- Update test expected output files from test results:
poetry run poe updatetests