OpenSWMM#
Open Storm Water Management Model — Python bindings.
OpenSWMM is a community-driven, open-source continuation of the EPA Storm Water Management Model (SWMM) — a dynamic hydrology / hydraulics / water quality simulation model used for single-event and long-term simulation of runoff quantity and quality from primarily urban areas.
The openswmm package ships two engines that share the same
package namespace:
openswmm.legacy.engine and openswmm.legacy.output
The original EPA SWMM 5.x solver and binary-output reader, preserved verbatim for backward compatibility with existing scripts. No new development; bug fixes only.
If you are coming from a SWMM 5 codebase, see Migrating from SWMM 5 to v6 for a side-by-side translation.
Where to start#
Project at a glance#
Audience |
Hydrologists, stormwater engineers, researchers, app developers. |
Engines |
OpenSWMM 6 (reentrant C++20, |
Language |
Python ≥ 3.9 with NumPy ≥ 1.21 (NumPy 2.x supported). |
Platforms |
macOS (arm64 + x86_64), Linux (x86_64 + aarch64), Windows (x64). |
Build system |
scikit-build-core + CMake + Cython. |
License |
MIT. |