Quarto website with per-post Python environments.
Full site (uses frozen/cached Python outputs):
quarto renderIndividual post with specific dependencies:
cd blog/postname
uv sync
uv run quarto render index.qmdPosts needing specific package versions have their own pyproject.toml and uv.lock in their directory. When rendered with uv run, they use their isolated environment.
The _freeze/ directory caches Python execution results. Full site renders use these cached outputs without re-executing Python.
- Create
blog/newpost/pyproject.tomlwith required packages - Run
cd blog/newpost && uv sync && uv run quarto render index.qmd - Commit the
_freeze/output