petekio 0.1.0

Subsurface data ingestion + structure layer: surfaces, wells, points, polygons with loading, interpolation, and statistics.
Documentation
petekio-0.1.0 has been yanked.

petekIO

The subsurface data ingestion + structure layer — a Rust library (with optional PyO3 bindings) that is the complete input-data model for subsurface work: surfaces, wells (trajectories/tops/logs), points, polygons — with loading, calculations, interpolation, filters, and statistics built in.

It fills a real gap (no Rust crate does this; xtgeo/welly are Python-only) and is the data foundation that apps consume so they do zero parsing or interpolation themselves.

Status: early development. The public API is specified and locked in API.md; the design and build roadmap are in SPEC.md.

Design at a glance

  • Strictly layered, one-way deps: foundation → io → core → analysis → manager → py.
  • A manager substrate (GeoData): load once, operations broadcast across the collection — no per-item loops.
  • Domain objects carry their operations (arithmetic, filters, interpolation, stats) — fluent and chainable.
  • Rust core + thin PyO3; the Python API mirrors the Rust API.

Part of the petek family

  • petekIO — this library: the subsurface input-data model + IO.
  • petekSim — the reservoir simulator that consumes a petekIO GeoData.

License

MIT — see LICENSE-MIT.