Skip to main content

epanet python package

A slender, auto-generated python wrapper around the owa:epanet hydraulic network analysis toolkit. This package uses SWIG and scikit-build to generate python bindings into the C library. The objective of this package is to establish basic python support for the toolkit, rather than present a "pythonic" interface. More abstractions can be built atop this package to further abstract the API, but the set of functions here is meant to (as closely as practical) mirror the well-known and established C API.

Where possible, SWIG has been configured to throw warnings/exceptions instead of using the customary EPANET return integer value for success-checking. Also any output (pointer) parameters from the C API have been re-routed to return values. In these cases, the return tuple from the Python API will contain the values desired.

Installation

To install with pip:

pip install owa-epanet

Wheels are now provided for most installations, some extra work will be needed if installing from source.

Building the libraries

Ensure the EPANET subproject is initialized by running git submodule update --init (if necessary) and running the following commands (on Windows skip the line ./script/clean.sh). The following method uses scikit-build to invoke cmake for compiling and linking the shared libaries, and builds a python wheel.

./scripts/clean.sh
python3 setup.py sdist bdist_wheel

Test your builds using the following commands.

cd test && \
pipenv install ../dist/*.whl && \
pipenv install pytest && \
pipenv run pytest

This python library was packaged in the following way:

python3 setup.py sdist bdist_wheel
python3 -m twine upload dist/*

Versioning

This package loosely follows EPANET's release version numbers. Its major and minor numbers will correspond to the given EPANET version, but the patch number is independent. This system might change in the future.

Metadata

Release files for owa-epanet 2.3.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for owa-epanet 2.3.5
File Size Uploaded Provenance
owa_epanet-2.3.5.tar.gz 995.9 kB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for owa-epanet 2.3.5
File Interpreter ABI Platform
owa_epanet-2.3.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
owa_epanet-2.3.5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
owa_epanet-2.3.5-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details

Total release size: 2.5 MB

Release files / owa_epanet-2.3.5.tar.gz

Download URL owa_epanet-2.3.5.tar.gz
Size 995.9 kB
Tags Source
SHA-256 checksum
How to use checksums
e857741a6a9f093c7d58f0a57ff2e8efe2a9ac223c1fdd4fa3218079c8b7aac6
BLAKE2b-256 checksum
How to use checksums
51c7128527894673ef527111cc2646c60642d0e0284ab49e4c2f27a648af9e6b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.9

Release files / owa_epanet-2.3.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL owa_epanet-2.3.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 570.9 kB
Tags CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
73c2e41b24776845f9b203600f1624b929438e13890d1965947b5b176715b938
BLAKE2b-256 checksum
How to use checksums
ef35cd8c665a45b7c2e1a55fc2cfce31c005261997424a2118153e1ed8b5376f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.0

Release files / owa_epanet-2.3.5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL owa_epanet-2.3.5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 570.3 kB
Tags CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
6cbd460a5fc95e36894add9f3d82653d9bd4576f4b6cd9373abaef374d004ade
BLAKE2b-256 checksum
How to use checksums
0ad2a96dae18685597e7b5c55a090b9f87edee59d83dc9901a38fe51fc84c404
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.0

Release files / owa_epanet-2.3.5-cp311-cp311-macosx_11_0_arm64.whl

Download URL owa_epanet-2.3.5-cp311-cp311-macosx_11_0_arm64.whl
Size 331.0 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e9d95e71c495ee6d46766332eb44adcd2551f40ac37efab536f2c7c7a26bfabb
BLAKE2b-256 checksum
How to use checksums
f05ac4f83bb66b3a19f4feb9db920cfeeb119e0f4db23fd77fe0eea9bde7c116
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.9

Security for owa-epanet 2.3.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page