Several attempts of the past aimed to convert EPANET into a bigger open-source project by rewriting EPANET in an object-oriented way. We introduce a Python based object-oriented EPANET (OOPNET) with the purpose to address water engineers that might be not so familiar with complex programming languages like C++ or Java. EPANET input files are translated into the object oriented structure of OOPNET and manipulated and simulated with EPANET's command-line interface through Python. The replacement of EPANET by a hydraulic solver in Python is still ongoing and has the purpose to provide a solution completely written in one programing language.
Steffelbauer, D., & Fuchs-Hanusch, D. (2015). OOPNET: An object-oriented EPANET in Python. In Procedia Engineering (Vol. 119, pp. 710–718). Elsevier Ltd. https://doi.org/10.1016/j.proeng.2015.08.924