
Welcome to Python Copier Template's Documentation¶
A modern Python package template using Copier that gets you from zero to production-ready in minutes. Answer a few questions, and Copier renders a complete project with testing, linting, documentation, CI/CD, and release automation - all wired up and ready to go.
Features¶
- Modern tooling: uv for 10-100x faster package management
- Code quality: ruff for ultra-fast linting and formatting
- Type checking: ty with strict mode enabled
- Testing: pytest with coverage and docstring testing
- Documentation: MkDocs with Material theme and ReadTheDocs
- CI/CD: GitHub Actions for testing, linting, releases, and coverage reporting
- Automated releases: Tag-based workflow with changelog generation, GitHub releases, and PyPI publishing with manual approval gate
- Pre-commit hooks: Automated code quality checks on every commit
- Build system: Modern PEP 517/518 with hatchling + hatch-vcs
- Task automation: nox and just
Get Started¶
- Quick Start - Create your package in 5 minutes
How-to Guides¶
- Set Up CI/CD Services - Configure Codecov, PyPI, ReadTheDocs
- Customize Your Project - Adjust ruff rules, coverage, hooks
- Update from Template - Pull in template improvements
- Add Dependencies - Manage runtime and dev dependencies
- Contribute to the Template - Help improve the template
Reference¶
- Template Variables - All configurable options
- Project Structure - Generated file tree and roles
- Commands - just, nox, and uv command reference
- GitHub Workflows - CI/CD workflow details
- Configuration Files - Tool configuration reference
Explanation¶
- Architecture Overview - How the template is designed
- Release Process - How automated releases work