pySWATPlus


NamepySWATPlus JSON
Version 1.1.0 PyPI version JSON
download
home_pageNone
SummaryRunning and calibrating default or custom SWAT+ projects with Python
upload_time2025-08-26 16:13:45
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseNone
keywords swat+ simulation hydrology watershed
VCS
bugtrack_url
requirements pytest pytest-cov SALib typing-extensions
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # pySWATPlus


[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14889319.svg)](https://doi.org/10.5281/zenodo.14889319)

![PyPI - Version](https://img.shields.io/pypi/v/pySWATPlus)
![GitHub Release Date](https://img.shields.io/github/release-date/swat-model/pySWATPlus?display_date=published_at)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pySWATPlus)
![PyPI - Status](https://img.shields.io/pypi/status/pySWATPlus)
![PyPI - Format](https://img.shields.io/pypi/format/pySWATPlus)


![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)


[![docs](https://github.com/swat-model/pySWATPlus/actions/workflows/deploy-docs.yml/badge.svg)](https://github.com/swat-model/pySWATPlus/actions/workflows/deploy-docs.yml)
[![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)
![Codecov](https://img.shields.io/codecov/c/github/debpal/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)

![Pepy Total Downloads](https://img.shields.io/pepy/dt/pySWATPLus)
![PyPI - License](https://img.shields.io/pypi/l/pySWATPlus)


## 📦 About

`pySWATPlus` is an open-source Python package that provides a programmatic interface to the [SWAT+](https://swat.tamu.edu/software/plus/) model, allowing users to run simulations, modify input files, and streamline custom experimentation through the model’s `TxtInOut` folder.


## ✨ Key Features

- Navigate and read files in the SWAT+ `TxtInOut` folder.
- Modify input parameters and save the updated files.
- Run SWAT+ simulations either in the main `TxtInOut` folder or in a user-specified directory.
- Perform sensitivity analysis on model parameters using the [SALib](https://github.com/SALib/SALib) Python package, with support for parallel computation.


## 📥 Install pySWATPlus

To install from PyPI repository:

```bash
pip install pySWATPlus
```

To install the latest development version from GitHub:

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

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

```bash
# 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:

```python
import pySWATPlus
```

## 📚 Documentation

For a guide to setting up first SWAT+ project and other functionalities with examples,
refere to the [pySWATPlus documentation](https://swat-model.github.io/pySWATPlus/).

## 📖 Citation

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

```bibtex
@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](https://www.oulu.fi/en) and [ICRA](https://icra.cat/en) research center for their support and the collaborative environment that made this project possible.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "pySWATPlus",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "SWAT+, simulation, hydrology, watershed",
    "author": null,
    "author_email": "Joan Sal\u00f3 <joansalograu@gmail.com>, Debasish Pal <bestdebasish@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/4f/85/d9048d43f4ba6917ea52fb98bf0f03c56227acd26595656729d9c0e81c92/pyswatplus-1.1.0.tar.gz",
    "platform": null,
    "description": "# pySWATPlus\n\n\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14889319.svg)](https://doi.org/10.5281/zenodo.14889319)\n\n![PyPI - Version](https://img.shields.io/pypi/v/pySWATPlus)\n![GitHub Release Date](https://img.shields.io/github/release-date/swat-model/pySWATPlus?display_date=published_at)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pySWATPlus)\n![PyPI - Status](https://img.shields.io/pypi/status/pySWATPlus)\n![PyPI - Format](https://img.shields.io/pypi/format/pySWATPlus)\n\n\n![GitHub last commit](https://img.shields.io/github/last-commit/swat-model/pySWATPlus)\n![GitHub commit activity](https://img.shields.io/github/commit-activity/t/swat-model/pySWATPlus)\n\n\n[![docs](https://github.com/swat-model/pySWATPlus/actions/workflows/deploy-docs.yml/badge.svg)](https://github.com/swat-model/pySWATPlus/actions/workflows/deploy-docs.yml)\n[![flake8](https://github.com/swat-model/pySWATPlus/actions/workflows/linting.yml/badge.svg)](https://github.com/swat-model/pySWATPlus/actions/workflows/linting.yml)\n[![mypy](https://github.com/swat-model/pySWATPlus/actions/workflows/typing.yml/badge.svg)](https://github.com/swat-model/pySWATPlus/actions/workflows/typing.yml)\n[![pytest](https://github.com/swat-model/pySWATPlus/actions/workflows/testing.yml/badge.svg)](https://github.com/swat-model/pySWATPlus/actions/workflows/testing.yml)\n![Codecov](https://img.shields.io/codecov/c/github/debpal/pySWATPlus)\n\n![GitHub Repo stars](https://img.shields.io/github/stars/swat-model/pySWATPlus)\n![GitHub forks](https://img.shields.io/github/forks/swat-model/pySWATPlus)\n![GitHub Created At](https://img.shields.io/github/created-at/swat-model/pySWATPlus)\n\n![Pepy Total Downloads](https://img.shields.io/pepy/dt/pySWATPLus)\n![PyPI - License](https://img.shields.io/pypi/l/pySWATPlus)\n\n\n## \ud83d\udce6 About\n\n`pySWATPlus` is an open-source Python package that provides a programmatic interface to the [SWAT+](https://swat.tamu.edu/software/plus/) model, allowing users to run simulations, modify input files, and streamline custom experimentation through the model\u2019s `TxtInOut` folder.\n\n\n## \u2728 Key Features\n\n- Navigate and read files in the SWAT+ `TxtInOut` folder.\n- Modify input parameters and save the updated files.\n- Run SWAT+ simulations either in the main `TxtInOut` folder or in a user-specified directory.\n- Perform sensitivity analysis on model parameters using the [SALib](https://github.com/SALib/SALib) Python package, with support for parallel computation.\n\n\n## \ud83d\udce5 Install pySWATPlus\n\nTo install from PyPI repository:\n\n```bash\npip install pySWATPlus\n```\n\nTo install the latest development version from GitHub:\n\n```bash\npip install git+https://github.com/swat-model/pySWATPlus.git\n```\n\nTo install from source in editable mode within your desired `conda` environment:\n\n```bash\n# Activate your Conda environment\nconda activate <environment_name>\n\n# Install required tools and clone the repository\npip install build\ncd C:\\Users\\Username\\Folder  # Replace with your actual path\ngit clone https://github.com/swat-model/pySWATPlus.git\ncd pySWATPlus\n\n# Build the package\npython -m build\n\n# Install in editable mode\npip install --editable .\n```\n\n## \u2705 Verify Installation\n\nThe installation is successful if no error is raised when importing the module using the following command:\n\n```python\nimport pySWATPlus\n```\n\n## \ud83d\udcda Documentation\n\nFor a guide to setting up first SWAT+ project and other functionalities with examples,\nrefere to the [pySWATPlus documentation](https://swat-model.github.io/pySWATPlus/).\n\n## \ud83d\udcd6 Citation\n\nIf you use `pySWATPlus` in your research, please cite it using the following **concept DOI**, which always points to the latest version:\n\n```bibtex\n@software{joan_salo_pyswatplus_latest,\n  author       = {Joan Sal\u00f3 and\n                  Debasish Pal and\n                  Oliu Llorente},\n  title        = {swat-model/pySWATPlus},\n  year         = 2025,\n  publisher    = {Zenodo},\n  doi          = {10.5281/zenodo.14889319},\n  url          = {https://doi.org/10.5281/zenodo.14889319},\n  note         = {This DOI always points to the latest version of pySWATPlus.},\n}\n```\n## \ud83d\ude4f Acknowledgments\nWe acknowledge the [University of Oulu](https://www.oulu.fi/en) and [ICRA](https://icra.cat/en) research center for their support and the collaborative environment that made this project possible.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Running and calibrating default or custom SWAT+ projects with Python",
    "version": "1.1.0",
    "project_urls": {
        "Documentation": "https://swat-model.github.io/pySWATPlus/",
        "Homepage": "https://github.com/swat-model/pySWATPlus"
    },
    "split_keywords": [
        "swat+",
        " simulation",
        " hydrology",
        " watershed"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e06940c1074250b564616f29d8faa1b72eab2e059193b7313cc7d730477340b8",
                "md5": "0f529878b4bcc917f5641daeaddbc8b3",
                "sha256": "e1a11f237b38f8aed728f212096bf7d9bd0f11a364de4c535105c225b0d3263d"
            },
            "downloads": -1,
            "filename": "pyswatplus-1.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "0f529878b4bcc917f5641daeaddbc8b3",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 21510,
            "upload_time": "2025-08-26T16:13:44",
            "upload_time_iso_8601": "2025-08-26T16:13:44.489356Z",
            "url": "https://files.pythonhosted.org/packages/e0/69/40c1074250b564616f29d8faa1b72eab2e059193b7313cc7d730477340b8/pyswatplus-1.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4f85d9048d43f4ba6917ea52fb98bf0f03c56227acd26595656729d9c0e81c92",
                "md5": "947c87ec029a3bd2ff88d5ba01065c6c",
                "sha256": "1e11c87a1902598a93fd45f54f3323be3d27c7dbada54142030ae538ff31c28c"
            },
            "downloads": -1,
            "filename": "pyswatplus-1.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "947c87ec029a3bd2ff88d5ba01065c6c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 2780862,
            "upload_time": "2025-08-26T16:13:45",
            "upload_time_iso_8601": "2025-08-26T16:13:45.377175Z",
            "url": "https://files.pythonhosted.org/packages/4f/85/d9048d43f4ba6917ea52fb98bf0f03c56227acd26595656729d9c0e81c92/pyswatplus-1.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-26 16:13:45",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "swat-model",
    "github_project": "pySWATPlus",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "pytest",
            "specs": []
        },
        {
            "name": "pytest-cov",
            "specs": []
        },
        {
            "name": "SALib",
            "specs": []
        },
        {
            "name": "typing-extensions",
            "specs": []
        }
    ],
    "lcname": "pyswatplus"
}
        
Elapsed time: 3.83415s