Skip to content

Provenance

This section preserves the original clean-room research trail that produced pygdb's implementation, kept for audit and attribution purposes rather than as day-to-day reference documentation. If you just want to know how the .gdb/.grd formats work, start with the format specification instead — it's the living, polished distillation of what's in here, and gets updated as more example files are tested.

Both documents below predate the project's later reorganization into the pygdb package (see the note at the top of each), so file paths they mention reflect that earlier layout, not the current one.

  • Research notes — the polished write-up the format specification is distilled from, with source citations for every claim: what was consulted, what was found, and how each finding was cross-validated against independent real files or public standards.
  • Research log — the full chronological lab notebook behind those notes: every source consulted, every hypothesis, every byte-level test performed against real files, including dead ends.
  • scripts/ (alongside this page in the repository) — the one-off, runnable investigation scripts that found or verified specific claims (e.g. the blob-index formula, the LZRW1 identification). Kept as a runnable record of how a finding was derived, not just a description of the result; not maintained against the current package layout.

Why this exists

This project was produced using only publicly available information: vendor-published open-source code and documentation, independent third-party format readers, one openly-specified independent successor format (.geoh5, read via the third-party geoh5py library), and byte-level analysis of real, publicly downloaded .gdb/.grd files. No Geosoft software of any kind — the geosoft/gxapi/gxpy compiled package, Oasis montaj, Geosoft Desktop, or the free Geosoft Viewer — was installed, imported, or executed at any point. This section is the receipts for that claim: every source is cited, every hypothesis is tied to a falsifiable test against real bytes, and dead ends are recorded alongside what worked.

See Contributing for what this means for future contributions: this project won't accept patches or findings derived from reverse engineering Geosoft's own software, or sample files that look purpose-built for that.