Shared core library for opinionated professional Python project tools.
This library centralizes functionality across tools, including:
- repository root and project detection
pyproject.tomlinspection- Python package and source-layout detection
- notebook detection
- Python version normalization
- project and package name normalization
- safe repository-relative path handling
- Git and repository metadata inspection
- managed file-section detection and manipulation
- shared immutable types and errors
pup-core contains shared mechanisms rather than project policy.
The user-facing tools determine what should happen:
pup-upsynchronizes professional project scaffolding with managed templates.pup-checkverifies that a project is internally consistent.pup-tidyremoves known generated artifacts when preparing teaching repositories for release.
Show command reference
Open a machine terminal where you want the project:
git clone https://github.com/pup-pack/pup-core
cd pup-core
code .uv self update
uv python pin 3.15
uv lock --upgrade
uv sync --upgrade
uv run pre-commit install
uv run pre-commit autoupdate
git add -A
uv run pre-commit run --all-files
# repeat if changes were made
uv run pre-commit run --all-files
# types, tests, docs
uv run python -m pyright
uv run python -m pytest
uv run python -m zensical build
# save progress
git add -A
git commit -m "update"
git push -u origin main