Skip to content

chore: drop the MANIFEST.in lines that match nothing (#1794) - #1813

Merged
JarryShaw merged 1 commit into
mainfrom
chore/1794-manifest-noops
Oct 16, 2026
Merged

JarryShaw merged 1 commit into
mainfrom
chore/1794-manifest-noops

Conversation

@JarryShaw

Copy link
Copy Markdown
Owner

Please follow the guide below

What is the purpose of your pull request?

Tick the commit type your subject line carries.

  • fix — corrects a defect
  • feat — adds a feature
  • perf — changes performance, not behaviour
  • refactor — changes neither behaviour nor performance
  • test — tests only
  • docs — documentation only
  • ci — workflows or build tooling
  • release — bumps the version or rolls up a distribution
  • chore — anything else

Summary

MANIFEST.in had lines that matched nothing, as #1794 measured. All are removed; none needed correcting.

  • global-include *.rst: every tracked .rst is under docs/, which prune docs drops.
  • include pcapkit/_extern: include matches files, not a directory. The conda recipe builds the wheel straight from the tree with pip install ., never an sdist, and the vendored modules reach the wheel through package discovery either way.
  • exclude pcapkit/protocols/*/NotImplemented: the placeholders are directories, so the pattern matched nothing. They ship either way, as documentation.rst says.
  • Evidence: plain sdist and wheel listings are identical before and after, and both build warnings are gone. With a conda-style _extern, only two vendored .rst files that nothing reads drop out.
  • Test: tests/project/test_build_leftovers_1773.py gains a guard that every non-prune directive changes the selection; it fails on main on exactly these lines.

Closes #1794

- global-include *.rst: every tracked .rst is under docs/, which prune
  docs drops. Only with a conda _extern tree did it ship anything: two
  vendored files, aenum/doc/aenum.rst and html5lib's dist-info
  AUTHORS.rst, neither read at runtime.
- include pcapkit/_extern: include matches files, not a directory. The
  conda recipe runs pip install . on the tree and builds no sdist;
  _extern's modules reach the wheel through package discovery.
- exclude pcapkit/protocols/*/NotImplemented: the placeholders are
  directories; they ship either way, as documentation.rst records.
- MANIFEST.in comments and documentation.rst stop citing *.rst.
- ManifestTests: dropping any non-prune line must change what the
  template selects; on origin/main it fails on exactly these lines.

sdist 1249 and wheel 534 entries, unchanged; both warnings gone.
tests/project: 951 passed, 1 skipped.

Closes #1794
@JarryShaw JarryShaw added the chore Maintenance work: tooling, repo hygiene, no library behaviour change label Oct 16, 2026
@JarryShaw

Copy link
Copy Markdown
Owner Author

Verdict: GOOD TO GO at 6d63caaa3. A Sonnet cross-review (author: Opus) ran its own sdist and wheel builds, with and without a conda-style _extern, and confirmed the author's listings and that both warnings are gone. The new guard fails on exactly these lines and catches added no-op lines. The review's one wording point, a MANIFEST.in comment claim, is fixed at this head (comment-only amend, verified).

@JarryShaw JarryShaw added the review: good-to-go Cross-review at the current head says ready; CI state is separate label Oct 16, 2026
@JarryShaw JarryShaw moved this to In review in PyPCAPKit Oct 16, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Coverage: 89.60% (unit tier, Python 3.15, 6d63caaa3, Unit Tests run success)

Package Statements Missed Branches Partial Cover
pcapkit (top level) 104 3 20 3 95.16%
pcapkit/const 18862 954 2368 868 91.06%
pcapkit/corekit 2462 69 780 35 96.55%
pcapkit/dumpkit 276 3 100 3 98.40%
pcapkit/foundation 2915 164 1016 34 93.59%
pcapkit/interface 138 7 52 5 93.68%
pcapkit/protocols 17197 224 4580 189 98.09%
pcapkit/toolkit 872 177 298 8 77.18%
pcapkit/utilities 512 2 158 4 99.10%
pcapkit/vendor 4417 2342 1010 157 43.38%

Per-file detail: the coverage-html artifact of this run.

@JarryShaw

Copy link
Copy Markdown
Owner Author

_extern are for Conda distros iirc.

@JarryShaw

Copy link
Copy Markdown
Owner Author

Yes, pcapkit/_extern is the conda recipe's vendor directory: conda/pypcapkit/build.sh and bld.bat fill it from conda/requirements.txt. The removed line never shipped it, though. I re-measured just now with setuptools' own FileList on a tree that has pcapkit/_extern/certifi/{__init__.py,cacert.pem}:

  • include pcapkit/_extern matches nothing (warning: no files found matching 'pcapkit/_extern'), because include matches file patterns, not directories.
  • recursive-include pcapkit/_extern * picks up all three files, including cacert.pem.

So conda builds today get the vendored .py modules through package discovery and none of their data files. #1814 tracks that gap. This PR only drops the dead line and records why, so #1814's fix (most likely the recursive-include form, or package-data) can replace it. If you would rather keep a placeholder line here until then, say so and I will restore it.

@JarryShaw
JarryShaw merged commit b7488c6 into main Oct 16, 2026
56 checks passed
@github-project-automation github-project-automation Bot moved this from In review to Done in PyPCAPKit Oct 16, 2026
@JarryShaw
JarryShaw deleted the chore/1794-manifest-noops branch October 16, 2026 13:19
@JarryShaw JarryShaw removed the review: good-to-go Cross-review at the current head says ready; CI state is separate label Oct 16, 2026
@JarryShaw JarryShaw added this to the PyPCAPKit v1.5 milestone Oct 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore Maintenance work: tooling, repo hygiene, no library behaviour change

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

chore: three MANIFEST.in lines match nothing

1 participant