Skip to main content

petekSuite

petekSuite is the umbrella for a subsurface-modelling ecosystem: a small family of Rust libraries (with Python bindings) that take raw subsurface data all the way to static volumes and dynamic forecasts. The suite root itself builds no code — it coordinates the peer libraries, keeps their seams coherent, and holds the shared conventions ("the petek house style") that make them a family rather than a monolith.

Dependencies flow one direction, downward only — no cycles, no sideways sharing of code. Libraries share conventions freely and share code only downward through the graph; each library stays usable standalone.

                          ┌─────────────────────────────────────────┐
   petekIO      DATA      │  ingest · normalize · validate ·         │
      │                   │  interpret → model-ready inputs          │
      ▼                   └─────────────────────────────────────────┘
   petekStatic  GEOMODEL   structural framework · grid · property
      │                    modelling · volumetrics + static uncertainty
      ▼
   petekSim     SIMULATION dynamic / engineering forecast · PVT ·
                           the `peteksim` Python product facade

   petekTools   TOOLKIT    horizontal · shared · domain-agnostic:
                           numeric kernels + units + container + viewer
                           (serves every layer)

The libraries

petekIO — the DATA layer

Ingests, normalizes, validates, and interprets subsurface data (wells, surfaces, logs, seismic) into clean, model-ready inputs. A standalone Rust data-model + IO library with optional PyO3 bindings — data only, no modelling framework. Composes mature crates (las_rs, geo/geozero, ndarray, rstar, giga-segy) behind its own IO traits.

petekStatic — the GEOMODEL layer

Turns model-ready inputs into a populated StaticModel: the structural framework (horizons + faults + zones), grid construction, and property modelling (facies/petrophysics, geostatistics, trend population, log upscaling). It owns volumetrics + static uncertainty — GRV / in-place volumes off the model itself, Monte-Carlo over model realizations, and tornado analysis — producing a StaticModel plus probabilistic (P90/P50/P10) curves.

petekSim — the SIMULATION layer

Dynamic and engineering simulation: recoverable volumes and forecasting (decline, p/z, material balance, and later full dynamic flow), plus PVT. It ships the product — peteksim, the Python-facing appraisal toolkit that presents the whole stack behind one façade.

petekTools — the horizontal TOOLKIT

Domain-agnostic, shared numerics that serve every layer: the scattered-data gridding / kriging / warm-start / geostatistics kernels Rust lacks, a units system, the liftable container format, and a generic bundle viewer. A pure leaf — it depends on none of the others; they build on it.

Install

The whole suite installs with one command:

pip install peteksuite     # the meta-package: pulls all four libraries

The umbrella package also exposes short notebook imports:

from peteksuite import pio, pto, pst, ps

Every library is also directly installable from both crates.io (Rust) and PyPI (Python) — one crate and one wheel per library:

Library version pip Status
petekTools 0.2.15 pip install petektools live
petekIO 0.3.15 pip install petekio live
petekStatic 0.1.13 pip install petekstatic live
petekSim 0.1.13 pip install peteksim live

Rust (crates.io)

cargo add petektools@0.2.15    # TOOLKIT — numeric kernels, units, container
cargo add petekio@0.3.15       # DATA    — ingest + model-ready inputs
cargo add petekstatic@0.1.13   # GEOMODEL — StaticModel build + volumetrics + MC
cargo add peteksim@0.1.13      # SIMULATION — the appraisal facade over the stack

Python (PyPI)

pip install petektools==0.2.15
pip install petekio==0.3.15
pip install petekstatic==0.1.13   # static workflow API, StaticModel, volumes + bundles
pip install peteksim==0.1.13      # the full appraisal facade over the whole stack

Dependencies resolve automatically in DAG order (peteksim pulls the stack; petekstatic pulls petekio + petektools).

License

The suite is split by layer:

Library License
petekTools Apache-2.0
petekIO Apache-2.0
petekStatic Business Source License 1.1 (converts to Apache-2.0)
petekSim Business Source License 1.1 (converts to Apache-2.0)

The horizontal toolkit and the data layer are permissively licensed (Apache-2.0). The geomodel and simulation layers ship under the Business Source License 1.1, each released version converting to Apache-2.0 on its change date. See each library's own LICENSE / NOTICE for the authoritative terms.

Metadata

Release files for peteksuite 0.1.15

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for peteksuite 0.1.15
File Size Uploaded Provenance
peteksuite-0.1.15.tar.gz 9.5 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for peteksuite 0.1.15
File Interpreter ABI Platform
peteksuite-0.1.15-py3-none-any.whl Python 3 none any Details

Total release size: 22.4 kB

Release files / peteksuite-0.1.15.tar.gz

Download URL peteksuite-0.1.15.tar.gz
Size 9.5 kB
Tags Source
SHA-256 checksum
How to use checksums
1f51743c6877dc086fe543f91f1143c197bc7213a5795f2933734f34fb62e54a
BLAKE2b-256 checksum
How to use checksums
73b163ffc432e18b2911edb71400e59e46ab6062988bbc15efe78a50f89d0a0e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 14, 2026.

Transparency log

Release files / peteksuite-0.1.15-py3-none-any.whl

Download URL peteksuite-0.1.15-py3-none-any.whl
Size 12.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dec7f9538578cd55e71ad8c24b135e42648ac46c59705abd8ac5fa5673acbee1
BLAKE2b-256 checksum
How to use checksums
bec2e3658f70a9fd7beea4fe62d12d407fbd38c3763de7d57e8429c168646e02
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 14, 2026.

Transparency log

Security for peteksuite 0.1.15

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for peteksuite-0.1.15.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 14, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page