Advanced techniques and configurations for create-awesome-python-app
Every CPA template is uv-first: dependencies live in pyproject.toml, the lockfile is uv.lock, and day-to-day commands go through uv run.
# Create a project (uv sync runs automatically unless --no-install) uvx create-awesome-python-app@latest my-app --template fastapi-starter # Install or refresh dependencies later cd my-app uv sync
--no-install when scaffolding if you want to review pyproject.toml before running uv sync yourself.Most templates offer extensions that include files for different CI/CD tools. These extensions provide ready-to-use configurations for popular CI/CD platforms:
The GitHub Setup extension adds GitHub Actions workflows for CI/CD, along with issue templates and other GitHub-specific configurations.
uvx create-awesome-python-app@latest my-app --template fastapi-starter --addons github-setup
The fastapi-docker extension adds a Dockerfile and Compose files for local and production container runs.
uvx create-awesome-python-app@latest my-app --template fastapi-starter --addons fastapi-docker
Here's a typical deployment workflow for a create-awesome-python-app project:
create-awesome-python-app offers the uv-workspace-starter template for Python monorepos with a single lockfile and shared tooling:
# Create a new uv workspace monorepo uvx create-awesome-python-app@latest my-monorepo --template uv-workspace-starter # Navigate to the project cd my-monorepo # Sync all workspace members uv sync # Run a member app (example) uv run --package apps-api uvicorn app.main:app --reload # Run tests across the workspace uv run pytest
The uv workspace starter includes:
pyproject.toml toolingpackages/ libraries and apps/ deployablesIf you encounter issues during installation:
Problem: Dependencies fail to install
Solution: Try using the --no-install flag and then install dependencies manually
uvx create-awesome-python-app my-app --no-installcd my-app && uv syncIf a template or extension is not found:
Problem: Specified template or extension doesn't exist
Solution: List available templates and extensions to check the correct names
uvx create-awesome-python-app --list-templatesuvx create-awesome-python-app --list-addonsIf you encounter compatibility issues between templates and extensions:
Problem: Extension is not compatible with the selected template
Solution: Check the extension's compatibility in the documentation or use the interactive mode
uvx create-awesome-python-app my-app --interactive--verbose flag to see detailed logs during project creation--info flag to print environment debug informationcreate-awesome-python-app offers a variety of templates and extensions. Here's how to list them:
# List all available templates uvx create-awesome-python-app --list-templates # List all available extensions uvx create-awesome-python-app --list-addons
You can also view the templates and extensions on the project's website or GitHub repository.
The interactive mode provides a guided experience for creating projects:
uvx create-awesome-python-app my-app --interactive
In interactive mode, you'll be prompted to:
This mode is especially useful for beginners or when you're not sure which template or extensions to use.