My personal template for Python projects.
- Modern Python tooling with uv for dependency management and environment setup
- Generated
pyproject.tomlwith project metadata, dependencies, tool config, and build settings - Just recipes with just for checking, coverage, testing, linting, formatting, and building
- Code quality tooling with ruff, pyrefly, and pre-commit hooks
- Testing setup with pytest, coverage, and uv-powered local cross-version test runs from
.python-versions - Optional GitHub Actions workflows for linting, testing, and PyPI publishing
- Optional GitHub repository setup through GitHub CLI
- License selection using choosealicense.com license text
- Generated
README.mdwith badges and installation instructions - Optional documentation setup with Read the Docs, Sphinx, Furo, MyST, API docs, and project links
- Python 3.12+
- sprout
- Git
- GitHub CLI (optional)
sprout "https://github.com/zigai/python-project-template.git" /path/to/your/projectyour-project/
├── your_package/
│ ├── __init__.py
│ └── py.typed
├── .github/workflows/ # optional selected workflows
├── .python-version # default local Python version
├── .python-versions # local test matrix Python versions
├── .pre-commit-config.yaml
├── pyproject.toml
├── README.md
├── CONTRIBUTING.md
├── docs/ # optional Read the Docs site
├── .readthedocs.yaml # optional Read the Docs config
├── Justfile
├── LICENSE # omitted when no license is selected
└── .gitignore