Repository navigation
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).