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.3.tar.gz (114.5 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.3-cp310-abi3-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.10+Windows x86-64

petekio-0.2.3-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.3-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.3-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.3.tar.gz.

File metadata

  • Download URL: petekio-0.2.3.tar.gz
  • Upload date:
  • Size: 114.5 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.3.tar.gz
Algorithm Hash digest
SHA256 57afb6403809779af90160270f21915e3d7987a28b4160835e4f1d4a9428d76f
MD5 eff5e3446187bac183cd1ac287781b7d
BLAKE2b-256 e70540dbbecacd3b0578a58717cfe0de851ab20601364f8952040af9c264596a

See more details on using hashes here.

Provenance

The following attestation bundles were made for petekio-0.2.3.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.3-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: petekio-0.2.3-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 1.4 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.3-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 f792aa6d8e18f8058d63f350f291dd408bd97b5e5e3b52699b981ba0cee10da7
MD5 292d4b99cabc0d0043ae74cd09b59ac9
BLAKE2b-256 b16d7e4050927c46f87b187780d4e7800dd56b7b6be2f36e0d64c35a5f39172d

See more details on using hashes here.

Provenance

The following attestation bundles were made for petekio-0.2.3-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.3-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for petekio-0.2.3-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b9ce8bb10d38d6967555ca2a3e69273a1d285736afd581176b80359dec48e5ad
MD5 b93a03ef144d121bf8ec27ed3fcf543b
BLAKE2b-256 33050246781449be6d2ad49f822b79f7af6bc0bf717282119cba2df4a5cad2a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for petekio-0.2.3-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.3-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for petekio-0.2.3-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 08f4c166f4e27247eaaef4f2b9ffb1a11b4f2e70992c5953ad9f1672631ff729
MD5 0a96ba47005a2c206d4c84555f86a690
BLAKE2b-256 e1e4f90fc9af8c07e545fbcd89c25d7170e8497df92fce77d1a8c97c01769690

See more details on using hashes here.

Provenance

The following attestation bundles were made for petekio-0.2.3-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.3-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.3-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 84cffc81a9b096cf4aabc3dec25c0d9d2e28397b226bf318a375fd05def0dea5
MD5 4a3a80287cc33f07b2d0184cef5b93d7
BLAKE2b-256 912370b49690b2aab048c21b9838495a72c3d55906093657b882bc3036536ce8

See more details on using hashes here.

Provenance

The following attestation bundles were made for petekio-0.2.3-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