Skip to main content

Subsurface data ingestion + structure layer: surfaces, wells, points, polygons — loading, interpolation, statistics.

Project description

petekIO

The subsurface data layer — a Rust library (with optional PyO3 bindings) that turns raw subsurface files into clean, validated, interpreted data: surfaces, wells (trajectories / tops / logs), points, and polygons, with loading, mnemonic and unit normalisation, validation, petrophysical interpretation, interpolation, and statistics.

The pipeline is the point:

ingest → normalize → validate → interpret → characterise

Why build on it

Subsurface data is the unglamorous, error-prone groundwork under every reservoir application: vendor LAS mnemonics, mismatched units, out-of-range samples, cutoffs, gridding that has to honour its control points, uncertainty. petekIO does that work once and behind a stable API, so the application on top stays thin and stays in its own domain:

  • The whole path, not just parsing. Files in; normalized, validated, interpreted domain objects out — no re-implementing LAS aliasing, unit harmonisation, petrophysical cutoffs (net pay included), or surface gridding/resampling further up the stack.
  • Values know what they are. Results come back in canonical units, each carrying an uncertainty distribution and a provenance flag (measured / interpolated / defaulted) — so downstream code propagates uncertainty rather than re-deriving it.
  • A substrate, not a grab-bag. Load a project once into a GeoData and operations broadcast across the whole collection. Immutable, strictly layered, fluent.
  • Rust core, thin Python. Fast and embeddable, with PyO3 bindings that mirror the Rust API.

Built in gates

petekIO grows in gated phases against a locked contract: every public signature is specified in API.md (a change needs sign-off), and the design + build roadmap live in SPEC.md.

Status: early development. The public API is locked and the core data path (ingest → normalize → validate → interpret → characterise) is in place; breadth is still filling in — more ingest formats, fluid contacts, richer interpretation.

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.

Built on

  • petekAlgorithms — standalone numerics / geostatistics kernels (gridding, interpolation) that petekIO builds on.

License

MIT — see LICENSE-MIT.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

petekio-0.2.2.tar.gz (110.9 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

petekio-0.2.2-cp310-abi3-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.10+Windows x86-64

petekio-0.2.2-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

petekio-0.2.2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

petekio-0.2.2-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (2.9 MB view details)

Uploaded CPython 3.10+macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

File details

Details for the file petekio-0.2.2.tar.gz.

File metadata

  • Download URL: petekio-0.2.2.tar.gz
  • Upload date:
  • Size: 110.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for petekio-0.2.2.tar.gz
Algorithm Hash digest
SHA256 e79bc80c9e60716a746e08cc32910f75d946a72b0e1f82eb8b9b3bb4185473f8
MD5 419de614bf843d27ea5b69786304d09a
BLAKE2b-256 3f290e47c73d85cc14c68d3b613b86887d5fef3cd55238bbc59ceb23dcbe7062

See more details on using hashes here.

Provenance

The following attestation bundles were made for petekio-0.2.2.tar.gz:

Publisher: release.yml on kkollsga/petekio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file petekio-0.2.2-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: petekio-0.2.2-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for petekio-0.2.2-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 d9de380c67aa02e2100c883911065a59744dc4ba91d000c3b731ee2d8276c075
MD5 4abeea47a72a14e496ffb1f46ed42f40
BLAKE2b-256 8ea3b182f6876d9de7485ed52565a8d5dadeccc1055141985b71e2fd6d7cf37d

See more details on using hashes here.

Provenance

The following attestation bundles were made for petekio-0.2.2-cp310-abi3-win_amd64.whl:

Publisher: release.yml on kkollsga/petekio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file petekio-0.2.2-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for petekio-0.2.2-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 79824cec6df54370813f35703e4f25d450ceb6c6e428e41adb682748c8a27f5d
MD5 835536774b76714c0324e175c458e141
BLAKE2b-256 30ee71b1ad422ab7ea9919d1f61fa08ca37a58b9ccc4b99839939f0d46d0e22e

See more details on using hashes here.

Provenance

The following attestation bundles were made for petekio-0.2.2-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on kkollsga/petekio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file petekio-0.2.2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for petekio-0.2.2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 04b432c452adb7b8b7d992134846beca5c29692df8299f32b27886ea62154b85
MD5 b1646237a352e46f29c39a6bb49a7e35
BLAKE2b-256 c5acd409fe87213ec202c3767a1d0627ec0d8c4e0e33ef8fbe8f6bc7e66f813d

See more details on using hashes here.

Provenance

The following attestation bundles were made for petekio-0.2.2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on kkollsga/petekio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file petekio-0.2.2-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for petekio-0.2.2-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 7b1aa76cb0b54814ba763fe7e9b2accaf282bea56827ee46d0312f2531866d9d
MD5 f3adc122400865467fbe7e6662af0612
BLAKE2b-256 2ab9d7ecdbc083d201ee9c4a1c161bcf14180e6bc4d27b953d5bb8a254e310b7

See more details on using hashes here.

Provenance

The following attestation bundles were made for petekio-0.2.2-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: release.yml on kkollsga/petekio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page