Wastewater utilities face competing priorities as they work to protect human health and water quality, and to maintain infrastructure in their communities. Budgetary constraints can be especially pronounced among small to medium-sized utilities. Utilities are increasingly turning to so-called intelligent water approaches as a cost-effective alternative to upgrading aging infrastructure. Intelligent water encompasses automated control and real-time decision support technologies and can be applied at scale to large and small utilities alike accommodating differences in needs, capabilities, and funds. Intelligent water upgrades can be designed to optimize existing conveyance, storage, and treatment during storms to help mitigate flooding and combined sewer overflows. The most promising real-time control algorithms coordinate control of upstream and downstream assets and are designed using urban hydrologic and hydraulic modeling software. The capabilities of legacy software, however, can sometimes inhibit the creation of sophisticated control algorithms. In this paper, we present PySWMM — an open-source Python wrapper developed for the EPA Storm Water Management Model (SWMM). PySWMM enables runtime interactions with the SWMM computational engine to flexibly read, modify system parameters, and control digital infrastructure during a simulation. Crucially, it allows modelers to easily combine SWMM with the rich set of scientific computing, big data, and machine learning modules found in the Python ecosystem. We highlight two real-world intelligent water case studies utilizing PySWMM in the cities of Cincinnati and Columbus, Ohio where it has helped to eliminate tens of millions of gallons of combined sewer overflows annually.