Metadata-Version: 2.4
Name: pySWATPlus
Version: 1.0.2
Summary: Running and calibrating default or custom SWAT+ projects with Python
Author-email: Joan Saló <joansalograu@gmail.com>
License-Expression: GPL-3.0-or-later
Project-URL: Homepage, https://github.com/swat-model/pySWATPlus
Project-URL: Documentation, https://swat-model.github.io/pySWATPlus/
Keywords: SWAT+,simulation,hydrology,watershed
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.10
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Hydrology
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: pandas
Requires-Dist: typing-extensions

# pySWATPlus




[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.16380058.svg)](https://doi.org/10.5281/zenodo.16380058)
![PyPI - Version](https://img.shields.io/pypi/v/pySWATPlus)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pySWATPlus)
![PyPI - Status](https://img.shields.io/pypi/status/pySWATPlus)

![Pepy Total Downloads](https://img.shields.io/pepy/dt/pySWATPLus)
[![flake8](https://github.com/swat-model/pySWATPlus/actions/workflows/linting.yml/badge.svg)](https://github.com/swat-model/pySWATPlus/actions/workflows/linting.yml)
[![mypy](https://github.com/swat-model/pySWATPlus/actions/workflows/typing.yml/badge.svg)](https://github.com/swat-model/pySWATPlus/actions/workflows/typing.yml)
[![pytest](https://github.com/swat-model/pySWATPlus/actions/workflows/testing.yml/badge.svg)](https://github.com/swat-model/pySWATPlus/actions/workflows/testing.yml)

![GitHub last commit](https://img.shields.io/github/last-commit/swat-model/pySWATPlus)
![GitHub commit activity](https://img.shields.io/github/commit-activity/t/swat-model/pySWATPlus)
![GitHub Repo stars](https://img.shields.io/github/stars/swat-model/pySWATPlus)
![GitHub forks](https://img.shields.io/github/forks/swat-model/pySWATPlus)
![GitHub Created At](https://img.shields.io/github/created-at/swat-model/pySWATPlus)


![PyPI - License](https://img.shields.io/pypi/l/pySWATPlus)



## 📦 About

`pySWATPlus` is an open-source Python package developed and maintained by [ICRA](https://icra.cat/).
It provides a programmatic interface to the SWAT+ model, allowing users to run simulations, modify input files, and streamline custom experimentation through the model’s `TxtInOut` folder. 

---

## 📥 Install pySWATPlus

To install, run the following command with Python 3.10 or later:

````py
pip install pySWATPlus
````

---

## 📚 Documentation

For detailed documentation, tutorials, and examples, visit the **[pySWATPlus documentation](https://swat-model.github.io/pySWATPlus/)**. The documentation includes:

- **[Getting Started](https://swat-model.github.io/pySWATPlus/examples/basic_examples/)**: A beginner-friendly guide to setting up and running your first SWAT+ project.
- **[API Reference](https://swat-model.github.io/pySWATPlus/api/txtinoutreader/)**: Comprehensive documentation of all functions, input arguments, and usage examples.
  - **[TxtinoutReader](https://swat-model.github.io/pySWATPlus/api/txtinoutreader/)**: Work with SWAT+ input and output files.
  - **[FileReader](https://swat-model.github.io/pySWATPlus/api/filereader/)**: Read and manipulate SWAT+ files.
---


## 📖 Citation
To cite pySWATPlus, use:

```tex
@software{joan_salo_2025_16380058,
  author       = {Joan Saló and
                  Debasish Pal and
                  Oliu Llorente},
  title        = {swat-model/pySWATPlus: Release v1.0.1},
  month        = jul,
  year         = 2025,
  publisher    = {Zenodo},
  version      = {v1.0.1},
  doi          = {10.5281/zenodo.16380058},
  url          = {https://doi.org/10.5281/zenodo.16380058},
  swhid        = {swh:1:dir:22ad2f4e620c3ef99bc62dd880cbc05c0be3c2b8
                   ;origin=https://doi.org/10.5281/zenodo.14889319;vi
                   sit=swh:1:snp:4dc18853eb47c828caa36afd324ab58c8c8c
                   02b2;anchor=swh:1:rel:c2e6bc6de431c7201ab6f484fc30
                   96b43cb5a90e;path=swat-model-pySWATPlus-022f59a
                  },
}
```
