Pastas is an open source Python package to analyse hydro(geo)logical time series. The objective of Pastas is twofold: to provide a scientific framework to develop and test new methods, and to provide a reliable ready‐to‐use software tool for groundwater practitioners. All code is available from the Pastas GitHub. Want to contribute to the project? Check out the Developers section.

User Guide

User guide on the basic concepts of Pastas.


Examples of Pastas usage.

Code Reference

Pastas code reference.


Want to contribute to Pastas? Find resources and guides for developers here.


Find an overview of scientific peer-reviewed studies that used Pastas.

More Pastas

Find out more useful resources developed by the Pastas community!

Quick Example#

In this example a head time series is modelled in just a few lines of Python code.

# Import python packages
import pandas as pd
import pastas as ps

# Read head and stress data
obs = pd.read_csv("head.csv", index_col=0, parse_dates=True).squeeze("columns")
rain = pd.read_csv("rain.csv", index_col=0, parse_dates=True).squeeze("columns")
evap = pd.read_csv("evap.csv", index_col=0, parse_dates=True).squeeze("columns")

# Create and calibrate model
ml = ps.Model(obs, name="head")
sm = ps.RechargeModel(prec=rain, evap=evap, rfunc=ps.Exponential(), name="recharge")

Using Pastas? Please cite us!#

If you find Pastas useful and use it in your research or project, we kindly ask you to cite the Pastas article published in Groundwater journal as follows: