Skip to content

Repository files navigation

pup-core: Professional Python Project Tools: Core Library

PyPI Docs Site Repo Python 3.15 License

CI Docs-Deploy Pre-Release Release Links Dependabot

pup logo

Shared core library for opinionated professional Python project tools.

Purpose

This library centralizes functionality across tools, including:

  • repository root and project detection
  • pyproject.toml inspection
  • 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-up synchronizes professional project scaffolding with managed templates.
  • pup-check verifies that a project is internally consistent.
  • pup-tidy removes known generated artifacts when preparing teaching repositories for release.

Professional Python Project Tools

Template Source

Developer Command Reference

Show command reference

In a machine terminal

Open a machine terminal where you want the project:

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

cd pup-core
code .

In a VS Code terminal

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

Documentation

Annotations

.annotations/annotations.md

Citation

CITATION.cff

License

MIT

About

Shared core library for opinionated professional Python project tools.

Topics

Resources

Code of conduct

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages