pyswmm banner


PySWMM is a Python language software package for the creation, manipulation, and study of the structure, dynamics, and function of complex networks.

With PySWMM you can load and manipulate USEPA Stormwater Management Models. With the development of PySWMM, control algorithms can now be developed exclusively in Python which allows the use of functions and objects as well as storing and tracking hydraulic trends for control actions.

Who uses PySWMM?#

PySWMM is used by engineers, modelers, and researchers who want to streamline stormwater modeling optimization, controls, and post-processing results.


PySWMM is intended to provide

  • tools for the study of the structure and dynamics within USEPA SWMM5,

  • a standard programming interface and graph implementation that is suitable for many applications,

  • a rapid development environment for collaborative, multidisciplinary projects,

  • an interface to USEPA SWMM5,

  • development and implementation of control logic outside of native EPA-SWMM Controls,

  • methods for users to establish their own node inflows,

  • a coding interface to binary output files,

  • new modeling possibilities for the SWMM5 Community.

Free software#

PySWMM is free software; you can redistribute it and/or modify it under the terms of the BSD License. We welcome contributions from the community. Information on PySWMM development is found at the PySWMM Github Page pyswmm/pyswmm

What Next#