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