Skip to content

Apply release-audit fixes for the 0.1.0 release candidate - #26

Merged
mcdigman merged 1 commit into
devfrom
release-audit-fixes
Jul 10, 2026
Merged

Apply release-audit fixes for the 0.1.0 release candidate#26
mcdigman merged 1 commit into
devfrom
release-audit-fixes

Conversation

@mcdigman

Copy link
Copy Markdown
Owner

Mechanical fixes from the pre-release audit of PR #24. Merging this into dev updates the release-candidate PR automatically.

  • License: relicensed from Apache-2.0 WITH LLVM-exception to plain Apache-2.0 (LICENSE text, pyproject SPDX expression, all SPDX headers, README); LICENSE copyright year bumped to 2026. Plain Apache-2.0 is also recognized by GitHub's license detection.
  • SPDX headers added to pyakima/_version.py, docs/__init__.py, pyakima/demos/__init__.py, tests/__init__.py.
  • Typo: UnsuportedUnsupported in error messages plus the matching test assertions.
  • README / PyPI rendering: absolute raw.githubusercontent.com image URLs, GFM footnotes converted to a plain-numbered References section (PyPI resolves no relative URLs and does not render footnotes), benchmark file and LICENSE now hyperlinked.
  • Docs: new Usage page pulls the README's Jitted Use and Spline Options sections into the Sphinx site via new doc:jitted/doc:options markers.
  • Packaging: description is now "Fast, Numba-compatible Akima/makima spline interpolation for regular and irregular grids"; added Topic :: Software Development :: Libraries :: Python Modules classifier and a Changelog project URL; MANIFEST.in makes the sdist deliberately ship tests/, CHANGELOG.md, CITATION.cff.
  • New files: CITATION.cff (with ORCID, feeds GitHub "Cite this repository" and Zenodo), starter CHANGELOG.md.
  • Workflow hardening: all actions pinned to commit SHAs (version noted in comments), workflow-level permissions: contents: read everywhere, persist-credentials: false on every checkout.

Verification

  • pytest: 183 passed (DTMCMC-dev env, numba 0.66/numpy 2.4.6)
  • prek run --all-files: all hooks pass (including actionlint on the hardened workflows)
  • sphinx -W docs build succeeds; Usage page and References render
  • uv build + twine check: both distributions pass; sdist/wheel contents inspected (wheel ships _version.py, demos/, py.typed; sdist adds tests + metadata files)

🤖 Generated with Claude Code

- Relicense from Apache-2.0 WITH LLVM-exception to plain Apache-2.0:
  strip the exception from LICENSE and update the SPDX expression in
  pyproject.toml, every SPDX header, and the README license section
  (plain Apache-2.0 is also detectable by GitHub's license tooling).
- Add SPDX headers to the four files that were missing them.
- Fix the "Unsuported" -> "Unsupported" typo in error messages and the
  matching test assertions.
- README: use absolute raw.githubusercontent.com image URLs and replace
  GFM footnotes with a plain-numbered References section so the page
  renders correctly on PyPI (which resolves no relative URLs and does
  not support footnotes); link the benchmark file and LICENSE.
- Docs: add a Usage page including the README's Jitted Use and Spline
  Options sections (new doc:jitted/doc:options markers) so the
  numba-facing API is documented on the Sphinx site too.
- Packaging: sharpen the PyPI one-line description, add the
  Software Development :: Libraries classifier and a Changelog URL, and
  add MANIFEST.in so the sdist deliberately ships tests/, CHANGELOG.md,
  and CITATION.cff.
- Add CITATION.cff (with ORCID) for GitHub citation support and Zenodo
  release metadata, and a starter CHANGELOG.md.
- Harden workflows: pin all actions to commit SHAs, set a workflow-level
  read-only GITHUB_TOKEN everywhere, and disable checkout credential
  persistence.
- docs/conf.py: copyright year is now just 2026.

Verified: full pytest suite (183 passed), prek run --all-files, sphinx
-W docs build, uv build + twine check on both distributions.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@mcdigman
mcdigman merged commit 0484d36 into dev Jul 10, 2026
14 checks passed
@mcdigman
mcdigman deleted the release-audit-fixes branch July 10, 2026 07:42
@mcdigman

Copy link
Copy Markdown
Owner Author

Release-readiness review for PR #26, pinned to:

  • base dev @ c37c6eb92aa3e42169290094d2aff7a6419e229c
  • head release-audit-fixes @ ba2eb14d0b190b2220607d9fd625ac67e346463f

I reviewed the diff as a release-candidate readiness change set. I found no blocking issues and no evidence of unintended substantive code changes.

What I checked:

  • Python/library behavior diff: limited to SPDX license header changes, added SPDX headers in previously missing files, and Unsuported -> Unsupported exception-string typo fixes plus matching assertions.
  • Packaging metadata: generated wheel/sdist metadata has License-Expression: Apache-2.0, expected classifiers, keywords, project URLs, extras, and Markdown content type.
  • Artifact contents: sdist includes CHANGELOG.md, CITATION.cff, LICENSE, source package, and tests; wheel remains package-only plus license/metadata.
  • Workflow hardening: pinned action SHAs match the referenced tags, including the peeled commit for the annotated PyPI publish tag.
  • README/docs surface: PyPI-facing absolute image URLs, numbered references, license link, benchmark link, and new docs usage include markers look consistent with the intended usability/findability changes.

Local verification:

  • python -m pytest -> 183 passed
  • NUMBA_DISABLE_JIT=1 python -m coverage run --branch --source=pyakima --omit='*/demos/*' -m pytest -> 183 passed
  • python -m coverage report -m --fail-under=100 -> 100%
  • python -m build --no-isolation -> sdist and wheel built successfully
  • git diff --check c37c6eb92aa3e42169290094d2aff7a6419e229c...ba2eb14d0b190b2220607d9fd625ac67e346463f -> clean

Current PR checks are also green: build, coverage, floor, docs HTML, install floor/highest, mypy, prek, pydoclint, pylint, pyright, pytest, and skylos are passing. I could not run local twine check/readme_renderer or local Sphinx in this shell because those modules are not installed here, but the corresponding GitHub build and html jobs are passing on the pinned head.

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