Dispatch
uv 0.12.0 makes src/ layout and a build backend the default for uv init
Astral's uv 0.12.0 changes what `uv init` scaffolds: instead of a flat main.py at the project root, it now generates a src/ layout with a package directory, adds a build-system block wiring the uv_build backend for wheels and .tar.gz distributions, includes an authors list in pyproject.toml, and registers a script alias so `uv run <project>` calls main() from the package __init__.py. Simon Willison flagged these as interesting breaking changes that push new projects toward distributable packaging by default rather than the simpler flat script layout. Anyone with tooling or templates that assume root-level main.py should check them against 0.12.0.
↳ Follow the thread