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