Skip to main content

pup-clean: Professional Python Project Cleaner

PyPI Docs Site Repo uv managed ty type checked Zensical docs MIT

CI Docs-Deploy Pre-Release Release Links Dependabot

pup logo

Opinionated professional Python repository cleaner

Purpose

pup-clean prepares professional Python repositories for release, distribution, reuse, or publication.

It removes known disposable development artifacts and inspects project source code to discover generated data, database, and image artifacts that may not belong in the cleaned repository.

Dry run is the default.

Nothing is deleted unless --delete is provided.

Clean a Repository

# see what would be removed (dry run, the default)
uvx pup-clean

# use the latest published version
uvx pup-clean@latest

# remove all detected generated artifacts (CAUTION: DESTRUCTIVE)
uvx pup-clean --delete

# preview only specified cleanup targets
uvx pup-clean project.log data/prepared/sales.csv

# delete only specified detected cleanup targets (CAUTION: DESTRUCTIVE)
uvx pup-clean --delete project.log data/prepared/sales.csv docs/images/sales_by_region.png

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-clean

cd pup-clean
code .

In a VS Code terminal

uv self update
uv python pin 3.15
uv python install
uv lock --upgrade
uv sync

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

# run locally to test and see all detected cleanup targets
uv run pup-clean

# delete all detected cleanup targets (CAUTION: DESTRUCTIVE)
uv run pup-clean --delete

# preview only specified cleanup targets
uv run pup-clean project.log data/prepared/sales.csv

# delete only specified detected cleanup targets (CAUTION: DESTRUCTIVE)
uv run pup-clean --delete project.log data/prepared/sales.csv docs/images/sales_by_region.png

# types, tests, docs
uv run ty check
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

Release files for pup-clean 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pup-clean 0.2.0
File Size Uploaded
pup_clean-0.2.0.tar.gz 13.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pup-clean 0.2.0
File Interpreter ABI Platform
pup_clean-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 26.2 kB

Release files / pup_clean-0.2.0.tar.gz

Download URL pup_clean-0.2.0.tar.gz
Size 13.7 kB
Tags Source
SHA-256 checksum
How to use checksums
fcf60a58494a93f15f8707e4c217fee29e5f10adf580eebc5d1cb69ac8c81055
BLAKE2b-256 checksum
How to use checksums
cadd3a542bdf57a480a20d52a6beae13b0f4148c1b18bdeabbf2d8ba76e4a1db
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 26, 2026.

Transparency log

Release files / pup_clean-0.2.0-py3-none-any.whl

Download URL pup_clean-0.2.0-py3-none-any.whl
Size 12.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d8da10151b9283bbf1141bd25246ceb896f14d97e7c2aa2237f66ceadbed46d3
BLAKE2b-256 checksum
How to use checksums
33db9f386e74eafcd4e24ef9e1171cc297ef3826b939e98b3c9efe5a6d6cdc75
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 26, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.3

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.5

2 release files

0.0.4

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page