Source code for pydelfini.delfini_core.models.metric_timepoint_partitions
from typing import Any
from typing import cast
from typing import Dict
from typing import List
from typing import Type
from typing import TypeVar
from typing import Union
from attrs import define as _attrs_define
from attrs import field as _attrs_field
T = TypeVar("T", bound="MetricTimepointPartitions")
[docs]
@_attrs_define
class MetricTimepointPartitions:
"""MetricTimepointPartitions model"""
additional_properties: Dict[str, Union[float, int]] = _attrs_field(
init=False, factory=dict
)
[docs]
def to_dict(self) -> Dict[str, Any]:
"""Convert to a dict"""
field_dict: Dict[str, Any] = {}
for prop_name, prop in self.additional_properties.items():
field_dict[prop_name] = prop
field_dict.update({})
return field_dict
[docs]
@classmethod
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
"""Create an instance of :py:class:`MetricTimepointPartitions` from a dict"""
d = src_dict.copy()
metric_timepoint_partitions = cls()
additional_properties = {}
for prop_name, prop_dict in d.items():
def _parse_additional_property(data: object) -> Union[float, int]:
return cast(Union[float, int], data)
additional_property = _parse_additional_property(prop_dict)
additional_properties[prop_name] = additional_property
metric_timepoint_partitions.additional_properties = additional_properties
return metric_timepoint_partitions
@property
def additional_keys(self) -> List[str]:
return list(self.additional_properties.keys())
def __getitem__(self, key: str) -> Union[float, int]:
return self.additional_properties[key]
def __setitem__(self, key: str, value: Union[float, int]) -> None:
self.additional_properties[key] = value
def __delitem__(self, key: str) -> None:
del self.additional_properties[key]
def __contains__(self, key: str) -> bool:
return key in self.additional_properties