Skip to content

Prune the sdist and prepare 0.5.0 release - #6

Merged
wrignj08 merged 2 commits into
mainfrom
build/prune-sdist
Aug 14, 2026
Merged

Prune the sdist and prepare 0.5.0 release#6
wrignj08 merged 2 commits into
mainfrom
build/prune-sdist

Conversation

@wrignj08

@wrignj08 wrignj08 commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Two commits: the sdist fix, then the 0.5.0 changelog promotion. Merging this gives a main commit that is ready to tag v0.5.0 per RELEASING.md.


1. Keep notebooks and README artwork out of the sdist

setuptools-scm's file finder hands the sdist every git-tracked file, so the example notebooks and the sample rasters they read were swept into every release automatically.

Before

multiclean-0.4.1.tar.gz                       7.2 MB
├── notebooks/Cloud example.ipynb             1.1 MB
├── notebooks/Land use example.ipynb          172 KB
├── notebooks/Land use example (Colab).ipynb  172 KB
├── notebooks/data/*.tif                      3.5 MB
├── assets/multiclean-logo.svg                112 KB
├── assets/Make README graphic.ipynb           32 KB
├── assets/land_use_before_after.png           44 KB
├── .vscode/settings.json
└── ...

After

3.9 MB. notebooks/, assets/ and .vscode/ are pruned via a new MANIFEST.in.

The wheel was never affected — it is built from packages alone — and is byte-for-byte unchanged at 12 KB.

What is kept, and why

Path Size
tests/ 4.9 MB An unpacked sdist should be verifiable. Confirmed: unpacked and ran pytest, 573 passed.
.github/workflows/ 8 KB Lets a packager see how the release is built.
RELEASING.md, CHANGELOG.md 12 KB Release process and history.
.gitignore, .pre-commit-config.yaml 12 KB Left alone; pruning ~12 KB is churn for no gain.

assets/ is safe to drop because the README references its images by absolute raw.githubusercontent.com URL, not by relative path, so nothing in the sdist reads them. The notebooks stay on GitHub, where the README's tutorial badge links them.

Difference from OmniWatermask 0.6.1

This is the same fix that project shipped, but its MANIFEST.in keeps tests/ on the grounds that "downstream packagers (conda-forge) run the suite against the sdist." That reason does not hold here — MultiClean's feedstock recipe only does imports: plus a pip check and a version assertion; it never invokes pytest.

tests/ is kept anyway, deliberately, so that an unpacked sdist stays verifiable. Its 4.9 MB of fixture rasters is now most of what remains in the tarball; the MANIFEST.in comment records that as the only thing left to reconsider if size ever becomes a concern again.


2. Prepare 0.5.0

Promotes [Unreleased] to [0.5.0] - 2026-08-14 and adds the comparison link.

A minor bump rather than a patch, because the even-kernel fix in #5 changes output for even smooth_edge_size and the default is 2 — anyone running on defaults gets different results from the same input. The changelog entry says so explicitly and tells them to regenerate cached results.

0.5.0 contains

After merging

git checkout main && git pull
git tag v0.5.0
git push origin v0.5.0

Then approve the pypi environment deployment in Actions.

🤖 Generated with Claude Code

wrignj08 and others added 2 commits August 14, 2026 11:41
setuptools-scm's file finder hands the sdist every git-tracked file, so
the example notebooks and the sample rasters they read were swept in
automatically: 4.9 MB of a 7.2 MB tarball, none of it read by anything
in the package. The README artwork under assets/ went the same way, even
though the README loads it over raw.githubusercontent.com rather than
from the package.

Add a MANIFEST.in pruning notebooks/, assets/ and .vscode/. The sdist
drops to 3.9 MB and still builds and tests after unpacking (573 passed).
Wheels were never affected -- they are built from `packages` alone -- and
are byte-for-byte unchanged.

Same fix as OmniWatermask 0.6.1, with one difference worth recording:
that project keeps tests/ because its conda-forge recipe runs the suite
against the sdist. MultiClean's recipe only import-checks, so tests/ is
kept here for the weaker reason that an unpacked sdist should be
verifiable. Its 4.9 MB of fixture rasters are now most of what is left.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Promote the [Unreleased] changelog section to [0.5.0] - 2026-08-14 and
add the comparison link for the new version.

A minor bump rather than a patch: the even-kernel fix changes output for
even smooth_edge_size, and the default is 2, so anyone on defaults gets
different results from the same input.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@wrignj08 wrignj08 changed the title Keep notebooks and README artwork out of the sdist Prune the sdist and prepare 0.5.0 release Aug 14, 2026
@wrignj08
wrignj08 merged commit 6719689 into main Aug 14, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant