Skip to content

Prepare KoopmanGraph 0.16.0 release - #77

Merged
tjkessler merged 1 commit into
mainfrom
release/v0.16.0
Oct 15, 2026
Merged

tjkessler merged 1 commit into
mainfrom
release/v0.16.0

Conversation

@tjkessler

Copy link
Copy Markdown
Owner

Release prep for 0.16.0. #65 (mass-action reaction-network datasets) is fully on main. This PR changes only versions and release metadata; there are no code changes besides __version__.

Changes

  • src/koopman_graph/__init__.py: __version__ = "0.16.0".
  • CHANGELOG.md:
    • [Unreleased] → ## [0.16.0] - 2026-10-15, with a summary paragraph like 0.15.0's: reaction-network datasets with oracle references, optional [reaction] / [cantera] extras, defaults and FORMAT_VERSION unchanged. An empty [Unreleased] stays on top.
    • The skeleton-era entry from Skeleton for koopman_graph.datasets.reaction (#65) #66 said nothing was exported from koopman_graph.datasets, which stopped being true when ReactionNetworkBenchmark with packaged FAIR cards (#65) #74 exported ReactionNetworkBenchmark. It now describes the released state.
    • Adds the [0.16.0] compare link (0.15.0...0.16.0).
  • CITATION.cff: version: 0.16.0, date-released: 2026-10-15. The DOI stays 0.15.0's until Zenodo mints 0.16.0's, following the 0.15.0 precedent (Release KoopmanGraph 0.15.0 (identification and evidence surfaces) #56, then Record Zenodo DOI for the v0.15.0 software archive #57). test_release_metadata_versions_agree pins that DOI.
  • README "What's new in 0.16.0" and BibTeX version, paper.bib software version, the docs index.rst version paragraph, the installation.rst pin, and SECURITY's supported line all move to 0.16.0. The version-consistency tests require these to agree with __version__.

Left for the Zenodo follow-up: the version DOI in CITATION.cff, README BibTeX, paper.bib, the paper.md text, the README DOI badge, and the test_docs.py DOI pin.

Release checks run locally (mirroring release.yml)

  • verify job, with the same uv sync --frozen extras (now including reaction and cantera):
    • ruff check and ruff format --check src/ tests/ pass.
    • pytest tests/ -n auto --cov=koopman_graph --cov-fail-under=90 (full suite, no marker filter): 3560 passed, 15 skipped, 97.35% coverage. The run first showed 1 failure, test_installed_version_matches_metadata. That was a stale local editable install still reporting 0.15.0 metadata, because uv sync doesn't rebuild an editable package when only its dynamic version changes. After uv sync --reinstall-package koopman-graph it passes, along with all tests/package. CI's fresh sync isn't affected.
    • sphinx-build -b html -W --keep-going passes.
  • pypi-publish build: python -m build produces koopman_graph-0.16.0-py3-none-any.whl and koopman_graph-0.16.0.tar.gz, and both pass twine check. The wheel metadata has Version: 0.16.0 plus Provides-Extra: reaction and cantera, it contains all 6 reaction cards, and it includes no tests or examples.
  • Install check against the built wheel, since PyPI doesn't have it yet. In a fresh Python 3.12 venv run with python -I:
    • koopman_graph.__version__ == "0.16.0", all six cards are listed, and reaction_chain_v1 generates;
    • importing loads neither SciPy nor Cantera, and the stiff path's error points at pip install koopman-graph[reaction].
  • uv lock --check passes. The project's dynamic version isn't recorded in uv.lock.

After merge

  1. Create the GitHub Release with tag 0.16.0 (earlier tags have no v prefix). Publishing it triggers release.yml, which runs verify and then pypi-publish. Approve the pypi environment when prompted. Zenodo's webhook archives the tag and mints the version DOI.
  2. If the release goes out on a different day, update date-released and the CHANGELOG date to match (0.15.0 was dated 2026-08-19 but published on 08-21).
  3. pip install koopman-graph==0.16.0 and check __version__.
  4. Open the DOI follow-up PR, as Record Zenodo DOI for the v0.15.0 software archive #57 did.

🤖 Generated with Claude Code

- __version__ = "0.16.0".
- CHANGELOG: move [Unreleased] to [0.16.0] - 2026-10-15 with a summary
  (mass-action reaction-network datasets, oracle references, optional
  [reaction] / [cantera] extras; defaults and FORMAT_VERSION unchanged),
  rewrite the skeleton-era entry that said nothing was exported (only
  ReactionNetworkBenchmark is added to koopman_graph.datasets), and add
  the 0.15.0...0.16.0 compare link.
- CITATION.cff version 0.16.0, date-released 2026-10-15. The DOI stays
  the 0.15.0 version DOI until Zenodo mints 0.16.0's (follow-up PR, as
  #57 did for 0.15.0).
- README "What's new" and BibTeX version, paper.bib software version,
  docs index version paragraph, installation pin, SECURITY supported
  line: 0.16.0. paper.md and the README/paper.bib DOIs change with the
  Zenodo follow-up.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@codecov

codecov Bot commented Oct 15, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

Files with missing lines Coverage Δ
src/koopman_graph/__init__.py 100.00% <100.00%> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@tjkessler
tjkessler merged commit c2f9c34 into main Oct 15, 2026
14 checks passed
@tjkessler
tjkessler deleted the release/v0.16.0 branch October 15, 2026 22:00
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