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 5 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-07T08:55:31.000Z (6 days ago)
- Last Synced: 2026-08-07T13:20:26.343Z (6 days ago)
- Topics: analysis, groundwater, hydrology, pastas, python, timeseries
- Language: Python
- Homepage: https://pastas.readthedocs.io
- Size: 164 MB
- Stars: 447
- Watchers: 15
- Forks: 109
- Open Issues: 46
- Releases: 47
-
Metadata Files:
- Readme: README.md
- Contributing: 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]
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
- Release event: 4
- Delete event: 88
- Pull request event: 165
- Fork event: 24
- Discussion event: 2
- Issues event: 167
- Watch event: 42
- Issue comment event: 446
- Push event: 785
- Pull request review event: 199
- Pull request review comment event: 116
- Create event: 109
Last Year
- Release event: 1
- Delete event: 59
- Pull request event: 59
- Fork event: 3
- Discussion event: 2
- Issues event: 72
- Watch event: 14
- Issue comment event: 185
- Push event: 540
- Pull request review event: 78
- Pull request review comment event: 52
- Create event: 67
Committers metadata
Last synced: 3 days ago
Total Commits: 3,016
Total Committers: 28
Avg Commits per committer: 107.714
Development Distribution Score (DDS): 0.523
Commits in past year: 574
Committers in past year: 10
Avg Commits per committer in past year: 57.4
Development Distribution Score (DDS) in past year: 0.645
| Name | Commits | |
|---|---|---|
| Raoul Collenteur | r****r@g****m | 1438 |
| dbrakenhoff | d****f@a****l | 447 |
| Ruben Caljé | r****e@a****l | 441 |
| martinvonk | v****t@g****m | 414 |
| Mark Bakker | m****k@g****m | 139 |
| copilot-swe-agent[bot] | 1****t | 40 |
| OnnoEbbens | o****s@g****m | 24 |
| 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 |
| Mike Taves | m****s@g****m | 4 |
| Willem Zaadnoordijk | w****m@y****k | 2 |
| dependabot[bot] | 4****] | 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: 523
Total pull requests: 589
Average time to close issues: 4 months
Average time to close pull requests: 13 days
Total issue authors: 36
Total pull request authors: 33
Average comments per issue: 2.49
Average comments per pull request: 2.57
Merged pull request: 476
Bot issues: 0
Bot pull requests: 2
Past year issues: 93
Past year pull requests: 82
Past year average time to close issues: about 2 months
Past year average time to close pull requests: 18 days
Past year issue authors: 9
Past year pull request authors: 10
Past year average comments per issue: 1.83
Past year average comments per pull request: 3.91
Past year merged pull request: 45
Past year bot issues: 0
Past year bot pull requests: 2
Top Issue Authors
- raoulcollenteur (214)
- martinvonk (81)
- dbrakenhoff (71)
- mbakker7 (62)
- rubencalje (25)
- OnnoEbbens (16)
- tomvansteijn (11)
- HenrikSpa (5)
- tdmeij (4)
- wjzRdam (3)
- AviadAvr (3)
- bdestombe (2)
- AnneDeGraaf (2)
- quanerpython (2)
- FransSchaars (1)
Top Pull Request Authors
- raoulcollenteur (212)
- martinvonk (137)
- dbrakenhoff (107)
- rubencalje (34)
- OnnoEbbens (30)
- tomvansteijn (8)
- Copilot (8)
- mbakker7 (7)
- wjzRdam (4)
- Camu-git (4)
- mwtoews (4)
- AviadAvr (3)
- pastas (2)
- AnneDeGraaf (2)
- janjaappape (2)
Top Issue Labels
- enhancement (172)
- bug (146)
- development (62)
- documentation (40)
- priority 1 (29)
- priority 2 (18)
- code quality (16)
- question (15)
- good-first-issue (12)
- wontfix (11)
- deprecation (11)
- priority 0 (8)
- help wanted (7)
- NWO (5)
- pastas_meeting (4)
Top Pull Request Labels
- enhancement (125)
- bug (64)
- documentation (55)
- code quality (48)
- 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: 10,086 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-08-12T13:35:14.118Z (1 day ago)
- Versions: 50
- Dependent Packages: 4
- Dependent Repositories: 4
- Downloads: 10,086 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-08-12T13:39:46.331Z (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 (4 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.756569447757744