Skip to content

Repository files navigation

Templates

License: MIT Check Links Dependabot

pup logo

Canonical baseline files for professional Python repositories.

This repository stores reusable project files, configuration files, workflow files, and documentation scaffolding for professional course, tooling, and software engineering repositories.

The template layers are additive. Later layers override earlier layers when a repository profile needs a more specific version of the same file.

Layers

Common additive layers include:

ALL
ALL-PY
ALL-PY-SRC
ALL-PY-SRC-PYPI

Requirements

Nothing is required to use the template files manually. Copy and adapt files as needed.

For managed updates, the pup-up command can fetch files from this repository and apply the appropriate layered baseline to a target repository.

# dry run: show what would change
uvx pup-up

# same, but force the latest pup-up version
uvx pup-up@latest

# see the differences
uvx pup-up --diff

# actually add and overwrite the files listed (CAUTION: DESTRUCTIVE)
uvx pup-up --write

Developer Command Reference

Open a machine terminal where you want the project:

git clone https://github.com/pup-pack/templates

cd templates
code .

Add SHAs to Actions and Check

# Update GitHub Actions and pin all action references to immutable SHAs
uvx gha-tools autoupdate --pin=all --write .github/workflows
uvx gha-tools autoupdate --pin=all --write ALL/.github/workflows
uvx gha-tools autoupdate --pin=all --write ALL-PY/.github/workflows
uvx gha-tools autoupdate --pin=all --write ALL-PY-SRC/.github/workflows
uvx gha-tools autoupdate --pin=all --write ALL-PY-SRC-PYPI/.github/workflows

# Then audit the resulting GitHub configuration for security findings
uvx zizmor@latest .github/
uvx zizmor@latest ALL/.github/
uvx zizmor@latest ALL-PY/.github/
uvx zizmor@latest ALL-PY-SRC/.github/
uvx zizmor@latest ALL-PY-SRC-PYPI/.github/

uvx zizmor@latest --fix=all .github/
uvx zizmor@latest --fix=all ALL/.github/
uvx zizmor@latest --fix=all ALL-PY/.github/
uvx zizmor@latest --fix=all ALL-PY-SRC/.github/
uvx zizmor@latest --fix=all ALL-PY-SRC-PYPI/.github/

Git add-commit-push to GitHub

# save progress
git add -A
git commit -m "update"
git push -u origin main

Annotations

.annotations/annotations.md

Citation

CITATION.cff

License

MIT

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages