WDN-Synth: Water Distribution Network Synthetic Dataset Generator
An EPyT-first framework for generating highly realistic, physics-based synthetic datasets for Water Distribution Networks (WDNs). Designed specifically to benchmark anomaly detection algorithms (like HOT SAX or CUSUM) with realistic diurnal patterns, seasonal drifts, and physically consistent leak signatures.
Installation
The recommended way to install wdn-synth so it's globally available on your terminal (without messing with virtual environments or getting Linux externally-managed errors) is using pipx or uv:
# Recommended (install as a standalone app)
pipx install wdn-synth
# Alternatively, if you use uv:
uv tool install wdn-synth
If you prefer to install it into an active Python virtual environment (e.g. Conda or venv), you can use standard pip:
pip install wdn-synth
Graphical User Interface (GUI)
The easiest way to generate datasets is using the built-in Streamlit GUI. It provides a visual editor to configure your network, set stochastic demands, and visualize the leakage parameters.
To launch the GUI, simply run:
wdn-synth-gui
Command Line Interface (CLI)
For headless environments or automated workflows, you can use the CLI.
To run the entire pipeline (Plan -> Generate -> Validate) in one shot:
wdn-synth all profiles/your_config.yaml
If you prefer to run the steps individually:
wdn-synth validate profiles/your_config.yaml
wdn-synth plan profiles/your_config.yaml
wdn-synth generate profiles/your_config.yaml --shard 0
wdn-synth finalize profiles/your_config.yaml
License
This project is licensed under the European Union Public Licence v1.2 (EUPL-1.2).
For third-party licenses, simulation engines, and benchmark datasets, see THIRD_PARTY_NOTICES.md.
Acknowledgments & Funding
This research was developed at the University of Algarve (Universidade do Algarve - UAlg).
The authors acknowledge the computational support and resources provided by the Deucalion Supercomputer hosted at the Minho Advanced Computing Center (MACC) under the National Advanced Computing Network (RNCA) project grant F202514141CPCAA0X, funded by the Fundação para a Ciência e a Tecnologia (FCT, I.P.).
Metadata
Release files for wdn-synth 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| wdn_synth-0.1.3.tar.gz | 69.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| wdn_synth-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 160.1 kB
Release files / wdn_synth-0.1.3.tar.gz
| Download URL | wdn_synth-0.1.3.tar.gz |
|---|---|
| Size | 69.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c2fb00f57cdb37edf5c6f66008014247363ff45eff7ada24005e8aa02df8ffb2
|
|
BLAKE2b-256 checksum How to use checksums |
cca908fb5584d2c083430d1864e21106bb2d01202246d704ad5020741b14e711
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.20 {"installer":{"name":"uv","version":"0.12.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / wdn_synth-0.1.3-py3-none-any.whl
| Download URL | wdn_synth-0.1.3-py3-none-any.whl |
|---|---|
| Size | 90.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
10087b0d2912b2d9b04b7a3e87827d8eb0b87ae9bd27742542f34ffd989abe3c
|
|
BLAKE2b-256 checksum How to use checksums |
a384704ff300efc17e53d407191bb2a524d1ab3a894824fa9d9314e56c33aa4b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.20 {"installer":{"name":"uv","version":"0.12.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|