epyt-flow 0.7.1__tar.gz → 0.7.3__tar.gz

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 (150) hide show
  1. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/PKG-INFO +1 -1
  2. epyt_flow-0.7.3/epyt_flow/VERSION +1 -0
  3. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/simulation/sensor_config.py +21 -10
  4. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow.egg-info/PKG-INFO +1 -1
  5. epyt_flow-0.7.1/epyt_flow/VERSION +0 -1
  6. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/CITATION.cff +0 -0
  7. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/CODE_OF_CONDUCT.md +0 -0
  8. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/LICENSE +0 -0
  9. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/MANIFEST.in +0 -0
  10. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/README.md +0 -0
  11. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/REQUIREMENTS.txt +0 -0
  12. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET/SRC_engines/AUTHORS +0 -0
  13. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET/SRC_engines/LICENSE +0 -0
  14. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET/SRC_engines/Readme_SRC_Engines.txt +0 -0
  15. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET/SRC_engines/enumstxt.h +0 -0
  16. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET/SRC_engines/epanet.c +0 -0
  17. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET/SRC_engines/epanet2.c +0 -0
  18. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET/SRC_engines/epanet2.def +0 -0
  19. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET/SRC_engines/errors.dat +0 -0
  20. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET/SRC_engines/funcs.h +0 -0
  21. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET/SRC_engines/genmmd.c +0 -0
  22. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET/SRC_engines/hash.c +0 -0
  23. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET/SRC_engines/hash.h +0 -0
  24. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET/SRC_engines/hydcoeffs.c +0 -0
  25. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET/SRC_engines/hydraul.c +0 -0
  26. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET/SRC_engines/hydsolver.c +0 -0
  27. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET/SRC_engines/hydstatus.c +0 -0
  28. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET/SRC_engines/include/epanet2.h +0 -0
  29. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET/SRC_engines/include/epanet2_2.h +0 -0
  30. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET/SRC_engines/include/epanet2_enums.h +0 -0
  31. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET/SRC_engines/inpfile.c +0 -0
  32. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET/SRC_engines/input1.c +0 -0
  33. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET/SRC_engines/input2.c +0 -0
  34. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET/SRC_engines/input3.c +0 -0
  35. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET/SRC_engines/main.c +0 -0
  36. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET/SRC_engines/mempool.c +0 -0
  37. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET/SRC_engines/mempool.h +0 -0
  38. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET/SRC_engines/output.c +0 -0
  39. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET/SRC_engines/project.c +0 -0
  40. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET/SRC_engines/quality.c +0 -0
  41. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET/SRC_engines/qualreact.c +0 -0
  42. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET/SRC_engines/qualroute.c +0 -0
  43. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET/SRC_engines/report.c +0 -0
  44. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET/SRC_engines/rules.c +0 -0
  45. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET/SRC_engines/smatrix.c +0 -0
  46. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET/SRC_engines/text.h +0 -0
  47. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET/SRC_engines/types.h +0 -0
  48. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET-MSX/MSX_Updates.txt +0 -0
  49. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET-MSX/Src/dispersion.h +0 -0
  50. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET-MSX/Src/hash.c +0 -0
  51. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET-MSX/Src/hash.h +0 -0
  52. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET-MSX/Src/include/epanetmsx.h +0 -0
  53. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET-MSX/Src/include/epanetmsx_export.h +0 -0
  54. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET-MSX/Src/mathexpr.c +0 -0
  55. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET-MSX/Src/mathexpr.h +0 -0
  56. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET-MSX/Src/mempool.c +0 -0
  57. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET-MSX/Src/mempool.h +0 -0
  58. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET-MSX/Src/msxchem.c +0 -0
  59. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET-MSX/Src/msxcompiler.c +0 -0
  60. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET-MSX/Src/msxdict.h +0 -0
  61. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET-MSX/Src/msxdispersion.c +0 -0
  62. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET-MSX/Src/msxerr.c +0 -0
  63. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET-MSX/Src/msxfile.c +0 -0
  64. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET-MSX/Src/msxfuncs.c +0 -0
  65. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET-MSX/Src/msxfuncs.h +0 -0
  66. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET-MSX/Src/msxinp.c +0 -0
  67. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET-MSX/Src/msxout.c +0 -0
  68. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET-MSX/Src/msxproj.c +0 -0
  69. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET-MSX/Src/msxqual.c +0 -0
  70. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET-MSX/Src/msxrpt.c +0 -0
  71. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET-MSX/Src/msxtank.c +0 -0
  72. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET-MSX/Src/msxtoolkit.c +0 -0
  73. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET-MSX/Src/msxtypes.h +0 -0
  74. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET-MSX/Src/msxutils.c +0 -0
  75. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET-MSX/Src/msxutils.h +0 -0
  76. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET-MSX/Src/newton.c +0 -0
  77. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET-MSX/Src/newton.h +0 -0
  78. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET-MSX/Src/rk5.c +0 -0
  79. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET-MSX/Src/rk5.h +0 -0
  80. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET-MSX/Src/ros2.c +0 -0
  81. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET-MSX/Src/ros2.h +0 -0
  82. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET-MSX/Src/smatrix.c +0 -0
  83. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET-MSX/Src/smatrix.h +0 -0
  84. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/EPANET-MSX/readme.txt +0 -0
  85. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/compile_linux.sh +0 -0
  86. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/EPANET/compile_macos.sh +0 -0
  87. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/__init__.py +0 -0
  88. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/data/__init__.py +0 -0
  89. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/data/benchmarks/__init__.py +0 -0
  90. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/data/benchmarks/batadal.py +0 -0
  91. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/data/benchmarks/batadal_data.py +0 -0
  92. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/data/benchmarks/battledim.py +0 -0
  93. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/data/benchmarks/battledim_data.py +0 -0
  94. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/data/benchmarks/gecco_water_quality.py +0 -0
  95. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/data/benchmarks/leakdb.py +0 -0
  96. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/data/benchmarks/leakdb_data.py +0 -0
  97. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/data/benchmarks/water_usage.py +0 -0
  98. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/data/networks.py +0 -0
  99. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/gym/__init__.py +0 -0
  100. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/gym/control_gyms.py +0 -0
  101. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/gym/scenario_control_env.py +0 -0
  102. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/metrics.py +0 -0
  103. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/models/__init__.py +0 -0
  104. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/models/event_detector.py +0 -0
  105. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/models/sensor_interpolation_detector.py +0 -0
  106. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/rest_api/__init__.py +0 -0
  107. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/rest_api/base_handler.py +0 -0
  108. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/rest_api/res_manager.py +0 -0
  109. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/rest_api/scada_data/__init__.py +0 -0
  110. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/rest_api/scada_data/data_handlers.py +0 -0
  111. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/rest_api/scada_data/export_handlers.py +0 -0
  112. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/rest_api/scada_data/handlers.py +0 -0
  113. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/rest_api/scenario/__init__.py +0 -0
  114. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/rest_api/scenario/event_handlers.py +0 -0
  115. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/rest_api/scenario/handlers.py +0 -0
  116. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/rest_api/scenario/simulation_handlers.py +0 -0
  117. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/rest_api/scenario/uncertainty_handlers.py +0 -0
  118. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/rest_api/server.py +0 -0
  119. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/serialization.py +0 -0
  120. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/simulation/__init__.py +0 -0
  121. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/simulation/events/__init__.py +0 -0
  122. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/simulation/events/actuator_events.py +0 -0
  123. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/simulation/events/event.py +0 -0
  124. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/simulation/events/leakages.py +0 -0
  125. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/simulation/events/sensor_faults.py +0 -0
  126. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/simulation/events/sensor_reading_attack.py +0 -0
  127. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/simulation/events/sensor_reading_event.py +0 -0
  128. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/simulation/events/system_event.py +0 -0
  129. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/simulation/parallel_simulation.py +0 -0
  130. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/simulation/scada/__init__.py +0 -0
  131. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/simulation/scada/advanced_control.py +0 -0
  132. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/simulation/scada/scada_data.py +0 -0
  133. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/simulation/scada/scada_data_export.py +0 -0
  134. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/simulation/scenario_config.py +0 -0
  135. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/simulation/scenario_simulator.py +0 -0
  136. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/simulation/scenario_visualizer.py +0 -0
  137. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/topology.py +0 -0
  138. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/uncertainty/__init__.py +0 -0
  139. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/uncertainty/model_uncertainty.py +0 -0
  140. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/uncertainty/sensor_noise.py +0 -0
  141. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/uncertainty/uncertainties.py +0 -0
  142. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/uncertainty/utils.py +0 -0
  143. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow/utils.py +0 -0
  144. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow.egg-info/SOURCES.txt +0 -0
  145. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow.egg-info/dependency_links.txt +0 -0
  146. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow.egg-info/requires.txt +0 -0
  147. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/epyt_flow.egg-info/top_level.txt +0 -0
  148. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/pyproject.toml +0 -0
  149. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/setup.cfg +0 -0
  150. {epyt_flow-0.7.1 → epyt_flow-0.7.3}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: epyt-flow
3
- Version: 0.7.1
3
+ Version: 0.7.3
4
4
  Summary: EPyT-Flow -- EPANET Python Toolkit - Flow
5
5
  Author-email: André Artelt <aartelt@techfak.uni-bielefeld.de>, "Marios S. Kyriakou" <kiriakou.marios@ucy.ac.cy>, "Stelios G. Vrachimis" <vrachimis.stelios@ucy.ac.cy>
6
6
  License: MIT License
@@ -0,0 +1 @@
1
+ 0.7.3
@@ -33,6 +33,7 @@ MASS_UNIT_UG = 5
33
33
  MASS_UNIT_MOL = 6
34
34
  MASS_UNIT_MMOL = 7
35
35
  TIME_UNIT_HRS = 8
36
+ MASS_UNIT_CUSTOM = 9
36
37
 
37
38
 
38
39
  def areaunit_to_id(unit_desc: str) -> int:
@@ -68,10 +69,15 @@ def massunit_to_id(unit_desc: str) -> int:
68
69
  `int`
69
70
  Corresponding mass unit ID.
70
71
  """
71
- return {"MG": MASS_UNIT_MG,
72
- "UG": MASS_UNIT_UG,
73
- "MOL": MASS_UNIT_MOL,
74
- "MMOL": MASS_UNIT_MMOL}[unit_desc]
72
+ mass_unit_dict = {"MG": MASS_UNIT_MG,
73
+ "UG": MASS_UNIT_UG,
74
+ "MOL": MASS_UNIT_MOL,
75
+ "MMOL": MASS_UNIT_MMOL}
76
+
77
+ if unit_desc in mass_unit_dict:
78
+ return mass_unit_dict[unit_desc]
79
+ else:
80
+ return MASS_UNIT_CUSTOM
75
81
 
76
82
 
77
83
  def qualityunit_to_id(unit_desc: str) -> int:
@@ -116,10 +122,11 @@ def massunit_to_str(unit_id: int) -> str:
116
122
 
117
123
  Must be one of the following constant:
118
124
 
119
- - MASS_UNIT_MG = 4
120
- - MASS_UNIT_UG = 5
121
- - MASS_UNIT_MOL = 6
122
- - MASS_UNIT_MMOL = 7
125
+ - MASS_UNIT_MG = 4
126
+ - MASS_UNIT_UG = 5
127
+ - MASS_UNIT_MOL = 6
128
+ - MASS_UNIT_MMOL = 7
129
+ - MASS_UNIT_CUSTOM = 9
123
130
 
124
131
  Returns
125
132
  -------
@@ -136,6 +143,8 @@ def massunit_to_str(unit_id: int) -> str:
136
143
  return "MOL"
137
144
  elif unit_id == MASS_UNIT_MMOL:
138
145
  return "MMOL"
146
+ elif unit_id == MASS_UNIT_CUSTOM:
147
+ return "CUSTOM UNIT"
139
148
  else:
140
149
  raise ValueError(f"Unknown mass unit ID '{unit_id}'")
141
150
 
@@ -698,7 +707,8 @@ class SensorConfig(JsonSerializable):
698
707
  raise ValueError("Inconsistency between 'bulk_species_mass_unit' and 'bulk_species'")
699
708
  if any(not isinstance(mass_unit, int) for mass_unit in bulk_species_mass_unit):
700
709
  raise TypeError("All items in 'bulk_species_mass_unit' must be an instance of 'int'")
701
- if any(mass_unit not in [MASS_UNIT_MG, MASS_UNIT_UG, MASS_UNIT_MOL, MASS_UNIT_MMOL]
710
+ if any(mass_unit not in [MASS_UNIT_MG, MASS_UNIT_UG, MASS_UNIT_MOL, MASS_UNIT_MMOL,
711
+ MASS_UNIT_CUSTOM]
702
712
  for mass_unit in bulk_species_mass_unit):
703
713
  raise ValueError("Invalid mass unit in 'bulk_species_mass_unit'")
704
714
 
@@ -707,7 +717,8 @@ class SensorConfig(JsonSerializable):
707
717
  "and 'surface_species'")
708
718
  if any(not isinstance(mass_unit, int) for mass_unit in surface_species_mass_unit):
709
719
  raise TypeError("All items in 'surface_species_mass_unit' must be an instance of 'int'")
710
- if any(mass_unit not in [MASS_UNIT_MG, MASS_UNIT_UG, MASS_UNIT_MOL, MASS_UNIT_MMOL]
720
+ if any(mass_unit not in [MASS_UNIT_MG, MASS_UNIT_UG, MASS_UNIT_MOL, MASS_UNIT_MMOL,
721
+ MASS_UNIT_CUSTOM]
711
722
  for mass_unit in surface_species_mass_unit):
712
723
  raise ValueError("Invalid mass unit in 'surface_species_mass_unit'")
713
724
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: epyt-flow
3
- Version: 0.7.1
3
+ Version: 0.7.3
4
4
  Summary: EPyT-Flow -- EPANET Python Toolkit - Flow
5
5
  Author-email: André Artelt <aartelt@techfak.uni-bielefeld.de>, "Marios S. Kyriakou" <kiriakou.marios@ucy.ac.cy>, "Stelios G. Vrachimis" <vrachimis.stelios@ucy.ac.cy>
6
6
  License: MIT License
@@ -1 +0,0 @@
1
- 0.7.1
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes