Skip to content

Fix source distribution tests and license metadata (2.9.1) - #84

Merged
iskandr merged 1 commit into
masterfrom
fix/packaging-and-cleanup
Sep 29, 2026
Merged

iskandr merged 1 commit into
masterfrom
fix/packaging-and-cleanup

Conversation

@iskandr

@iskandr iskandr commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

The PyPI source archive ships test modules without their package initializer, helper module, or GTF fixtures, so running its tests fails during collection. Include the missing files and lint/test scripts in the source distribution, and add CI that builds and tests the extracted archive on Python 3.9 with minimum setuptools and Python 3.11 with current setuptools. Runtime wheels continue to exclude tests.

Replace the deprecated license classifier with SPDX Apache-2.0 metadata and explicitly ship LICENSE, using setuptools >=77.0.3 for PEP 639 support. Finish the remaining stale comments/docstrings and generated Hypothesis-cache cleanup from #76. Bump to 2.9.1. Parsing behavior is unchanged.

Validation:

  • Reproduced six collection errors from the 2.9.0 source tarball.
  • ./lint.sh and ./test.sh -W error::DeprecationWarning: 143 tests pass in the checkout and in extracted tarballs built with setuptools 77.0.3 and 84.0.0.
  • Both backends successfully build wheels from their source archives; all four artifacts pass twine check --strict.
  • Checked archive contents and wheel exclusions, SPDX metadata, and byte-identical license text. Neither build emits the license-classifier warning.
  • Workflow YAML parses; the existing runtime matrix and combined coverage uploads are retained.

Fixes #53. Fixes #76. Fixes #83.

Release verification (2026-09-29): merged as 3e0912c. Ran ./deploy.sh from clean master; lint and all 143 tests passed, with no license-classifier warnings. gtfparse 2.9.1 is published. Downloaded both artifacts directly from PyPI and verified their SHA-256 digests against the local release build. Extracted the downloaded source tarball and ran its included ./lint.sh and ./test.sh -W error::DeprecationWarning: all 143 tests passed. Installed the published wheel in an isolated environment; parsing/progress/gzip smoke checks and SPDX metadata checks passed. All five runtime CI jobs, both packaging jobs, and combined coverage checks passed before merge. The master checkout is clean.

Next gtfparse work: verify and close the stale reports grouped in #75. The larger feature-synthesis policies in #65 and transcript-completeness reporting in #66 need a shared validation design before implementation.

@coveralls

Copy link
Copy Markdown

Coverage Report for CI Build 36591793538

Coverage remained the same at 96.751%

Details

  • Coverage remained the same as the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • No coverage regressions found.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

No coverage regressions found.


Coverage Stats

Coverage Status
Relevant Lines: 277
Covered Lines: 268
Line Coverage: 96.75%
Coverage Strength: 2.9 hits per line

💛 - Coveralls

@iskandr
iskandr merged commit 3e0912c into master Sep 29, 2026
21 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

2 participants