Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -409,8 +409,8 @@ latent operator contract are unchanged (`koopman=None` still selects

- Factory defaults are unchanged vs 0.14.0 (`koopman=None` →
`"pernode"`; `sparsity="dense"`; AMP off). `FORMAT_VERSION` stays 1.
- The Zenodo DOI remains `10.5281/zenodo.21926723` until a new version
DOI is minted at the 0.15 tag.
- Zenodo version DOI:
[10.5281/zenodo.22045904](https://doi.org/10.5281/zenodo.22045904).

## [0.14.0] - 2026-08-13

Expand Down
4 changes: 2 additions & 2 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ url: "https://koopmangraph.readthedocs.io/"
license: Apache-2.0
version: 0.15.0
date-released: 2026-08-19
doi: 10.5281/zenodo.21926723
doi: 10.5281/zenodo.22045904
identifiers:
- type: doi
value: 10.5281/zenodo.21926723
value: 10.5281/zenodo.22045904
description: "Archived software (version DOI)"
keywords:
- koopman-operator
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
**Topology-aware Koopman autoencoders for forecasting and analyzing networked dynamics**

[![Tests](https://github.com/tjkessler/KoopmanGraph/actions/workflows/ci.yml/badge.svg)](https://github.com/tjkessler/KoopmanGraph/actions/workflows/ci.yml)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.21926723.svg)](https://doi.org/10.5281/zenodo.21926723)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.22045904.svg)](https://doi.org/10.5281/zenodo.22045904)
[![PyPI version](https://img.shields.io/pypi/v/koopman-graph)](https://pypi.org/project/koopman-graph/)
[![codecov](https://codecov.io/gh/tjkessler/KoopmanGraph/graph/badge.svg)](https://codecov.io/gh/tjkessler/KoopmanGraph)
[![Documentation Status](https://readthedocs.org/projects/koopmangraph/badge/?version=latest)](https://koopmangraph.readthedocs.io/en/latest/?badge=latest)
Expand Down Expand Up @@ -180,7 +180,7 @@ If you use KoopmanGraph in research, please cite:
title = {KoopmanGraph: Topology-Aware Koopman Autoencoders for Networked Dynamics},
year = {2026},
publisher = {Zenodo},
doi = {10.5281/zenodo.21926723},
doi = {10.5281/zenodo.22045904},
url = {https://github.com/tjkessler/KoopmanGraph},
version = {0.15.0},
}
Expand Down
4 changes: 2 additions & 2 deletions paper.bib
Original file line number Diff line number Diff line change
Expand Up @@ -211,8 +211,8 @@ @misc{koopmangraph2026
title = {{KoopmanGraph}: Topology-Aware {Koopman} Autoencoders for Networked Dynamics},
year = {2026},
publisher = {Zenodo},
doi = {10.5281/zenodo.21926723},
url = {https://doi.org/10.5281/zenodo.21926723},
doi = {10.5281/zenodo.22045904},
url = {https://doi.org/10.5281/zenodo.22045904},
version = {0.15.0}
}

Expand Down
4 changes: 2 additions & 2 deletions paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,9 @@ Tutorials under `examples/` cover synthetic dynamics, IEEE 118-bus, METR-LA, and

# Research impact statement

`KoopmanGraph` is research software with no publications or downstream adoptions to cite at submission. Impact is shown through reproducible tutorials on synthetic, IEEE 118-bus, METR-LA, and epidemic graphs---per-horizon evaluation, topology-versus-vector baselines in the spirit of prior GNN-versus-Koopman power-grid studies [@Nandanoori2022], dynamic topology, spectral/stability analysis, and latent-space control---plus v0.5.0 tooling and notebooks for deep-ensemble / latent-Gaussian uncertainty, hierarchical multi-resolution forecasting, auxiliary-spectral continuous generators, and sparsity / worst-case reconstruction losses (with a GNN encoder zoo). Open artifacts include PyPI releases through v0.14.0, CI with coverage and notebook smoke tests, Sphinx docs, and a security policy.
`KoopmanGraph` is research software with no publications or downstream adoptions to cite at submission. Impact is shown through reproducible tutorials on synthetic, IEEE 118-bus, METR-LA, and epidemic graphs---per-horizon evaluation, topology-versus-vector baselines in the spirit of prior GNN-versus-Koopman power-grid studies [@Nandanoori2022], dynamic topology, spectral/stability analysis, and latent-space control---plus v0.5.0 tooling and notebooks for deep-ensemble / latent-Gaussian uncertainty, hierarchical multi-resolution forecasting, auxiliary-spectral continuous generators, and sparsity / worst-case reconstruction losses (with a GNN encoder zoo). Open artifacts include PyPI releases through v0.15.0, CI with coverage and notebook smoke tests, Sphinx docs, and a security policy.

The author uses the library to experiment with Koopman forecasting on networked systems and to lower the barrier for topology-aware Koopman models on standard PyG workflows. Zenodo archives are available through v0.14.0 (DOI: \url{https://doi.org/10.5281/zenodo.21926723}; earlier version DOIs are linked from that record).
The author uses the library to experiment with Koopman forecasting on networked systems and to lower the barrier for topology-aware Koopman models on standard PyG workflows. Zenodo archives are available through v0.15.0 (DOI: \url{https://doi.org/10.5281/zenodo.22045904}; earlier version DOIs are linked from that record).

# Conclusion

Expand Down
2 changes: 1 addition & 1 deletion tests/package/test_docs.py
Original file line number Diff line number Diff line change
Expand Up @@ -414,7 +414,7 @@ def test_release_metadata_versions_agree() -> None:
assert "## [Unreleased]" in changelog
assert f"## [{version}]" in changelog
assert _cff_top_level_field(cff_text, "version") == version
assert _cff_top_level_field(cff_text, "doi") == "10.5281/zenodo.21926723"
assert _cff_top_level_field(cff_text, "doi") == "10.5281/zenodo.22045904"
assert f"version = {{{version}}}" in readme
assert f"Version **{version}**" in index
bib_version = _bib_field(_bib_entry(bib_text, _SOFTWARE_BIB_KEY), "version")
Expand Down