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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| owa_epanet-2.3.5.tar.gz | 995.9 kB | Without provenance | Details |
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.