Skip to content

v16.0.0

@SkyeAv SkyeAv tagged this 25 Aug 20:46
Cut 16.0.0 and bump the package version in pyproject.toml, uv.lock, and
CITATION.cff.

Major: edge ids are canonicalized before hashing (nested object keys
sorted at every depth; false hashed instead of dropped), so every
existing edge id changes once — readers pinning ids must re-key against
the rebuilt graph. The same PR adds opt-in uuid_fields so a graph config
declares which edge fields constitute identity (930,081 of 1,265,355
ids moved under the whole-record hash on a re-analysis, none under a
declared list), derives the UUID namespace from the graph infores with
a uuid_domain override, aborts the build on duplicate derived ids
instead of shipping them, adds a duplicate-edge-ids QC assertion, and
cuts dedup memory 25x (2469 MB -> 100 MB peak, 477s -> 37s on
MultiomicsKG 3.0.0) (#122). Also adds config-driven rig.source_files
with indented RIG YAML output (#121).

Changelog:
- The 16.0.0 section shipped with #122; added the missing Added entry
  covering rig.source_files and the RIG YAML formatting from #121.

Docs: none needed here; both PRs shipped with their own docs.

Testing:
- uv run pytest -q -> 1107 passed, 15 skipped (94% coverage)
- uv run ruff check . && uv run ruff format --check . && uv run pyright -> clean / 0 errors
- uv lock --check -> up to date
- uv run mkdocs build --strict -> clean
Assets 2
Loading