welltest-pta

Pressure Transient Analysis (PTA) and Drill-Stem Test (DST) toolkit for Python.

A complete, batteries-included pipeline for petroleum well-test interpretation: robust ASCII parsing \(\rightarrow\) automatic event detection \(\rightarrow\) per-event analytics (Bourdet derivative, Horner, MDH) \(\rightarrow\) flow-regime identification \(\rightarrow\) reservoir parameters (\(k\), \(kh\), skin, wellbore storage) \(\rightarrow\) multi-event deconvolution \(\rightarrow\) publication-quality plots.

PyPI version Python versions License Documentation

At a glance

from welltest_pta import WellTest, deconvolve

# 1) Load + auto-detect events (with optional CV scoring)
wt = WellTest.from_file("DST.txt", cross_validate=True)
wt.print_summary()

# 2) Per-event PTA analysis
bu = wt.events.longest_buildup
params = bu.reservoir_params(q=850, mu=0.45, B=1.18,
                             h=18, phi=0.12, ct=1.2e-5, rw=0.108)
print(f"k = {params['k']:.2f} mD,  skin = {params['skin']:+.2f}")

# 3) Multi-event deconvolution
recon = deconvolve(wt.events, default_q=850)
recon.plot()

# 4) Bulk export
wt.export_all("./output", per_event=True)

User guide


Citation

If you use welltest-pta in research, please cite:

@software{harkat2026welltestpta,
  author  = {Harkat, Ismail},
  title   = {welltest-pta: Pressure Transient Analysis Toolkit for Python},
  year    = {2026},
  url     = {https://github.com/geoharkat/welltest-pta},
  version = {0.1.0},
}

Indices and tables