A Python project scaffold with strict quality gates, 100% test coverage, and one-command project creation.
Create a new project from this scaffold:
make new PROJECT=my_appThis clones the scaffold, runs the bootstrap renamer, initializes a git repo, creates a public GitHub repo, pushes, and configures branch protection — all in one step.
# Clone the repository
git clone https://github.com/grggls/python-scaffold.git my_app
cd my_app
rm -rf .git
# Rename the scaffold to your project name
python scripts/bootstrap.py my_app
# Initialize and push
git init && git add . && git commit -m "Initial commit"
# Install dependencies
make dev# Run the CLI
uv run myproject
# With verbose output
uv run myproject --verbose
# Show version
uv run myproject --version# Run all quality checks (lint, format, typecheck, test)
make check
# Run tests with coverage
make test-cov
# Auto-format code
make format
# See all available commands
make helppython-scaffold/
├── src/myproject/ # Package source code
│ ├── __init__.py # Package version
│ ├── config.py # Configuration from environment
│ ├── main.py # CLI entry point
│ └── py.typed # PEP 561 type marker
├── tests/ # Test suite
├── docs/ # Documentation source
├── .github/workflows/ # CI/CD pipeline
├── pyproject.toml # Project configuration
├── Makefile # Development commands
└── Dockerfile # Container build
# Serve docs locally with live reload
make docs-serve
# Build static documentation
make docs-build# Build image
make docker-build
# Run container
make docker-run
# Development with docker-compose
docker-compose up