Skip to content

Repository files navigation

CPA Templates

License Python Version Discord

CI Integrity (L0) CI Templates (L1) CI Extensions (L2) CI Profiles (L3)

Official templates and extensions for create-awesome-python-app.

Quick start

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-docker

For local development against this checkout:

CI=true uvx create-awesome-python-app my-api \
  --template "file://$PWD?subdir=templates/fastapi-starter" \
  --no-interactive

Available templates

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
mlops-sklearn-starter mlops-sklearn CPU-first sklearn MLOps pipeline with YAML configs, step architecture, local MLflow, and batch/FastAPI serving

Documentation

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

Registry

The canonical catalog is templates.json, consumed by the CLI from:

https://raw.githubusercontent.com/Create-Python-App/cpa-templates/main/templates.json

CI

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.

Related repositories

👥 Contributors

Made with contributors-img.

About

No description, website, or topics provided.

Resources

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages