Skip to main content

Object-oriented EPANET in Python

Project description

OOPNET

PyPI OOPNET build License: MIT Documentation Status

OOPNET (Object-Oriented Pipe Network Analyzer) is a Python package for modelling and simulating hydraulic water distribution system models based on the modelling software EPANET.

Main functionalities:

  • Reading EPANET input files (.inp)
  • Modifying model components, settings, controls and rules
  • Simulating models using EPANET with results as pandas data objects
  • Plotting models using matplotlib

A detailed documentation is available under https://oopnet.readthedocs.io.


Warning!

Be warned, that OOPNET is still changing a lot. Until it's marked as 1.0.0, you should assume that it is unstable and act accordingly. We are trying to avoid breaking changes but they can and will occur!


Installation

OOPNET uses features only available in the newer Python version, which is why Python >= 3.9 is needed along with several Python package dependencies.

OOPNET is available on PyPI and can be easily installed together with its dependencies using pip:

pip install oopnet

Alternatively, you can install OOPNET from its repository:

pip install git+https://github.com/oopnet/oopnet.git

Dependencies

OOPNET requires the following Python packages:

  • networkx
  • numpy
  • pandas
  • xarray
  • matplotlib
  • bokeh

On Linux and macOS, EPANET has to be installed as well and has to be added to the path environment variable. Windows users don't have to have EPANET installed.

Basic Usage

To use OOPNET, you first have to import it in your script:

import oopnet as on

In OOPNET, everything is about the Network. If you want to start with a new, empty Network, type the following:

network = on.Network()

If you want to read an existing EPANET model, you can read it as an input-file:

filename = "network.inp"
network = on.Network.read(filename)

To simulate the model, you can use the Network`s run method:

report = network.run()

If you want to create a basic Network plot, you can use its plot method:

network.plot()

License

OOPNET is available under a MIT License.

Contributing

If you want to contribute, please check out our Code of Conduct and our Contribution Guide. Looking forward to your pull request or issue!

Citing

If you publish work based on OOPNET, we appreciate a citation of the following reference:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

oopnet-0.6.0.tar.gz (218.3 kB view details)

Uploaded Source

Built Distribution

oopnet-0.6.0-py3-none-any.whl (236.6 kB view details)

Uploaded Python 3

File details

Details for the file oopnet-0.6.0.tar.gz.

File metadata

  • Download URL: oopnet-0.6.0.tar.gz
  • Upload date:
  • Size: 218.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.3 readme-renderer/37.2 requests/2.28.1 requests-toolbelt/0.10.0 urllib3/1.26.12 tqdm/4.64.1 importlib-metadata/5.0.0 keyring/23.9.3 rfc3986/2.0.0 colorama/0.4.5 CPython/3.9.14

File hashes

Hashes for oopnet-0.6.0.tar.gz
Algorithm Hash digest
SHA256 0765f8f738c44f008233cc6066c204fe2920c9073eee0d55a8b08ea5e7efc6f1
MD5 7bd3c2d8880dbe8810a1a5f8a5daa586
BLAKE2b-256 cad1f8ebdd9ca9cda60cfbb80c4f44809b80b3b0a197c693d394db45fbda5258

See more details on using hashes here.

File details

Details for the file oopnet-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: oopnet-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 236.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.3 readme-renderer/37.2 requests/2.28.1 requests-toolbelt/0.10.0 urllib3/1.26.12 tqdm/4.64.1 importlib-metadata/5.0.0 keyring/23.9.3 rfc3986/2.0.0 colorama/0.4.5 CPython/3.9.14

File hashes

Hashes for oopnet-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e0f167c3cea5b65b059325812ecf5eda0c1fb7b3ae50c748192e5d1ade6811c8
MD5 5e95427f660bc8e477d1e58c7ff45e67
BLAKE2b-256 308ee13f60a4ce0affa5711f6cd8660edf8d860953aa57cfdac7b823051625ef

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page