Pastas
An open-source Python framework for the analysis of groundwater time series.
https://github.com/pastas/pastas
Category: Hydrosphere
Sub Category: Freshwater and Hydrology
Keywords
analysis groundwater hydrology pastas python timeseries
Keywords from Contributors
modflow data-management geopandas groundwater-modelling arctic flopy hydrogeology observations analytic-element-method articles
Last synced: about 15 hours ago
JSON representation
Repository metadata
Pastas is an open-source Python framework for the analysis of groundwater time series.
- Host: GitHub
- URL: https://github.com/pastas/pastas
- Owner: pastas
- License: mit
- Created: 2016-04-15T07:29:20.000Z (over 10 years ago)
- Default Branch: dev
- Last Pushed: 2026-08-27T06:14:03.000Z (7 days ago)
- Last Synced: 2026-08-28T21:35:29.056Z (6 days ago)
- Topics: analysis, groundwater, hydrology, pastas, python, timeseries
- Language: Python
- Homepage: https://pastas.readthedocs.io
- Size: 164 MB
- Stars: 451
- Watchers: 15
- Forks: 109
- Open Issues: 50
- Releases: 49
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Citation: CITATION.cff
- Zenodo: .zenodo.json
README.md
Pastas: Analysis of Groundwater Time Series
Pastas: what is it?
Pastas is an open source python package for processing, simulating and
analyzing groundwater time series. The object oriented structure allows
for the quick implementation of new model components. Time series models
can be created, calibrated, and analysed with just a few lines of python
code with the built-in optimization, visualisation, and statistical
analysis tools.
Documentation & Examples
- Documentation is provided on the dedicated website
pastas.dev - Examples can be found on the examples directory on the
documentation website - A list of publications that use Pastas is available in a
dedicated Zotero group - View and edit the example notebooks of Pastas in
GitHub Codespaces
Quick Example
# Import Python packages
import pandas as pd
import pastas as ps
# Load head and meteorological observations into a pandas Series
obs = pd.read_csv("head.csv", index_col="datetime", parse_dates=["datetime"]).squeeze()
prec = pd.read_csv("prec.csv", index_col="datetime", parse_dates=["datetime"]).squeeze()
evap = pd.read_csv("evap.csv", index_col="datetime", parse_dates=["datetime"]).squeeze()
# Create and calibrate Pastas model
ml = ps.Model(obs, name="head")
sm = ps.RechargeModel(ml, prec, evap, rfunc=ps.Exponential(), name="recharge")
ml.solve()
# Visualize the model results
ml.plots.results()

Get in Touch
- Questions on Pastas can be asked and answered on Github
Discussions. - Bugs, feature requests and other improvements can be posted as
Github Issues. - Pull requests will only be accepted on the development branch (dev)
of this repository. Please take a look at the developers
section on the documentation website
for more information on how to contribute to Pastas.
Quick installation guide
To install Pastas, a working version of Python has to be installed on
your computer. We recommend using uv to manage Python
and your project dependencies. However, you are free to use any Python installation
method you prefer. The Anaconda Distribution
is another popular option.
Stable version
To get the latest stable version, use:
pip install pastas
Or with uv:
uv pip install pastas
Update
To update pastas, use:
pip install pastas --upgrade
Developers
To get the latest development version, use:
pip install git+https://github.com/pastas/pastas.git@dev#egg=pastas
Related packages
- Pastastore is a Python
package for managing multiple timeseries and pastas models - Metran is a Python package to
perform multivariate timeseries analysis using a technique called
dynamic factor modelling. - Hydropandas
can be used to obtain Dutch timeseries (KNMI, Dinoloket, ..) - PyEt can be used to compute
potential evaporation from meteorological variables.
Dependencies
Pastas depends on a number of Python packages, of which all of the necessary are
automatically installed when using the pip install manager. To know which dependencies
exist, check the pyproject.toml file.
To install the most important optional dependencies (solver with LmFit and caching via cachetools) at the same time with Pastas use:
pip install pastas[full]
or for the development version use:
pip install git+https://github.com/pastas/pastas.git@dev#egg=pastas[full]
Pastas Sustaining membership
Funding is required to maintain Pastas and keep the software up-to-date. For this
purpose, we call upon our community to contribute to this effort through our sustaining
membership program. We will collect the sustaining membership contributions through
Open Collective. The funds raised through the sustaining membership program will be used
to support the development and maintenance of Pastas, as well as to fund new features
and improvements to the software. For more information and to contribute, go to
https://opencollective.com/pastas.
Pastas newsletter
To stay up-to-date with all things Pastas, receive news, event announcements, and
more right into your e-mail inbox, please sign up for our quaterly newsletter here:
https://hydroconsult.ch/pastas-newsletter-subscription/
How to Cite Pastas?
If you use Pastas in one of your studies, please cite the Pastas article
in Groundwater:
- Collenteur, R.A., Bakker, M., Caljé, R., Klop, S.A., Schaars, F.
(2019) Pastas: open source software for the analysis of groundwater
time
series.
Groundwater. doi: 10.1111/gwat.12925.
To cite a specific version of Pastas, you can use the DOI provided for
each official release (>0.9.7) through Zenodo. Click on the link to get
a specific version and DOI, depending on the Pastas version.
- Collenteur, R., Bakker, M., Caljé, R. & Schaars, F. (XXXX). Pastas:
open-source software for time series analysis in hydrology (Version
X.X.X). Zenodo. http://doi.org/10.5281/zenodo.1465866
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Collenteur"
given-names: "R.A."
- family-names: "Bakker"
given-names: "M"
- family-names: "Caljé"
given-names: "R"
- family-names: "Schaars"
given-names: "F"
title: "Pastas: open-source software for the analysis of hydrogeological time series"
version: 0.22.0
doi: 10.5281/zenodo.1465866
date-released: 2022-08-02
url: "https://github.com/pastas/pastas"
preferred-citation:
type: article
authors:
- family-names: "Collenteur"
given-names: "R.A."
orcid: "https://orcid.org/0000-0001-7843-1538"
- family-names: "Caljé"
given-names: "R"
- family-names: "Klop"
given-names: "S.A."
- family-names: "Schaars"
given-names: "F"
- family-names: "Bakker"
given-names: "M"
orcid: "https://orcid.org/0000-0002-5629-2861"
doi: "10.1111/gwat.12925"
journal: "Groundwater"
month: 7
title: "Pastas: open source software for the analysis of groundwater time series"
volume: 57
year: 2019
Owner metadata
- Name: Pastas
- Login: pastas
- Email:
- Kind: organization
- Description: This organization holds the open source python package Pastas
- Website: https://pastas.readthedocs.io/en/latest/
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/18461359?v=4
- Repositories: 4
- Last ynced at: 2023-03-04T15:04:21.508Z
- Profile URL: https://github.com/pastas
GitHub Events
Total
- Create event: 113
- Delete event: 88
- Discussion event: 2
- Fork event: 24
- Issue comment event: 446
- Issues event: 167
- Pull request event: 165
- Pull request review comment event: 116
- Pull request review event: 199
- Push event: 785
- Release event: 5
- Watch event: 42
Last Year
- Create event: 68
- Delete event: 56
- Discussion event: 2
- Fork event: 3
- Issue comment event: 152
- Issues event: 61
- Pull request event: 48
- Pull request review comment event: 44
- Pull request review event: 61
- Push event: 504
- Release event: 2
- Watch event: 13
Committers metadata
Last synced: 14 days ago
Total Commits: 3,025
Total Committers: 28
Avg Commits per committer: 108.036
Development Distribution Score (DDS): 0.525
Commits in past year: 555
Committers in past year: 10
Avg Commits per committer in past year: 55.5
Development Distribution Score (DDS) in past year: 0.661
| Name | Commits | |
|---|---|---|
| Raoul Collenteur | r****r@g****m | 1438 |
| dbrakenhoff | d****f@a****l | 448 |
| Ruben Caljé | r****e@a****l | 441 |
| martinvonk | v****t@g****m | 417 |
| Mark Bakker | m****k@g****m | 139 |
| copilot-swe-agent[bot] | 1****t | 40 |
| OnnoEbbens | o****s@g****m | 26 |
| wjz | w****k@t****l | 15 |
| tomvansteijn | t****n@r****m | 9 |
| gwtsa | m****r@t****l | 9 |
| saklop | 4****p | 7 |
| Steijn van | s****1@b****l | 6 |
| martclanor | m****r@w****m | 6 |
| dependabot[bot] | 4****] | 5 |
| Mike Taves | m****s@g****m | 4 |
| Willem Zaadnoordijk | w****m@y****k | 2 |
| Aviad | a****7@g****m | 2 |
| AnneDeGraaf | 2****f | 1 |
| Aviad Avraham | a****m@m****m | 1 |
| Bas des Tombe | b****e@g****m | 1 |
| DC Slagel | d****s@m****g | 1 |
| Eit Van der Meulen | a****o@a****m | 1 |
| Govert Alkemade | 3****e | 1 |
| Mattijs Borst | 4****t | 1 |
| Nicole | 1****m | 1 |
| The Codacy Badger | b****r@c****m | 1 |
| bot | b****t@e****m | 1 |
| pgraafstra | 4****a | 1 |
Committer domains:
- artesia-water.nl: 2
- codacy.com: 1
- amo-nl.com: 1
- mailworks.org: 1
- munisense.com: 1
- yahoo.co.uk: 1
- witteveenbos.com: 1
- tudelft.nl: 1
- rhdhv.com: 1
- tno.nl: 1
Issue and Pull Request metadata
Last synced: 1 day ago
Total issues: 529
Total pull requests: 601
Average time to close issues: 4 months
Average time to close pull requests: 13 days
Total issue authors: 36
Total pull request authors: 34
Average comments per issue: 2.52
Average comments per pull request: 2.54
Merged pull request: 486
Bot issues: 0
Bot pull requests: 6
Past year issues: 90
Past year pull requests: 90
Past year average time to close issues: about 2 months
Past year average time to close pull requests: 15 days
Past year issue authors: 9
Past year pull request authors: 11
Past year average comments per issue: 1.93
Past year average comments per pull request: 3.56
Past year merged pull request: 53
Past year bot issues: 0
Past year bot pull requests: 6
Top Issue Authors
- raoulcollenteur (215)
- martinvonk (82)
- dbrakenhoff (72)
- mbakker7 (62)
- rubencalje (25)
- OnnoEbbens (19)
- tomvansteijn (11)
- HenrikSpa (5)
- tdmeij (4)
- wjzRdam (3)
- AviadAvr (3)
- bdestombe (2)
- AnneDeGraaf (2)
- quanerpython (2)
- FransSchaars (1)
Top Pull Request Authors
- raoulcollenteur (214)
- martinvonk (140)
- dbrakenhoff (107)
- rubencalje (34)
- OnnoEbbens (32)
- tomvansteijn (8)
- Copilot (8)
- mbakker7 (7)
- dependabot[bot] (6)
- Camu-git (4)
- wjzRdam (4)
- mwtoews (4)
- AviadAvr (3)
- martclanor (2)
- MattBrst (2)
Top Issue Labels
- enhancement (172)
- bug (150)
- development (62)
- documentation (40)
- priority 1 (29)
- priority 2 (18)
- question (16)
- code quality (16)
- good-first-issue (12)
- wontfix (11)
- deprecation (11)
- priority 0 (8)
- help wanted (7)
- NWO (5)
- pastas_meeting (4)
Top Pull Request Labels
- enhancement (126)
- bug (65)
- documentation (55)
- code quality (49)
- development (48)
- deprecation (17)
- priority 0 (5)
- good-first-issue (1)
- pastas_meeting (1)
- priority 1 (1)
- help wanted (1)
Package metadata
- Total packages: 3
-
Total downloads:
- pypi: 7,385 last-month
- conda: 64,801 total
- Total dependent packages: 4 (may contain duplicates)
- Total dependent repositories: 4 (may contain duplicates)
- Total versions: 107
- Total maintainers: 1
pypi.org: pastas
Pastas is an open-source Python framework for the analysis of groundwater time series.
- Homepage:
- Documentation: https://pastas.readthedocs.io/
- Licenses: MIT
- Latest release: 1.14.0 (published 5 months ago)
- Last Synced: 2026-09-01T23:36:35.599Z (1 day ago)
- Versions: 50
- Dependent Packages: 4
- Dependent Repositories: 4
- Downloads: 7,385 Last month
-
Rankings:
- Dependent packages count: 2.353%
- Average: 6.611%
- Dependent repos count: 7.51%
- Downloads: 9.97%
- Maintainers (1)
proxy.golang.org: github.com/pastas/pastas
- Homepage:
- Documentation: https://pkg.go.dev/github.com/pastas/pastas#section-documentation
- Licenses: mit
- Latest release: v1.14.0 (published 5 months ago)
- Last Synced: 2026-09-02T06:05:55.925Z (1 day ago)
- Versions: 45
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 6.521%
- Average: 6.74%
- Dependent repos count: 6.959%
conda-forge.org: pastas
- Homepage: https://github.com/pastas/pastas
- Licenses: MIT
- Latest release: 0.21.0 (published about 4 years ago)
- Last Synced: 2026-04-01T13:28:13.821Z (5 months ago)
- Versions: 12
- Dependent Packages: 0
- Dependent Repositories: 0
- Downloads: 64,801 Total
-
Rankings:
- Stargazers count: 20.953%
- Forks count: 22.356%
- Average: 32.128%
- Dependent repos count: 34.025%
- Dependent packages count: 51.175%
Dependencies
- actions/checkout v3 composite
- actions/setup-python v4 composite
- matplotlib >= 3.1
- numba >= 0.51
- numpy >= 1.17, < 1.24
- pandas >= 1.1
- scipy >= 1.8
- toshimaru/auto-author-assign v2.1.0 composite
- actions/checkout v6 composite
- astral-sh/setup-uv v7 composite
- actions/checkout v6 composite
- astral-sh/setup-uv v7 composite
- actions/checkout v6 composite
- astral-sh/setup-uv v7 composite
- actions/checkout v6 composite
- astral-sh/setup-uv v7 composite
- actions/checkout v6 composite
- astral-sh/setup-uv v7 composite
- codacy/codacy-coverage-reporter-action master composite
- actions/checkout v6 composite
- actions/setup-python v6 composite
Score: 20.73593668166539