Skip to main content

pySWATPlus

DOI

PyPI - Version GitHub Release Date PyPI - Python Version PyPI - Status PyPI - Format

GitHub last commit GitHub commit activity

docs flake8 mypy pytest pytest Codecov

GitHub Repo stars GitHub forks GitHub Created At

Pepy Total Downloads PyPI - License

📦 About

pySWATPlus is an open-source Python package that provides a programmatic interface to the SWAT+ model, allowing users to run simulations and conduct custom experiments.

✨ Key Features

  • Run SWAT+ simulations by modifying model parameters through the calibration.cal file.
  • Evaluate model performance against observed data using widely recognized statistical indicators.
  • Perform sensitivity analysis on model parameters using the SALib Python package.
  • Calibrate model parameters through multi-objective optimization and evolutionary algorithms using the pymoo Python package.
  • Execute sensitivity analysis and model calibration through high-level interfaces with built-in parallel computation support.
  • Analyze outputs from model simulations, sensitivity analyses, and calibrations.

📥 Install pySWATPlus

To install from PyPI repository:

pip install pySWATPlus

To install the latest development version from GitHub:

pip install git+https://github.com/swat-model/pySWATPlus.git

To install from source in editable mode within your desired conda environment:

# Activate your Conda environment
conda activate <environment_name>

# Install required tools and clone the repository
pip install build
cd C:\Users\Username\Folder  # Replace with your actual path
git clone https://github.com/swat-model/pySWATPlus.git
cd pySWATPlus

# Build the package
python -m build

# Install in editable mode
pip install --editable .

✅ Verify Installation

The installation is successful if no error is raised when importing the module using the following command:

import pySWATPlus

📚 Documentation

For a guide to setting up first SWAT+ project and other functionalities with examples, refere to the pySWATPlus documentation.

📖 Citation

If you use pySWATPlus in your research, please cite it using the following concept DOI, which always points to the latest version:

@software{joan_salo_pyswatplus_latest,
  author       = {Joan Saló and
                  Debasish Pal and
                  Oliu Llorente},
  title        = {swat-model/pySWATPlus},
  year         = 2025,
  publisher    = {Zenodo},
  doi          = {10.5281/zenodo.14889319},
  url          = {https://doi.org/10.5281/zenodo.14889319},
  note         = {This DOI always points to the latest version of pySWATPlus.},
}

🙏 Acknowledgments

We acknowledge the University of Oulu and ICRA research center for their support and the collaborative environment that made this project possible.

Metadata

Release files for pySWATPlus 1.3.0

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

Source distribution (sdist)

Source distribution for pySWATPlus 1.3.0
File Size Uploaded
pyswatplus-1.3.0.tar.gz 15.2 MB Details

Built distribution (wheel)

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

Total release size: 15.3 MB

Release files / pyswatplus-1.3.0.tar.gz

Download URL pyswatplus-1.3.0.tar.gz
Size 15.2 MB
Tags Source
SHA-256 checksum
How to use checksums
737fb6fa07d242613e22fa13eda52cdd590e26ce45d592f4b07637a8025c9c8d
BLAKE2b-256 checksum
How to use checksums
0f56a8df0f6df47684d13c0ef0b9c113efa4182db6d37ee26f10604a038c48fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.0

Release files / pyswatplus-1.3.0-py3-none-any.whl

Download URL pyswatplus-1.3.0-py3-none-any.whl
Size 56.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
449ff4e3a5d74f2b57722c6351174ea878278bc1a1ac8d71740d28a10309c47c
BLAKE2b-256 checksum
How to use checksums
8b00292d607829c8f2234fbed75a10a259b05c3cd9e7dcbef495e95c5de5a2d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.0

Release history Release notifications | RSS feed

This release

1.3.0 This release

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.2.20

2 release files

0.2.19

2 release files

0.2.16

2 release files

0.2.15

2 release files

0.2.13

2 release files

0.2.12

2 release files

0.2.11

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.1.0

2 release files

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