Project overview¶
uv-forge generates a complete, opinionated Python project so you can start writing code instead of wiring up tooling. It’s a Copier template — the maintained successor to the cookiecutter “hypermodern Python” line — built around the fast, Rust-based Astral toolchain (uv, Ruff, ty) alongside mypy, nox, and Sphinx.
Goals¶
Batteries included, opinionated. A generated project ships linting, formatting, typing, testing with 100% coverage, docs, and a release pipeline that already works.
Maintained and updatable. Because it’s Copier, you can
copier updatean existing project to pull in template improvements — something cookiecutter can’t do. A goal is to consolidate the scattered, often-unmaintained hypermodern-python forks into one well-kept template.Secure by default. Workflows are SHA-pinned and least-privilege, linted with zizmor and actionlint; releases use trusted publishing, Sigstore signing, and SLSA build provenance.
Options at a glance¶
uv-forge asks a few questions when generating (see Options):
extension— pure-Python (Hatchling) or mypyc-compiled wheels.docs_host— Read the Docs or GitHub Pages.license— MIT, Apache-2.0, or GPL-3.0.
Origins¶
uv-forge is an ultramodern evolution of the Hypermodern Python lineage — Claudio Jolowicz’s Hypermodern Python article series and its cookiecutter template, by way of the uv-based fork cookiecutter-uv-hypermodern-python. uv-forge is the maintained Copier successor. Thanks to Claudio Jolowicz and that community.
License¶
uv-forge itself is distributed under the MIT license. Generated projects get whichever license
you pick from the license question.