orca-sdk 0.1.0__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 (175) hide show
  1. orca_sdk/__init__.py +19 -0
  2. orca_sdk/_generated_api_client/__init__.py +3 -0
  3. orca_sdk/_generated_api_client/api/__init__.py +193 -0
  4. orca_sdk/_generated_api_client/api/auth/__init__.py +0 -0
  5. orca_sdk/_generated_api_client/api/auth/check_authentication_auth_get.py +128 -0
  6. orca_sdk/_generated_api_client/api/auth/create_api_key_auth_api_key_post.py +170 -0
  7. orca_sdk/_generated_api_client/api/auth/delete_api_key_auth_api_key_name_or_id_delete.py +156 -0
  8. orca_sdk/_generated_api_client/api/auth/delete_org_auth_org_delete.py +130 -0
  9. orca_sdk/_generated_api_client/api/auth/list_api_keys_auth_api_key_get.py +127 -0
  10. orca_sdk/_generated_api_client/api/classification_model/__init__.py +0 -0
  11. orca_sdk/_generated_api_client/api/classification_model/create_evaluation_classification_model_model_name_or_id_evaluation_post.py +183 -0
  12. orca_sdk/_generated_api_client/api/classification_model/create_model_classification_model_post.py +170 -0
  13. orca_sdk/_generated_api_client/api/classification_model/delete_evaluation_classification_model_model_name_or_id_evaluation_task_id_delete.py +168 -0
  14. orca_sdk/_generated_api_client/api/classification_model/delete_model_classification_model_name_or_id_delete.py +154 -0
  15. orca_sdk/_generated_api_client/api/classification_model/get_evaluation_classification_model_model_name_or_id_evaluation_task_id_get.py +170 -0
  16. orca_sdk/_generated_api_client/api/classification_model/get_model_classification_model_name_or_id_get.py +156 -0
  17. orca_sdk/_generated_api_client/api/classification_model/list_evaluations_classification_model_model_name_or_id_evaluation_get.py +161 -0
  18. orca_sdk/_generated_api_client/api/classification_model/list_models_classification_model_get.py +127 -0
  19. orca_sdk/_generated_api_client/api/classification_model/predict_gpu_classification_model_name_or_id_prediction_post.py +190 -0
  20. orca_sdk/_generated_api_client/api/datasource/__init__.py +0 -0
  21. orca_sdk/_generated_api_client/api/datasource/create_datasource_datasource_post.py +167 -0
  22. orca_sdk/_generated_api_client/api/datasource/delete_datasource_datasource_name_or_id_delete.py +156 -0
  23. orca_sdk/_generated_api_client/api/datasource/get_datasource_datasource_name_or_id_get.py +156 -0
  24. orca_sdk/_generated_api_client/api/datasource/list_datasources_datasource_get.py +127 -0
  25. orca_sdk/_generated_api_client/api/default/__init__.py +0 -0
  26. orca_sdk/_generated_api_client/api/default/healthcheck_get.py +118 -0
  27. orca_sdk/_generated_api_client/api/default/healthcheck_gpu_get.py +118 -0
  28. orca_sdk/_generated_api_client/api/finetuned_embedding_model/__init__.py +0 -0
  29. orca_sdk/_generated_api_client/api/finetuned_embedding_model/create_finetuned_embedding_model_finetuned_embedding_model_post.py +168 -0
  30. orca_sdk/_generated_api_client/api/finetuned_embedding_model/delete_finetuned_embedding_model_finetuned_embedding_model_name_or_id_delete.py +156 -0
  31. orca_sdk/_generated_api_client/api/finetuned_embedding_model/embed_with_finetuned_model_gpu_finetuned_embedding_model_name_or_id_embedding_post.py +189 -0
  32. orca_sdk/_generated_api_client/api/finetuned_embedding_model/get_finetuned_embedding_model_finetuned_embedding_model_name_or_id_get.py +156 -0
  33. orca_sdk/_generated_api_client/api/finetuned_embedding_model/list_finetuned_embedding_models_finetuned_embedding_model_get.py +127 -0
  34. orca_sdk/_generated_api_client/api/memoryset/__init__.py +0 -0
  35. orca_sdk/_generated_api_client/api/memoryset/clone_memoryset_memoryset_name_or_id_clone_post.py +181 -0
  36. orca_sdk/_generated_api_client/api/memoryset/create_analysis_memoryset_name_or_id_analysis_post.py +183 -0
  37. orca_sdk/_generated_api_client/api/memoryset/create_memoryset_memoryset_post.py +168 -0
  38. orca_sdk/_generated_api_client/api/memoryset/delete_memories_memoryset_name_or_id_memories_delete_post.py +181 -0
  39. orca_sdk/_generated_api_client/api/memoryset/delete_memory_memoryset_name_or_id_memory_memory_id_delete.py +167 -0
  40. orca_sdk/_generated_api_client/api/memoryset/delete_memoryset_memoryset_name_or_id_delete.py +156 -0
  41. orca_sdk/_generated_api_client/api/memoryset/get_analysis_memoryset_name_or_id_analysis_analysis_task_id_get.py +169 -0
  42. orca_sdk/_generated_api_client/api/memoryset/get_memories_memoryset_name_or_id_memories_get_post.py +188 -0
  43. orca_sdk/_generated_api_client/api/memoryset/get_memory_memoryset_name_or_id_memory_memory_id_get.py +169 -0
  44. orca_sdk/_generated_api_client/api/memoryset/get_memoryset_memoryset_name_or_id_get.py +156 -0
  45. orca_sdk/_generated_api_client/api/memoryset/insert_memories_gpu_memoryset_name_or_id_memory_post.py +184 -0
  46. orca_sdk/_generated_api_client/api/memoryset/list_analyses_memoryset_name_or_id_analysis_get.py +260 -0
  47. orca_sdk/_generated_api_client/api/memoryset/list_memorysets_memoryset_get.py +127 -0
  48. orca_sdk/_generated_api_client/api/memoryset/memoryset_lookup_gpu_memoryset_name_or_id_lookup_post.py +193 -0
  49. orca_sdk/_generated_api_client/api/memoryset/query_memoryset_memoryset_name_or_id_memories_post.py +188 -0
  50. orca_sdk/_generated_api_client/api/memoryset/update_memories_gpu_memoryset_name_or_id_memories_patch.py +191 -0
  51. orca_sdk/_generated_api_client/api/memoryset/update_memory_gpu_memoryset_name_or_id_memory_patch.py +187 -0
  52. orca_sdk/_generated_api_client/api/pretrained_embedding_model/__init__.py +0 -0
  53. orca_sdk/_generated_api_client/api/pretrained_embedding_model/embed_with_pretrained_model_gpu_pretrained_embedding_model_model_name_embedding_post.py +188 -0
  54. orca_sdk/_generated_api_client/api/pretrained_embedding_model/get_pretrained_embedding_model_pretrained_embedding_model_model_name_get.py +157 -0
  55. orca_sdk/_generated_api_client/api/pretrained_embedding_model/list_pretrained_embedding_models_pretrained_embedding_model_get.py +127 -0
  56. orca_sdk/_generated_api_client/api/task/__init__.py +0 -0
  57. orca_sdk/_generated_api_client/api/task/abort_task_task_task_id_abort_delete.py +154 -0
  58. orca_sdk/_generated_api_client/api/task/get_task_status_task_task_id_status_get.py +156 -0
  59. orca_sdk/_generated_api_client/api/task/list_tasks_task_get.py +243 -0
  60. orca_sdk/_generated_api_client/api/telemetry/__init__.py +0 -0
  61. orca_sdk/_generated_api_client/api/telemetry/drop_feedback_category_with_data_telemetry_feedback_category_name_or_id_delete.py +162 -0
  62. orca_sdk/_generated_api_client/api/telemetry/get_feedback_category_telemetry_feedback_category_name_or_id_get.py +156 -0
  63. orca_sdk/_generated_api_client/api/telemetry/get_prediction_telemetry_prediction_prediction_id_get.py +157 -0
  64. orca_sdk/_generated_api_client/api/telemetry/list_feedback_categories_telemetry_feedback_category_get.py +127 -0
  65. orca_sdk/_generated_api_client/api/telemetry/list_predictions_telemetry_prediction_post.py +175 -0
  66. orca_sdk/_generated_api_client/api/telemetry/record_prediction_feedback_telemetry_prediction_feedback_put.py +171 -0
  67. orca_sdk/_generated_api_client/api/telemetry/update_prediction_telemetry_prediction_prediction_id_patch.py +181 -0
  68. orca_sdk/_generated_api_client/client.py +216 -0
  69. orca_sdk/_generated_api_client/errors.py +38 -0
  70. orca_sdk/_generated_api_client/models/__init__.py +159 -0
  71. orca_sdk/_generated_api_client/models/analyze_neighbor_labels_result.py +84 -0
  72. orca_sdk/_generated_api_client/models/api_key_metadata.py +118 -0
  73. orca_sdk/_generated_api_client/models/base_model.py +55 -0
  74. orca_sdk/_generated_api_client/models/body_create_datasource_datasource_post.py +176 -0
  75. orca_sdk/_generated_api_client/models/classification_evaluation_result.py +114 -0
  76. orca_sdk/_generated_api_client/models/clone_labeled_memoryset_request.py +150 -0
  77. orca_sdk/_generated_api_client/models/column_info.py +114 -0
  78. orca_sdk/_generated_api_client/models/column_type.py +14 -0
  79. orca_sdk/_generated_api_client/models/conflict_error_response.py +80 -0
  80. orca_sdk/_generated_api_client/models/create_api_key_request.py +99 -0
  81. orca_sdk/_generated_api_client/models/create_api_key_response.py +126 -0
  82. orca_sdk/_generated_api_client/models/create_labeled_memoryset_request.py +259 -0
  83. orca_sdk/_generated_api_client/models/create_rac_model_request.py +209 -0
  84. orca_sdk/_generated_api_client/models/datasource_metadata.py +142 -0
  85. orca_sdk/_generated_api_client/models/delete_memories_request.py +70 -0
  86. orca_sdk/_generated_api_client/models/embed_request.py +127 -0
  87. orca_sdk/_generated_api_client/models/embedding_finetuning_method.py +9 -0
  88. orca_sdk/_generated_api_client/models/evaluation_request.py +180 -0
  89. orca_sdk/_generated_api_client/models/evaluation_response.py +140 -0
  90. orca_sdk/_generated_api_client/models/feedback_type.py +9 -0
  91. orca_sdk/_generated_api_client/models/field_validation_error.py +103 -0
  92. orca_sdk/_generated_api_client/models/filter_item.py +231 -0
  93. orca_sdk/_generated_api_client/models/filter_item_field_type_0_item.py +15 -0
  94. orca_sdk/_generated_api_client/models/filter_item_field_type_2_item_type_1.py +16 -0
  95. orca_sdk/_generated_api_client/models/filter_item_op.py +16 -0
  96. orca_sdk/_generated_api_client/models/find_duplicates_analysis_result.py +70 -0
  97. orca_sdk/_generated_api_client/models/finetune_embedding_model_request.py +259 -0
  98. orca_sdk/_generated_api_client/models/finetune_embedding_model_request_training_args.py +66 -0
  99. orca_sdk/_generated_api_client/models/finetuned_embedding_model_metadata.py +166 -0
  100. orca_sdk/_generated_api_client/models/get_memories_request.py +70 -0
  101. orca_sdk/_generated_api_client/models/internal_server_error_response.py +80 -0
  102. orca_sdk/_generated_api_client/models/label_class_metrics.py +108 -0
  103. orca_sdk/_generated_api_client/models/label_prediction_memory_lookup.py +274 -0
  104. orca_sdk/_generated_api_client/models/label_prediction_memory_lookup_metadata.py +68 -0
  105. orca_sdk/_generated_api_client/models/label_prediction_result.py +101 -0
  106. orca_sdk/_generated_api_client/models/label_prediction_with_memories_and_feedback.py +232 -0
  107. orca_sdk/_generated_api_client/models/labeled_memory.py +197 -0
  108. orca_sdk/_generated_api_client/models/labeled_memory_insert.py +108 -0
  109. orca_sdk/_generated_api_client/models/labeled_memory_insert_metadata.py +68 -0
  110. orca_sdk/_generated_api_client/models/labeled_memory_lookup.py +258 -0
  111. orca_sdk/_generated_api_client/models/labeled_memory_lookup_metadata.py +68 -0
  112. orca_sdk/_generated_api_client/models/labeled_memory_metadata.py +68 -0
  113. orca_sdk/_generated_api_client/models/labeled_memory_metrics.py +277 -0
  114. orca_sdk/_generated_api_client/models/labeled_memory_update.py +171 -0
  115. orca_sdk/_generated_api_client/models/labeled_memory_update_metadata_type_0.py +68 -0
  116. orca_sdk/_generated_api_client/models/labeled_memoryset_metadata.py +195 -0
  117. orca_sdk/_generated_api_client/models/list_analyses_memoryset_name_or_id_analysis_get_type_type_0.py +9 -0
  118. orca_sdk/_generated_api_client/models/list_memories_request.py +104 -0
  119. orca_sdk/_generated_api_client/models/list_predictions_request.py +234 -0
  120. orca_sdk/_generated_api_client/models/list_predictions_request_sort_item_item_type_0.py +9 -0
  121. orca_sdk/_generated_api_client/models/list_predictions_request_sort_item_item_type_1.py +9 -0
  122. orca_sdk/_generated_api_client/models/lookup_request.py +81 -0
  123. orca_sdk/_generated_api_client/models/memoryset_analysis_request.py +83 -0
  124. orca_sdk/_generated_api_client/models/memoryset_analysis_request_type.py +9 -0
  125. orca_sdk/_generated_api_client/models/memoryset_analysis_response.py +180 -0
  126. orca_sdk/_generated_api_client/models/memoryset_analysis_response_config.py +66 -0
  127. orca_sdk/_generated_api_client/models/memoryset_analysis_response_type.py +9 -0
  128. orca_sdk/_generated_api_client/models/not_found_error_response.py +100 -0
  129. orca_sdk/_generated_api_client/models/not_found_error_response_resource_type_0.py +20 -0
  130. orca_sdk/_generated_api_client/models/prediction_feedback.py +157 -0
  131. orca_sdk/_generated_api_client/models/prediction_feedback_category.py +115 -0
  132. orca_sdk/_generated_api_client/models/prediction_feedback_request.py +122 -0
  133. orca_sdk/_generated_api_client/models/prediction_feedback_result.py +102 -0
  134. orca_sdk/_generated_api_client/models/prediction_request.py +169 -0
  135. orca_sdk/_generated_api_client/models/pretrained_embedding_model_metadata.py +97 -0
  136. orca_sdk/_generated_api_client/models/pretrained_embedding_model_name.py +11 -0
  137. orca_sdk/_generated_api_client/models/rac_head_type.py +11 -0
  138. orca_sdk/_generated_api_client/models/rac_model_metadata.py +191 -0
  139. orca_sdk/_generated_api_client/models/service_unavailable_error_response.py +80 -0
  140. orca_sdk/_generated_api_client/models/task.py +198 -0
  141. orca_sdk/_generated_api_client/models/task_status.py +14 -0
  142. orca_sdk/_generated_api_client/models/task_status_info.py +133 -0
  143. orca_sdk/_generated_api_client/models/unauthenticated_error_response.py +72 -0
  144. orca_sdk/_generated_api_client/models/unauthorized_error_response.py +80 -0
  145. orca_sdk/_generated_api_client/models/unprocessable_input_error_response.py +94 -0
  146. orca_sdk/_generated_api_client/models/update_prediction_request.py +93 -0
  147. orca_sdk/_generated_api_client/py.typed +1 -0
  148. orca_sdk/_generated_api_client/types.py +56 -0
  149. orca_sdk/_utils/__init__.py +0 -0
  150. orca_sdk/_utils/analysis_ui.py +194 -0
  151. orca_sdk/_utils/analysis_ui_style.css +54 -0
  152. orca_sdk/_utils/auth.py +63 -0
  153. orca_sdk/_utils/auth_test.py +31 -0
  154. orca_sdk/_utils/common.py +37 -0
  155. orca_sdk/_utils/data_parsing.py +99 -0
  156. orca_sdk/_utils/data_parsing_test.py +244 -0
  157. orca_sdk/_utils/prediction_result_ui.css +18 -0
  158. orca_sdk/_utils/prediction_result_ui.py +64 -0
  159. orca_sdk/_utils/task.py +73 -0
  160. orca_sdk/classification_model.py +499 -0
  161. orca_sdk/classification_model_test.py +266 -0
  162. orca_sdk/conftest.py +117 -0
  163. orca_sdk/datasource.py +333 -0
  164. orca_sdk/datasource_test.py +95 -0
  165. orca_sdk/embedding_model.py +336 -0
  166. orca_sdk/embedding_model_test.py +173 -0
  167. orca_sdk/labeled_memoryset.py +1154 -0
  168. orca_sdk/labeled_memoryset_test.py +271 -0
  169. orca_sdk/orca_credentials.py +75 -0
  170. orca_sdk/orca_credentials_test.py +37 -0
  171. orca_sdk/telemetry.py +386 -0
  172. orca_sdk/telemetry_test.py +100 -0
  173. orca_sdk-0.1.0.dist-info/METADATA +39 -0
  174. orca_sdk-0.1.0.dist-info/RECORD +175 -0
  175. orca_sdk-0.1.0.dist-info/WHEEL +4 -0
@@ -0,0 +1,83 @@
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 enum import Enum
14
+ from typing import Any, Type, TypeVar, Union
15
+
16
+ from attrs import define as _attrs_define
17
+ from attrs import field as _attrs_field
18
+
19
+ from ..models.memoryset_analysis_request_type import MemorysetAnalysisRequestType
20
+ from ..types import UNSET, Unset
21
+
22
+ T = TypeVar("T", bound="MemorysetAnalysisRequest")
23
+
24
+
25
+ @_attrs_define
26
+ class MemorysetAnalysisRequest:
27
+ """
28
+ Attributes:
29
+ type (MemorysetAnalysisRequestType):
30
+ neighbor_count (Union[Unset, int]): Default: 10.
31
+ """
32
+
33
+ type: MemorysetAnalysisRequestType
34
+ neighbor_count: Union[Unset, int] = 10
35
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
36
+
37
+ def to_dict(self) -> dict[str, Any]:
38
+ type = self.type.value if isinstance(self.type, Enum) else self.type
39
+
40
+ neighbor_count = self.neighbor_count
41
+
42
+ field_dict: dict[str, Any] = {}
43
+ field_dict.update(self.additional_properties)
44
+ field_dict.update(
45
+ {
46
+ "type": type,
47
+ }
48
+ )
49
+ if neighbor_count is not UNSET:
50
+ field_dict["neighbor_count"] = neighbor_count
51
+
52
+ return field_dict
53
+
54
+ @classmethod
55
+ def from_dict(cls: Type[T], src_dict: dict[str, Any]) -> T:
56
+ d = src_dict.copy()
57
+ type = MemorysetAnalysisRequestType(d.pop("type"))
58
+
59
+ neighbor_count = d.pop("neighbor_count", UNSET)
60
+
61
+ memoryset_analysis_request = cls(
62
+ type=type,
63
+ neighbor_count=neighbor_count,
64
+ )
65
+
66
+ memoryset_analysis_request.additional_properties = d
67
+ return memoryset_analysis_request
68
+
69
+ @property
70
+ def additional_keys(self) -> list[str]:
71
+ return list(self.additional_properties.keys())
72
+
73
+ def __getitem__(self, key: str) -> Any:
74
+ return self.additional_properties[key]
75
+
76
+ def __setitem__(self, key: str, value: Any) -> None:
77
+ self.additional_properties[key] = value
78
+
79
+ def __delitem__(self, key: str) -> None:
80
+ del self.additional_properties[key]
81
+
82
+ def __contains__(self, key: str) -> bool:
83
+ return key in self.additional_properties
@@ -0,0 +1,9 @@
1
+ from enum import Enum
2
+
3
+
4
+ class MemorysetAnalysisRequestType(str, Enum):
5
+ ANALYZE_DUPLICATE_MEMORIES = "ANALYZE_DUPLICATE_MEMORIES"
6
+ ANALYZE_MEMORY_NEIGHBOR_LABELS = "ANALYZE_MEMORY_NEIGHBOR_LABELS"
7
+
8
+ def __str__(self) -> str:
9
+ return str(self.value)
@@ -0,0 +1,180 @@
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 TYPE_CHECKING, Any, Dict, 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.memoryset_analysis_response_type import MemorysetAnalysisResponseType
22
+ from ..models.task_status import TaskStatus
23
+
24
+ if TYPE_CHECKING:
25
+ from ..models.analyze_neighbor_labels_result import AnalyzeNeighborLabelsResult
26
+ from ..models.find_duplicates_analysis_result import FindDuplicatesAnalysisResult
27
+ from ..models.memoryset_analysis_response_config import MemorysetAnalysisResponseConfig
28
+
29
+
30
+ T = TypeVar("T", bound="MemorysetAnalysisResponse")
31
+
32
+
33
+ @_attrs_define
34
+ class MemorysetAnalysisResponse:
35
+ """
36
+ Attributes:
37
+ task_id (str):
38
+ org_id (str):
39
+ memoryset_id (str):
40
+ type (MemorysetAnalysisResponseType):
41
+ status (TaskStatus): Status of task in the task queue
42
+ config (MemorysetAnalysisResponseConfig):
43
+ result (Union['AnalyzeNeighborLabelsResult', 'FindDuplicatesAnalysisResult', None]):
44
+ created_at (datetime.datetime):
45
+ updated_at (datetime.datetime):
46
+ """
47
+
48
+ task_id: str
49
+ org_id: str
50
+ memoryset_id: str
51
+ type: MemorysetAnalysisResponseType
52
+ status: TaskStatus
53
+ config: "MemorysetAnalysisResponseConfig"
54
+ result: Union["AnalyzeNeighborLabelsResult", "FindDuplicatesAnalysisResult", None]
55
+ created_at: datetime.datetime
56
+ updated_at: datetime.datetime
57
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
58
+
59
+ def to_dict(self) -> dict[str, Any]:
60
+ from ..models.analyze_neighbor_labels_result import AnalyzeNeighborLabelsResult
61
+ from ..models.find_duplicates_analysis_result import FindDuplicatesAnalysisResult
62
+
63
+ task_id = self.task_id
64
+
65
+ org_id = self.org_id
66
+
67
+ memoryset_id = self.memoryset_id
68
+
69
+ type = self.type.value if isinstance(self.type, Enum) else self.type
70
+
71
+ status = self.status.value if isinstance(self.status, Enum) else self.status
72
+
73
+ config = self.config.to_dict()
74
+
75
+ result: Union[Dict[str, Any], None]
76
+ if isinstance(self.result, AnalyzeNeighborLabelsResult):
77
+ result = self.result.to_dict()
78
+ elif isinstance(self.result, FindDuplicatesAnalysisResult):
79
+ result = self.result.to_dict()
80
+ else:
81
+ result = self.result
82
+
83
+ created_at = self.created_at.isoformat()
84
+
85
+ updated_at = self.updated_at.isoformat()
86
+
87
+ field_dict: dict[str, Any] = {}
88
+ field_dict.update(self.additional_properties)
89
+ field_dict.update(
90
+ {
91
+ "task_id": task_id,
92
+ "org_id": org_id,
93
+ "memoryset_id": memoryset_id,
94
+ "type": type,
95
+ "status": status,
96
+ "config": config,
97
+ "result": result,
98
+ "created_at": created_at,
99
+ "updated_at": updated_at,
100
+ }
101
+ )
102
+
103
+ return field_dict
104
+
105
+ @classmethod
106
+ def from_dict(cls: Type[T], src_dict: dict[str, Any]) -> T:
107
+ from ..models.analyze_neighbor_labels_result import AnalyzeNeighborLabelsResult
108
+ from ..models.find_duplicates_analysis_result import FindDuplicatesAnalysisResult
109
+ from ..models.memoryset_analysis_response_config import MemorysetAnalysisResponseConfig
110
+
111
+ d = src_dict.copy()
112
+ task_id = d.pop("task_id")
113
+
114
+ org_id = d.pop("org_id")
115
+
116
+ memoryset_id = d.pop("memoryset_id")
117
+
118
+ type = MemorysetAnalysisResponseType(d.pop("type"))
119
+
120
+ status = TaskStatus(d.pop("status"))
121
+
122
+ config = MemorysetAnalysisResponseConfig.from_dict(d.pop("config"))
123
+
124
+ def _parse_result(data: object) -> Union["AnalyzeNeighborLabelsResult", "FindDuplicatesAnalysisResult", None]:
125
+ if data is None:
126
+ return data
127
+ try:
128
+ if not isinstance(data, dict):
129
+ raise TypeError()
130
+ result_type_0 = AnalyzeNeighborLabelsResult.from_dict(data)
131
+
132
+ return result_type_0
133
+ except: # noqa: E722
134
+ pass
135
+ try:
136
+ if not isinstance(data, dict):
137
+ raise TypeError()
138
+ result_type_1 = FindDuplicatesAnalysisResult.from_dict(data)
139
+
140
+ return result_type_1
141
+ except: # noqa: E722
142
+ pass
143
+ return cast(Union["AnalyzeNeighborLabelsResult", "FindDuplicatesAnalysisResult", None], data)
144
+
145
+ result = _parse_result(d.pop("result"))
146
+
147
+ created_at = isoparse(d.pop("created_at"))
148
+
149
+ updated_at = isoparse(d.pop("updated_at"))
150
+
151
+ memoryset_analysis_response = cls(
152
+ task_id=task_id,
153
+ org_id=org_id,
154
+ memoryset_id=memoryset_id,
155
+ type=type,
156
+ status=status,
157
+ config=config,
158
+ result=result,
159
+ created_at=created_at,
160
+ updated_at=updated_at,
161
+ )
162
+
163
+ memoryset_analysis_response.additional_properties = d
164
+ return memoryset_analysis_response
165
+
166
+ @property
167
+ def additional_keys(self) -> list[str]:
168
+ return list(self.additional_properties.keys())
169
+
170
+ def __getitem__(self, key: str) -> Any:
171
+ return self.additional_properties[key]
172
+
173
+ def __setitem__(self, key: str, value: Any) -> None:
174
+ self.additional_properties[key] = value
175
+
176
+ def __delitem__(self, key: str) -> None:
177
+ del self.additional_properties[key]
178
+
179
+ def __contains__(self, key: str) -> bool:
180
+ return key in self.additional_properties
@@ -0,0 +1,66 @@
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
+ T = TypeVar("T", bound="MemorysetAnalysisResponseConfig")
19
+
20
+
21
+ @_attrs_define
22
+ class MemorysetAnalysisResponseConfig:
23
+ """ """
24
+
25
+ additional_properties: dict[str, Union[float, int, str]] = _attrs_field(init=False, factory=dict)
26
+
27
+ def to_dict(self) -> dict[str, Any]:
28
+ field_dict: dict[str, Any] = {}
29
+ for prop_name, prop in self.additional_properties.items():
30
+ field_dict[prop_name] = prop
31
+
32
+ return field_dict
33
+
34
+ @classmethod
35
+ def from_dict(cls: Type[T], src_dict: dict[str, Any]) -> T:
36
+ d = src_dict.copy()
37
+ memoryset_analysis_response_config = cls()
38
+
39
+ additional_properties = {}
40
+ for prop_name, prop_dict in d.items():
41
+
42
+ def _parse_additional_property(data: object) -> Union[float, int, str]:
43
+ return cast(Union[float, int, str], data)
44
+
45
+ additional_property = _parse_additional_property(prop_dict)
46
+
47
+ additional_properties[prop_name] = additional_property
48
+
49
+ memoryset_analysis_response_config.additional_properties = additional_properties
50
+ return memoryset_analysis_response_config
51
+
52
+ @property
53
+ def additional_keys(self) -> list[str]:
54
+ return list(self.additional_properties.keys())
55
+
56
+ def __getitem__(self, key: str) -> Union[float, int, str]:
57
+ return self.additional_properties[key]
58
+
59
+ def __setitem__(self, key: str, value: Union[float, int, str]) -> None:
60
+ self.additional_properties[key] = value
61
+
62
+ def __delitem__(self, key: str) -> None:
63
+ del self.additional_properties[key]
64
+
65
+ def __contains__(self, key: str) -> bool:
66
+ return key in self.additional_properties
@@ -0,0 +1,9 @@
1
+ from enum import Enum
2
+
3
+
4
+ class MemorysetAnalysisResponseType(str, Enum):
5
+ ANALYZE_DUPLICATE_MEMORIES = "ANALYZE_DUPLICATE_MEMORIES"
6
+ ANALYZE_MEMORY_NEIGHBOR_LABELS = "ANALYZE_MEMORY_NEIGHBOR_LABELS"
7
+
8
+ def __str__(self) -> str:
9
+ return str(self.value)
@@ -0,0 +1,100 @@
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 enum import Enum
14
+ from typing import Any, Literal, Type, TypeVar, Union, cast
15
+
16
+ from attrs import define as _attrs_define
17
+ from attrs import field as _attrs_field
18
+
19
+ from ..models.not_found_error_response_resource_type_0 import NotFoundErrorResponseResourceType0
20
+
21
+ T = TypeVar("T", bound="NotFoundErrorResponse")
22
+
23
+
24
+ @_attrs_define
25
+ class NotFoundErrorResponse:
26
+ """
27
+ Attributes:
28
+ status_code (Literal[404]):
29
+ resource (Union[None, NotFoundErrorResponseResourceType0]):
30
+ """
31
+
32
+ status_code: Literal[404]
33
+ resource: Union[None, NotFoundErrorResponseResourceType0]
34
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
35
+
36
+ def to_dict(self) -> dict[str, Any]:
37
+ status_code = self.status_code
38
+
39
+ resource: Union[None, str]
40
+ if isinstance(self.resource, NotFoundErrorResponseResourceType0):
41
+ resource = self.resource.value if isinstance(self.resource, Enum) else self.resource
42
+ else:
43
+ resource = self.resource
44
+
45
+ field_dict: dict[str, Any] = {}
46
+ field_dict.update(self.additional_properties)
47
+ field_dict.update(
48
+ {
49
+ "status_code": status_code,
50
+ "resource": resource,
51
+ }
52
+ )
53
+
54
+ return field_dict
55
+
56
+ @classmethod
57
+ def from_dict(cls: Type[T], src_dict: dict[str, Any]) -> T:
58
+ d = src_dict.copy()
59
+ status_code = cast(Literal[404], d.pop("status_code"))
60
+ if status_code != 404:
61
+ raise ValueError(f"status_code must match const 404, got '{status_code}'")
62
+
63
+ def _parse_resource(data: object) -> Union[None, NotFoundErrorResponseResourceType0]:
64
+ if data is None:
65
+ return data
66
+ try:
67
+ if not isinstance(data, str):
68
+ raise TypeError()
69
+ resource_type_0 = NotFoundErrorResponseResourceType0(data)
70
+
71
+ return resource_type_0
72
+ except: # noqa: E722
73
+ pass
74
+ return cast(Union[None, NotFoundErrorResponseResourceType0], data)
75
+
76
+ resource = _parse_resource(d.pop("resource"))
77
+
78
+ not_found_error_response = cls(
79
+ status_code=status_code,
80
+ resource=resource,
81
+ )
82
+
83
+ not_found_error_response.additional_properties = d
84
+ return not_found_error_response
85
+
86
+ @property
87
+ def additional_keys(self) -> list[str]:
88
+ return list(self.additional_properties.keys())
89
+
90
+ def __getitem__(self, key: str) -> Any:
91
+ return self.additional_properties[key]
92
+
93
+ def __setitem__(self, key: str, value: Any) -> None:
94
+ self.additional_properties[key] = value
95
+
96
+ def __delitem__(self, key: str) -> None:
97
+ del self.additional_properties[key]
98
+
99
+ def __contains__(self, key: str) -> bool:
100
+ return key in self.additional_properties
@@ -0,0 +1,20 @@
1
+ from enum import Enum
2
+
3
+
4
+ class NotFoundErrorResponseResourceType0(str, Enum):
5
+ ANALYSIS = "analysis"
6
+ API_KEY = "api_key"
7
+ CLASSIFICATION_MODEL = "classification_model"
8
+ DATASOURCE = "datasource"
9
+ EVALUATION = "evaluation"
10
+ FEEDBACK_CATEGORY = "feedback_category"
11
+ FINETUNED_EMBEDDING_MODEL = "finetuned_embedding_model"
12
+ MEMORY = "memory"
13
+ MEMORYSET = "memoryset"
14
+ ORG = "org"
15
+ PREDICTION = "prediction"
16
+ PRETRAINED_EMBEDDING_MODEL = "pretrained_embedding_model"
17
+ TASK = "task"
18
+
19
+ def __str__(self) -> str:
20
+ return str(self.value)
@@ -0,0 +1,157 @@
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.feedback_type import FeedbackType
22
+
23
+ T = TypeVar("T", bound="PredictionFeedback")
24
+
25
+
26
+ @_attrs_define
27
+ class PredictionFeedback:
28
+ """
29
+ Attributes:
30
+ prediction_id (str):
31
+ category_name (str):
32
+ value (Union[bool, float]):
33
+ comment (Union[None, str]):
34
+ id (str):
35
+ org_id (str):
36
+ category_id (str):
37
+ category_type (FeedbackType):
38
+ created_at (datetime.datetime):
39
+ updated_at (datetime.datetime):
40
+ """
41
+
42
+ prediction_id: str
43
+ category_name: str
44
+ value: Union[bool, float]
45
+ comment: Union[None, str]
46
+ id: str
47
+ org_id: str
48
+ category_id: str
49
+ category_type: FeedbackType
50
+ created_at: datetime.datetime
51
+ updated_at: datetime.datetime
52
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
53
+
54
+ def to_dict(self) -> dict[str, Any]:
55
+ prediction_id = self.prediction_id
56
+
57
+ category_name = self.category_name
58
+
59
+ value: Union[bool, float]
60
+ value = self.value
61
+
62
+ comment: Union[None, str]
63
+ comment = self.comment
64
+
65
+ id = self.id
66
+
67
+ org_id = self.org_id
68
+
69
+ category_id = self.category_id
70
+
71
+ category_type = self.category_type.value if isinstance(self.category_type, Enum) else self.category_type
72
+
73
+ created_at = self.created_at.isoformat()
74
+
75
+ updated_at = self.updated_at.isoformat()
76
+
77
+ field_dict: dict[str, Any] = {}
78
+ field_dict.update(self.additional_properties)
79
+ field_dict.update(
80
+ {
81
+ "prediction_id": prediction_id,
82
+ "category_name": category_name,
83
+ "value": value,
84
+ "comment": comment,
85
+ "id": id,
86
+ "org_id": org_id,
87
+ "category_id": category_id,
88
+ "category_type": category_type,
89
+ "created_at": created_at,
90
+ "updated_at": updated_at,
91
+ }
92
+ )
93
+
94
+ return field_dict
95
+
96
+ @classmethod
97
+ def from_dict(cls: Type[T], src_dict: dict[str, Any]) -> T:
98
+ d = src_dict.copy()
99
+ prediction_id = d.pop("prediction_id")
100
+
101
+ category_name = d.pop("category_name")
102
+
103
+ def _parse_value(data: object) -> Union[bool, float]:
104
+ return cast(Union[bool, float], data)
105
+
106
+ value = _parse_value(d.pop("value"))
107
+
108
+ def _parse_comment(data: object) -> Union[None, str]:
109
+ if data is None:
110
+ return data
111
+ return cast(Union[None, str], data)
112
+
113
+ comment = _parse_comment(d.pop("comment"))
114
+
115
+ id = d.pop("id")
116
+
117
+ org_id = d.pop("org_id")
118
+
119
+ category_id = d.pop("category_id")
120
+
121
+ category_type = FeedbackType(d.pop("category_type"))
122
+
123
+ created_at = isoparse(d.pop("created_at"))
124
+
125
+ updated_at = isoparse(d.pop("updated_at"))
126
+
127
+ prediction_feedback = cls(
128
+ prediction_id=prediction_id,
129
+ category_name=category_name,
130
+ value=value,
131
+ comment=comment,
132
+ id=id,
133
+ org_id=org_id,
134
+ category_id=category_id,
135
+ category_type=category_type,
136
+ created_at=created_at,
137
+ updated_at=updated_at,
138
+ )
139
+
140
+ prediction_feedback.additional_properties = d
141
+ return prediction_feedback
142
+
143
+ @property
144
+ def additional_keys(self) -> list[str]:
145
+ return list(self.additional_properties.keys())
146
+
147
+ def __getitem__(self, key: str) -> Any:
148
+ return self.additional_properties[key]
149
+
150
+ def __setitem__(self, key: str, value: Any) -> None:
151
+ self.additional_properties[key] = value
152
+
153
+ def __delitem__(self, key: str) -> None:
154
+ del self.additional_properties[key]
155
+
156
+ def __contains__(self, key: str) -> bool:
157
+ return key in self.additional_properties