Skip to content

gp3sequencespy 0.1.0

Choose a tag to compare

@stefanosbalaskas stefanosbalaskas released this 29 Aug 21:34
· 91 commits to main since this release

gp3sequencespy 0.1.0

First non-prerelease release of the Python port of gp3sequences 0.3.0.

Frozen parity and validation

  • 81 / 81 frozen public function counterparts
  • 130 / 130 frozen R test blocks mapped to dedicated Python translations
  • 81 / 81 frozen public signatures audited; 0 unexplained drift
  • 182 Python tests
  • deterministic six-contract R ↔ Python oracle: PASS
  • hierarchical/PAM oracle: 3915 / 3915 partition rows and 108 / 108 medoid rows matched
  • mssm time-model calibration: 12 / 12 k=3/4/5 × state/transition × random-effect scenarios
  • GitHub CI: Python 3.11–3.14 across Ubuntu, Windows, and macOS
  • manual Release checks on exact commit: PASS
  • tag-triggered Release checks on exact commit: PASS

Authoritative release artifacts

Wheel SHA-256:

97725d0b34872b79c9f9cb4da57f14a788a8920880a0a415c13669d281a39525

Source distribution SHA-256:

e01ff3ac4ec0cbede48b1019e4bcabddd38b9587df3fe541ce66aff585bf7e19

The attached SHA256SUMS.txt and release_candidate_manifest.json preserve the exact local release-candidate evidence.

Optional backend note

hmmlearn is an optional reference-validation backend, not the native gp3sequencespy HMM engine. The 0.1.0 release candidate validated the [hmm] extra on Windows/Python 3.13 using the upstream wheel, while core plus [time,data,performance] were validated on Windows/Python 3.14. See OPTIONAL_EXTRA_VALIDATION.txt.

Deliberate parity boundaries

The release does not claim identity of R ecosystem objects, pixel-identical base-R/Matplotlib graphics, bit-for-bit R/NumPy random streams, or exact coefficient/penalty identity for non-default mgcv smoothing criteria. These boundaries are explicit and documented in PARITY_EXCEPTIONS.md.

PyPI publication was not performed by the release finalizer.