wallaroo.wallaroo_ml_ops_api_client.models.assays_get_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_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
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]):
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.
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
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