Skip to content

GeoDebug v0.1.0

Choose a tag to compare

@GeoGeekLab GeoGeekLab released this 19 Sep 15:00
· 22 commits to main since this release
8ec9255

GeoDebug 0.1.0

The first public release of GeoDebug.

GeoDebug provides deterministic diagnostics for geospatial data and workflows. It is built around explicit spatial invariants rather than model-generated judgments: adapters observe facts, rules evaluate correctness conditions, and diagnostics expose evidence through a stable report contract.

Highlights

  • Inspect GeoJSON, GeoPackage, Shapefile, FlatGeobuf, GeoTIFF, COG, GeoParquet, and GeoPandas data
  • Run dataset diagnostics with geodebug check
  • Compare datasets with geodebug compare
  • Check operation semantics before execution with geodebug preflight
  • Detect CRS, geometry, raster-grid, NoData, spatial-overlap, and measurement issues
  • Configure project policy through .geodebug.toml
  • Use stable JSON reports for CI and downstream tooling
  • Opt into full geometry or raster scans with --deep

Diagnostic rules

GeoDebug 0.1.0 ships with 11 built-in rules:

  • GEO101 — missing CRS
  • GEO103 — geographic coordinate out of range
  • GEO105 — projected data outside CRS area of use
  • GEO201 — invalid geometry
  • GEO301 — invalid or singular raster transform
  • GEO304 — NoData value conflicts with the validity mask
  • GEO402 — no spatial overlap
  • GEO404 — raster grid misalignment
  • GEO501 — buffer on an angular CRS
  • GEO502 — planar area on a geographic CRS
  • GEO503 — planar distance or length on a geographic CRS

Install

PyPI publication is not enabled for this release.

Install directly from the tagged source:

pip install "geodebug @ git+https://github.com/GeoGeekLab/geodebug.git@v0.1.0"

Install all optional geospatial adapters:

pip install "geodebug[all] @ git+https://github.com/GeoGeekLab/geodebug.git@v0.1.0"

Design principles

GeoDebug prefers UNKNOWN over an unsupported conclusion.

Rules do not read files directly. Adapters do not emit diagnostics. Policy does not change rule truth values. Expensive scans are explicit.

The goal is to make geographic correctness inspectable, testable, and machine-readable.