LamaBlueprint is LamaLab’s opinionated, batteries‑included Cookiecutter template for starting modern Python projects. It began life as a fork of cookiecutter‑uv and has since been adapted and extended to match LamaLab’s tooling, conventions, and CI/CD workflow.
The template provides everything you need to go from git init to a production‑ready Python package – with zero manual yak‑shaving.
# with uv already installed
a) uvx cookiecutter https://github.com/lamalab-org/LamaBlueprint.git
# or the traditional way
b) pip install --user cookiecutter
cookiecutter https://github.com/lamalab-org/LamaBlueprint.gitAnswer a handful of prompts and the template will scaffold your new project.
Then cd into the freshly‑created directory and follow the generated `` to finish the setup (creating the lock‑file, activating the pre‑commit hooks, etc.).
- Dependency management with uv
- Choice between src and flat project layouts 🗂️
- CI/CD pipelines via GitHub Actions (lint, type‑check, tests, release) ⚙️
- Pre‑commit hooks powered by pre‑commit 🪄
- Code quality: ruff (linter/formatter) • mypy (static types) • deptry (unused/implicit deps)
- Testing & coverage with pytest ✅
- Docs generation with MkDocs Material 📚
- Multi‑Python compatibility tests via tox‑uv 🐍
- One‑click publishing to PyPI by creating a GitHub release 🚀
LamaBlueprint tracks upstream fixes while adding LamaLab‑specific polish (narrower lint rules, stricter CI presets, an extended pre‑commit line‑up, etc.). If you are already using cookiecutter‑uv you can opt‑in to LamaBlueprint by:
- Re‑generating your project in a separate branch using LamaBlueprint.
- Cherry‑picking the rendered configuration files (such as ``, CI workflow files, and docs configuration).
- Adjusting project‑specific code where necessary.
- Originally based on Florian Maas’s cookiecutter‑uv.
- Some layout ideas are inspired by Audrey Feldroy’s cookiecutter‑pypackage.
