Skip to content

Commit 6292031

Browse files
committed
Add a TypeVar bounded to UQMetadataClass; Fix some space in docstrings; Narrowing the type as a List of np.ndarray for realization_otput
1 parent 1b7dda1 commit 6292031

1 file changed

Lines changed: 13 additions & 3 deletions

File tree

‎src/alfasim_sdk/result_reader/aggregator.py‎

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from collections import namedtuple
55
from contextlib import contextmanager
66
from pathlib import Path
7-
from typing import Any, Type
7+
from typing import Any, Type, TypeVar
88
from typing import Callable
99
from typing import DefaultDict
1010
from typing import Dict
@@ -110,6 +110,7 @@ class ResultsNeedFullReloadError(RuntimeError):
110110
class BaseUQMetaData:
111111
"""
112112
Base class for UQ metadata analysis.
113+
113114
:ivar property_id:
114115
The property name (holdup, total mass flow rate).
115116
:ivar trend_id:
@@ -151,6 +152,7 @@ class UncertaintyPropagationAnalysesMetaData:
151152
class UPItem(BaseUQMetaData):
152153
"""
153154
A class that hold each uncertainty propagation analyses metadata.
155+
154156
:ivar samples:
155157
The total samples generate to construct the result.
156158
:ivar result_index:
@@ -280,10 +282,18 @@ class UPResult:
280282
"""
281283
category: str = attr.ib(validator=attr.validators.optional(attr.validators.instance_of(str)))
282284
unit: str = attr.ib(validator=attr.validators.optional(attr.validators.instance_of(str)))
283-
realization_output: List = attr.ib(default=attr.Factory(List))
285+
realization_output: List[np.ndarray] = attr.ib(default=attr.Factory(List))
284286
std_result: np.ndarray = attr.ib(default=attr.Factory(lambda: np.array([])))
285287
mean_result: np.ndarray = attr.ib(default=attr.Factory(lambda: np.array([])))
286-
def read_results_file(result_directory: Path, metadata_class: Type[UQMetadataClass], map_data: Callable, meta_data_attrs: str) -> UQMetadataClass:
288+
289+
290+
MetadataClassType = TypeVar("MetadataClassType", bound=UQMetadataClass)
291+
def read_results_file(
292+
result_directory: Path,
293+
metadata_class: Type[MetadataClassType],
294+
map_data: Callable,
295+
meta_data_attrs: str) -> MetadataClassType:
296+
287297
with open_result_file(
288298
result_directory, result_filename="result"
289299
) as result_file:

0 commit comments

Comments
 (0)