A strongly opinionated, bleeding-edge Python template
Install the latest Cookiecutter
pip install -U cookiecutter
and generate a Python
package project:
cookiecutter gh:billsioros/cookiecutter-pypackage
An up-to-date instance of the cookicutter template can be found here
- Dependency tracking using
Poetry
. - Multi-version documentation extracted from source code provided by
MkDocs
,mkdocstrings
,Material for MkDocs
andmike
and hosted onGitHub Pages
. - Automated dependency and security updates with
Renovate
andDependabot
. - Formatting provided by
black
andisort
. - Testing setup with
pytest
. - Coverage reports with
Coverage.py
andCodecov
. - Static type checking by
mypy
. - Security checks with
CodeQL
. - Linting provided by
Ruff
. - Git hooks managed by
pre-commit
. - Development tasks (lint, format, test, etc) provided by
Poe The Poet
. - CI facilitated by
Github Actions
. - Automated CHANGELOG generation,
GitHub releases
andPyPI releases
facilitated byPython Semantic Release
. - Preview documentation changes introduced via a PR on
surge
. - Automatically fix typos in your source code and documentation via
Misspell Fixer
. - Beautiful
YAML issue templates
. - Informative
PR template
andSecurity Policy
. - Inform new contributors about the project's guidelines using
First Interaction
. - Add informative comments on issues & PRs based on assigned labels using
Label Commenter
. - Manage project labels with
GitHub Labeler
. - License scanning provided by
GitHub Dependency Review
. - Automatically update the copyright year span using
Update License Year
. - Pre-configured funding on
Buy Me a Coffee
. - Automatically close stale issues/PRs using
Stale Bot
. - Ready-to-use
.editorconfig
and.gitignore
. - Be always ready to code using
GitHub Codespaces
.
The template supports Python 3.7 or higher.
@misc{cookiecutter-pypackage,
author = {Vasilis Sioros},
title = {cookiecutter-pypackage: A strongly opinionated, bleeding-edge Python template},
year = {2023},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/billsioros/cookiecutter-pypackage}}
}
The project's documentation can be found here.
Feel free to Buy me a coffee! ☕.
If you would like to contribute to the project, please go through the Contributing Guidelines first.