PymHM - Python Mesoscale Hydrological Model
A Python package for mesoscale hydrological modeling, designed to work both as a standalone library and as a QGIS plugin.
Features
- Hydrological Modeling: Core functionality for mesoscale hydrological processes
- QGIS Integration: Seamless integration with QGIS 3.0+ as a plugin
- Data Processing: Tools for handling hydrological data and model inputs
- Visualization: Built-in plotting and visualization capabilities
- Extensible: Modular design for easy extension and customization
Installation
From PyPI (Recommended)
pip install pymhm
From Source
git clone https://github.com/SanjeevBashyal/pymhm.git
cd pymhm
pip install -e .
For QGIS Plugin
- Download the plugin from the QGIS Plugin Manager
- Or install manually by copying the
pymhmfolder to your QGIS plugins directory
Quick Start
As a Python Package
import pymhm
# Initialize the model
model = pymhm.HydrologicalModel()
# Run simulation
results = model.run_simulation()
As a QGIS Plugin
- Open QGIS
- Go to Plugins → Manage and Install Plugins
- Search for "PymHM"
- Install and activate the plugin
- Access the plugin from the Plugins menu
Documentation
Requirements
- Python 3.8+
- NumPy >= 1.20.0
- SciPy >= 1.7.0
- Pandas >= 1.3.0
- For QGIS plugin: QGIS 3.0+
Development
Setting up Development Environment
git clone https://github.com/SanjeevBashyal/pymhm.git
cd pymhm
pip install -e .[dev]
Running Tests
pytest
Building Documentation
pip install -e .[docs]
sphinx-build -b html docs/ docs/_build/
Contributing
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the GNU General Public License v2.0 - see the LICENSE file for details.
Citation
If you use PymHM in your research, please cite:
@software{pymhm2025,
title={PymHM: Python Mesoscale Hydrological Model},
author={Sanjeev Bashyal},
year={2025},
url={https://github.com/SanjeevBashyal/pymhm},
version={0.1.0}
}
Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: sanjeev.bashyal01@gmail.com
Changelog
See CHANGELOG.md for a list of changes and version history.
Acknowledgments
- QGIS Development Team for the excellent platform
- Python Scientific Community for the amazing tools
- Contributors and users of PymHM
Release files for pymhm 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pymhm-0.1.1.tar.gz | 26.7 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pymhm-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 31.2 MB
Release files / pymhm-0.1.1.tar.gz
| Download URL | pymhm-0.1.1.tar.gz |
|---|---|
| Size | 26.7 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5f57f52e9f1d8b0cf29b04f96df4b7b332fe7ff6aa484a69ad8c28e2efaa8364
|
|
BLAKE2b-256 checksum How to use checksums |
4a6694f99455876d0ca1e663db66b84fadf471c58a177d9d583d07474e0854ec
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.3
|
Release files / pymhm-0.1.1-py3-none-any.whl
| Download URL | pymhm-0.1.1-py3-none-any.whl |
|---|---|
| Size | 4.5 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a8db7fec0bd7662b9e3fc76e8040b0aedb6cfe89b1e75a0133408699fe360d47
|
|
BLAKE2b-256 checksum How to use checksums |
7c2834781e4ccda2b8082347568d90d645b88b5c8867f3191f1641c65f42cd5c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.3
|