power-grid-model-io 1.2.72a1120307003606__tar.gz → 1.2.73__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 (130) hide show
  1. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/PKG-INFO +1 -1
  2. power-grid-model-io-1.2.73/PYPI_VERSION +1 -0
  3. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/converters/vision_excel_converter.py +6 -12
  4. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/data_stores/base_data_store.py +0 -15
  5. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/data_stores/excel_file_store.py +3 -55
  6. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/data_stores/vision_excel_file_store.py +2 -9
  7. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/utils/uuid_excel_cvtr.py +9 -35
  8. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io.egg-info/PKG-INFO +1 -1
  9. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/unit/utils/test_uuid_excel_cvtr.py +1 -6
  10. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/validation/converters/test_vision_excel_converter.py +0 -18
  11. power-grid-model-io-1.2.72a1120307003606/PYPI_VERSION +0 -1
  12. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/LICENSE +0 -0
  13. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/MANIFEST.in +0 -0
  14. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/README.md +0 -0
  15. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/VERSION +0 -0
  16. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/pyproject.toml +0 -0
  17. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/setup.cfg +0 -0
  18. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/setup.py +0 -0
  19. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/__init__.py +0 -0
  20. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/config/__init__.py +0 -0
  21. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/config/examples/__init__.py +0 -0
  22. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/config/examples/multipliers.yaml +0 -0
  23. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/config/excel/__init__.py +0 -0
  24. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/config/excel/vision_en.yaml +0 -0
  25. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/config/excel/vision_nl.yaml +0 -0
  26. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/converters/__init__.py +0 -0
  27. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/converters/base_converter.py +0 -0
  28. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/converters/pandapower_converter.py +0 -0
  29. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/converters/pgm_json_converter.py +0 -0
  30. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/converters/tabular_converter.py +0 -0
  31. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/data_stores/__init__.py +0 -0
  32. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/data_stores/csv_dir_store.py +0 -0
  33. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/data_stores/json_file_store.py +0 -0
  34. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/data_types/__init__.py +0 -0
  35. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/data_types/_data_types.py +0 -0
  36. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/data_types/tabular_data.py +0 -0
  37. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/functions/__init__.py +0 -0
  38. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/functions/_functions.py +0 -0
  39. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/functions/phase_to_phase.py +0 -0
  40. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/mappings/__init__.py +0 -0
  41. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/mappings/field_mapping.py +0 -0
  42. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/mappings/multiplier_mapping.py +0 -0
  43. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/mappings/tabular_mapping.py +0 -0
  44. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/mappings/unit_mapping.py +0 -0
  45. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/mappings/value_mapping.py +0 -0
  46. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/utils/__init__.py +0 -0
  47. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/utils/auto_id.py +0 -0
  48. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/utils/dict.py +0 -0
  49. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/utils/download.py +0 -0
  50. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/utils/json.py +0 -0
  51. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/utils/modules.py +0 -0
  52. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/utils/parsing.py +0 -0
  53. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io/utils/zip.py +0 -0
  54. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io.egg-info/SOURCES.txt +0 -0
  55. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io.egg-info/dependency_links.txt +0 -0
  56. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io.egg-info/requires.txt +0 -0
  57. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/src/power_grid_model_io.egg-info/top_level.txt +0 -0
  58. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/__init__.py +0 -0
  59. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/conftest.py +0 -0
  60. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/data/config/dummy_mapping.yaml +0 -0
  61. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/data/config/mapping.yaml +0 -0
  62. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/data/pandapower/pgm_asym_output_data.json +0 -0
  63. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/data/pandapower/pgm_asym_output_data.json.license +0 -0
  64. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/data/pandapower/pgm_input_data.json +0 -0
  65. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/data/pandapower/pgm_input_data.json.license +0 -0
  66. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/data/pandapower/pgm_output_data.json +0 -0
  67. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/data/pandapower/pgm_output_data.json.license +0 -0
  68. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/data/pandapower/pp_validation.py +0 -0
  69. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/data/vision/pgm_input_data_en.json +0 -0
  70. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/data/vision/pgm_input_data_en.json.license +0 -0
  71. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/data/vision/pgm_input_data_nl.json +0 -0
  72. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/data/vision/pgm_input_data_nl.json.license +0 -0
  73. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/data/vision/vision_97_en.xlsx +0 -0
  74. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/data/vision/vision_97_en.xlsx.license +0 -0
  75. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/data/vision/vision_9_5_en.yaml +0 -0
  76. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/data/vision/vision_9_5_nl.yaml +0 -0
  77. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/data/vision/vision_en.xlsx +0 -0
  78. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/data/vision/vision_en.xlsx.license +0 -0
  79. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/data/vision/vision_nl.xlsx +0 -0
  80. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/data/vision/vision_nl.xlsx.license +0 -0
  81. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/data/vision/vision_validation.vnf +0 -0
  82. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/data/vision/vision_validation.vnf.license +0 -0
  83. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/data/zip/foo-bar.zip +0 -0
  84. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/data/zip/foo-bar.zip.license +0 -0
  85. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/data/zip/foo.zip +0 -0
  86. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/data/zip/foo.zip.license +0 -0
  87. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/test_utils.py +0 -0
  88. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/unit/__init__.py +0 -0
  89. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/unit/conftest.py +0 -0
  90. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/unit/converters/__init__.py +0 -0
  91. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/unit/converters/test_base_converter.py +0 -0
  92. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/unit/converters/test_pandapower_converter_input.py +0 -0
  93. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/unit/converters/test_pandapower_converter_output.py +0 -0
  94. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/unit/converters/test_pgm_json_converter.py +0 -0
  95. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/unit/converters/test_tabular_converter.py +0 -0
  96. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/unit/converters/test_vision_excel_converter.py +0 -0
  97. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/unit/data_stores/__init__.py +0 -0
  98. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/unit/data_stores/test_base_data_store.py +0 -0
  99. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/unit/data_stores/test_csv_dir_store.py +0 -0
  100. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/unit/data_stores/test_excel_file_store.py +0 -0
  101. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/unit/data_stores/test_json_file_store.py +0 -0
  102. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/unit/data_stores/test_vision_excel_file_store.py +0 -0
  103. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/unit/data_types/__init__.py +0 -0
  104. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/unit/data_types/test_data_types.py +0 -0
  105. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/unit/data_types/test_tabular_data.py +0 -0
  106. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/unit/functions/__init__.py +0 -0
  107. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/unit/functions/test_functions.py +0 -0
  108. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/unit/functions/test_phase_to_phase.py +0 -0
  109. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/unit/mappings/__init__.py +0 -0
  110. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/unit/mappings/test_field_mapping.py +0 -0
  111. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/unit/mappings/test_multiplier_mapping.py +0 -0
  112. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/unit/mappings/test_tabular_mapping.py +0 -0
  113. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/unit/mappings/test_unit_mapping.py +0 -0
  114. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/unit/mappings/test_value_mapping.py +0 -0
  115. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/unit/utils/__init__.py +0 -0
  116. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/unit/utils/test_auto_id.py +0 -0
  117. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/unit/utils/test_dict.py +0 -0
  118. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/unit/utils/test_download.py +0 -0
  119. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/unit/utils/test_json.py +0 -0
  120. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/unit/utils/test_modules.py +0 -0
  121. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/unit/utils/test_parsing.py +0 -0
  122. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/unit/utils/test_zip.py +0 -0
  123. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/utils.py +0 -0
  124. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/validation/__init__.py +0 -0
  125. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/validation/conftest.py +0 -0
  126. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/validation/converters/__init__.py +0 -0
  127. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/validation/converters/test_pandapower_converter_input.py +0 -0
  128. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/validation/converters/test_pandapower_converter_output.py +0 -0
  129. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/validation/test_test_utils.py +0 -0
  130. {power-grid-model-io-1.2.72a1120307003606 → power-grid-model-io-1.2.73}/tests/validation/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: power-grid-model-io
3
- Version: 1.2.72a1120307003606
3
+ Version: 1.2.73
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
@@ -0,0 +1 @@
1
+ 1.2.73
@@ -11,7 +11,6 @@ from pathlib import Path
11
11
  from typing import Any, Mapping, Optional, Union
12
12
 
13
13
  from power_grid_model_io.converters.tabular_converter import TabularConverter
14
- from power_grid_model_io.data_stores.base_data_store import LANGUAGE_EN
15
14
  from power_grid_model_io.data_stores.vision_excel_file_store import VisionExcelFileStore
16
15
 
17
16
  DEFAULT_MAPPING_FILE = Path(__file__).parent.parent / "config" / "excel" / "vision_{language:s}.yaml"
@@ -37,22 +36,17 @@ class VisionExcelConverter(TabularConverter):
37
36
  def __init__(
38
37
  self,
39
38
  source_file: Optional[Union[Path, str]] = None,
40
- language: str = LANGUAGE_EN,
41
- terms_changed: Optional[dict] = None,
42
- mapping_file: Optional[Union[Path, str]] = None,
39
+ language: str = "en",
40
+ mapping_file: Optional[Path] = None,
43
41
  log_level: int = logging.INFO,
44
- ): # pylint: disable=too-many-arguments
45
- _mapping_file = Path(
46
- mapping_file if mapping_file is not None else str(DEFAULT_MAPPING_FILE).format(language=language)
42
+ ):
43
+ _mapping_file = _mapping_file = (
44
+ mapping_file if mapping_file is not None else Path(str(DEFAULT_MAPPING_FILE).format(language=language))
47
45
  )
48
46
  if not _mapping_file.exists():
49
47
  raise FileNotFoundError(f"No Vision Excel mapping available for language '{language}'")
50
48
  self._id_reference: Optional[IdReferenceFields] = None
51
- source = (
52
- VisionExcelFileStore(file_path=Path(source_file), language=language, terms_changed=terms_changed)
53
- if source_file
54
- else None
55
- )
49
+ source = VisionExcelFileStore(file_path=Path(source_file)) if source_file else None
56
50
  super().__init__(mapping_file=_mapping_file, source=source, log_level=log_level)
57
51
 
58
52
  def set_mapping(self, mapping: Mapping[str, Any]) -> None:
@@ -12,21 +12,6 @@ import structlog
12
12
 
13
13
  T = TypeVar("T")
14
14
 
15
- LANGUAGE_EN = "en"
16
- LANGUAGE_NL = "nl"
17
- DICT_KEY_NUMBER = "key_number"
18
- DICT_KEY_SUBNUMBER = "key_subnumber"
19
- VISION_EXCEL_LAN_DICT = {
20
- LANGUAGE_EN: {
21
- DICT_KEY_NUMBER: "Number",
22
- DICT_KEY_SUBNUMBER: "Subnumber",
23
- },
24
- LANGUAGE_NL: {
25
- DICT_KEY_NUMBER: "Nummer",
26
- DICT_KEY_SUBNUMBER: "Subnummer",
27
- },
28
- }
29
-
30
15
 
31
16
  class BaseDataStore(Generic[T], ABC):
32
17
  """
@@ -11,21 +11,8 @@ from typing import Dict, List, Optional, Set, Tuple, Union
11
11
 
12
12
  import pandas as pd
13
13
 
14
- from power_grid_model_io.data_stores.base_data_store import (
15
- DICT_KEY_NUMBER,
16
- DICT_KEY_SUBNUMBER,
17
- VISION_EXCEL_LAN_DICT,
18
- BaseDataStore,
19
- )
14
+ from power_grid_model_io.data_stores.base_data_store import BaseDataStore
20
15
  from power_grid_model_io.data_types import LazyDataFrame, TabularData
21
- from power_grid_model_io.utils.uuid_excel_cvtr import (
22
- UUID2IntCvtr,
23
- add_guid_values_to_cvtr,
24
- get_special_key_map,
25
- special_nodes_en,
26
- special_nodes_nl,
27
- update_column_names,
28
- )
29
16
 
30
17
 
31
18
  class ExcelFileStore(BaseDataStore[TabularData]):
@@ -41,16 +28,9 @@ class ExcelFileStore(BaseDataStore[TabularData]):
41
28
 
42
29
  _unnamed_pattern: re.Pattern = re.compile(r"Unnamed: \d+_level_\d+")
43
30
 
44
- def __init__(
45
- self,
46
- file_path: Optional[Path] = None,
47
- language: str = "en",
48
- terms_changed: Optional[dict] = None,
49
- **extra_paths: Path,
50
- ):
31
+ def __init__(self, file_path: Optional[Path] = None, **extra_paths: Path):
51
32
  super().__init__()
52
- if not isinstance(language, str):
53
- raise TypeError("Expects 1 to 2 positional arguments, at least 3 were given")
33
+
54
34
  # Create a dictionary of all supplied file paths:
55
35
  # {"": file_path, extra_name[0]: extra_path[0], extra_name[1]: extra_path[1], ...}
56
36
  self._file_paths: Dict[str, Path] = {}
@@ -65,10 +45,6 @@ class ExcelFileStore(BaseDataStore[TabularData]):
65
45
  raise ValueError(f"{name} file should be a .xls or .xlsx file, {path.suffix} provided.")
66
46
 
67
47
  self._header_rows: List[int] = [0]
68
- self._language = language
69
- self._vision_excel_key_mapping = VISION_EXCEL_LAN_DICT[self._language]
70
- self._terms_changed = terms_changed if terms_changed is not None else {}
71
- self._uuid_cvtr = UUID2IntCvtr()
72
48
 
73
49
  def files(self) -> Dict[str, Path]:
74
50
  """
@@ -92,8 +68,6 @@ class ExcelFileStore(BaseDataStore[TabularData]):
92
68
  sheet_data = xls_file.parse(xls_sheet_name, header=self._header_rows)
93
69
  sheet_data = self._remove_unnamed_column_placeholders(data=sheet_data)
94
70
  sheet_data = self._handle_duplicate_columns(data=sheet_data, sheet_name=xls_sheet_name)
95
- sheet_data = self._process_uuid_columns(data=sheet_data, sheet_name=xls_sheet_name)
96
- sheet_data = self._update_column_names(data=sheet_data)
97
71
  return sheet_data
98
72
 
99
73
  return sheet_loader
@@ -223,32 +197,6 @@ class ExcelFileStore(BaseDataStore[TabularData]):
223
197
 
224
198
  return to_rename
225
199
 
226
- def _process_uuid_columns(self, data: pd.DataFrame, sheet_name: str) -> pd.DataFrame:
227
- first_level = data.columns.get_level_values(0)
228
- guid_columns = first_level[first_level.str.endswith("GUID")]
229
-
230
- sheet_key_mapping = get_special_key_map(
231
- sheet_name=sheet_name, nodes_en=special_nodes_en, nodes_nl=special_nodes_nl
232
- )
233
-
234
- for guid_column in guid_columns:
235
- nr = VISION_EXCEL_LAN_DICT[self._language][DICT_KEY_NUMBER]
236
- add_guid_values_to_cvtr(data, guid_column, self._uuid_cvtr)
237
- new_column_name = guid_column.replace("GUID", nr)
238
- if guid_column == "GUID" and sheet_key_mapping not in (None, {}):
239
- new_column_name = guid_column.replace("GUID", sheet_key_mapping[DICT_KEY_SUBNUMBER])
240
- guid_column_pos = first_level.tolist().index(guid_column)
241
- try:
242
- data.insert(guid_column_pos + 1, new_column_name, data[guid_column].apply(self._uuid_cvtr.query))
243
- except ValueError:
244
- data[new_column_name] = data[guid_column].apply(self._uuid_cvtr.query)
245
-
246
- return data
247
-
248
- def _update_column_names(self, data: pd.DataFrame) -> pd.DataFrame:
249
- update_column_names(data, self._terms_changed)
250
- return data
251
-
252
200
  @staticmethod
253
201
  def _group_columns_by_index(data: pd.DataFrame) -> Dict[Union[str, Tuple[str, ...]], Set[int]]:
254
202
  grouped: Dict[Union[str, Tuple[str, ...]], Set[int]] = {}
@@ -5,9 +5,7 @@
5
5
  Vision Excel file store
6
6
  """
7
7
  from pathlib import Path
8
- from typing import Optional
9
8
 
10
- from power_grid_model_io.data_stores.base_data_store import LANGUAGE_EN
11
9
  from power_grid_model_io.data_stores.excel_file_store import ExcelFileStore
12
10
 
13
11
 
@@ -19,15 +17,10 @@ class VisionExcelFileStore(ExcelFileStore):
19
17
  Therefore, row 1 (which is row 2 in Excel) is added to the header_rows in the constructor.
20
18
  """
21
19
 
22
- def __init__(
23
- self,
24
- file_path: Path,
25
- language: str = LANGUAGE_EN,
26
- terms_changed: Optional[dict] = None,
27
- ):
20
+ def __init__(self, file_path: Path):
28
21
  """
29
22
  Args:
30
23
  file_path: The main Vision Excel export file
31
24
  """
32
- super().__init__(file_path, language=language, terms_changed=terms_changed)
25
+ super().__init__(file_path)
33
26
  self._header_rows.append(1) # Units are stored in the row below the column names
@@ -15,19 +15,10 @@
15
15
 
16
16
  import os
17
17
  import re
18
- from pathlib import Path
19
- from typing import Optional, Union
18
+ from typing import Optional
20
19
 
21
20
  import pandas as pd
22
21
 
23
- from power_grid_model_io.data_stores.base_data_store import (
24
- DICT_KEY_NUMBER,
25
- DICT_KEY_SUBNUMBER,
26
- LANGUAGE_EN,
27
- LANGUAGE_NL,
28
- VISION_EXCEL_LAN_DICT,
29
- )
30
-
31
22
  special_nodes_en = [
32
23
  "Transformer loads",
33
24
  "Sources",
@@ -120,7 +111,7 @@ class UUID2IntCvtr:
120
111
  return self._counter
121
112
 
122
113
 
123
- def load_excel_file(file_name: Union[Path, str]) -> pd.ExcelFile:
114
+ def load_excel_file(file_name: str) -> pd.ExcelFile:
124
115
  """Load an excel file
125
116
 
126
117
  Args:
@@ -156,20 +147,6 @@ def add_guid_values_to_cvtr(df: pd.DataFrame, guid_column: str, cvtr: UUID2IntCv
156
147
  cvtr.add_list(df[guid_column].tolist())
157
148
 
158
149
 
159
- def get_special_key_map(sheet_name: str, nodes_en: list[str], nodes_nl: list[str]) -> dict:
160
- """Get the special nodes for English and Dutch
161
-
162
- Args:
163
- sheet_name (str): the sheet name
164
- mapping (dict): the mapping dictionary
165
- """
166
- if sheet_name in nodes_en:
167
- return VISION_EXCEL_LAN_DICT[LANGUAGE_EN]
168
- if sheet_name in nodes_nl:
169
- return VISION_EXCEL_LAN_DICT[LANGUAGE_NL]
170
- return {}
171
-
172
-
173
150
  def insert_or_update_number_column(
174
151
  df: pd.DataFrame, guid_column: str, sheet_name: str, cvtr: UUID2IntCvtr, number: str
175
152
  ) -> None:
@@ -182,10 +159,11 @@ def insert_or_update_number_column(
182
159
  number (str): "Number" or "Nummer" depending on the language
183
160
  """
184
161
  new_column_name = guid_column.replace("GUID", number)
185
- special_key_mapping = get_special_key_map(sheet_name, special_nodes_en, special_nodes_nl)
186
-
187
- if guid_column == "GUID" and special_key_mapping not in (None, {}):
188
- new_column_name = guid_column.replace("GUID", special_key_mapping[DICT_KEY_SUBNUMBER])
162
+ if guid_column == "GUID":
163
+ if sheet_name in special_nodes_en:
164
+ new_column_name = guid_column.replace("GUID", "Subnumber")
165
+ elif sheet_name in special_nodes_nl:
166
+ new_column_name = guid_column.replace("GUID", "Subnummer")
189
167
  try:
190
168
  df.insert(df.columns.get_loc(guid_column) + 1, new_column_name, df[guid_column].apply(cvtr.query))
191
169
  except ValueError:
@@ -218,15 +196,11 @@ def save_df_to_excel(df: pd.DataFrame, file_name: str, sheet_name: str, i: int)
218
196
  df.to_excel(writer, sheet_name=sheet_name, index=False)
219
197
 
220
198
 
221
- def convert_guid_vision_excel(
222
- excel_file: Union[Path, str],
223
- number: str = VISION_EXCEL_LAN_DICT[LANGUAGE_EN][DICT_KEY_NUMBER],
224
- terms_changed: Optional[dict] = None,
225
- ) -> str:
199
+ def convert_guid_vision_excel(excel_file: str, number: str = "Number", terms_changed: Optional[dict] = None) -> str:
226
200
  """Main entry function. Convert the GUID based Vision excel files to a number based format
227
201
 
228
202
  Args:
229
- excel_file (Path | str): Vision excel file name
203
+ excel_file (str): Vision excel file name
230
204
  number (str): "Number" or "Nummer" depending on the language. Defaults to "Number".
231
205
  terms_changed (dict): the dictionary containing the terms to be changed. Defaults to {}.
232
206
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: power-grid-model-io
3
- Version: 1.2.72a1120307003606
3
+ Version: 1.2.73
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
@@ -5,9 +5,6 @@
5
5
  from pathlib import Path
6
6
 
7
7
  from power_grid_model_io.converters import VisionExcelConverter
8
- from power_grid_model_io.data_stores.base_data_store import DICT_KEY_SUBNUMBER # pylint: disable=unused-import
9
- from power_grid_model_io.data_stores.base_data_store import LANGUAGE_NL # pylint: disable=unused-import
10
- from power_grid_model_io.data_stores.base_data_store import DICT_KEY_NUMBER, LANGUAGE_EN, VISION_EXCEL_LAN_DICT
11
8
  from power_grid_model_io.utils.uuid_excel_cvtr import convert_guid_vision_excel
12
9
 
13
10
  terms_chaged = {"Grounding1": "N1", "Grounding2": "N2", "Grounding3": "N3", "Load.Behaviour": "Behaviour"}
@@ -18,9 +15,7 @@ REFERENCE_FILE = DATA_DIR / "vision_en.xlsx"
18
15
 
19
16
 
20
17
  def test_convert_guid_vision_excel():
21
- new_file = convert_guid_vision_excel(
22
- SOURCE_FILE, number=VISION_EXCEL_LAN_DICT[LANGUAGE_EN][DICT_KEY_NUMBER], terms_changed=terms_chaged
23
- )
18
+ new_file = convert_guid_vision_excel(SOURCE_FILE, number="Number", terms_changed=terms_chaged)
24
19
  vision_cvtr_new = VisionExcelConverter(source_file=new_file)
25
20
  vision_cvtr_ref = VisionExcelConverter(source_file=REFERENCE_FILE)
26
21
 
@@ -13,24 +13,17 @@ import pytest
13
13
  from power_grid_model.data_types import SingleDataset
14
14
 
15
15
  from power_grid_model_io.converters import VisionExcelConverter
16
- from power_grid_model_io.data_stores.base_data_store import DICT_KEY_SUBNUMBER # pylint: disable=unused-import
17
- from power_grid_model_io.data_stores.base_data_store import LANGUAGE_NL # pylint: disable=unused-import
18
- from power_grid_model_io.data_stores.base_data_store import DICT_KEY_NUMBER, LANGUAGE_EN, VISION_EXCEL_LAN_DICT
19
16
  from power_grid_model_io.data_types import ExtraInfo
20
17
  from power_grid_model_io.utils.json import JsonEncoder
21
- from power_grid_model_io.utils.uuid_excel_cvtr import convert_guid_vision_excel
22
18
 
23
19
  from ..utils import compare_extra_info, component_attributes, component_objects, load_json_single_dataset, select_values
24
20
 
25
21
  DATA_PATH = Path(__file__).parents[2] / "data" / "vision"
26
22
  SOURCE_FILE = DATA_PATH / "vision_{language:s}.xlsx"
27
- SOURCE_FILE_97 = DATA_PATH / "vision_97_{language:s}.xlsx"
28
23
  VALIDATION_FILE = DATA_PATH / "pgm_input_data_{language:s}.json"
29
24
  LANGUAGES = ["en", "nl"]
30
- LANGUAGES_97 = ["en"]
31
25
  VALIDATION_EN = Path(str(VALIDATION_FILE).format(language="en"))
32
26
  CUSTOM_MAPPING_FILE = DATA_PATH / "vision_9_5_{language:s}.yaml"
33
- terms_changed = {"Grounding1": "N1", "Grounding2": "N2", "Grounding3": "N3", "Load.Behaviour": "Behaviour"}
34
27
 
35
28
 
36
29
  @lru_cache
@@ -304,14 +297,3 @@ def test_log_levels(capsys):
304
297
  cvtr5.set_log_level(logging.CRITICAL)
305
298
  outerr = capsys.readouterr()
306
299
  assert "debug" not in outerr.out
307
-
308
-
309
- def test_uuid_excel_input():
310
- source_file = Path(str(SOURCE_FILE_97).format(language=LANGUAGE_EN))
311
- ref_file_97 = convert_guid_vision_excel(
312
- excel_file=source_file, number=VISION_EXCEL_LAN_DICT[LANGUAGE_EN][DICT_KEY_NUMBER], terms_changed=terms_changed
313
- )
314
- data_native, _ = VisionExcelConverter(source_file, language="en", terms_changed=terms_changed).load_input_data()
315
- data_convtd, _ = VisionExcelConverter(source_file=ref_file_97).load_input_data()
316
-
317
- assert len(data_native) == len(data_convtd)
@@ -1 +0,0 @@
1
- 1.2.72a1120307003606