power-grid-model-io 1.3.5__tar.gz → 1.3.7__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.

Potentially problematic release.


This version of power-grid-model-io might be problematic. Click here for more details.

Files changed (142) hide show
  1. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/PKG-INFO +2 -1
  2. power_grid_model_io-1.3.7/PYPI_VERSION +1 -0
  3. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/pyproject.toml +34 -23
  4. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/converters/__init__.py +2 -0
  5. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/converters/base_converter.py +10 -6
  6. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/converters/pandapower_converter.py +158 -120
  7. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/converters/pgm_json_converter.py +22 -17
  8. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/converters/tabular_converter.py +28 -22
  9. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/converters/vision_excel_converter.py +3 -3
  10. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/data_stores/excel_file_store.py +5 -5
  11. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/data_stores/json_file_store.py +1 -1
  12. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/data_stores/vision_excel_file_store.py +1 -0
  13. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/data_types/__init__.py +2 -0
  14. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/data_types/_data_types.py +2 -2
  15. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/data_types/tabular_data.py +7 -7
  16. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/functions/__init__.py +12 -0
  17. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/functions/filters.py +2 -2
  18. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/mappings/tabular_mapping.py +4 -3
  19. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/mappings/value_mapping.py +3 -2
  20. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/utils/auto_id.py +3 -2
  21. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/utils/dict.py +1 -0
  22. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/utils/download.py +4 -4
  23. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/utils/excel_ambiguity_checker.py +3 -3
  24. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/utils/modules.py +1 -0
  25. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/utils/uuid_excel_cvtr.py +3 -3
  26. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io.egg-info/PKG-INFO +2 -1
  27. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io.egg-info/requires.txt +1 -0
  28. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/conftest.py +3 -3
  29. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/unit/conftest.py +3 -3
  30. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/unit/converters/test_base_converter.py +16 -15
  31. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/unit/converters/test_pandapower_converter_input.py +92 -70
  32. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/unit/converters/test_pandapower_converter_output.py +151 -131
  33. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/unit/converters/test_pgm_json_converter.py +34 -27
  34. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/unit/converters/test_tabular_converter.py +56 -53
  35. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/unit/converters/test_vision_excel_converter.py +1 -1
  36. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/unit/data_stores/test_excel_file_store.py +1 -1
  37. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/unit/data_stores/test_json_file_store.py +1 -1
  38. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/unit/mappings/test_field_mapping.py +0 -1
  39. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/unit/utils/test_json.py +4 -5
  40. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/utils.py +19 -20
  41. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/validation/conftest.py +4 -6
  42. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/validation/converters/test_pandapower_converter_input.py +2 -1
  43. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/validation/converters/test_vision_excel_converter.py +4 -2
  44. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/validation/test_test_utils.py +15 -10
  45. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/validation/utils.py +4 -4
  46. power_grid_model_io-1.3.5/PYPI_VERSION +0 -1
  47. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/LICENSE +0 -0
  48. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/MANIFEST.in +0 -0
  49. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/README.md +0 -0
  50. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/VERSION +0 -0
  51. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/setup.cfg +0 -0
  52. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/setup.py +0 -0
  53. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/__init__.py +0 -0
  54. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/config/__init__.py +0 -0
  55. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/config/examples/__init__.py +0 -0
  56. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/config/examples/multipliers.yaml +0 -0
  57. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/config/excel/__init__.py +0 -0
  58. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/config/excel/vision_en.yaml +0 -0
  59. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/config/excel/vision_en_9_7.yaml +0 -0
  60. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/config/excel/vision_en_9_8.yaml +0 -0
  61. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/config/excel/vision_nl.yaml +0 -0
  62. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/data_stores/__init__.py +0 -0
  63. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/data_stores/base_data_store.py +0 -0
  64. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/data_stores/csv_dir_store.py +0 -0
  65. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/functions/_functions.py +0 -0
  66. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/functions/phase_to_phase.py +0 -0
  67. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/mappings/__init__.py +0 -0
  68. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/mappings/field_mapping.py +0 -0
  69. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/mappings/multiplier_mapping.py +0 -0
  70. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/mappings/unit_mapping.py +0 -0
  71. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/py.typed +0 -0
  72. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/utils/__init__.py +0 -0
  73. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/utils/json.py +0 -0
  74. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/utils/parsing.py +0 -0
  75. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io/utils/zip.py +0 -0
  76. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io.egg-info/SOURCES.txt +0 -0
  77. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io.egg-info/dependency_links.txt +0 -0
  78. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/src/power_grid_model_io.egg-info/top_level.txt +0 -0
  79. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/__init__.py +0 -0
  80. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/data/config/dummy_mapping.yaml +0 -0
  81. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/data/config/mapping.yaml +0 -0
  82. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/data/pandapower/pgm_asym_output_data.json +0 -0
  83. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/data/pandapower/pgm_asym_output_data.json.license +0 -0
  84. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/data/pandapower/pgm_input_data.json +0 -0
  85. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/data/pandapower/pgm_input_data.json.license +0 -0
  86. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/data/pandapower/pgm_output_data.json +0 -0
  87. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/data/pandapower/pgm_output_data.json.license +0 -0
  88. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/data/pandapower/pp_v2_net_3ph_output.json +0 -0
  89. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/data/pandapower/pp_v2_net_3ph_output.json.license +0 -0
  90. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/data/pandapower/pp_v2_net_output.json +0 -0
  91. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/data/pandapower/pp_v2_net_output.json.license +0 -0
  92. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/data/pandapower/pp_validation.py +0 -0
  93. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/data/vision/excel_ambiguity_check_data.xlsx +0 -0
  94. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/data/vision/excel_ambiguity_check_data.xlsx.license +0 -0
  95. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/data/vision/pgm_input_data_en.json +0 -0
  96. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/data/vision/pgm_input_data_en.json.license +0 -0
  97. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/data/vision/pgm_input_data_nl.json +0 -0
  98. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/data/vision/pgm_input_data_nl.json.license +0 -0
  99. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/data/vision/vision_9_5_en.yaml +0 -0
  100. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/data/vision/vision_9_5_nl.yaml +0 -0
  101. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/data/vision/vision_en.xlsx +0 -0
  102. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/data/vision/vision_en.xlsx.license +0 -0
  103. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/data/vision/vision_en_9_7.xlsx +0 -0
  104. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/data/vision/vision_en_9_7.xlsx.license +0 -0
  105. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/data/vision/vision_nl.xlsx +0 -0
  106. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/data/vision/vision_nl.xlsx.license +0 -0
  107. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/data/vision/vision_validation.vnf +0 -0
  108. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/data/vision/vision_validation.vnf.license +0 -0
  109. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/data/zip/foo-bar.zip +0 -0
  110. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/data/zip/foo-bar.zip.license +0 -0
  111. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/data/zip/foo.zip +0 -0
  112. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/data/zip/foo.zip.license +0 -0
  113. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/test_utils.py +0 -0
  114. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/unit/__init__.py +0 -0
  115. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/unit/converters/__init__.py +0 -0
  116. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/unit/data_stores/__init__.py +0 -0
  117. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/unit/data_stores/test_base_data_store.py +0 -0
  118. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/unit/data_stores/test_csv_dir_store.py +0 -0
  119. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/unit/data_stores/test_vision_excel_file_store.py +0 -0
  120. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/unit/data_types/__init__.py +0 -0
  121. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/unit/data_types/test_data_types.py +0 -0
  122. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/unit/data_types/test_tabular_data.py +0 -0
  123. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/unit/functions/__init__.py +0 -0
  124. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/unit/functions/test_filters.py +0 -0
  125. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/unit/functions/test_functions.py +0 -0
  126. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/unit/functions/test_phase_to_phase.py +0 -0
  127. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/unit/mappings/__init__.py +0 -0
  128. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/unit/mappings/test_multiplier_mapping.py +0 -0
  129. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/unit/mappings/test_tabular_mapping.py +0 -0
  130. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/unit/mappings/test_unit_mapping.py +0 -0
  131. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/unit/mappings/test_value_mapping.py +0 -0
  132. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/unit/utils/__init__.py +0 -0
  133. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/unit/utils/test_auto_id.py +0 -0
  134. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/unit/utils/test_dict.py +0 -0
  135. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/unit/utils/test_download.py +0 -0
  136. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/unit/utils/test_modules.py +0 -0
  137. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/unit/utils/test_parsing.py +0 -0
  138. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/unit/utils/test_uuid_excel_cvtr.py +0 -0
  139. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/unit/utils/test_zip.py +0 -0
  140. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/validation/__init__.py +0 -0
  141. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/validation/converters/__init__.py +0 -0
  142. {power_grid_model_io-1.3.5 → power_grid_model_io-1.3.7}/tests/validation/converters/test_pandapower_converter_output.py +3 -3
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: power-grid-model-io
3
- Version: 1.3.5
3
+ Version: 1.3.7
4
4
  Summary: Power Grid Model Input/Output
5
5
  Author-email: Contributors to the Power Grid Model project <powergridmodel@lfenergy.org>
6
6
  License: MPL-2.0
@@ -33,6 +33,7 @@ Requires-Dist: pre-commit; extra == "dev"
33
33
  Requires-Dist: pylint; extra == "dev"
34
34
  Requires-Dist: pytest; extra == "dev"
35
35
  Requires-Dist: pytest-cov; extra == "dev"
36
+ Requires-Dist: ruff; extra == "dev"
36
37
  Requires-Dist: pydantic>2; extra == "dev"
37
38
  Requires-Dist: pandapower>2.11.1; extra == "dev"
38
39
  Provides-Extra: examples
@@ -0,0 +1 @@
1
+ 1.3.7
@@ -44,6 +44,7 @@ dev = [
44
44
  "pylint",
45
45
  "pytest",
46
46
  "pytest-cov",
47
+ "ruff",
47
48
  "pydantic>2", # Used in unit tests
48
49
  "pandapower>2.11.1",
49
50
  ]
@@ -89,33 +90,43 @@ addopts = [
89
90
  ]
90
91
  xfail_strict = true
91
92
 
92
- [tool.black]
93
+ [tool.ruff]
94
+ # Same as Black.
93
95
  line-length = 120
94
- target-version = ["py311", "py312", "py313"]
96
+ indent-width = 4
97
+ show-fixes = true
95
98
 
96
- [tool.isort]
97
- profile = "black"
98
- line_length = 120
99
+ # Assume Python 3.11
100
+ target-version = "py311"
99
101
 
100
- [tool.pylint]
101
- max-line-length = 120
102
- ignore-paths = [
103
- "docs/",
104
- "examples/",
105
- "tests/",
106
- "setup.py",
107
- ]
108
- disable = [
109
- "fixme", # allow todos
110
- ]
111
- good-names=[
112
- "ex", # exception
113
- "i", # iterator or current
114
- "p", # active power
115
- "q", # reactive power
116
- "s", # power (p + q)
117
- "v", # voltage
102
+ [tool.ruff.lint]
103
+ select = [
104
+ # pycodestyle
105
+ "E",
106
+ # Pyflakes
107
+ "F",
108
+ # isort
109
+ "I",
110
+ "SIM",
111
+ "YTT",
112
+ "BLE",
113
+ "PERF",
114
+ "Q",
115
+ "ICN",
116
+ "ISC",
117
+ "G",
118
+ "LOG",
119
+ "EXE",
120
+ "FA",
121
+ "FURB",
122
+ "FLY",
123
+ "SLOT",
118
124
  ]
125
+ ignore = ["SIM108", "SIM118", "SIM110", "SIM211"]
126
+
127
+ [tool.ruff.lint.isort]
128
+ # Imports that are imported using keyword "as" and are from the same source - are combined.
129
+ combine-as-imports = true
119
130
 
120
131
  [tool.mypy]
121
132
  follow_imports = "silent"
@@ -8,3 +8,5 @@ Converters
8
8
  from power_grid_model_io.converters.pandapower_converter import PandaPowerConverter
9
9
  from power_grid_model_io.converters.pgm_json_converter import PgmJsonConverter
10
10
  from power_grid_model_io.converters.vision_excel_converter import VisionExcelConverter
11
+
12
+ __all__ = ["PandaPowerConverter", "PgmJsonConverter", "VisionExcelConverter"]
@@ -4,11 +4,13 @@
4
4
  """
5
5
  Abstract converter class
6
6
  """
7
+
7
8
  import logging
8
9
  from abc import ABC, abstractmethod
9
10
  from typing import Generic, Optional, Tuple, TypeVar
10
11
 
11
12
  import structlog
13
+ from power_grid_model import DatasetType
12
14
  from power_grid_model.data_types import Dataset, SingleDataset
13
15
 
14
16
  from power_grid_model_io.data_stores.base_data_store import BaseDataStore
@@ -53,7 +55,9 @@ class BaseConverter(Generic[T], ABC):
53
55
 
54
56
  data = self._load_data(data)
55
57
  extra_info: ExtraInfo = {}
56
- parsed_data = self._parse_data(data=data, data_type="input", extra_info=extra_info if make_extra_info else None)
58
+ parsed_data = self._parse_data(
59
+ data=data, data_type=DatasetType.input, extra_info=extra_info if make_extra_info else None
60
+ )
57
61
  if isinstance(parsed_data, list):
58
62
  raise TypeError("Input data can not be batch data")
59
63
  return parsed_data, extra_info
@@ -70,7 +74,7 @@ class BaseConverter(Generic[T], ABC):
70
74
 
71
75
  """
72
76
  data = self._load_data(data)
73
- return self._parse_data(data=data, data_type="update", extra_info=None)
77
+ return self._parse_data(data=data, data_type=DatasetType.update, extra_info=None)
74
78
 
75
79
  def load_sym_output_data(self, data: Optional[T] = None) -> Dataset:
76
80
  """Load symmetric output data
@@ -84,7 +88,7 @@ class BaseConverter(Generic[T], ABC):
84
88
 
85
89
  """
86
90
  data = self._load_data(data)
87
- return self._parse_data(data=data, data_type="sym_output", extra_info=None)
91
+ return self._parse_data(data=data, data_type=DatasetType.sym_output, extra_info=None)
88
92
 
89
93
  def load_asym_output_data(self, data: Optional[T] = None) -> Dataset:
90
94
  """Load asymmetric output data
@@ -98,7 +102,7 @@ class BaseConverter(Generic[T], ABC):
98
102
 
99
103
  """
100
104
  data = self._load_data(data)
101
- return self._parse_data(data=data, data_type="asym_output", extra_info=None)
105
+ return self._parse_data(data=data, data_type=DatasetType.asym_output, extra_info=None)
102
106
 
103
107
  def load_sc_output_data(self, data: Optional[T] = None) -> Dataset:
104
108
  """Load sc output data
@@ -112,7 +116,7 @@ class BaseConverter(Generic[T], ABC):
112
116
 
113
117
  """
114
118
  data = self._load_data(data)
115
- return self._parse_data(data=data, data_type="sc_output", extra_info=None)
119
+ return self._parse_data(data=data, data_type=DatasetType.sc_output, extra_info=None)
116
120
 
117
121
  def convert(self, data: Dataset, extra_info: Optional[ExtraInfo] = None) -> T:
118
122
  """Convert input/update/(a)sym_output data and optionally extra info.
@@ -181,7 +185,7 @@ class BaseConverter(Generic[T], ABC):
181
185
  raise ValueError("No data supplied!")
182
186
 
183
187
  @abstractmethod # pragma: nocover
184
- def _parse_data(self, data: T, data_type: str, extra_info: Optional[ExtraInfo]) -> Dataset:
188
+ def _parse_data(self, data: T, data_type: DatasetType, extra_info: Optional[ExtraInfo]) -> Dataset:
185
189
  pass
186
190
 
187
191
  @abstractmethod # pragma: nocover