A modern, "Zero Friction" and "Full Quality" Cookiecutter template for Python 3.12+ projects. Designed to get you up and running instantly with a production-ready development environment.
- Python 100%
| pytemplate | ||
| .gitignore | ||
| README.md | ||
PyTemplate
A modern, "Zero Friction" and "Full Quality" Cookiecutter template for Python 3.12+ projects.
Designed to get you up and running instantly with a production-ready development environment.
🚀 Features
- Dependency Management: uv (Blazing fast!)
- Linting & Formatting: Ruff
- Static Typing: MyPy (Strict mode)
- Testing: Pytest + coverage
- Security: Ruff (Bandit rules) + pip-audit (dependency audit)
- Documentation: Interrogate
- CI/CD: GitHub Actions workflow included
- Automation: Taskipy
📦 Usage
You can generate a new project directly from this template directory.
Prerequisites
You need cookiecutter installed. If you are using uv:
uv tool install cookiecutter
Formatting a new project
Run cookiecutter against the template directory (pytemplate):
uvx cookiecutter ./pytemplate
Follow the prompts to configure your project name, author, etc.
🛠️ Generated Project Commands
Once your project is generated, you can use uv directly:
cd <your-project-slug>
uv sync # Install dependencies
uv run task check # Run all the following checks
uv run task format # Run formatting
uv run task lint # Run linting
uv run task audit # Run security audit
uv run task docs # Run documentation checks
uv run task test # Run tests individually
uv run task build # Build the package
uv run task test-deploy # Upload to TestPyPI
uv run task deploy # Upload to PyPI