orca-sdk 0.0.93__py3-none-any.whl → 0.0.95__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. orca_sdk/__init__.py +13 -4
  2. orca_sdk/_generated_api_client/api/__init__.py +84 -34
  3. orca_sdk/_generated_api_client/api/classification_model/create_classification_model_classification_model_post.py +170 -0
  4. orca_sdk/_generated_api_client/api/classification_model/{get_model_classification_model_name_or_id_get.py → delete_classification_model_classification_model_name_or_id_delete.py} +20 -20
  5. orca_sdk/_generated_api_client/api/classification_model/{delete_evaluation_classification_model_model_name_or_id_evaluation_task_id_delete.py → delete_classification_model_evaluation_classification_model_model_name_or_id_evaluation_task_id_delete.py} +4 -4
  6. orca_sdk/_generated_api_client/api/classification_model/{create_evaluation_classification_model_model_name_or_id_evaluation_post.py → evaluate_classification_model_classification_model_model_name_or_id_evaluation_post.py} +14 -14
  7. orca_sdk/_generated_api_client/api/classification_model/get_classification_model_classification_model_name_or_id_get.py +156 -0
  8. orca_sdk/_generated_api_client/api/classification_model/{get_evaluation_classification_model_model_name_or_id_evaluation_task_id_get.py → get_classification_model_evaluation_classification_model_model_name_or_id_evaluation_task_id_get.py} +16 -16
  9. orca_sdk/_generated_api_client/api/classification_model/{list_evaluations_classification_model_model_name_or_id_evaluation_get.py → list_classification_model_evaluations_classification_model_model_name_or_id_evaluation_get.py} +16 -16
  10. orca_sdk/_generated_api_client/api/classification_model/list_classification_models_classification_model_get.py +127 -0
  11. orca_sdk/_generated_api_client/api/classification_model/{predict_gpu_classification_model_name_or_id_prediction_post.py → predict_label_gpu_classification_model_name_or_id_prediction_post.py} +14 -14
  12. orca_sdk/_generated_api_client/api/classification_model/update_classification_model_classification_model_name_or_id_patch.py +183 -0
  13. orca_sdk/_generated_api_client/api/datasource/download_datasource_datasource_name_or_id_download_get.py +172 -0
  14. orca_sdk/_generated_api_client/api/memoryset/clone_memoryset_memoryset_name_or_id_clone_post.py +22 -22
  15. orca_sdk/_generated_api_client/api/memoryset/create_memoryset_memoryset_post.py +22 -22
  16. orca_sdk/_generated_api_client/api/memoryset/get_memories_memoryset_name_or_id_memories_get_post.py +38 -16
  17. orca_sdk/_generated_api_client/api/memoryset/get_memory_memoryset_name_or_id_memory_memory_id_get.py +29 -12
  18. orca_sdk/_generated_api_client/api/memoryset/get_memoryset_memoryset_name_or_id_get.py +12 -12
  19. orca_sdk/_generated_api_client/api/memoryset/insert_memories_gpu_memoryset_name_or_id_memory_post.py +17 -14
  20. orca_sdk/_generated_api_client/api/memoryset/list_memorysets_memoryset_get.py +72 -19
  21. orca_sdk/_generated_api_client/api/memoryset/memoryset_lookup_gpu_memoryset_name_or_id_lookup_post.py +31 -12
  22. orca_sdk/_generated_api_client/api/memoryset/potential_duplicate_groups_memoryset_name_or_id_potential_duplicate_groups_get.py +49 -20
  23. orca_sdk/_generated_api_client/api/memoryset/query_memoryset_memoryset_name_or_id_memories_post.py +38 -16
  24. orca_sdk/_generated_api_client/api/memoryset/update_memories_gpu_memoryset_name_or_id_memories_patch.py +54 -29
  25. orca_sdk/_generated_api_client/api/memoryset/update_memory_gpu_memoryset_name_or_id_memory_patch.py +44 -26
  26. orca_sdk/_generated_api_client/api/memoryset/update_memoryset_memoryset_name_or_id_patch.py +22 -22
  27. orca_sdk/_generated_api_client/api/predictive_model/__init__.py +0 -0
  28. orca_sdk/_generated_api_client/api/predictive_model/list_predictive_models_predictive_model_get.py +150 -0
  29. orca_sdk/_generated_api_client/api/regression_model/__init__.py +0 -0
  30. orca_sdk/_generated_api_client/api/{classification_model/create_model_classification_model_post.py → regression_model/create_regression_model_regression_model_post.py} +27 -27
  31. orca_sdk/_generated_api_client/api/regression_model/delete_regression_model_evaluation_regression_model_model_name_or_id_evaluation_task_id_delete.py +168 -0
  32. orca_sdk/_generated_api_client/api/{classification_model/delete_model_classification_model_name_or_id_delete.py → regression_model/delete_regression_model_regression_model_name_or_id_delete.py} +5 -5
  33. orca_sdk/_generated_api_client/api/regression_model/evaluate_regression_model_regression_model_model_name_or_id_evaluation_post.py +183 -0
  34. orca_sdk/_generated_api_client/api/regression_model/get_regression_model_evaluation_regression_model_model_name_or_id_evaluation_task_id_get.py +170 -0
  35. orca_sdk/_generated_api_client/api/regression_model/get_regression_model_regression_model_name_or_id_get.py +156 -0
  36. orca_sdk/_generated_api_client/api/regression_model/list_regression_model_evaluations_regression_model_model_name_or_id_evaluation_get.py +161 -0
  37. orca_sdk/_generated_api_client/api/{classification_model/list_models_classification_model_get.py → regression_model/list_regression_models_regression_model_get.py} +17 -17
  38. orca_sdk/_generated_api_client/api/regression_model/predict_score_gpu_regression_model_name_or_id_prediction_post.py +190 -0
  39. orca_sdk/_generated_api_client/api/{classification_model/update_model_classification_model_name_or_id_patch.py → regression_model/update_regression_model_regression_model_name_or_id_patch.py} +27 -27
  40. orca_sdk/_generated_api_client/api/task/get_task_task_task_id_get.py +156 -0
  41. orca_sdk/_generated_api_client/api/task/list_tasks_task_get.py +60 -10
  42. orca_sdk/_generated_api_client/api/telemetry/count_predictions_telemetry_prediction_count_post.py +10 -10
  43. orca_sdk/_generated_api_client/api/telemetry/get_prediction_telemetry_prediction_prediction_id_get.py +35 -12
  44. orca_sdk/_generated_api_client/api/telemetry/list_memories_with_feedback_telemetry_memories_post.py +20 -12
  45. orca_sdk/_generated_api_client/api/telemetry/list_predictions_telemetry_prediction_post.py +35 -12
  46. orca_sdk/_generated_api_client/models/__init__.py +90 -24
  47. orca_sdk/_generated_api_client/models/base_score_prediction_result.py +108 -0
  48. orca_sdk/_generated_api_client/models/{evaluation_request.py → classification_evaluation_request.py} +13 -45
  49. orca_sdk/_generated_api_client/models/{classification_evaluation_result.py → classification_metrics.py} +106 -56
  50. orca_sdk/_generated_api_client/models/{rac_model_metadata.py → classification_model_metadata.py} +51 -43
  51. orca_sdk/_generated_api_client/models/{prediction_request.py → classification_prediction_request.py} +31 -6
  52. orca_sdk/_generated_api_client/models/{clone_labeled_memoryset_request.py → clone_memoryset_request.py} +5 -5
  53. orca_sdk/_generated_api_client/models/column_info.py +31 -0
  54. orca_sdk/_generated_api_client/models/count_predictions_request.py +195 -0
  55. orca_sdk/_generated_api_client/models/{create_rac_model_request.py → create_classification_model_request.py} +25 -57
  56. orca_sdk/_generated_api_client/models/{create_labeled_memoryset_request.py → create_memoryset_request.py} +73 -56
  57. orca_sdk/_generated_api_client/models/create_memoryset_request_index_params.py +66 -0
  58. orca_sdk/_generated_api_client/models/create_memoryset_request_index_type.py +13 -0
  59. orca_sdk/_generated_api_client/models/create_regression_model_request.py +137 -0
  60. orca_sdk/_generated_api_client/models/embedding_evaluation_payload.py +187 -0
  61. orca_sdk/_generated_api_client/models/embedding_evaluation_response.py +10 -0
  62. orca_sdk/_generated_api_client/models/evaluation_response.py +22 -9
  63. orca_sdk/_generated_api_client/models/evaluation_response_classification_metrics.py +140 -0
  64. orca_sdk/_generated_api_client/models/evaluation_response_regression_metrics.py +140 -0
  65. orca_sdk/_generated_api_client/models/http_validation_error.py +86 -0
  66. orca_sdk/_generated_api_client/models/list_predictions_request.py +62 -0
  67. orca_sdk/_generated_api_client/models/memory_type.py +9 -0
  68. orca_sdk/_generated_api_client/models/memoryset_analysis_configs.py +0 -20
  69. orca_sdk/_generated_api_client/models/{labeled_memoryset_metadata.py → memoryset_metadata.py} +73 -13
  70. orca_sdk/_generated_api_client/models/memoryset_metadata_index_params.py +55 -0
  71. orca_sdk/_generated_api_client/models/memoryset_metadata_index_type.py +13 -0
  72. orca_sdk/_generated_api_client/models/{labeled_memoryset_update.py → memoryset_update.py} +19 -31
  73. orca_sdk/_generated_api_client/models/not_found_error_response_resource_type_0.py +1 -0
  74. orca_sdk/_generated_api_client/models/{paginated_labeled_memory_with_feedback_metrics.py → paginated_union_labeled_memory_with_feedback_metrics_scored_memory_with_feedback_metrics.py} +37 -10
  75. orca_sdk/_generated_api_client/models/{precision_recall_curve.py → pr_curve.py} +5 -13
  76. orca_sdk/_generated_api_client/models/{rac_model_update.py → predictive_model_update.py} +14 -5
  77. orca_sdk/_generated_api_client/models/pretrained_embedding_model_metadata.py +11 -1
  78. orca_sdk/_generated_api_client/models/pretrained_embedding_model_name.py +5 -0
  79. orca_sdk/_generated_api_client/models/rar_head_type.py +8 -0
  80. orca_sdk/_generated_api_client/models/regression_evaluation_request.py +148 -0
  81. orca_sdk/_generated_api_client/models/regression_metrics.py +172 -0
  82. orca_sdk/_generated_api_client/models/regression_model_metadata.py +177 -0
  83. orca_sdk/_generated_api_client/models/regression_prediction_request.py +195 -0
  84. orca_sdk/_generated_api_client/models/roc_curve.py +0 -8
  85. orca_sdk/_generated_api_client/models/score_prediction_memory_lookup.py +196 -0
  86. orca_sdk/_generated_api_client/models/score_prediction_memory_lookup_metadata.py +68 -0
  87. orca_sdk/_generated_api_client/models/score_prediction_with_memories_and_feedback.py +252 -0
  88. orca_sdk/_generated_api_client/models/scored_memory.py +172 -0
  89. orca_sdk/_generated_api_client/models/scored_memory_insert.py +128 -0
  90. orca_sdk/_generated_api_client/models/scored_memory_insert_metadata.py +68 -0
  91. orca_sdk/_generated_api_client/models/scored_memory_lookup.py +180 -0
  92. orca_sdk/_generated_api_client/models/scored_memory_lookup_metadata.py +68 -0
  93. orca_sdk/_generated_api_client/models/scored_memory_metadata.py +68 -0
  94. orca_sdk/_generated_api_client/models/scored_memory_update.py +171 -0
  95. orca_sdk/_generated_api_client/models/scored_memory_update_metadata_type_0.py +68 -0
  96. orca_sdk/_generated_api_client/models/scored_memory_with_feedback_metrics.py +193 -0
  97. orca_sdk/_generated_api_client/models/scored_memory_with_feedback_metrics_feedback_metrics.py +68 -0
  98. orca_sdk/_generated_api_client/models/scored_memory_with_feedback_metrics_metadata.py +68 -0
  99. orca_sdk/_generated_api_client/models/update_prediction_request.py +20 -0
  100. orca_sdk/_generated_api_client/models/validation_error.py +99 -0
  101. orca_sdk/_shared/__init__.py +9 -1
  102. orca_sdk/_shared/metrics.py +257 -87
  103. orca_sdk/_shared/metrics_test.py +136 -77
  104. orca_sdk/_utils/data_parsing.py +0 -3
  105. orca_sdk/_utils/data_parsing_test.py +0 -3
  106. orca_sdk/_utils/prediction_result_ui.py +55 -23
  107. orca_sdk/classification_model.py +184 -174
  108. orca_sdk/classification_model_test.py +178 -142
  109. orca_sdk/conftest.py +77 -26
  110. orca_sdk/datasource.py +34 -0
  111. orca_sdk/datasource_test.py +9 -1
  112. orca_sdk/embedding_model.py +136 -14
  113. orca_sdk/embedding_model_test.py +10 -6
  114. orca_sdk/job.py +329 -0
  115. orca_sdk/job_test.py +48 -0
  116. orca_sdk/memoryset.py +882 -161
  117. orca_sdk/memoryset_test.py +58 -23
  118. orca_sdk/regression_model.py +647 -0
  119. orca_sdk/regression_model_test.py +338 -0
  120. orca_sdk/telemetry.py +225 -106
  121. orca_sdk/telemetry_test.py +34 -30
  122. {orca_sdk-0.0.93.dist-info → orca_sdk-0.0.95.dist-info}/METADATA +2 -4
  123. {orca_sdk-0.0.93.dist-info → orca_sdk-0.0.95.dist-info}/RECORD +124 -74
  124. orca_sdk/_utils/task.py +0 -73
  125. {orca_sdk-0.0.93.dist-info → orca_sdk-0.0.95.dist-info}/WHEEL +0 -0
@@ -0,0 +1,148 @@
1
+ """
2
+ This file is generated by the openapi-python-client tool via the generate_api_client.py script
3
+
4
+ It is a customized template from the openapi-python-client tool's default template:
5
+ https://github.com/openapi-generators/openapi-python-client/blob/861ef5622f10fc96d240dc9becb0edf94e61446c/openapi_python_client/templates/model.py.jinja
6
+
7
+ The main change is:
8
+ - Fix typing issues
9
+ """
10
+
11
+ # flake8: noqa: C901
12
+
13
+ from typing import Any, List, Type, TypeVar, Union, cast
14
+
15
+ from attrs import define as _attrs_define
16
+ from attrs import field as _attrs_field
17
+
18
+ from ..types import UNSET, Unset
19
+
20
+ T = TypeVar("T", bound="RegressionEvaluationRequest")
21
+
22
+
23
+ @_attrs_define
24
+ class RegressionEvaluationRequest:
25
+ """
26
+ Attributes:
27
+ datasource_id (str):
28
+ datasource_score_column (str):
29
+ datasource_value_column (str):
30
+ memoryset_override_id (Union[None, Unset, str]):
31
+ record_telemetry (Union[Unset, bool]): Default: False.
32
+ telemetry_tags (Union[List[str], None, Unset]):
33
+ """
34
+
35
+ datasource_id: str
36
+ datasource_score_column: str
37
+ datasource_value_column: str
38
+ memoryset_override_id: Union[None, Unset, str] = UNSET
39
+ record_telemetry: Union[Unset, bool] = False
40
+ telemetry_tags: Union[List[str], None, Unset] = UNSET
41
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
42
+
43
+ def to_dict(self) -> dict[str, Any]:
44
+ datasource_id = self.datasource_id
45
+
46
+ datasource_score_column = self.datasource_score_column
47
+
48
+ datasource_value_column = self.datasource_value_column
49
+
50
+ memoryset_override_id: Union[None, Unset, str]
51
+ if isinstance(self.memoryset_override_id, Unset):
52
+ memoryset_override_id = UNSET
53
+ else:
54
+ memoryset_override_id = self.memoryset_override_id
55
+
56
+ record_telemetry = self.record_telemetry
57
+
58
+ telemetry_tags: Union[List[str], None, Unset]
59
+ if isinstance(self.telemetry_tags, Unset):
60
+ telemetry_tags = UNSET
61
+ elif isinstance(self.telemetry_tags, list):
62
+ telemetry_tags = self.telemetry_tags
63
+
64
+ else:
65
+ telemetry_tags = self.telemetry_tags
66
+
67
+ field_dict: dict[str, Any] = {}
68
+ field_dict.update(self.additional_properties)
69
+ field_dict.update(
70
+ {
71
+ "datasource_id": datasource_id,
72
+ "datasource_score_column": datasource_score_column,
73
+ "datasource_value_column": datasource_value_column,
74
+ }
75
+ )
76
+ if memoryset_override_id is not UNSET:
77
+ field_dict["memoryset_override_id"] = memoryset_override_id
78
+ if record_telemetry is not UNSET:
79
+ field_dict["record_telemetry"] = record_telemetry
80
+ if telemetry_tags is not UNSET:
81
+ field_dict["telemetry_tags"] = telemetry_tags
82
+
83
+ return field_dict
84
+
85
+ @classmethod
86
+ def from_dict(cls: Type[T], src_dict: dict[str, Any]) -> T:
87
+ d = src_dict.copy()
88
+ datasource_id = d.pop("datasource_id")
89
+
90
+ datasource_score_column = d.pop("datasource_score_column")
91
+
92
+ datasource_value_column = d.pop("datasource_value_column")
93
+
94
+ def _parse_memoryset_override_id(data: object) -> Union[None, Unset, str]:
95
+ if data is None:
96
+ return data
97
+ if isinstance(data, Unset):
98
+ return data
99
+ return cast(Union[None, Unset, str], data)
100
+
101
+ memoryset_override_id = _parse_memoryset_override_id(d.pop("memoryset_override_id", UNSET))
102
+
103
+ record_telemetry = d.pop("record_telemetry", UNSET)
104
+
105
+ def _parse_telemetry_tags(data: object) -> Union[List[str], None, Unset]:
106
+ if data is None:
107
+ return data
108
+ if isinstance(data, Unset):
109
+ return data
110
+ try:
111
+ if not isinstance(data, list):
112
+ raise TypeError()
113
+ telemetry_tags_type_0 = cast(List[str], data)
114
+
115
+ return telemetry_tags_type_0
116
+ except: # noqa: E722
117
+ pass
118
+ return cast(Union[List[str], None, Unset], data)
119
+
120
+ telemetry_tags = _parse_telemetry_tags(d.pop("telemetry_tags", UNSET))
121
+
122
+ regression_evaluation_request = cls(
123
+ datasource_id=datasource_id,
124
+ datasource_score_column=datasource_score_column,
125
+ datasource_value_column=datasource_value_column,
126
+ memoryset_override_id=memoryset_override_id,
127
+ record_telemetry=record_telemetry,
128
+ telemetry_tags=telemetry_tags,
129
+ )
130
+
131
+ regression_evaluation_request.additional_properties = d
132
+ return regression_evaluation_request
133
+
134
+ @property
135
+ def additional_keys(self) -> list[str]:
136
+ return list(self.additional_properties.keys())
137
+
138
+ def __getitem__(self, key: str) -> Any:
139
+ return self.additional_properties[key]
140
+
141
+ def __setitem__(self, key: str, value: Any) -> None:
142
+ self.additional_properties[key] = value
143
+
144
+ def __delitem__(self, key: str) -> None:
145
+ del self.additional_properties[key]
146
+
147
+ def __contains__(self, key: str) -> bool:
148
+ return key in self.additional_properties
@@ -0,0 +1,172 @@
1
+ """
2
+ This file is generated by the openapi-python-client tool via the generate_api_client.py script
3
+
4
+ It is a customized template from the openapi-python-client tool's default template:
5
+ https://github.com/openapi-generators/openapi-python-client/blob/861ef5622f10fc96d240dc9becb0edf94e61446c/openapi_python_client/templates/model.py.jinja
6
+
7
+ The main change is:
8
+ - Fix typing issues
9
+ """
10
+
11
+ # flake8: noqa: C901
12
+
13
+ from typing import Any, Type, TypeVar, Union, cast
14
+
15
+ from attrs import define as _attrs_define
16
+ from attrs import field as _attrs_field
17
+
18
+ from ..types import UNSET, Unset
19
+
20
+ T = TypeVar("T", bound="RegressionMetrics")
21
+
22
+
23
+ @_attrs_define
24
+ class RegressionMetrics:
25
+ """
26
+ Attributes:
27
+ mse (float):
28
+ rmse (float):
29
+ mae (float):
30
+ r2 (float):
31
+ explained_variance (float):
32
+ loss (float):
33
+ anomaly_score_mean (Union[None, Unset, float]):
34
+ anomaly_score_median (Union[None, Unset, float]):
35
+ anomaly_score_variance (Union[None, Unset, float]):
36
+ """
37
+
38
+ mse: float
39
+ rmse: float
40
+ mae: float
41
+ r2: float
42
+ explained_variance: float
43
+ loss: float
44
+ anomaly_score_mean: Union[None, Unset, float] = UNSET
45
+ anomaly_score_median: Union[None, Unset, float] = UNSET
46
+ anomaly_score_variance: Union[None, Unset, float] = UNSET
47
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
48
+
49
+ def to_dict(self) -> dict[str, Any]:
50
+ mse = self.mse
51
+
52
+ rmse = self.rmse
53
+
54
+ mae = self.mae
55
+
56
+ r2 = self.r2
57
+
58
+ explained_variance = self.explained_variance
59
+
60
+ loss = self.loss
61
+
62
+ anomaly_score_mean: Union[None, Unset, float]
63
+ if isinstance(self.anomaly_score_mean, Unset):
64
+ anomaly_score_mean = UNSET
65
+ else:
66
+ anomaly_score_mean = self.anomaly_score_mean
67
+
68
+ anomaly_score_median: Union[None, Unset, float]
69
+ if isinstance(self.anomaly_score_median, Unset):
70
+ anomaly_score_median = UNSET
71
+ else:
72
+ anomaly_score_median = self.anomaly_score_median
73
+
74
+ anomaly_score_variance: Union[None, Unset, float]
75
+ if isinstance(self.anomaly_score_variance, Unset):
76
+ anomaly_score_variance = UNSET
77
+ else:
78
+ anomaly_score_variance = self.anomaly_score_variance
79
+
80
+ field_dict: dict[str, Any] = {}
81
+ field_dict.update(self.additional_properties)
82
+ field_dict.update(
83
+ {
84
+ "mse": mse,
85
+ "rmse": rmse,
86
+ "mae": mae,
87
+ "r2": r2,
88
+ "explained_variance": explained_variance,
89
+ "loss": loss,
90
+ }
91
+ )
92
+ if anomaly_score_mean is not UNSET:
93
+ field_dict["anomaly_score_mean"] = anomaly_score_mean
94
+ if anomaly_score_median is not UNSET:
95
+ field_dict["anomaly_score_median"] = anomaly_score_median
96
+ if anomaly_score_variance is not UNSET:
97
+ field_dict["anomaly_score_variance"] = anomaly_score_variance
98
+
99
+ return field_dict
100
+
101
+ @classmethod
102
+ def from_dict(cls: Type[T], src_dict: dict[str, Any]) -> T:
103
+ d = src_dict.copy()
104
+ mse = d.pop("mse")
105
+
106
+ rmse = d.pop("rmse")
107
+
108
+ mae = d.pop("mae")
109
+
110
+ r2 = d.pop("r2")
111
+
112
+ explained_variance = d.pop("explained_variance")
113
+
114
+ loss = d.pop("loss")
115
+
116
+ def _parse_anomaly_score_mean(data: object) -> Union[None, Unset, float]:
117
+ if data is None:
118
+ return data
119
+ if isinstance(data, Unset):
120
+ return data
121
+ return cast(Union[None, Unset, float], data)
122
+
123
+ anomaly_score_mean = _parse_anomaly_score_mean(d.pop("anomaly_score_mean", UNSET))
124
+
125
+ def _parse_anomaly_score_median(data: object) -> Union[None, Unset, float]:
126
+ if data is None:
127
+ return data
128
+ if isinstance(data, Unset):
129
+ return data
130
+ return cast(Union[None, Unset, float], data)
131
+
132
+ anomaly_score_median = _parse_anomaly_score_median(d.pop("anomaly_score_median", UNSET))
133
+
134
+ def _parse_anomaly_score_variance(data: object) -> Union[None, Unset, float]:
135
+ if data is None:
136
+ return data
137
+ if isinstance(data, Unset):
138
+ return data
139
+ return cast(Union[None, Unset, float], data)
140
+
141
+ anomaly_score_variance = _parse_anomaly_score_variance(d.pop("anomaly_score_variance", UNSET))
142
+
143
+ regression_metrics = cls(
144
+ mse=mse,
145
+ rmse=rmse,
146
+ mae=mae,
147
+ r2=r2,
148
+ explained_variance=explained_variance,
149
+ loss=loss,
150
+ anomaly_score_mean=anomaly_score_mean,
151
+ anomaly_score_median=anomaly_score_median,
152
+ anomaly_score_variance=anomaly_score_variance,
153
+ )
154
+
155
+ regression_metrics.additional_properties = d
156
+ return regression_metrics
157
+
158
+ @property
159
+ def additional_keys(self) -> list[str]:
160
+ return list(self.additional_properties.keys())
161
+
162
+ def __getitem__(self, key: str) -> Any:
163
+ return self.additional_properties[key]
164
+
165
+ def __setitem__(self, key: str, value: Any) -> None:
166
+ self.additional_properties[key] = value
167
+
168
+ def __delitem__(self, key: str) -> None:
169
+ del self.additional_properties[key]
170
+
171
+ def __contains__(self, key: str) -> bool:
172
+ return key in self.additional_properties
@@ -0,0 +1,177 @@
1
+ """
2
+ This file is generated by the openapi-python-client tool via the generate_api_client.py script
3
+
4
+ It is a customized template from the openapi-python-client tool's default template:
5
+ https://github.com/openapi-generators/openapi-python-client/blob/861ef5622f10fc96d240dc9becb0edf94e61446c/openapi_python_client/templates/model.py.jinja
6
+
7
+ The main change is:
8
+ - Fix typing issues
9
+ """
10
+
11
+ # flake8: noqa: C901
12
+
13
+ import datetime
14
+ from enum import Enum
15
+ from typing import Any, Type, TypeVar, Union, cast
16
+
17
+ from attrs import define as _attrs_define
18
+ from attrs import field as _attrs_field
19
+ from dateutil.parser import isoparse
20
+
21
+ from ..models.rar_head_type import RARHeadType
22
+
23
+ T = TypeVar("T", bound="RegressionModelMetadata")
24
+
25
+
26
+ @_attrs_define
27
+ class RegressionModelMetadata:
28
+ """
29
+ Attributes:
30
+ id (str):
31
+ org_id (str):
32
+ name (str):
33
+ description (Union[None, str]):
34
+ version (int):
35
+ memoryset_id (str):
36
+ memory_lookup_count (int):
37
+ storage_path (str):
38
+ memoryset_collection_name (str):
39
+ created_at (datetime.datetime):
40
+ updated_at (datetime.datetime):
41
+ locked (bool):
42
+ head_type (RARHeadType):
43
+ """
44
+
45
+ id: str
46
+ org_id: str
47
+ name: str
48
+ description: Union[None, str]
49
+ version: int
50
+ memoryset_id: str
51
+ memory_lookup_count: int
52
+ storage_path: str
53
+ memoryset_collection_name: str
54
+ created_at: datetime.datetime
55
+ updated_at: datetime.datetime
56
+ locked: bool
57
+ head_type: RARHeadType
58
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
59
+
60
+ def to_dict(self) -> dict[str, Any]:
61
+ id = self.id
62
+
63
+ org_id = self.org_id
64
+
65
+ name = self.name
66
+
67
+ description: Union[None, str]
68
+ description = self.description
69
+
70
+ version = self.version
71
+
72
+ memoryset_id = self.memoryset_id
73
+
74
+ memory_lookup_count = self.memory_lookup_count
75
+
76
+ storage_path = self.storage_path
77
+
78
+ memoryset_collection_name = self.memoryset_collection_name
79
+
80
+ created_at = self.created_at.isoformat()
81
+
82
+ updated_at = self.updated_at.isoformat()
83
+
84
+ locked = self.locked
85
+
86
+ head_type = self.head_type.value if isinstance(self.head_type, Enum) else self.head_type
87
+
88
+ field_dict: dict[str, Any] = {}
89
+ field_dict.update(self.additional_properties)
90
+ field_dict.update(
91
+ {
92
+ "id": id,
93
+ "org_id": org_id,
94
+ "name": name,
95
+ "description": description,
96
+ "version": version,
97
+ "memoryset_id": memoryset_id,
98
+ "memory_lookup_count": memory_lookup_count,
99
+ "storage_path": storage_path,
100
+ "memoryset_collection_name": memoryset_collection_name,
101
+ "created_at": created_at,
102
+ "updated_at": updated_at,
103
+ "locked": locked,
104
+ "head_type": head_type,
105
+ }
106
+ )
107
+
108
+ return field_dict
109
+
110
+ @classmethod
111
+ def from_dict(cls: Type[T], src_dict: dict[str, Any]) -> T:
112
+ d = src_dict.copy()
113
+ id = d.pop("id")
114
+
115
+ org_id = d.pop("org_id")
116
+
117
+ name = d.pop("name")
118
+
119
+ def _parse_description(data: object) -> Union[None, str]:
120
+ if data is None:
121
+ return data
122
+ return cast(Union[None, str], data)
123
+
124
+ description = _parse_description(d.pop("description"))
125
+
126
+ version = d.pop("version")
127
+
128
+ memoryset_id = d.pop("memoryset_id")
129
+
130
+ memory_lookup_count = d.pop("memory_lookup_count")
131
+
132
+ storage_path = d.pop("storage_path")
133
+
134
+ memoryset_collection_name = d.pop("memoryset_collection_name")
135
+
136
+ created_at = isoparse(d.pop("created_at"))
137
+
138
+ updated_at = isoparse(d.pop("updated_at"))
139
+
140
+ locked = d.pop("locked")
141
+
142
+ head_type = RARHeadType(d.pop("head_type"))
143
+
144
+ regression_model_metadata = cls(
145
+ id=id,
146
+ org_id=org_id,
147
+ name=name,
148
+ description=description,
149
+ version=version,
150
+ memoryset_id=memoryset_id,
151
+ memory_lookup_count=memory_lookup_count,
152
+ storage_path=storage_path,
153
+ memoryset_collection_name=memoryset_collection_name,
154
+ created_at=created_at,
155
+ updated_at=updated_at,
156
+ locked=locked,
157
+ head_type=head_type,
158
+ )
159
+
160
+ regression_model_metadata.additional_properties = d
161
+ return regression_model_metadata
162
+
163
+ @property
164
+ def additional_keys(self) -> list[str]:
165
+ return list(self.additional_properties.keys())
166
+
167
+ def __getitem__(self, key: str) -> Any:
168
+ return self.additional_properties[key]
169
+
170
+ def __setitem__(self, key: str, value: Any) -> None:
171
+ self.additional_properties[key] = value
172
+
173
+ def __delitem__(self, key: str) -> None:
174
+ del self.additional_properties[key]
175
+
176
+ def __contains__(self, key: str) -> bool:
177
+ return key in self.additional_properties
@@ -0,0 +1,195 @@
1
+ """
2
+ This file is generated by the openapi-python-client tool via the generate_api_client.py script
3
+
4
+ It is a customized template from the openapi-python-client tool's default template:
5
+ https://github.com/openapi-generators/openapi-python-client/blob/861ef5622f10fc96d240dc9becb0edf94e61446c/openapi_python_client/templates/model.py.jinja
6
+
7
+ The main change is:
8
+ - Fix typing issues
9
+ """
10
+
11
+ # flake8: noqa: C901
12
+
13
+ from typing import Any, List, Type, TypeVar, Union, cast
14
+
15
+ from attrs import define as _attrs_define
16
+ from attrs import field as _attrs_field
17
+
18
+ from ..types import UNSET, Unset
19
+
20
+ T = TypeVar("T", bound="RegressionPredictionRequest")
21
+
22
+
23
+ @_attrs_define
24
+ class RegressionPredictionRequest:
25
+ """
26
+ Attributes:
27
+ input_values (List[str]):
28
+ expected_scores (Union[List[float], None, Unset]):
29
+ tags (Union[Unset, List[str]]):
30
+ memoryset_override_id (Union[None, Unset, str]):
31
+ save_telemetry (Union[Unset, bool]): Default: True.
32
+ save_telemetry_synchronously (Union[Unset, bool]): Default: False.
33
+ """
34
+
35
+ input_values: List[str]
36
+ expected_scores: Union[List[float], None, Unset] = UNSET
37
+ tags: Union[Unset, List[str]] = UNSET
38
+ memoryset_override_id: Union[None, Unset, str] = UNSET
39
+ save_telemetry: Union[Unset, bool] = True
40
+ save_telemetry_synchronously: Union[Unset, bool] = False
41
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
42
+
43
+ def to_dict(self) -> dict[str, Any]:
44
+ input_values: List[str]
45
+ if isinstance(self.input_values, list):
46
+ input_values = self.input_values
47
+
48
+ expected_scores: Union[List[float], None, Unset]
49
+ if isinstance(self.expected_scores, Unset):
50
+ expected_scores = UNSET
51
+ elif isinstance(self.expected_scores, list):
52
+ expected_scores = self.expected_scores
53
+
54
+ else:
55
+ expected_scores = self.expected_scores
56
+
57
+ tags: Union[Unset, List[str]] = UNSET
58
+ if not isinstance(self.tags, Unset):
59
+ tags = self.tags
60
+
61
+ memoryset_override_id: Union[None, Unset, str]
62
+ if isinstance(self.memoryset_override_id, Unset):
63
+ memoryset_override_id = UNSET
64
+ else:
65
+ memoryset_override_id = self.memoryset_override_id
66
+
67
+ save_telemetry = self.save_telemetry
68
+
69
+ save_telemetry_synchronously = self.save_telemetry_synchronously
70
+
71
+ field_dict: dict[str, Any] = {}
72
+ field_dict.update(self.additional_properties)
73
+ field_dict.update(
74
+ {
75
+ "input_values": input_values,
76
+ }
77
+ )
78
+ if expected_scores is not UNSET:
79
+ field_dict["expected_scores"] = expected_scores
80
+ if tags is not UNSET:
81
+ field_dict["tags"] = tags
82
+ if memoryset_override_id is not UNSET:
83
+ field_dict["memoryset_override_id"] = memoryset_override_id
84
+ if save_telemetry is not UNSET:
85
+ field_dict["save_telemetry"] = save_telemetry
86
+ if save_telemetry_synchronously is not UNSET:
87
+ field_dict["save_telemetry_synchronously"] = save_telemetry_synchronously
88
+
89
+ return field_dict
90
+
91
+ @classmethod
92
+ def from_dict(cls: Type[T], src_dict: dict[str, Any]) -> T:
93
+ d = src_dict.copy()
94
+
95
+ def _parse_input_values(data: object) -> List[str]:
96
+ try:
97
+ if not isinstance(data, list):
98
+ raise TypeError()
99
+ input_values_type_0 = cast(List[str], data)
100
+
101
+ return input_values_type_0
102
+ except: # noqa: E722
103
+ pass
104
+ try:
105
+ if not isinstance(data, list):
106
+ raise TypeError()
107
+ input_values_type_1 = cast(List[str], data)
108
+
109
+ return input_values_type_1
110
+ except: # noqa: E722
111
+ pass
112
+ try:
113
+ if not isinstance(data, list):
114
+ raise TypeError()
115
+ input_values_type_2 = cast(List[str], data)
116
+
117
+ return input_values_type_2
118
+ except: # noqa: E722
119
+ pass
120
+ if not isinstance(data, list):
121
+ raise TypeError()
122
+ input_values_type_3 = []
123
+ _input_values_type_3 = data
124
+ for input_values_type_3_item_data in _input_values_type_3:
125
+
126
+ def _parse_input_values_type_3_item(data: object) -> str:
127
+ return cast(str, data)
128
+
129
+ input_values_type_3_item = _parse_input_values_type_3_item(input_values_type_3_item_data)
130
+
131
+ input_values_type_3.append(input_values_type_3_item)
132
+
133
+ return input_values_type_3
134
+
135
+ input_values = _parse_input_values(d.pop("input_values"))
136
+
137
+ def _parse_expected_scores(data: object) -> Union[List[float], None, Unset]:
138
+ if data is None:
139
+ return data
140
+ if isinstance(data, Unset):
141
+ return data
142
+ try:
143
+ if not isinstance(data, list):
144
+ raise TypeError()
145
+ expected_scores_type_0 = cast(List[float], data)
146
+
147
+ return expected_scores_type_0
148
+ except: # noqa: E722
149
+ pass
150
+ return cast(Union[List[float], None, Unset], data)
151
+
152
+ expected_scores = _parse_expected_scores(d.pop("expected_scores", UNSET))
153
+
154
+ tags = cast(List[str], d.pop("tags", UNSET))
155
+
156
+ def _parse_memoryset_override_id(data: object) -> Union[None, Unset, str]:
157
+ if data is None:
158
+ return data
159
+ if isinstance(data, Unset):
160
+ return data
161
+ return cast(Union[None, Unset, str], data)
162
+
163
+ memoryset_override_id = _parse_memoryset_override_id(d.pop("memoryset_override_id", UNSET))
164
+
165
+ save_telemetry = d.pop("save_telemetry", UNSET)
166
+
167
+ save_telemetry_synchronously = d.pop("save_telemetry_synchronously", UNSET)
168
+
169
+ regression_prediction_request = cls(
170
+ input_values=input_values,
171
+ expected_scores=expected_scores,
172
+ tags=tags,
173
+ memoryset_override_id=memoryset_override_id,
174
+ save_telemetry=save_telemetry,
175
+ save_telemetry_synchronously=save_telemetry_synchronously,
176
+ )
177
+
178
+ regression_prediction_request.additional_properties = d
179
+ return regression_prediction_request
180
+
181
+ @property
182
+ def additional_keys(self) -> list[str]:
183
+ return list(self.additional_properties.keys())
184
+
185
+ def __getitem__(self, key: str) -> Any:
186
+ return self.additional_properties[key]
187
+
188
+ def __setitem__(self, key: str, value: Any) -> None:
189
+ self.additional_properties[key] = value
190
+
191
+ def __delitem__(self, key: str) -> None:
192
+ del self.additional_properties[key]
193
+
194
+ def __contains__(self, key: str) -> bool:
195
+ return key in self.additional_properties