power-grid-model-io 1.2.120__py3-none-any.whl → 1.2.121__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.

Potentially problematic release.


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

@@ -13,7 +13,6 @@ from typing import Any, Dict, List, Optional, Union
13
13
 
14
14
  import numpy as np
15
15
  from power_grid_model import initialize_array
16
- from power_grid_model._utils import is_nan
17
16
  from power_grid_model.data_types import ComponentList, Dataset, SingleDataset, SinglePythonDataset
18
17
  from power_grid_model.utils import json_deserialize, json_serialize
19
18
 
@@ -22,6 +21,12 @@ from power_grid_model_io.data_stores.json_file_store import JsonFileStore
22
21
  from power_grid_model_io.data_types import ExtraInfo, StructuredData
23
22
  from power_grid_model_io.utils.dict import merge_dicts
24
23
 
24
+ _NAN_FUNC = {
25
+ np.dtype("f8"): lambda x: np.all(np.isnan(x)),
26
+ np.dtype("i4"): lambda x: np.all(x == np.iinfo(np.dtype("i4")).min),
27
+ np.dtype("i1"): lambda x: np.all(x == np.iinfo(np.dtype("i1")).min),
28
+ }
29
+
25
30
 
26
31
  class PgmJsonConverter(BaseConverter[StructuredData]):
27
32
  """
@@ -216,8 +221,7 @@ class PgmJsonConverter(BaseConverter[StructuredData]):
216
221
  is_batch = is_dense_batch or is_sparse_batch
217
222
  return bool(is_batch)
218
223
 
219
- @staticmethod
220
- def _serialize_dataset(data: SingleDataset, extra_info: Optional[ExtraInfo] = None) -> SinglePythonDataset:
224
+ def _serialize_dataset(self, data: SingleDataset, extra_info: Optional[ExtraInfo] = None) -> SinglePythonDataset:
221
225
  """This function converts a single power-grid-model dataset to a structured dataset
222
226
 
223
227
  Args:
@@ -248,7 +252,7 @@ class PgmJsonConverter(BaseConverter[StructuredData]):
248
252
  {
249
253
  attribute: obj[attribute].tolist()
250
254
  for attribute in objects.dtype.names
251
- if not is_nan(obj[attribute])
255
+ if not self._is_nan(obj[attribute])
252
256
  },
253
257
  extra_info.get(obj["id"], {}),
254
258
  )
@@ -296,3 +300,16 @@ class PgmJsonConverter(BaseConverter[StructuredData]):
296
300
  return entry
297
301
 
298
302
  return None
303
+
304
+ @staticmethod
305
+ def _is_nan(data: np.ndarray) -> bool:
306
+ """
307
+ Determine whether the data point is valid
308
+ Args:
309
+ data: a single scalar or numpy array
310
+
311
+ Returns:
312
+ True when all the data points are invalid
313
+ False otherwise
314
+ """
315
+ return bool(_NAN_FUNC[data.dtype](data))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: power-grid-model-io
3
- Version: 1.2.120
3
+ Version: 1.2.121
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
@@ -11,7 +11,7 @@ power_grid_model_io/config/excel/vision_nl.yaml,sha256=0IOh5Ug9QwP2dgNMsl90RARV_
11
11
  power_grid_model_io/converters/__init__.py,sha256=kmbjFW6kVr30fmHb6mAoD7DQAqmbrsOuF1ewd8b0Q3M,408
12
12
  power_grid_model_io/converters/base_converter.py,sha256=TICEXyG7PtimAUvhAmpSoZUqwa0shiDdwbWpiM2Ur7o,6048
13
13
  power_grid_model_io/converters/pandapower_converter.py,sha256=c7wXV_T6zHZKa1ZlPtREDIzElDIsrNaiUy2HU-HnOpg,115797
14
- power_grid_model_io/converters/pgm_json_converter.py,sha256=GdesepDPVl1oX_F35Dtjz6kzrkiGfvQA55rBzWJYhA4,13343
14
+ power_grid_model_io/converters/pgm_json_converter.py,sha256=agIJnPXJIQA2Ua25-UKRLxAEOonirBdBIwZi4Pqxz9o,13856
15
15
  power_grid_model_io/converters/tabular_converter.py,sha256=KUk2ogzSQMapiNmHvqxAh8E_7bSPQq-FZxUIm1tF9-g,35136
16
16
  power_grid_model_io/converters/vision_excel_converter.py,sha256=ahAhynkHp_rchDIS0xEYRj4MmcJtc5YPcQTItNXa7tI,4185
17
17
  power_grid_model_io/data_stores/__init__.py,sha256=qwbj1j-Aa_yRB-E3j35pEVtF3mgH8CVIXAnog5mOry0,138
@@ -43,8 +43,8 @@ power_grid_model_io/utils/modules.py,sha256=a4IdozSL-sOZcmIQON_aQS7-cpnCyt-3p7zs
43
43
  power_grid_model_io/utils/parsing.py,sha256=cw6d3S89BvB8dncN0SeFHDhFG7ZlDNx9iGYWjZk5fVU,4684
44
44
  power_grid_model_io/utils/uuid_excel_cvtr.py,sha256=xYAYevGDuBd-TcgqcEMJJsISg3yv3uO_9mcUd7oj1qQ,7600
45
45
  power_grid_model_io/utils/zip.py,sha256=VXHX4xWPPZbhOlZUAbMDy3MgQFzK6_l7sRvGXihNUY4,3875
46
- power_grid_model_io-1.2.120.dist-info/licenses/LICENSE,sha256=7Pm2fWFFHHUG5lDHed1vl5CjzxObIXQglnYsEdtjo_k,14907
47
- power_grid_model_io-1.2.120.dist-info/METADATA,sha256=fY8kzHiGiuh1100jUn4BtOt4rPFsv5JVtqrT8k1yUNI,8688
48
- power_grid_model_io-1.2.120.dist-info/WHEEL,sha256=DnLRTWE75wApRYVsjgc6wsVswC54sMSJhAEd4xhDpBk,91
49
- power_grid_model_io-1.2.120.dist-info/top_level.txt,sha256=7sq9VveemMm2R0RgTBa4tH8y_xF4_1hxbufmX9OjCTo,20
50
- power_grid_model_io-1.2.120.dist-info/RECORD,,
46
+ power_grid_model_io-1.2.121.dist-info/licenses/LICENSE,sha256=7Pm2fWFFHHUG5lDHed1vl5CjzxObIXQglnYsEdtjo_k,14907
47
+ power_grid_model_io-1.2.121.dist-info/METADATA,sha256=b7sZsMkUeChm08Dwk7cMCl3wtea63n46FZNKm7B8WuA,8688
48
+ power_grid_model_io-1.2.121.dist-info/WHEEL,sha256=Nw36Djuh_5VDukK0H78QzOX-_FQEo6V37m3nkm96gtU,91
49
+ power_grid_model_io-1.2.121.dist-info/top_level.txt,sha256=7sq9VveemMm2R0RgTBa4tH8y_xF4_1hxbufmX9OjCTo,20
50
+ power_grid_model_io-1.2.121.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.4.0)
2
+ Generator: setuptools (80.7.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5