Skip to content

ppgrid 0.5.0

Latest

Choose a tag to compare

@monkytheluffy monkytheluffy released this 16 Oct 10:13
8ef2806

ppgrid 0.5.0

The audit-hardened release: the 2026-10-09 hygiene sweep (80 findings, all areas), a CLI verification surface (compare / --check / completions), config-file support, and independent IDW + nearest-neighbour baselines for benchmarking work.

What's new

  • Hygiene sweep — 51 P2 + 29 P3 findings from the 2026-10-09 audit closed across all areas: named error exits for corrupt inputs (#84 a2), scoped locking with byte-identical output (#84 a3), completed temp-file cleanup on kill paths (#84 a4), CPL zstd struct version guard (#84 a6), calibration LUT pairing + old-file compat (#84 a7). Behaviour changes are pinned in tests/test_audit_84.py; the committed melb anchors stayed byte-identical.
  • CLI verification batch (#66 #67 #68 #69): ppgrid compare OUT1 OUT2 (band-level diff report, exit 0/1/2), --check (post-write verification against the run plan), ppgrid completions bash|zsh, token-wins subcommand dispatch.
  • Config file (#63): pipeline options in ppgrid.toml; precedence CLI flag > config > built-in default.
  • Run fingerprint sidecar (#64): every successful run writes <out>/ppgrid_run.json (commit, env, resolved plan) for reproducibility.
  • --log-file PATH (#65): mirrors the run log to a file.
  • Baselines (#107): new ppgrid/baselines.py — independent IDW + exact k-NN (scipy, [baselines] optional extra) with a methods-section renderer for benchmark papers; core install unchanged.
  • macOS fix: unlink(dir) EPERM now maps to the named ValueError (was a raw PermissionError on BSD, #84 a6 pin).

Performance claims

None this release with new numbers. The audit sweep is behaviour-preserving by design (byte-identical anchors at all six melb resolutions); internal threading changes (a5 grid_index_mt) carry no published benchmark. Last scoped numbers: the v0.3.0 "Turbo benchmarks (full AU)" README table.

Support

Python 3.11-3.14; Linux and macOS supported and CI-covered; Windows unsupported (match the current SUPPORT.md). Full matrix + feedback path (issues / discussions / email):
SUPPORT.md.

Changelog

Full detail: CHANGELOG.md
([0.5.0] entry).

Standalone binaries

Single-file builds: no Python, no compiler, no GDAL install required — the C interp ships prebuilt.

ppgrid-0.5.0-linux-x86_64.xz
sha256: 3840181c350516d8066e705e69c0edfa68e4ecdf23b191fbe82acdba392976a

macOS (arm64 / x86_64) builds to follow via the binary.yml CI matrix (PR #137).