Skip to content

Python App Template

A small, opinionated starting point for modern Python applications. It includes packaging, tests, linting, type information, Docker support, pre-commit hooks, and a documentation site deployed with GitHub Pages.

Get started

You need Python 3.10 or newer and the uv package manager.

git clone https://github.com/PierreLapolla/python_template.git
cd python_template
uv sync
uv run pre-commit install

Run the example application:

uv run app

The command writes Hello from python-template! through the configured logger.

What is included

  • A src package layout with typed-package support
  • Dependency and environment management with uv
  • Tests and coverage with pytest
  • Linting and formatting with Ruff
  • Git hooks with pre-commit
  • A multi-stage, non-root Docker image
  • Documentation built by Zensical and deployed by GitHub Actions

See Development for common commands and instructions for adapting the template.