Official templates and extensions for create-awesome-python-app.
Scaffold locally with the CLI:
# Interactive mode
uvx create-awesome-python-app
# With template and extensions
uvx create-awesome-python-app my-api \
--template fastapi-starter \
--addons github-setup fastapi-dockerFor local development against this checkout:
CI=true uvx create-awesome-python-app my-api \
--template "file://$PWD?subdir=templates/fastapi-starter" \
--no-interactive| Template | Type | Use case |
|---|---|---|
| fastapi-starter | fastapi-backend | Production-ready FastAPI API with feature-based layout, uv, Ruff, pytest, mypy, and pyright |
| cli-starter | cli-app | Typer CLI with multi-command layout, uv, Ruff, pytest, and a console script entry point |
| celery-worker | celery-worker | Celery worker with modular tasks, Redis defaults, pydantic-settings, and eager-mode tests |
| django-api | django-backend | Django + DRF API with feature apps, OpenAPI-friendly health probes, uv, and Ruff |
| uv-workspace-starter | uv-workspace | Python monorepo using uv workspaces: shared packages and apps with one lockfile, Ruff, and Pyright |
| File | Contents |
|---|---|
| docs/ARCHITECTURE.md | System overview, type system, generation flow |
| docs/AUTHORING.md | Directory layout, cpa.config.json, extensions |
| docs/AUTHORING.es.md | Spanish translation of AUTHORING.md |
| docs/TESTING.md | Local testing and CI workflow |
| docs/AI_ML_AUTHORING.md | Taxonomy and constraints for AI/ML templates and extensions |
| docs/recipes/FASTAPI_AI_ROUTE_OWNERSHIP.md | Prefix ownership, mounting, and middleware hooks for FastAPI AI extensions |
| CONTRIBUTING.md | How to add templates and extensions |
| docs/MAINTENANCE_RUNBOOK.md | Operating runbook: decision trees, checklists, and procedures for maintaining the CLI and templates |
| docs/MAINTENANCE_TEMPLATES.md | Guidance for inspecting, fixing, and adding templates and extensions |
| docs/MAINTENANCE_DEPENDENCIES.md | How to investigate, update, and resolve dependency conflicts |
| docs/MAINTENANCE_SECURITY.md | Procedures for triaging alerts, audits, and fixing CVEs |
| docs/MAINTENANCE_CI.md | How to diagnose, run, and troubleshoot CI workflows and layered matrices |
| docs/MAINTENANCE_RELEASE.md | Release and publishing guidance for PyPI tags, workflows, and verification |
The canonical catalog is templates.json, consumed by the CLI from:
https://raw.githubusercontent.com/Create-Python-App/cpa-templates/main/templates.json
| Workflow | Trigger | Scope |
|---|---|---|
| CI Integrity (L0) | PR + main + weekly | Registry paths + curated profiles |
| CI Templates (L1) | PR + main + weekly | Every template alone via uvx (PyPI) |
| CI Extensions (L2) | PR (changed) + weekly | One extension × canonical template |
| CI Profiles (L3) | PR (changed) + weekly | Curated stacks in ci/profiles/ |
Scaffolding always uses uvx create-awesome-python-app@latest from PyPI (never a source checkout of the CLI). Details: docs/TESTING.md, #46.
- create-python-app — CLI monorepo (scaffolding engine)
- Create-Python-App — organization home
Made with contributors-img.