wallaroo.wallaroo_ml_ops_api_client.models.assays_get_results_response_200_item API documentation

# wallaroo.wallaroo_ml_ops_api_client.models.assays_get_results_response_200_item

View Source

      1import datetime
      2from typing import Any, Dict, List, Type, TypeVar, Union, cast
      3
      4import attr
      5from dateutil.parser import isoparse
      6
      7from ..models.assays_get_results_response_200_item_baseline_summary import \
      8    AssaysGetResultsResponse200ItemBaselineSummary
      9from ..models.assays_get_results_response_200_item_status import \
     10    AssaysGetResultsResponse200ItemStatus
     11from ..models.assays_get_results_response_200_item_summarizer_type_0 import \
     12    AssaysGetResultsResponse200ItemSummarizerType0
     13from ..models.assays_get_results_response_200_item_summarizer_type_1 import \
     14    AssaysGetResultsResponse200ItemSummarizerType1
     15from ..models.assays_get_results_response_200_item_window_summary import \
     16    AssaysGetResultsResponse200ItemWindowSummary
     17from ..types import UNSET, Unset
     18
     19T = TypeVar("T", bound="AssaysGetResultsResponse200Item")
     20
     21@attr.s(auto_attribs=True)
     22class AssaysGetResultsResponse200Item:
     23    """
     24    Attributes:
     25        window_start (datetime.datetime):
     26        analyzed_at (datetime.datetime):
     27        elapsed_millis (int):
     28        iopath (str):
     29        baseline_summary (AssaysGetResultsResponse200ItemBaselineSummary):  Result from summarizing one sample
     30            collection.
     31        window_summary (AssaysGetResultsResponse200ItemWindowSummary):  Result from summarizing one sample collection.
     32        alert_threshold (float):
     33        score (float):
     34        scores (List[float]):
     35        summarizer (Union[AssaysGetResultsResponse200ItemSummarizerType0,
     36            AssaysGetResultsResponse200ItemSummarizerType1]):
     37        status (AssaysGetResultsResponse200ItemStatus):
     38        id (Union[Unset, None, int]):
     39        assay_id (Union[Unset, None, int]):
     40        pipeline_id (Union[Unset, None, int]):
     41        warning_threshold (Union[Unset, None, float]):
     42        bin_index (Union[Unset, None, int]):
     43        created_at (Union[Unset, None, datetime.datetime]):
     44    """
     45
     46    window_start: datetime.datetime
     47    analyzed_at: datetime.datetime
     48    elapsed_millis: int
     49    iopath: str
     50    baseline_summary: AssaysGetResultsResponse200ItemBaselineSummary
     51    window_summary: AssaysGetResultsResponse200ItemWindowSummary
     52    alert_threshold: float
     53    score: float
     54    scores: List[float]
     55    summarizer: Union[AssaysGetResultsResponse200ItemSummarizerType0, AssaysGetResultsResponse200ItemSummarizerType1]
     56    status: AssaysGetResultsResponse200ItemStatus
     57    id: Union[Unset, None, int] = UNSET
     58    assay_id: Union[Unset, None, int] = UNSET
     59    pipeline_id: Union[Unset, None, int] = UNSET
     60    warning_threshold: Union[Unset, None, float] = UNSET
     61    bin_index: Union[Unset, None, int] = UNSET
     62    created_at: Union[Unset, None, datetime.datetime] = UNSET
     63    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
     64
     65
     66    def to_dict(self) -> Dict[str, Any]:
     67        window_start = self.window_start.isoformat()
     68
     69        analyzed_at = self.analyzed_at.isoformat()
     70
     71        elapsed_millis = self.elapsed_millis
     72        iopath = self.iopath
     73        baseline_summary = self.baseline_summary.to_dict()
     74
     75        window_summary = self.window_summary.to_dict()
     76
     77        alert_threshold = self.alert_threshold
     78        score = self.score
     79        scores = self.scores
     80
     81
     82
     83
     84        summarizer: Dict[str, Any]
     85
     86        if isinstance(self.summarizer, AssaysGetResultsResponse200ItemSummarizerType0):
     87            summarizer = self.summarizer.to_dict()
     88
     89        else:
     90            summarizer = self.summarizer.to_dict()
     91
     92
     93
     94        status = self.status.value
     95
     96        id = self.id
     97        assay_id = self.assay_id
     98        pipeline_id = self.pipeline_id
     99        warning_threshold = self.warning_threshold
    100        bin_index = self.bin_index
    101        created_at: Union[Unset, None, str] = UNSET
    102        if not isinstance(self.created_at, Unset):
    103            created_at = self.created_at.isoformat() if self.created_at else None
    104
    105
    106        field_dict: Dict[str, Any] = {}
    107        field_dict.update(self.additional_properties)
    108        field_dict.update({
    109            "window_start": window_start,
    110            "analyzed_at": analyzed_at,
    111            "elapsed_millis": elapsed_millis,
    112            "iopath": iopath,
    113            "baseline_summary": baseline_summary,
    114            "window_summary": window_summary,
    115            "alert_threshold": alert_threshold,
    116            "score": score,
    117            "scores": scores,
    118            "summarizer": summarizer,
    119            "status": status,
    120        })
    121        if id is not UNSET:
    122            field_dict["id"] = id
    123        if assay_id is not UNSET:
    124            field_dict["assay_id"] = assay_id
    125        if pipeline_id is not UNSET:
    126            field_dict["pipeline_id"] = pipeline_id
    127        if warning_threshold is not UNSET:
    128            field_dict["warning_threshold"] = warning_threshold
    129        if bin_index is not UNSET:
    130            field_dict["bin_index"] = bin_index
    131        if created_at is not UNSET:
    132            field_dict["created_at"] = created_at
    133
    134        return field_dict
    135
    136
    137
    138    @classmethod
    139    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
    140        d = src_dict.copy()
    141        window_start = isoparse(d.pop("window_start"))
    142
    143
    144
    145
    146        analyzed_at = isoparse(d.pop("analyzed_at"))
    147
    148
    149
    150
    151        elapsed_millis = d.pop("elapsed_millis")
    152
    153        iopath = d.pop("iopath")
    154
    155        baseline_summary = AssaysGetResultsResponse200ItemBaselineSummary.from_dict(d.pop("baseline_summary"))
    156
    157
    158
    159
    160        window_summary = AssaysGetResultsResponse200ItemWindowSummary.from_dict(d.pop("window_summary"))
    161
    162
    163
    164
    165        alert_threshold = d.pop("alert_threshold")
    166
    167        score = d.pop("score")
    168
    169        scores = cast(List[float], d.pop("scores"))
    170
    171
    172        def _parse_summarizer(data: object) -> Union[AssaysGetResultsResponse200ItemSummarizerType0, AssaysGetResultsResponse200ItemSummarizerType1]:
    173            try:
    174                if not isinstance(data, dict):
    175                    raise TypeError()
    176                summarizer_type_0 = AssaysGetResultsResponse200ItemSummarizerType0.from_dict(data)
    177
    178
    179
    180                return summarizer_type_0
    181            except: # noqa: E722
    182                pass
    183            if not isinstance(data, dict):
    184                raise TypeError()
    185            summarizer_type_1 = AssaysGetResultsResponse200ItemSummarizerType1.from_dict(data)
    186
    187
    188
    189            return summarizer_type_1
    190
    191        summarizer = _parse_summarizer(d.pop("summarizer"))
    192
    193
    194        status = AssaysGetResultsResponse200ItemStatus(d.pop("status"))
    195
    196
    197
    198
    199        id = d.pop("id", UNSET)
    200
    201        assay_id = d.pop("assay_id", UNSET)
    202
    203        pipeline_id = d.pop("pipeline_id", UNSET)
    204
    205        warning_threshold = d.pop("warning_threshold", UNSET)
    206
    207        bin_index = d.pop("bin_index", UNSET)
    208
    209        _created_at = d.pop("created_at", UNSET)
    210        created_at: Union[Unset, None, datetime.datetime]
    211        if _created_at is None:
    212            created_at = None
    213        elif isinstance(_created_at,  Unset):
    214            created_at = UNSET
    215        else:
    216            created_at = isoparse(_created_at)
    217
    218
    219
    220
    221        assays_get_results_response_200_item = cls(
    222            window_start=window_start,
    223            analyzed_at=analyzed_at,
    224            elapsed_millis=elapsed_millis,
    225            iopath=iopath,
    226            baseline_summary=baseline_summary,
    227            window_summary=window_summary,
    228            alert_threshold=alert_threshold,
    229            score=score,
    230            scores=scores,
    231            summarizer=summarizer,
    232            status=status,
    233            id=id,
    234            assay_id=assay_id,
    235            pipeline_id=pipeline_id,
    236            warning_threshold=warning_threshold,
    237            bin_index=bin_index,
    238            created_at=created_at,
    239        )
    240
    241        assays_get_results_response_200_item.additional_properties = d
    242        return assays_get_results_response_200_item
    243
    244    @property
    245    def additional_keys(self) -> List[str]:
    246        return list(self.additional_properties.keys())
    247
    248    def __getitem__(self, key: str) -> Any:
    249        return self.additional_properties[key]
    250
    251    def __setitem__(self, key: str, value: Any) -> None:
    252        self.additional_properties[key] = value
    253
    254    def __delitem__(self, key: str) -> None:
    255        del self.additional_properties[key]
    256
    257    def __contains__(self, key: str) -> bool:
    258        return key in self.additional_properties

@attr.s(auto_attribs=True)
class AssaysGetResultsResponse200Item: View Source

     22@attr.s(auto_attribs=True)
     23class AssaysGetResultsResponse200Item:
     24    """
     25    Attributes:
     26        window_start (datetime.datetime):
     27        analyzed_at (datetime.datetime):
     28        elapsed_millis (int):
     29        iopath (str):
     30        baseline_summary (AssaysGetResultsResponse200ItemBaselineSummary):  Result from summarizing one sample
     31            collection.
     32        window_summary (AssaysGetResultsResponse200ItemWindowSummary):  Result from summarizing one sample collection.
     33        alert_threshold (float):
     34        score (float):
     35        scores (List[float]):
     36        summarizer (Union[AssaysGetResultsResponse200ItemSummarizerType0,
     37            AssaysGetResultsResponse200ItemSummarizerType1]):
     38        status (AssaysGetResultsResponse200ItemStatus):
     39        id (Union[Unset, None, int]):
     40        assay_id (Union[Unset, None, int]):
     41        pipeline_id (Union[Unset, None, int]):
     42        warning_threshold (Union[Unset, None, float]):
     43        bin_index (Union[Unset, None, int]):
     44        created_at (Union[Unset, None, datetime.datetime]):
     45    """
     46
     47    window_start: datetime.datetime
     48    analyzed_at: datetime.datetime
     49    elapsed_millis: int
     50    iopath: str
     51    baseline_summary: AssaysGetResultsResponse200ItemBaselineSummary
     52    window_summary: AssaysGetResultsResponse200ItemWindowSummary
     53    alert_threshold: float
     54    score: float
     55    scores: List[float]
     56    summarizer: Union[AssaysGetResultsResponse200ItemSummarizerType0, AssaysGetResultsResponse200ItemSummarizerType1]
     57    status: AssaysGetResultsResponse200ItemStatus
     58    id: Union[Unset, None, int] = UNSET
     59    assay_id: Union[Unset, None, int] = UNSET
     60    pipeline_id: Union[Unset, None, int] = UNSET
     61    warning_threshold: Union[Unset, None, float] = UNSET
     62    bin_index: Union[Unset, None, int] = UNSET
     63    created_at: Union[Unset, None, datetime.datetime] = UNSET
     64    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
     65
     66
     67    def to_dict(self) -> Dict[str, Any]:
     68        window_start = self.window_start.isoformat()
     69
     70        analyzed_at = self.analyzed_at.isoformat()
     71
     72        elapsed_millis = self.elapsed_millis
     73        iopath = self.iopath
     74        baseline_summary = self.baseline_summary.to_dict()
     75
     76        window_summary = self.window_summary.to_dict()
     77
     78        alert_threshold = self.alert_threshold
     79        score = self.score
     80        scores = self.scores
     81
     82
     83
     84
     85        summarizer: Dict[str, Any]
     86
     87        if isinstance(self.summarizer, AssaysGetResultsResponse200ItemSummarizerType0):
     88            summarizer = self.summarizer.to_dict()
     89
     90        else:
     91            summarizer = self.summarizer.to_dict()
     92
     93
     94
     95        status = self.status.value
     96
     97        id = self.id
     98        assay_id = self.assay_id
     99        pipeline_id = self.pipeline_id
    100        warning_threshold = self.warning_threshold
    101        bin_index = self.bin_index
    102        created_at: Union[Unset, None, str] = UNSET
    103        if not isinstance(self.created_at, Unset):
    104            created_at = self.created_at.isoformat() if self.created_at else None
    105
    106
    107        field_dict: Dict[str, Any] = {}
    108        field_dict.update(self.additional_properties)
    109        field_dict.update({
    110            "window_start": window_start,
    111            "analyzed_at": analyzed_at,
    112            "elapsed_millis": elapsed_millis,
    113            "iopath": iopath,
    114            "baseline_summary": baseline_summary,
    115            "window_summary": window_summary,
    116            "alert_threshold": alert_threshold,
    117            "score": score,
    118            "scores": scores,
    119            "summarizer": summarizer,
    120            "status": status,
    121        })
    122        if id is not UNSET:
    123            field_dict["id"] = id
    124        if assay_id is not UNSET:
    125            field_dict["assay_id"] = assay_id
    126        if pipeline_id is not UNSET:
    127            field_dict["pipeline_id"] = pipeline_id
    128        if warning_threshold is not UNSET:
    129            field_dict["warning_threshold"] = warning_threshold
    130        if bin_index is not UNSET:
    131            field_dict["bin_index"] = bin_index
    132        if created_at is not UNSET:
    133            field_dict["created_at"] = created_at
    134
    135        return field_dict
    136
    137
    138
    139    @classmethod
    140    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
    141        d = src_dict.copy()
    142        window_start = isoparse(d.pop("window_start"))
    143
    144
    145
    146
    147        analyzed_at = isoparse(d.pop("analyzed_at"))
    148
    149
    150
    151
    152        elapsed_millis = d.pop("elapsed_millis")
    153
    154        iopath = d.pop("iopath")
    155
    156        baseline_summary = AssaysGetResultsResponse200ItemBaselineSummary.from_dict(d.pop("baseline_summary"))
    157
    158
    159
    160
    161        window_summary = AssaysGetResultsResponse200ItemWindowSummary.from_dict(d.pop("window_summary"))
    162
    163
    164
    165
    166        alert_threshold = d.pop("alert_threshold")
    167
    168        score = d.pop("score")
    169
    170        scores = cast(List[float], d.pop("scores"))
    171
    172
    173        def _parse_summarizer(data: object) -> Union[AssaysGetResultsResponse200ItemSummarizerType0, AssaysGetResultsResponse200ItemSummarizerType1]:
    174            try:
    175                if not isinstance(data, dict):
    176                    raise TypeError()
    177                summarizer_type_0 = AssaysGetResultsResponse200ItemSummarizerType0.from_dict(data)
    178
    179
    180
    181                return summarizer_type_0
    182            except: # noqa: E722
    183                pass
    184            if not isinstance(data, dict):
    185                raise TypeError()
    186            summarizer_type_1 = AssaysGetResultsResponse200ItemSummarizerType1.from_dict(data)
    187
    188
    189
    190            return summarizer_type_1
    191
    192        summarizer = _parse_summarizer(d.pop("summarizer"))
    193
    194
    195        status = AssaysGetResultsResponse200ItemStatus(d.pop("status"))
    196
    197
    198
    199
    200        id = d.pop("id", UNSET)
    201
    202        assay_id = d.pop("assay_id", UNSET)
    203
    204        pipeline_id = d.pop("pipeline_id", UNSET)
    205
    206        warning_threshold = d.pop("warning_threshold", UNSET)
    207
    208        bin_index = d.pop("bin_index", UNSET)
    209
    210        _created_at = d.pop("created_at", UNSET)
    211        created_at: Union[Unset, None, datetime.datetime]
    212        if _created_at is None:
    213            created_at = None
    214        elif isinstance(_created_at,  Unset):
    215            created_at = UNSET
    216        else:
    217            created_at = isoparse(_created_at)
    218
    219
    220
    221
    222        assays_get_results_response_200_item = cls(
    223            window_start=window_start,
    224            analyzed_at=analyzed_at,
    225            elapsed_millis=elapsed_millis,
    226            iopath=iopath,
    227            baseline_summary=baseline_summary,
    228            window_summary=window_summary,
    229            alert_threshold=alert_threshold,
    230            score=score,
    231            scores=scores,
    232            summarizer=summarizer,
    233            status=status,
    234            id=id,
    235            assay_id=assay_id,
    236            pipeline_id=pipeline_id,
    237            warning_threshold=warning_threshold,
    238            bin_index=bin_index,
    239            created_at=created_at,
    240        )
    241
    242        assays_get_results_response_200_item.additional_properties = d
    243        return assays_get_results_response_200_item
    244
    245    @property
    246    def additional_keys(self) -> List[str]:
    247        return list(self.additional_properties.keys())
    248
    249    def __getitem__(self, key: str) -> Any:
    250        return self.additional_properties[key]
    251
    252    def __setitem__(self, key: str, value: Any) -> None:
    253        self.additional_properties[key] = value
    254
    255    def __delitem__(self, key: str) -> None:
    256        del self.additional_properties[key]
    257
    258    def __contains__(self, key: str) -> bool:
    259        return key in self.additional_properties

Attributes: window_start (datetime.datetime): analyzed_at (datetime.datetime): elapsed_millis (int): iopath (str): baseline_summary (AssaysGetResultsResponse200ItemBaselineSummary): Result from summarizing one sample collection. window_summary (AssaysGetResultsResponse200ItemWindowSummary): Result from summarizing one sample collection. alert_threshold (float): score (float): scores (List[float]): summarizer (Union[AssaysGetResultsResponse200ItemSummarizerType0, AssaysGetResultsResponse200ItemSummarizerType1]): status (AssaysGetResultsResponse200ItemStatus): id (Union[Unset, None, int]): assay_id (Union[Unset, None, int]): pipeline_id (Union[Unset, None, int]): warning_threshold (Union[Unset, None, float]): bin_index (Union[Unset, None, int]): created_at (Union[Unset, None, datetime.datetime]):

AssaysGetResultsResponse200Item( window_start: datetime.datetime, analyzed_at: datetime.datetime, elapsed_millis: int, iopath: str, baseline_summary: wallaroo.wallaroo_ml_ops_api_client.models.assays_get_results_response_200_item_baseline_summary.AssaysGetResultsResponse200ItemBaselineSummary, window_summary: wallaroo.wallaroo_ml_ops_api_client.models.assays_get_results_response_200_item_window_summary.AssaysGetResultsResponse200ItemWindowSummary, alert_threshold: float, score: float, scores: List[float], summarizer: Union[wallaroo.wallaroo_ml_ops_api_client.models.assays_get_results_response_200_item_summarizer_type_0.AssaysGetResultsResponse200ItemSummarizerType0, wallaroo.wallaroo_ml_ops_api_client.models.assays_get_results_response_200_item_summarizer_type_1.AssaysGetResultsResponse200ItemSummarizerType1], status: wallaroo.wallaroo_ml_ops_api_client.models.assays_get_results_response_200_item_status.AssaysGetResultsResponse200ItemStatus, id: Union[wallaroo.wallaroo_ml_ops_api_client.types.Unset, NoneType, int] = <wallaroo.wallaroo_ml_ops_api_client.types.Unset object>, assay_id: Union[wallaroo.wallaroo_ml_ops_api_client.types.Unset, NoneType, int] = <wallaroo.wallaroo_ml_ops_api_client.types.Unset object>, pipeline_id: Union[wallaroo.wallaroo_ml_ops_api_client.types.Unset, NoneType, int] = <wallaroo.wallaroo_ml_ops_api_client.types.Unset object>, warning_threshold: Union[wallaroo.wallaroo_ml_ops_api_client.types.Unset, NoneType, float] = <wallaroo.wallaroo_ml_ops_api_client.types.Unset object>, bin_index: Union[wallaroo.wallaroo_ml_ops_api_client.types.Unset, NoneType, int] = <wallaroo.wallaroo_ml_ops_api_client.types.Unset object>, created_at: Union[wallaroo.wallaroo_ml_ops_api_client.types.Unset, NoneType, datetime.datetime] = <wallaroo.wallaroo_ml_ops_api_client.types.Unset object>) View Source

     2def __init__(self, window_start, analyzed_at, elapsed_millis, iopath, baseline_summary, window_summary, alert_threshold, score, scores, summarizer, status, id=attr_dict['id'].default, assay_id=attr_dict['assay_id'].default, pipeline_id=attr_dict['pipeline_id'].default, warning_threshold=attr_dict['warning_threshold'].default, bin_index=attr_dict['bin_index'].default, created_at=attr_dict['created_at'].default):
     3    self.window_start = window_start
     4    self.analyzed_at = analyzed_at
     5    self.elapsed_millis = elapsed_millis
     6    self.iopath = iopath
     7    self.baseline_summary = baseline_summary
     8    self.window_summary = window_summary
     9    self.alert_threshold = alert_threshold
    10    self.score = score
    11    self.scores = scores
    12    self.summarizer = summarizer
    13    self.status = status
    14    self.id = id
    15    self.assay_id = assay_id
    16    self.pipeline_id = pipeline_id
    17    self.warning_threshold = warning_threshold
    18    self.bin_index = bin_index
    19    self.created_at = created_at
    20    self.additional_properties = __attr_factory_additional_properties()

Method generated by attrs for class AssaysGetResultsResponse200Item.

def to_dict(self) -> Dict[str, Any]: View Source

     67    def to_dict(self) -> Dict[str, Any]:
     68        window_start = self.window_start.isoformat()
     69
     70        analyzed_at = self.analyzed_at.isoformat()
     71
     72        elapsed_millis = self.elapsed_millis
     73        iopath = self.iopath
     74        baseline_summary = self.baseline_summary.to_dict()
     75
     76        window_summary = self.window_summary.to_dict()
     77
     78        alert_threshold = self.alert_threshold
     79        score = self.score
     80        scores = self.scores
     81
     82
     83
     84
     85        summarizer: Dict[str, Any]
     86
     87        if isinstance(self.summarizer, AssaysGetResultsResponse200ItemSummarizerType0):
     88            summarizer = self.summarizer.to_dict()
     89
     90        else:
     91            summarizer = self.summarizer.to_dict()
     92
     93
     94
     95        status = self.status.value
     96
     97        id = self.id
     98        assay_id = self.assay_id
     99        pipeline_id = self.pipeline_id
    100        warning_threshold = self.warning_threshold
    101        bin_index = self.bin_index
    102        created_at: Union[Unset, None, str] = UNSET
    103        if not isinstance(self.created_at, Unset):
    104            created_at = self.created_at.isoformat() if self.created_at else None
    105
    106
    107        field_dict: Dict[str, Any] = {}
    108        field_dict.update(self.additional_properties)
    109        field_dict.update({
    110            "window_start": window_start,
    111            "analyzed_at": analyzed_at,
    112            "elapsed_millis": elapsed_millis,
    113            "iopath": iopath,
    114            "baseline_summary": baseline_summary,
    115            "window_summary": window_summary,
    116            "alert_threshold": alert_threshold,
    117            "score": score,
    118            "scores": scores,
    119            "summarizer": summarizer,
    120            "status": status,
    121        })
    122        if id is not UNSET:
    123            field_dict["id"] = id
    124        if assay_id is not UNSET:
    125            field_dict["assay_id"] = assay_id
    126        if pipeline_id is not UNSET:
    127            field_dict["pipeline_id"] = pipeline_id
    128        if warning_threshold is not UNSET:
    129            field_dict["warning_threshold"] = warning_threshold
    130        if bin_index is not UNSET:
    131            field_dict["bin_index"] = bin_index
    132        if created_at is not UNSET:
    133            field_dict["created_at"] = created_at
    134
    135        return field_dict

@classmethod
def from_dict(cls: Type[~T], src_dict: Dict[str, Any]) -> ~T: View Source

    139    @classmethod
    140    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
    141        d = src_dict.copy()
    142        window_start = isoparse(d.pop("window_start"))
    143
    144
    145
    146
    147        analyzed_at = isoparse(d.pop("analyzed_at"))
    148
    149
    150
    151
    152        elapsed_millis = d.pop("elapsed_millis")
    153
    154        iopath = d.pop("iopath")
    155
    156        baseline_summary = AssaysGetResultsResponse200ItemBaselineSummary.from_dict(d.pop("baseline_summary"))
    157
    158
    159
    160
    161        window_summary = AssaysGetResultsResponse200ItemWindowSummary.from_dict(d.pop("window_summary"))
    162
    163
    164
    165
    166        alert_threshold = d.pop("alert_threshold")
    167
    168        score = d.pop("score")
    169
    170        scores = cast(List[float], d.pop("scores"))
    171
    172
    173        def _parse_summarizer(data: object) -> Union[AssaysGetResultsResponse200ItemSummarizerType0, AssaysGetResultsResponse200ItemSummarizerType1]:
    174            try:
    175                if not isinstance(data, dict):
    176                    raise TypeError()
    177                summarizer_type_0 = AssaysGetResultsResponse200ItemSummarizerType0.from_dict(data)
    178
    179
    180
    181                return summarizer_type_0
    182            except: # noqa: E722
    183                pass
    184            if not isinstance(data, dict):
    185                raise TypeError()
    186            summarizer_type_1 = AssaysGetResultsResponse200ItemSummarizerType1.from_dict(data)
    187
    188
    189
    190            return summarizer_type_1
    191
    192        summarizer = _parse_summarizer(d.pop("summarizer"))
    193
    194
    195        status = AssaysGetResultsResponse200ItemStatus(d.pop("status"))
    196
    197
    198
    199
    200        id = d.pop("id", UNSET)
    201
    202        assay_id = d.pop("assay_id", UNSET)
    203
    204        pipeline_id = d.pop("pipeline_id", UNSET)
    205
    206        warning_threshold = d.pop("warning_threshold", UNSET)
    207
    208        bin_index = d.pop("bin_index", UNSET)
    209
    210        _created_at = d.pop("created_at", UNSET)
    211        created_at: Union[Unset, None, datetime.datetime]
    212        if _created_at is None:
    213            created_at = None
    214        elif isinstance(_created_at,  Unset):
    215            created_at = UNSET
    216        else:
    217            created_at = isoparse(_created_at)
    218
    219
    220
    221
    222        assays_get_results_response_200_item = cls(
    223            window_start=window_start,
    224            analyzed_at=analyzed_at,
    225            elapsed_millis=elapsed_millis,
    226            iopath=iopath,
    227            baseline_summary=baseline_summary,
    228            window_summary=window_summary,
    229            alert_threshold=alert_threshold,
    230            score=score,
    231            scores=scores,
    232            summarizer=summarizer,
    233            status=status,
    234            id=id,
    235            assay_id=assay_id,
    236            pipeline_id=pipeline_id,
    237            warning_threshold=warning_threshold,
    238            bin_index=bin_index,
    239            created_at=created_at,
    240        )
    241
    242        assays_get_results_response_200_item.additional_properties = d
    243        return assays_get_results_response_200_item

additional_keys: List[str]