epyt-flow 0.9.0__py3-none-any.whl → 0.11.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. epyt_flow/VERSION +1 -1
  2. epyt_flow/data/networks.py +27 -14
  3. epyt_flow/gym/control_gyms.py +8 -0
  4. epyt_flow/gym/scenario_control_env.py +17 -4
  5. epyt_flow/metrics.py +5 -0
  6. epyt_flow/models/event_detector.py +5 -0
  7. epyt_flow/models/sensor_interpolation_detector.py +5 -0
  8. epyt_flow/serialization.py +5 -0
  9. epyt_flow/simulation/__init__.py +0 -1
  10. epyt_flow/simulation/events/actuator_events.py +7 -1
  11. epyt_flow/simulation/events/sensor_reading_attack.py +16 -3
  12. epyt_flow/simulation/events/sensor_reading_event.py +18 -3
  13. epyt_flow/simulation/scada/__init__.py +3 -1
  14. epyt_flow/simulation/scada/advanced_control.py +6 -2
  15. epyt_flow/simulation/scada/complex_control.py +625 -0
  16. epyt_flow/simulation/scada/custom_control.py +134 -0
  17. epyt_flow/simulation/scada/scada_data.py +547 -8
  18. epyt_flow/simulation/scada/simple_control.py +317 -0
  19. epyt_flow/simulation/scenario_config.py +87 -26
  20. epyt_flow/simulation/scenario_simulator.py +865 -51
  21. epyt_flow/simulation/sensor_config.py +34 -2
  22. epyt_flow/topology.py +16 -0
  23. epyt_flow/uncertainty/model_uncertainty.py +80 -62
  24. epyt_flow/uncertainty/sensor_noise.py +15 -4
  25. epyt_flow/uncertainty/uncertainties.py +71 -18
  26. epyt_flow/uncertainty/utils.py +40 -13
  27. epyt_flow/utils.py +15 -1
  28. epyt_flow/visualization/__init__.py +2 -0
  29. epyt_flow/{simulation → visualization}/scenario_visualizer.py +429 -586
  30. epyt_flow/visualization/visualization_utils.py +611 -0
  31. {epyt_flow-0.9.0.dist-info → epyt_flow-0.11.0.dist-info}/LICENSE +1 -1
  32. {epyt_flow-0.9.0.dist-info → epyt_flow-0.11.0.dist-info}/METADATA +18 -6
  33. {epyt_flow-0.9.0.dist-info → epyt_flow-0.11.0.dist-info}/RECORD +35 -30
  34. {epyt_flow-0.9.0.dist-info → epyt_flow-0.11.0.dist-info}/WHEEL +1 -1
  35. {epyt_flow-0.9.0.dist-info → epyt_flow-0.11.0.dist-info}/top_level.txt +0 -0
@@ -1,9 +1,9 @@
1
- epyt_flow/VERSION,sha256=nYyU8a0-qWseKsSRT9pMuTx2tKPg2Mxt2JdtbAsifRU,6
1
+ epyt_flow/VERSION,sha256=eV1rx5V00q7AOtnP7EBLuVCDyd0hDmUh4NQZl3LSjUQ,7
2
2
  epyt_flow/__init__.py,sha256=n-zI5G3DUofs_pNC5YNWopNPCPUtpL-jYi8RPH6eakw,1768
3
- epyt_flow/metrics.py,sha256=R-Xz7zYLj7Yqi0u7VvmqYBD8sbhwbEp6plYAX7fg9nk,16249
4
- epyt_flow/serialization.py,sha256=ly7tTgVEHVkgsX0dcrjCF-hrtPeimAo5d8xgsb2x648,14349
5
- epyt_flow/topology.py,sha256=6ssDcUyHYNT8PGHyVysfs7TuAM5LmfkETrONC7uC30Q,25441
6
- epyt_flow/utils.py,sha256=FWbmnfBoZOQG5cFkls4aQ4Y67H-PvtrK-wmOXtyc-Cg,15833
3
+ epyt_flow/metrics.py,sha256=vGUOWJ7hHkTtLKXsUTpT4LUHulumQ6WcmWc3yeJ8Fbo,16402
4
+ epyt_flow/serialization.py,sha256=uGGN1iZ21ek1u6Xzs4z2xum5Qt8554Wem-wEMGEaa7I,14574
5
+ epyt_flow/topology.py,sha256=w5V9OK6ZtO7hpCb5LYMyAYY80gd3lDPPZk3qhXP5Qdo,25858
6
+ epyt_flow/utils.py,sha256=jQslCH4YMvTp5AtqRMbNIW2B9G3E-TQoGaox7yQ3UtE,16489
7
7
  epyt_flow/EPANET/compile_linux.sh,sha256=wcrDyiB8NkivmaC-X9FI2WxhY3IJqDLiyIbVTv2XEPY,489
8
8
  epyt_flow/EPANET/compile_macos.sh,sha256=1K33-bPdgr01EIf87YUvmOFHXyOkBWI6mKXQ8x1Hzmo,504
9
9
  epyt_flow/EPANET/EPANET/SRC_engines/AUTHORS,sha256=yie5yAsEEPY0984PmkSRUdqEU9rVvRSGGWmjxdwCYMU,925
@@ -80,7 +80,7 @@ epyt_flow/EPANET/EPANET-MSX/Src/smatrix.h,sha256=heHTNgQNNDTs_Jx0YBts7_B7dPg8VUF
80
80
  epyt_flow/EPANET/EPANET-MSX/Src/include/epanetmsx.h,sha256=L9y0VKHk5Fg1JZxID9uBzcvLZWOb1xuQP-MkmHH_LD4,3429
81
81
  epyt_flow/EPANET/EPANET-MSX/Src/include/epanetmsx_export.h,sha256=h5UMaf6pH_0asRJOmhWUGAZhyA180ui2Cz8_y5h1FKw,1054
82
82
  epyt_flow/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
83
- epyt_flow/data/networks.py,sha256=Cr3ygIwSE182mOi0CnLmwTbtiOjo5XAVgn7zuW7yUhs,37899
83
+ epyt_flow/data/networks.py,sha256=fZLv3yv_iDS23H-7KNMxNhCvfvrr9WdO7VNR5K3e94U,39842
84
84
  epyt_flow/data/benchmarks/__init__.py,sha256=nJ6hqPaPNp8YMizniev3fwOWpzvvNUBMoRF16wACUkE,754
85
85
  epyt_flow/data/benchmarks/batadal.py,sha256=E9kl0gI5HyL6LZ9ZoLZwdQBNHXKblWW1QV4E8ucr99s,11247
86
86
  epyt_flow/data/benchmarks/batadal_data.py,sha256=oIzcysGivMPAgrfzrk5l8i-j6Ii96DPcFa6sL4TSaw8,880
@@ -91,11 +91,11 @@ epyt_flow/data/benchmarks/leakdb.py,sha256=IwOl0vLL5Fn5sJjWrB4eIq52nMx7kmdUpiB2H
91
91
  epyt_flow/data/benchmarks/leakdb_data.py,sha256=FNssgMkC1wqWVlaOrrihr4Od9trEZY7KeK5KuBeRMvM,507058
92
92
  epyt_flow/data/benchmarks/water_usage.py,sha256=COgsLRSzcG0JT5xh2qdDm7IjuMCx6n_zrdxOPupHiJY,4920
93
93
  epyt_flow/gym/__init__.py,sha256=KNTDtPTEtHwZ4ehHfj9qGw81Z9acFqPIgMzYUzH5_uM,115
94
- epyt_flow/gym/control_gyms.py,sha256=1Yi_ioLS8qNvHNOXuve6NWTd1_LH7QBsaJojObNKglw,1283
95
- epyt_flow/gym/scenario_control_env.py,sha256=_xGzKpxk6jdQf21OZ757Uvv8-ktyI9mYUyJT6w4hodQ,12359
94
+ epyt_flow/gym/control_gyms.py,sha256=7GVIdBKd4vppLke59pqi-OKl8m-BkPyvLwUhg9xRah4,1632
95
+ epyt_flow/gym/scenario_control_env.py,sha256=7OZuhrEW6bzKwYfL-lMgvNBERX9WG9Npkle3pfLEgq0,12845
96
96
  epyt_flow/models/__init__.py,sha256=be5s08y1Tg66SuNYKGz5GnNMHThnQJo8SWJdT9493Kc,75
97
- epyt_flow/models/event_detector.py,sha256=idR7byBgloo07XEJEyMIwi49VW4wxJErLQtI-tJXWPs,789
98
- epyt_flow/models/sensor_interpolation_detector.py,sha256=WNuaiS_sUBvMAkHifpCIvx1gz2NEMQeT7kgLsVmXYCQ,3859
97
+ epyt_flow/models/event_detector.py,sha256=jLCkd0ocJXpYB2t_nlj7GjYIqBfch6hY4eA41KejX4w,941
98
+ epyt_flow/models/sensor_interpolation_detector.py,sha256=H5pPbwa18FmE2L8khSkcYEunPjN6fuh2vXb9BZSX_5o,4011
99
99
  epyt_flow/rest_api/__init__.py,sha256=4HilmXhdh6H56UHJBB2WUSULlEBUDnI1FPTP11ft3HE,126
100
100
  epyt_flow/rest_api/base_handler.py,sha256=HDLXrMXqgWvxWAsB-3G4plyTyCv27_eBbq4eRl_FeBo,2609
101
101
  epyt_flow/rest_api/res_manager.py,sha256=j6-3FUBZNLKM9bCsIDZzSytfDYJbDLRwjn1mIPstTqI,2342
@@ -109,32 +109,37 @@ epyt_flow/rest_api/scenario/event_handlers.py,sha256=rld6gbneARp079ege4IU5J5jefk
109
109
  epyt_flow/rest_api/scenario/handlers.py,sha256=r355-4wjQGOH0vpDTOOIP9qC8bo_Sm7znir2BgNuweg,13656
110
110
  epyt_flow/rest_api/scenario/simulation_handlers.py,sha256=A59Iv-6k7SlGF_RDQgoFlvHWM1mScvfCobXBW4Rhh6E,6511
111
111
  epyt_flow/rest_api/scenario/uncertainty_handlers.py,sha256=Pdo2YmiawOqKXWcLs2P-lv5qN-OKHS3sDgkAFQeRzK8,4568
112
- epyt_flow/simulation/__init__.py,sha256=VGGJqJRUoXZjKJ0-m6KPp3JQqD_1TFW0pofLgkwZJ8M,164
112
+ epyt_flow/simulation/__init__.py,sha256=nihvZ8O2rJjYQkv7JhtVMqNacO5bA38VtS8Y_0BWrVQ,129
113
113
  epyt_flow/simulation/parallel_simulation.py,sha256=ph4KXw9jCt-hiJFJbmC6fNvEsrbQoWV-tFKE5-qSfoQ,6523
114
- epyt_flow/simulation/scenario_config.py,sha256=jtfqYEQ7Roa--kcCdZarS9lfPzNCeFQE5KTYzL3ENtI,27188
115
- epyt_flow/simulation/scenario_simulator.py,sha256=iqYvM_p8BZLjjEGOrXT5hbLQL5gcPLcbkg0Ha_lV0Xk,118902
116
- epyt_flow/simulation/scenario_visualizer.py,sha256=CITY1hjhZKfFINaecxsPfQmB7b_zEAzNrHu5rx8BvY4,59339
117
- epyt_flow/simulation/sensor_config.py,sha256=rgLhnsOf1Ka9b7vnbd8OaAuoqAAgB4w6l42oMv16hw8,93444
114
+ epyt_flow/simulation/scenario_config.py,sha256=uHHwwzCRwooVdODxDNoCOUgfrlol1K-TS8P8_Ja9Coc,30435
115
+ epyt_flow/simulation/scenario_simulator.py,sha256=Byk1X6sVdJRLahjpebxfSdSosmXIOYt8hn2rDQTqUoY,156653
116
+ epyt_flow/simulation/sensor_config.py,sha256=AGAIC5vqcu2UZsglSCwv2pvZ3E0kbTtdaqtFPEMBwSw,94262
118
117
  epyt_flow/simulation/events/__init__.py,sha256=gv8ZcvwjJN0Z5MwRXEOVFRNq4X5NPyyqXIQnhBxszQ0,215
119
- epyt_flow/simulation/events/actuator_events.py,sha256=rEGWYxic5mH0guBw-yUnj9yTmhqzVeBwD2udx_IbAco,7913
118
+ epyt_flow/simulation/events/actuator_events.py,sha256=gNOIZL9WNiIhEANi8yEyGxKx4vSMBZiRpiSJ4BbDL60,8171
120
119
  epyt_flow/simulation/events/event.py,sha256=kARPV20XCAl6zxnJwI9U7ICtZUPACO_rgAmtHm1mGCs,2603
121
120
  epyt_flow/simulation/events/leakages.py,sha256=pFSbOiKeGeHPZhLAgo2DFFI1QYImd7m167lMW6B-n-U,17838
122
121
  epyt_flow/simulation/events/quality_events.py,sha256=y9i1U4xjwsoDZ55vtjl4KeJt5AbYJsfVt7X0Xw0Mq6Y,7965
123
122
  epyt_flow/simulation/events/sensor_faults.py,sha256=XX6k-GJh9RWZ4x54eGj9um-Ir9Eq41tY_9pRSCeYeqc,8447
124
- epyt_flow/simulation/events/sensor_reading_attack.py,sha256=3de7J96zo8UnKsOEVpf-xvFbXDc8M5KS2r_diXmUBzU,7609
125
- epyt_flow/simulation/events/sensor_reading_event.py,sha256=QdsdsfWd5SCsrkBt7UUJdwhI4q9nVqB4cl33GJFJ1js,6998
123
+ epyt_flow/simulation/events/sensor_reading_attack.py,sha256=2E8q6yWnLxeLgYxW0MHw0GSjlUDjIIZ2GybVRLA7FJQ,7967
124
+ epyt_flow/simulation/events/sensor_reading_event.py,sha256=OWMRWPsvgMgaynMayJ-hQotP9zV5sDIYrOfY0fOCuvc,7586
126
125
  epyt_flow/simulation/events/system_event.py,sha256=IGypfTL-miosmwKd4DGTYvByyBcl8__0Asiifw-SzUQ,2606
127
- epyt_flow/simulation/scada/__init__.py,sha256=ZFAxJVqwEVsgiyFilFetnb13gPhZg1JEOPWYvKIJT4c,90
128
- epyt_flow/simulation/scada/advanced_control.py,sha256=LH6CS6vKUp6fUiq8uJZeNb-3VGBn-88MZ2VdF7CArCc,4669
129
- epyt_flow/simulation/scada/scada_data.py,sha256=WBR32HPmRW6zArIDhkHP6J997m3wJu9b9iFIMkR7Piw,168430
126
+ epyt_flow/simulation/scada/__init__.py,sha256=pfJhg-tM5DaiZTXs0_1qJsY2R6Py_LwSz6BUFJexfQM,150
127
+ epyt_flow/simulation/scada/advanced_control.py,sha256=t0dlEHsnUE0T-du2_5YBYUzMW4a3-Qxw0tT_e9Z9g8Y,4883
128
+ epyt_flow/simulation/scada/complex_control.py,sha256=p2ehLyScJbj2jbyevXf7T3Ot8jnBYWgRR3Cz-m3boB0,22107
129
+ epyt_flow/simulation/scada/custom_control.py,sha256=QzkKcn7t53GcTaRofRDbY-HErcDReMF4utWkck6bN60,4681
130
+ epyt_flow/simulation/scada/scada_data.py,sha256=jH5jrlbDb_gwSndcLNfjLZj3Kt2YAZVY56klWf5yRp8,194085
130
131
  epyt_flow/simulation/scada/scada_data_export.py,sha256=WNAFn_WNfzYAEFbl2Al-cOIx-A0ozY4AI60-i_qEHdc,11643
132
+ epyt_flow/simulation/scada/simple_control.py,sha256=wUsxsrgqmYxXR93_atcKbV9E-t3hgqj60ZeTvoBBnoQ,12215
131
133
  epyt_flow/uncertainty/__init__.py,sha256=ZRjuJL9rDpWVSdPwObPxFpEmMTcgAl3VmPOsS6cIyGg,89
132
- epyt_flow/uncertainty/model_uncertainty.py,sha256=TY6oYFwRUCsPh_j5SeFbiuzco0459kCnbNbn8XcX1e4,41611
133
- epyt_flow/uncertainty/sensor_noise.py,sha256=-MhzYp6jj7B-NNK8dzJb1bqT_tJygc-YrDeJdDm0m4o,6356
134
- epyt_flow/uncertainty/uncertainties.py,sha256=sZRMp2GLl2ITxIwW8X3wun82PhLz6r1DEm5slJ_Hkvk,18186
135
- epyt_flow/uncertainty/utils.py,sha256=SllRi9Drsy46tXJ2AUKauJUAFyIpxgfDNfBhfwrh0cY,5812
136
- epyt_flow-0.9.0.dist-info/LICENSE,sha256=-4hYIY2BLmCkdOv2_PehEwlnMKTCes8_oyIUXjKtkug,1076
137
- epyt_flow-0.9.0.dist-info/METADATA,sha256=Svuhcg_MmA8Hc3Qzs5XyF8rFH_Fe7zWIKbsvhW8GIpI,9218
138
- epyt_flow-0.9.0.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
139
- epyt_flow-0.9.0.dist-info/top_level.txt,sha256=Wh_kd7TRL8ownCw3Y3dxx-9C0iTSk6wNauv_NX9JcrY,10
140
- epyt_flow-0.9.0.dist-info/RECORD,,
134
+ epyt_flow/uncertainty/model_uncertainty.py,sha256=Bfc9OgecJbX2qOiANhTSKdK_m95aRuXkIGyc22b8d30,41183
135
+ epyt_flow/uncertainty/sensor_noise.py,sha256=AYtc6YOfzIfBq3zTBWT5s_A4EFthqfLcpXwJZZO0wIY,6789
136
+ epyt_flow/uncertainty/uncertainties.py,sha256=5bZu1Zx8RZ6ESzJSvjtPogNkft3eemTojRsYdi_i1Qo,20495
137
+ epyt_flow/uncertainty/utils.py,sha256=K-ZhyO6Bg7UmNPgpfND0JLa_wRwyrtUUgGTWyWwy-fo,8029
138
+ epyt_flow/visualization/__init__.py,sha256=uQ7lO6AsgLc88X48Te3QhBQY-iDKGvdPtxKCl4b-Mfw,70
139
+ epyt_flow/visualization/scenario_visualizer.py,sha256=LyruyMIXmQwwdkIZSJ2Q4FO0Z0pLexBaPDRT6ufOuoo,52428
140
+ epyt_flow/visualization/visualization_utils.py,sha256=IxzoHkddChuAPAQkLDUJdHY_ntqz7k8ui0qvyPEXKVs,22181
141
+ epyt_flow-0.11.0.dist-info/LICENSE,sha256=YRJC2kcAhMlpEeHwUF0lzE-GRXLFyAjXNErI8L5UwYk,1071
142
+ epyt_flow-0.11.0.dist-info/METADATA,sha256=J5USrYOxWHhykGuW1EHD8UWKB4j_-ZwY2ZclEMqeLeA,9739
143
+ epyt_flow-0.11.0.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
144
+ epyt_flow-0.11.0.dist-info/top_level.txt,sha256=Wh_kd7TRL8ownCw3Y3dxx-9C0iTSk6wNauv_NX9JcrY,10
145
+ epyt_flow-0.11.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.6.0)
2
+ Generator: setuptools (76.0.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5