everyrow 0.1.9__py3-none-any.whl → 0.2.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 (207) hide show
  1. everyrow/__init__.py +8 -1
  2. everyrow/api_utils.py +5 -1
  3. everyrow/billing.py +29 -0
  4. everyrow/constants.py +1 -1
  5. everyrow/generated/__init__.py +1 -1
  6. everyrow/generated/api/{default/interrupt_chat_task_tasks_chat_interrupt_post.py → artifacts/create_artifact_artifacts_post.py} +38 -32
  7. everyrow/generated/api/billing/__init__.py +1 -0
  8. everyrow/generated/api/{default/get_queues_stats_jobs_queues_get.py → billing/get_billing_balance_billing_get.py} +25 -17
  9. everyrow/generated/api/operations/__init__.py +1 -0
  10. everyrow/generated/api/{default/re_execute_task_endpoint_tasks_re_execute_post.py → operations/agent_map_operations_agent_map_post.py} +53 -41
  11. everyrow/generated/api/{default/create_workflow_from_artifact_workflows_from_artifact_post.py → operations/dedupe_operations_dedupe_post.py} +39 -33
  12. everyrow/generated/api/{default/submit_task_tasks_post.py → operations/merge_operations_merge_post.py} +37 -29
  13. everyrow/generated/api/{default/copy_workflow_endpoint_workflows_copy_post.py → operations/rank_operations_rank_post.py} +43 -29
  14. everyrow/generated/api/{default/export_to_google_sheets_export_post.py → operations/screen_operations_screen_post.py} +43 -31
  15. everyrow/generated/api/operations/single_agent_operations_single_agent_post.py +236 -0
  16. everyrow/generated/api/sessions/__init__.py +1 -0
  17. everyrow/generated/api/{default/copy_artifacts_artifacts_copy_post.py → sessions/create_session_endpoint_sessions_post.py} +35 -27
  18. everyrow/generated/api/tasks/__init__.py +1 -0
  19. everyrow/generated/api/{default/get_job_progress_for_task_jobs_progress_get.py → tasks/get_task_result_tasks_task_id_result_get.py} +45 -33
  20. everyrow/generated/api/{default/get_task_status_endpoint_tasks_task_id_status_get.py → tasks/get_task_status_tasks_task_id_status_get.py} +24 -42
  21. everyrow/generated/models/__init__.py +82 -266
  22. everyrow/generated/models/agent_map_operation.py +315 -0
  23. everyrow/generated/models/{artifact_group_record_metadata_type_0.py → agent_map_operation_input_type_1_item.py} +5 -5
  24. everyrow/generated/models/agent_map_operation_input_type_2.py +46 -0
  25. everyrow/generated/models/{standalone_artifact_record_analysis_type_0.py → agent_map_operation_response_schema_type_0.py} +5 -5
  26. everyrow/generated/models/{create_query_params.py → billing_response.py} +13 -12
  27. everyrow/generated/models/{continue_task_request.py → create_artifact_request.py} +43 -43
  28. everyrow/generated/models/create_artifact_request_data_type_0_item.py +46 -0
  29. everyrow/generated/models/{task_metadata_cols_to_rename_type_0.py → create_artifact_request_data_type_1.py} +5 -5
  30. everyrow/generated/models/{copy_artifacts_response.py → create_artifact_response.py} +12 -12
  31. everyrow/generated/models/{create_session_request.py → create_session.py} +6 -7
  32. everyrow/generated/models/dedupe_operation.py +151 -0
  33. everyrow/generated/models/dedupe_operation_input_type_1_item.py +46 -0
  34. everyrow/generated/models/{import_request_token_data.py → dedupe_operation_input_type_2.py} +5 -5
  35. everyrow/generated/models/error_response.py +109 -0
  36. everyrow/generated/models/{task_insert_query_params.py → error_response_details_type_0.py} +5 -5
  37. everyrow/generated/models/insufficient_balance_error.py +8 -0
  38. everyrow/generated/models/{llm_enum.py → llm_enum_public.py} +1 -20
  39. everyrow/generated/models/merge_operation.py +278 -0
  40. everyrow/generated/models/merge_operation_left_input_type_1_item.py +46 -0
  41. everyrow/generated/models/{chat_completion_message_tool_call.py → merge_operation_left_input_type_2.py} +5 -5
  42. everyrow/generated/models/merge_operation_right_input_type_1_item.py +46 -0
  43. everyrow/generated/models/merge_operation_right_input_type_2.py +46 -0
  44. everyrow/generated/models/merge_operation_use_web_search_type_0.py +10 -0
  45. everyrow/generated/models/operation_response.py +131 -0
  46. everyrow/generated/models/{multi_agent_effort_level.py → public_effort_level.py} +1 -1
  47. everyrow/generated/models/public_task_type.py +12 -0
  48. everyrow/generated/models/rank_operation.py +203 -0
  49. everyrow/generated/models/rank_operation_input_type_1_item.py +46 -0
  50. everyrow/generated/models/{export_request_token_data.py → rank_operation_input_type_2.py} +5 -5
  51. everyrow/generated/models/{artifact_group_record_analysis_type_0.py → rank_operation_response_schema_type_0.py} +5 -5
  52. everyrow/generated/models/screen_operation.py +186 -0
  53. everyrow/generated/models/screen_operation_input_type_1_item.py +46 -0
  54. everyrow/generated/models/screen_operation_input_type_2.py +46 -0
  55. everyrow/generated/models/screen_operation_response_schema_type_0.py +46 -0
  56. everyrow/generated/models/{create_session_response.py → session_response.py} +7 -8
  57. everyrow/generated/models/single_agent_operation.py +304 -0
  58. everyrow/generated/models/single_agent_operation_input_type_1_item.py +46 -0
  59. everyrow/generated/models/single_agent_operation_input_type_2.py +46 -0
  60. everyrow/generated/models/single_agent_operation_response_schema_type_0.py +46 -0
  61. everyrow/generated/models/task_result_response.py +185 -0
  62. everyrow/generated/models/task_result_response_data_type_0_item.py +46 -0
  63. everyrow/generated/models/task_result_response_data_type_1.py +46 -0
  64. everyrow/generated/models/task_status_response.py +99 -19
  65. everyrow/ops.py +360 -434
  66. everyrow/session.py +5 -7
  67. everyrow/task.py +68 -115
  68. {everyrow-0.1.9.dist-info → everyrow-0.2.0.dist-info}/METADATA +22 -8
  69. everyrow-0.2.0.dist-info/RECORD +81 -0
  70. everyrow/citations.py +0 -50
  71. everyrow/generated/api/default/continue_task_endpoint_tasks_continue_post.py +0 -208
  72. everyrow/generated/api/default/create_api_key_endpoint_api_keys_create_post.py +0 -186
  73. everyrow/generated/api/default/create_session_endpoint_sessions_create_post.py +0 -198
  74. everyrow/generated/api/default/generate_feedback_endpoint_tasks_generate_feedback_post.py +0 -186
  75. everyrow/generated/api/default/get_artifacts_artifacts_get.py +0 -260
  76. everyrow/generated/api/default/get_default_timeout_seconds_models_default_timeout_seconds_get.py +0 -165
  77. everyrow/generated/api/default/get_metrics_metrics_get.py +0 -80
  78. everyrow/generated/api/default/get_user_usage_usage_get.py +0 -123
  79. everyrow/generated/api/default/healthz_healthz_get.py +0 -127
  80. everyrow/generated/api/default/import_from_google_sheets_import_post.py +0 -170
  81. everyrow/generated/api/default/list_api_keys_endpoint_api_keys_get.py +0 -186
  82. everyrow/generated/api/default/revoke_api_key_endpoint_api_keys_key_id_revoke_post.py +0 -181
  83. everyrow/generated/api/default/revoke_jobs_for_task_jobs_revoke_post.py +0 -164
  84. everyrow/generated/api/default/rollback_to_message_endpoint_tasks_chat_rollback_post.py +0 -186
  85. everyrow/generated/api/default/submit_chat_task_tasks_chat_post.py +0 -164
  86. everyrow/generated/api/default/task_resource_estimation_task_resource_estimation_post.py +0 -319
  87. everyrow/generated/api/default/trigger_workflow_execution_endpoint_workflows_trigger_post.py +0 -166
  88. everyrow/generated/api/default/whoami_whoami_get.py +0 -127
  89. everyrow/generated/models/agent_improvement_instruction.py +0 -69
  90. everyrow/generated/models/agent_query_params.py +0 -383
  91. everyrow/generated/models/agent_query_params_system_prompt_kind_type_0.py +0 -10
  92. everyrow/generated/models/agent_task_args.py +0 -163
  93. everyrow/generated/models/agent_task_args_processing_mode.py +0 -9
  94. everyrow/generated/models/allowed_suggestions.py +0 -9
  95. everyrow/generated/models/api_key_info.py +0 -163
  96. everyrow/generated/models/artifact_changed_payload.py +0 -89
  97. everyrow/generated/models/artifact_group_record.py +0 -363
  98. everyrow/generated/models/artifact_group_record_trace_mapping_type_0.py +0 -46
  99. everyrow/generated/models/artifact_status.py +0 -14
  100. everyrow/generated/models/auto_cohort_conversation_message.py +0 -533
  101. everyrow/generated/models/aux_data.py +0 -128
  102. everyrow/generated/models/aux_data_source_bank.py +0 -59
  103. everyrow/generated/models/chat_message_metadata.py +0 -193
  104. everyrow/generated/models/concatenate_query_params.py +0 -46
  105. everyrow/generated/models/concatenate_request.py +0 -306
  106. everyrow/generated/models/continue_reason.py +0 -9
  107. everyrow/generated/models/controller_improvement_round.py +0 -79
  108. everyrow/generated/models/conversation_changed_payload.py +0 -89
  109. everyrow/generated/models/copy_artifacts_request.py +0 -70
  110. everyrow/generated/models/copy_workflow_request.py +0 -62
  111. everyrow/generated/models/copy_workflow_response.py +0 -70
  112. everyrow/generated/models/create_api_key_request.py +0 -95
  113. everyrow/generated/models/create_api_key_response.py +0 -96
  114. everyrow/generated/models/create_group_query_params.py +0 -61
  115. everyrow/generated/models/create_group_request.py +0 -305
  116. everyrow/generated/models/create_request.py +0 -305
  117. everyrow/generated/models/create_workflow_from_artifact_request.py +0 -92
  118. everyrow/generated/models/create_workflow_from_artifact_response.py +0 -70
  119. everyrow/generated/models/data_frame_method.py +0 -18
  120. everyrow/generated/models/date_cutoffs.py +0 -145
  121. everyrow/generated/models/dedupe_public_params.py +0 -64
  122. everyrow/generated/models/dedupe_request_params.py +0 -311
  123. everyrow/generated/models/deep_merge_public_params.py +0 -143
  124. everyrow/generated/models/deep_merge_request.py +0 -313
  125. everyrow/generated/models/deep_rank_public_params.py +0 -109
  126. everyrow/generated/models/deep_rank_request.py +0 -313
  127. everyrow/generated/models/deep_screen_public_params.py +0 -132
  128. everyrow/generated/models/deep_screen_request.py +0 -313
  129. everyrow/generated/models/derive_expression.py +0 -69
  130. everyrow/generated/models/derive_query_params.py +0 -75
  131. everyrow/generated/models/derive_request.py +0 -307
  132. everyrow/generated/models/document_query_tool.py +0 -12
  133. everyrow/generated/models/drop_columns_query_params.py +0 -61
  134. everyrow/generated/models/drop_columns_request.py +0 -305
  135. everyrow/generated/models/event_type.py +0 -14
  136. everyrow/generated/models/execution_metadata.py +0 -146
  137. everyrow/generated/models/export_request.py +0 -75
  138. everyrow/generated/models/export_to_google_sheets_export_post_response_export_to_google_sheets_export_post.py +0 -46
  139. everyrow/generated/models/filter_query_params.py +0 -91
  140. everyrow/generated/models/filter_request.py +0 -305
  141. everyrow/generated/models/flatten_query_params.py +0 -46
  142. everyrow/generated/models/flatten_request.py +0 -305
  143. everyrow/generated/models/generate_feedback_request.py +0 -62
  144. everyrow/generated/models/group_by_query_params.py +0 -62
  145. everyrow/generated/models/group_by_request.py +0 -305
  146. everyrow/generated/models/healthz_healthz_get_response_healthz_healthz_get.py +0 -46
  147. everyrow/generated/models/image_chat_content_part.py +0 -80
  148. everyrow/generated/models/image_chat_content_part_image_url.py +0 -46
  149. everyrow/generated/models/import_from_google_sheets_import_post_response_import_from_google_sheets_import_post.py +0 -46
  150. everyrow/generated/models/import_request.py +0 -83
  151. everyrow/generated/models/join_query_params.py +0 -73
  152. everyrow/generated/models/join_request.py +0 -305
  153. everyrow/generated/models/map_agent_request_params.py +0 -313
  154. everyrow/generated/models/map_multi_agent_request_params.py +0 -313
  155. everyrow/generated/models/message_created_payload.py +0 -98
  156. everyrow/generated/models/multi_agent_query_params.py +0 -264
  157. everyrow/generated/models/multi_modal_chat_message.py +0 -160
  158. everyrow/generated/models/multi_modal_chat_message_role.py +0 -10
  159. everyrow/generated/models/preview_metadata.py +0 -144
  160. everyrow/generated/models/processing_mode.py +0 -10
  161. everyrow/generated/models/progress_status.py +0 -83
  162. everyrow/generated/models/queue_stats.py +0 -77
  163. everyrow/generated/models/reduce_agent_request_params.py +0 -305
  164. everyrow/generated/models/reduce_multi_agent_request_params.py +0 -305
  165. everyrow/generated/models/resource_estimation_response.py +0 -85
  166. everyrow/generated/models/response_schema_type.py +0 -9
  167. everyrow/generated/models/revoke_api_key_response.py +0 -61
  168. everyrow/generated/models/rollback_to_message_request.py +0 -62
  169. everyrow/generated/models/rollback_to_message_response.py +0 -77
  170. everyrow/generated/models/session_changed_payload.py +0 -69
  171. everyrow/generated/models/simple_chat_message.py +0 -121
  172. everyrow/generated/models/simple_chat_message_role.py +0 -10
  173. everyrow/generated/models/simple_chat_message_with_tool_calls.py +0 -156
  174. everyrow/generated/models/source_database_entry.py +0 -92
  175. everyrow/generated/models/standalone_artifact_record.py +0 -311
  176. everyrow/generated/models/standalone_artifact_record_metadata_type_0.py +0 -46
  177. everyrow/generated/models/standalone_artifact_record_trace_mapping_type_0.py +0 -46
  178. everyrow/generated/models/status_count.py +0 -71
  179. everyrow/generated/models/status_count_status.py +0 -13
  180. everyrow/generated/models/submit_chat_task_body.py +0 -497
  181. everyrow/generated/models/submit_chat_task_body_selected_task_type_type_0.py +0 -11
  182. everyrow/generated/models/submit_task_body.py +0 -745
  183. everyrow/generated/models/task_changed_payload.py +0 -105
  184. everyrow/generated/models/task_effort.py +0 -10
  185. everyrow/generated/models/task_id_request.py +0 -62
  186. everyrow/generated/models/task_insert.py +0 -725
  187. everyrow/generated/models/task_metadata.py +0 -323
  188. everyrow/generated/models/task_response.py +0 -62
  189. everyrow/generated/models/task_type.py +0 -31
  190. everyrow/generated/models/text_chat_content_part.py +0 -74
  191. everyrow/generated/models/tool_response_message.py +0 -127
  192. everyrow/generated/models/toolkit_constants.py +0 -80
  193. everyrow/generated/models/trace_changed_payload.py +0 -94
  194. everyrow/generated/models/trace_info.py +0 -78
  195. everyrow/generated/models/trigger_workflow_execution_request.py +0 -112
  196. everyrow/generated/models/trigger_workflow_execution_request_task_params.py +0 -65
  197. everyrow/generated/models/trigger_workflow_execution_request_task_params_additional_property.py +0 -46
  198. everyrow/generated/models/trigger_workflow_execution_response.py +0 -69
  199. everyrow/generated/models/upload_csv_payload.py +0 -310
  200. everyrow/generated/models/upload_csv_query_params.py +0 -114
  201. everyrow/generated/models/usage_response.py +0 -77
  202. everyrow/generated/models/whoami_whoami_get_response_whoami_whoami_get.py +0 -46
  203. everyrow/generated/models/workflow_leaf_node_input.py +0 -70
  204. everyrow-0.1.9.dist-info/RECORD +0 -183
  205. /everyrow/generated/api/{default → artifacts}/__init__.py +0 -0
  206. {everyrow-0.1.9.dist-info → everyrow-0.2.0.dist-info}/WHEEL +0 -0
  207. {everyrow-0.1.9.dist-info → everyrow-0.2.0.dist-info}/licenses/LICENSE.txt +0 -0
@@ -1,163 +0,0 @@
1
- from __future__ import annotations
2
-
3
- import datetime
4
- from collections.abc import Mapping
5
- from typing import Any, TypeVar, cast
6
- from uuid import UUID
7
-
8
- from attrs import define as _attrs_define
9
- from attrs import field as _attrs_field
10
- from dateutil.parser import isoparse
11
-
12
- T = TypeVar("T", bound="APIKeyInfo")
13
-
14
-
15
- @_attrs_define
16
- class APIKeyInfo:
17
- """
18
- Attributes:
19
- id (UUID):
20
- name (str):
21
- key_prefix (str):
22
- created_at (datetime.datetime):
23
- last_used_at (datetime.datetime | None):
24
- expires_at (datetime.datetime | None):
25
- revoked_at (datetime.datetime | None):
26
- """
27
-
28
- id: UUID
29
- name: str
30
- key_prefix: str
31
- created_at: datetime.datetime
32
- last_used_at: datetime.datetime | None
33
- expires_at: datetime.datetime | None
34
- revoked_at: datetime.datetime | None
35
- additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
36
-
37
- def to_dict(self) -> dict[str, Any]:
38
- id = str(self.id)
39
-
40
- name = self.name
41
-
42
- key_prefix = self.key_prefix
43
-
44
- created_at = self.created_at.isoformat()
45
-
46
- last_used_at: None | str
47
- if isinstance(self.last_used_at, datetime.datetime):
48
- last_used_at = self.last_used_at.isoformat()
49
- else:
50
- last_used_at = self.last_used_at
51
-
52
- expires_at: None | str
53
- if isinstance(self.expires_at, datetime.datetime):
54
- expires_at = self.expires_at.isoformat()
55
- else:
56
- expires_at = self.expires_at
57
-
58
- revoked_at: None | str
59
- if isinstance(self.revoked_at, datetime.datetime):
60
- revoked_at = self.revoked_at.isoformat()
61
- else:
62
- revoked_at = self.revoked_at
63
-
64
- field_dict: dict[str, Any] = {}
65
- field_dict.update(self.additional_properties)
66
- field_dict.update(
67
- {
68
- "id": id,
69
- "name": name,
70
- "key_prefix": key_prefix,
71
- "created_at": created_at,
72
- "last_used_at": last_used_at,
73
- "expires_at": expires_at,
74
- "revoked_at": revoked_at,
75
- }
76
- )
77
-
78
- return field_dict
79
-
80
- @classmethod
81
- def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
82
- d = dict(src_dict)
83
- id = UUID(d.pop("id"))
84
-
85
- name = d.pop("name")
86
-
87
- key_prefix = d.pop("key_prefix")
88
-
89
- created_at = isoparse(d.pop("created_at"))
90
-
91
- def _parse_last_used_at(data: object) -> datetime.datetime | None:
92
- if data is None:
93
- return data
94
- try:
95
- if not isinstance(data, str):
96
- raise TypeError()
97
- last_used_at_type_0 = isoparse(data)
98
-
99
- return last_used_at_type_0
100
- except (TypeError, ValueError, AttributeError, KeyError):
101
- pass
102
- return cast(datetime.datetime | None, data)
103
-
104
- last_used_at = _parse_last_used_at(d.pop("last_used_at"))
105
-
106
- def _parse_expires_at(data: object) -> datetime.datetime | None:
107
- if data is None:
108
- return data
109
- try:
110
- if not isinstance(data, str):
111
- raise TypeError()
112
- expires_at_type_0 = isoparse(data)
113
-
114
- return expires_at_type_0
115
- except (TypeError, ValueError, AttributeError, KeyError):
116
- pass
117
- return cast(datetime.datetime | None, data)
118
-
119
- expires_at = _parse_expires_at(d.pop("expires_at"))
120
-
121
- def _parse_revoked_at(data: object) -> datetime.datetime | None:
122
- if data is None:
123
- return data
124
- try:
125
- if not isinstance(data, str):
126
- raise TypeError()
127
- revoked_at_type_0 = isoparse(data)
128
-
129
- return revoked_at_type_0
130
- except (TypeError, ValueError, AttributeError, KeyError):
131
- pass
132
- return cast(datetime.datetime | None, data)
133
-
134
- revoked_at = _parse_revoked_at(d.pop("revoked_at"))
135
-
136
- api_key_info = cls(
137
- id=id,
138
- name=name,
139
- key_prefix=key_prefix,
140
- created_at=created_at,
141
- last_used_at=last_used_at,
142
- expires_at=expires_at,
143
- revoked_at=revoked_at,
144
- )
145
-
146
- api_key_info.additional_properties = d
147
- return api_key_info
148
-
149
- @property
150
- def additional_keys(self) -> list[str]:
151
- return list(self.additional_properties.keys())
152
-
153
- def __getitem__(self, key: str) -> Any:
154
- return self.additional_properties[key]
155
-
156
- def __setitem__(self, key: str, value: Any) -> None:
157
- self.additional_properties[key] = value
158
-
159
- def __delitem__(self, key: str) -> None:
160
- del self.additional_properties[key]
161
-
162
- def __contains__(self, key: str) -> bool:
163
- return key in self.additional_properties
@@ -1,89 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from collections.abc import Mapping
4
- from typing import Any, TypeVar
5
- from uuid import UUID
6
-
7
- from attrs import define as _attrs_define
8
- from attrs import field as _attrs_field
9
-
10
- from ..models.event_type import EventType
11
- from ..types import UNSET, Unset
12
-
13
- T = TypeVar("T", bound="ArtifactChangedPayload")
14
-
15
-
16
- @_attrs_define
17
- class ArtifactChangedPayload:
18
- """
19
- Attributes:
20
- artifact_ids (list[UUID]):
21
- event_type (EventType | Unset):
22
- """
23
-
24
- artifact_ids: list[UUID]
25
- event_type: EventType | Unset = UNSET
26
- additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
27
-
28
- def to_dict(self) -> dict[str, Any]:
29
- artifact_ids = []
30
- for artifact_ids_item_data in self.artifact_ids:
31
- artifact_ids_item = str(artifact_ids_item_data)
32
- artifact_ids.append(artifact_ids_item)
33
-
34
- event_type: str | Unset = UNSET
35
- if not isinstance(self.event_type, Unset):
36
- event_type = self.event_type.value
37
-
38
- field_dict: dict[str, Any] = {}
39
- field_dict.update(self.additional_properties)
40
- field_dict.update(
41
- {
42
- "artifact_ids": artifact_ids,
43
- }
44
- )
45
- if event_type is not UNSET:
46
- field_dict["event_type"] = event_type
47
-
48
- return field_dict
49
-
50
- @classmethod
51
- def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
52
- d = dict(src_dict)
53
- artifact_ids = []
54
- _artifact_ids = d.pop("artifact_ids")
55
- for artifact_ids_item_data in _artifact_ids:
56
- artifact_ids_item = UUID(artifact_ids_item_data)
57
-
58
- artifact_ids.append(artifact_ids_item)
59
-
60
- _event_type = d.pop("event_type", UNSET)
61
- event_type: EventType | Unset
62
- if isinstance(_event_type, Unset):
63
- event_type = UNSET
64
- else:
65
- event_type = EventType(_event_type)
66
-
67
- artifact_changed_payload = cls(
68
- artifact_ids=artifact_ids,
69
- event_type=event_type,
70
- )
71
-
72
- artifact_changed_payload.additional_properties = d
73
- return artifact_changed_payload
74
-
75
- @property
76
- def additional_keys(self) -> list[str]:
77
- return list(self.additional_properties.keys())
78
-
79
- def __getitem__(self, key: str) -> Any:
80
- return self.additional_properties[key]
81
-
82
- def __setitem__(self, key: str, value: Any) -> None:
83
- self.additional_properties[key] = value
84
-
85
- def __delitem__(self, key: str) -> None:
86
- del self.additional_properties[key]
87
-
88
- def __contains__(self, key: str) -> bool:
89
- return key in self.additional_properties
@@ -1,363 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from collections.abc import Mapping
4
- from typing import TYPE_CHECKING, Any, Literal, TypeVar, cast
5
- from uuid import UUID
6
-
7
- from attrs import define as _attrs_define
8
- from attrs import field as _attrs_field
9
-
10
- from ..models.artifact_status import ArtifactStatus
11
- from ..types import UNSET, Unset
12
-
13
- if TYPE_CHECKING:
14
- from ..models.artifact_group_record_analysis_type_0 import ArtifactGroupRecordAnalysisType0
15
- from ..models.artifact_group_record_metadata_type_0 import ArtifactGroupRecordMetadataType0
16
- from ..models.artifact_group_record_trace_mapping_type_0 import ArtifactGroupRecordTraceMappingType0
17
- from ..models.aux_data import AuxData
18
- from ..models.standalone_artifact_record import StandaloneArtifactRecord
19
-
20
-
21
- T = TypeVar("T", bound="ArtifactGroupRecord")
22
-
23
-
24
- @_attrs_define
25
- class ArtifactGroupRecord:
26
- """A group of artifacts that can be processed together.
27
-
28
- An artifact group is itself an artifact, so it can be used as input to tasks.
29
-
30
- Attributes:
31
- uid (UUID):
32
- type_ (Literal['group']):
33
- artifacts (list[ArtifactGroupRecord | StandaloneArtifactRecord]):
34
- data (Any):
35
- metadata (ArtifactGroupRecordMetadataType0 | None | Unset):
36
- label (None | str | Unset):
37
- aux_data (AuxData | Unset):
38
- status (ArtifactStatus | Unset):
39
- trace_mapping (ArtifactGroupRecordTraceMappingType0 | None | Unset):
40
- original_id (None | Unset | UUID):
41
- index_in_group (int | None | Unset):
42
- current_iteration (int | None | Unset):
43
- analysis (ArtifactGroupRecordAnalysisType0 | None | Unset):
44
- description (str | Unset): Default: ''.
45
- """
46
-
47
- uid: UUID
48
- type_: Literal["group"]
49
- artifacts: list[ArtifactGroupRecord | StandaloneArtifactRecord]
50
- data: Any
51
- metadata: ArtifactGroupRecordMetadataType0 | None | Unset = UNSET
52
- label: None | str | Unset = UNSET
53
- aux_data: AuxData | Unset = UNSET
54
- status: ArtifactStatus | Unset = UNSET
55
- trace_mapping: ArtifactGroupRecordTraceMappingType0 | None | Unset = UNSET
56
- original_id: None | Unset | UUID = UNSET
57
- index_in_group: int | None | Unset = UNSET
58
- current_iteration: int | None | Unset = UNSET
59
- analysis: ArtifactGroupRecordAnalysisType0 | None | Unset = UNSET
60
- description: str | Unset = ""
61
- additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
62
-
63
- def to_dict(self) -> dict[str, Any]:
64
- from ..models.artifact_group_record_analysis_type_0 import ArtifactGroupRecordAnalysisType0
65
- from ..models.artifact_group_record_metadata_type_0 import ArtifactGroupRecordMetadataType0
66
- from ..models.artifact_group_record_trace_mapping_type_0 import ArtifactGroupRecordTraceMappingType0
67
- from ..models.standalone_artifact_record import StandaloneArtifactRecord
68
-
69
- uid = str(self.uid)
70
-
71
- type_ = self.type_
72
-
73
- artifacts = []
74
- for artifacts_item_data in self.artifacts:
75
- artifacts_item: dict[str, Any]
76
- if isinstance(artifacts_item_data, StandaloneArtifactRecord):
77
- artifacts_item = artifacts_item_data.to_dict()
78
- else:
79
- artifacts_item = artifacts_item_data.to_dict()
80
-
81
- artifacts.append(artifacts_item)
82
-
83
- data = self.data
84
-
85
- metadata: dict[str, Any] | None | Unset
86
- if isinstance(self.metadata, Unset):
87
- metadata = UNSET
88
- elif isinstance(self.metadata, ArtifactGroupRecordMetadataType0):
89
- metadata = self.metadata.to_dict()
90
- else:
91
- metadata = self.metadata
92
-
93
- label: None | str | Unset
94
- if isinstance(self.label, Unset):
95
- label = UNSET
96
- else:
97
- label = self.label
98
-
99
- aux_data: dict[str, Any] | Unset = UNSET
100
- if not isinstance(self.aux_data, Unset):
101
- aux_data = self.aux_data.to_dict()
102
-
103
- status: str | Unset = UNSET
104
- if not isinstance(self.status, Unset):
105
- status = self.status.value
106
-
107
- trace_mapping: dict[str, Any] | None | Unset
108
- if isinstance(self.trace_mapping, Unset):
109
- trace_mapping = UNSET
110
- elif isinstance(self.trace_mapping, ArtifactGroupRecordTraceMappingType0):
111
- trace_mapping = self.trace_mapping.to_dict()
112
- else:
113
- trace_mapping = self.trace_mapping
114
-
115
- original_id: None | str | Unset
116
- if isinstance(self.original_id, Unset):
117
- original_id = UNSET
118
- elif isinstance(self.original_id, UUID):
119
- original_id = str(self.original_id)
120
- else:
121
- original_id = self.original_id
122
-
123
- index_in_group: int | None | Unset
124
- if isinstance(self.index_in_group, Unset):
125
- index_in_group = UNSET
126
- else:
127
- index_in_group = self.index_in_group
128
-
129
- current_iteration: int | None | Unset
130
- if isinstance(self.current_iteration, Unset):
131
- current_iteration = UNSET
132
- else:
133
- current_iteration = self.current_iteration
134
-
135
- analysis: dict[str, Any] | None | Unset
136
- if isinstance(self.analysis, Unset):
137
- analysis = UNSET
138
- elif isinstance(self.analysis, ArtifactGroupRecordAnalysisType0):
139
- analysis = self.analysis.to_dict()
140
- else:
141
- analysis = self.analysis
142
-
143
- description = self.description
144
-
145
- field_dict: dict[str, Any] = {}
146
- field_dict.update(self.additional_properties)
147
- field_dict.update(
148
- {
149
- "uid": uid,
150
- "type": type_,
151
- "artifacts": artifacts,
152
- "data": data,
153
- }
154
- )
155
- if metadata is not UNSET:
156
- field_dict["metadata"] = metadata
157
- if label is not UNSET:
158
- field_dict["label"] = label
159
- if aux_data is not UNSET:
160
- field_dict["aux_data"] = aux_data
161
- if status is not UNSET:
162
- field_dict["status"] = status
163
- if trace_mapping is not UNSET:
164
- field_dict["trace_mapping"] = trace_mapping
165
- if original_id is not UNSET:
166
- field_dict["original_id"] = original_id
167
- if index_in_group is not UNSET:
168
- field_dict["index_in_group"] = index_in_group
169
- if current_iteration is not UNSET:
170
- field_dict["current_iteration"] = current_iteration
171
- if analysis is not UNSET:
172
- field_dict["analysis"] = analysis
173
- if description is not UNSET:
174
- field_dict["description"] = description
175
-
176
- return field_dict
177
-
178
- @classmethod
179
- def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
180
- from ..models.artifact_group_record_analysis_type_0 import ArtifactGroupRecordAnalysisType0
181
- from ..models.artifact_group_record_metadata_type_0 import ArtifactGroupRecordMetadataType0
182
- from ..models.artifact_group_record_trace_mapping_type_0 import ArtifactGroupRecordTraceMappingType0
183
- from ..models.aux_data import AuxData
184
- from ..models.standalone_artifact_record import StandaloneArtifactRecord
185
-
186
- d = dict(src_dict)
187
- uid = UUID(d.pop("uid"))
188
-
189
- type_ = cast(Literal["group"], d.pop("type"))
190
- if type_ != "group":
191
- raise ValueError(f"type must match const 'group', got '{type_}'")
192
-
193
- artifacts = []
194
- _artifacts = d.pop("artifacts")
195
- for artifacts_item_data in _artifacts:
196
-
197
- def _parse_artifacts_item(data: object) -> ArtifactGroupRecord | StandaloneArtifactRecord:
198
- try:
199
- if not isinstance(data, dict):
200
- raise TypeError()
201
- artifacts_item_type_0 = StandaloneArtifactRecord.from_dict(data)
202
-
203
- return artifacts_item_type_0
204
- except (TypeError, ValueError, AttributeError, KeyError):
205
- pass
206
- if not isinstance(data, dict):
207
- raise TypeError()
208
- artifacts_item_type_1 = ArtifactGroupRecord.from_dict(data)
209
-
210
- return artifacts_item_type_1
211
-
212
- artifacts_item = _parse_artifacts_item(artifacts_item_data)
213
-
214
- artifacts.append(artifacts_item)
215
-
216
- data = d.pop("data")
217
-
218
- def _parse_metadata(data: object) -> ArtifactGroupRecordMetadataType0 | None | Unset:
219
- if data is None:
220
- return data
221
- if isinstance(data, Unset):
222
- return data
223
- try:
224
- if not isinstance(data, dict):
225
- raise TypeError()
226
- metadata_type_0 = ArtifactGroupRecordMetadataType0.from_dict(data)
227
-
228
- return metadata_type_0
229
- except (TypeError, ValueError, AttributeError, KeyError):
230
- pass
231
- return cast(ArtifactGroupRecordMetadataType0 | None | Unset, data)
232
-
233
- metadata = _parse_metadata(d.pop("metadata", UNSET))
234
-
235
- def _parse_label(data: object) -> None | str | Unset:
236
- if data is None:
237
- return data
238
- if isinstance(data, Unset):
239
- return data
240
- return cast(None | str | Unset, data)
241
-
242
- label = _parse_label(d.pop("label", UNSET))
243
-
244
- _aux_data = d.pop("aux_data", UNSET)
245
- aux_data: AuxData | Unset
246
- if isinstance(_aux_data, Unset):
247
- aux_data = UNSET
248
- else:
249
- aux_data = AuxData.from_dict(_aux_data)
250
-
251
- _status = d.pop("status", UNSET)
252
- status: ArtifactStatus | Unset
253
- if isinstance(_status, Unset):
254
- status = UNSET
255
- else:
256
- status = ArtifactStatus(_status)
257
-
258
- def _parse_trace_mapping(data: object) -> ArtifactGroupRecordTraceMappingType0 | None | Unset:
259
- if data is None:
260
- return data
261
- if isinstance(data, Unset):
262
- return data
263
- try:
264
- if not isinstance(data, dict):
265
- raise TypeError()
266
- trace_mapping_type_0 = ArtifactGroupRecordTraceMappingType0.from_dict(data)
267
-
268
- return trace_mapping_type_0
269
- except (TypeError, ValueError, AttributeError, KeyError):
270
- pass
271
- return cast(ArtifactGroupRecordTraceMappingType0 | None | Unset, data)
272
-
273
- trace_mapping = _parse_trace_mapping(d.pop("trace_mapping", UNSET))
274
-
275
- def _parse_original_id(data: object) -> None | Unset | UUID:
276
- if data is None:
277
- return data
278
- if isinstance(data, Unset):
279
- return data
280
- try:
281
- if not isinstance(data, str):
282
- raise TypeError()
283
- original_id_type_0 = UUID(data)
284
-
285
- return original_id_type_0
286
- except (TypeError, ValueError, AttributeError, KeyError):
287
- pass
288
- return cast(None | Unset | UUID, data)
289
-
290
- original_id = _parse_original_id(d.pop("original_id", UNSET))
291
-
292
- def _parse_index_in_group(data: object) -> int | None | Unset:
293
- if data is None:
294
- return data
295
- if isinstance(data, Unset):
296
- return data
297
- return cast(int | None | Unset, data)
298
-
299
- index_in_group = _parse_index_in_group(d.pop("index_in_group", UNSET))
300
-
301
- def _parse_current_iteration(data: object) -> int | None | Unset:
302
- if data is None:
303
- return data
304
- if isinstance(data, Unset):
305
- return data
306
- return cast(int | None | Unset, data)
307
-
308
- current_iteration = _parse_current_iteration(d.pop("current_iteration", UNSET))
309
-
310
- def _parse_analysis(data: object) -> ArtifactGroupRecordAnalysisType0 | None | Unset:
311
- if data is None:
312
- return data
313
- if isinstance(data, Unset):
314
- return data
315
- try:
316
- if not isinstance(data, dict):
317
- raise TypeError()
318
- analysis_type_0 = ArtifactGroupRecordAnalysisType0.from_dict(data)
319
-
320
- return analysis_type_0
321
- except (TypeError, ValueError, AttributeError, KeyError):
322
- pass
323
- return cast(ArtifactGroupRecordAnalysisType0 | None | Unset, data)
324
-
325
- analysis = _parse_analysis(d.pop("analysis", UNSET))
326
-
327
- description = d.pop("description", UNSET)
328
-
329
- artifact_group_record = cls(
330
- uid=uid,
331
- type_=type_,
332
- artifacts=artifacts,
333
- data=data,
334
- metadata=metadata,
335
- label=label,
336
- aux_data=aux_data,
337
- status=status,
338
- trace_mapping=trace_mapping,
339
- original_id=original_id,
340
- index_in_group=index_in_group,
341
- current_iteration=current_iteration,
342
- analysis=analysis,
343
- description=description,
344
- )
345
-
346
- artifact_group_record.additional_properties = d
347
- return artifact_group_record
348
-
349
- @property
350
- def additional_keys(self) -> list[str]:
351
- return list(self.additional_properties.keys())
352
-
353
- def __getitem__(self, key: str) -> Any:
354
- return self.additional_properties[key]
355
-
356
- def __setitem__(self, key: str, value: Any) -> None:
357
- self.additional_properties[key] = value
358
-
359
- def __delitem__(self, key: str) -> None:
360
- del self.additional_properties[key]
361
-
362
- def __contains__(self, key: str) -> bool:
363
- return key in self.additional_properties
@@ -1,46 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from collections.abc import Mapping
4
- from typing import Any, TypeVar
5
-
6
- from attrs import define as _attrs_define
7
- from attrs import field as _attrs_field
8
-
9
- T = TypeVar("T", bound="ArtifactGroupRecordTraceMappingType0")
10
-
11
-
12
- @_attrs_define
13
- class ArtifactGroupRecordTraceMappingType0:
14
- """ """
15
-
16
- additional_properties: dict[str, str] = _attrs_field(init=False, factory=dict)
17
-
18
- def to_dict(self) -> dict[str, Any]:
19
- field_dict: dict[str, Any] = {}
20
- field_dict.update(self.additional_properties)
21
-
22
- return field_dict
23
-
24
- @classmethod
25
- def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
26
- d = dict(src_dict)
27
- artifact_group_record_trace_mapping_type_0 = cls()
28
-
29
- artifact_group_record_trace_mapping_type_0.additional_properties = d
30
- return artifact_group_record_trace_mapping_type_0
31
-
32
- @property
33
- def additional_keys(self) -> list[str]:
34
- return list(self.additional_properties.keys())
35
-
36
- def __getitem__(self, key: str) -> str:
37
- return self.additional_properties[key]
38
-
39
- def __setitem__(self, key: str, value: str) -> None:
40
- self.additional_properties[key] = value
41
-
42
- def __delitem__(self, key: str) -> None:
43
- del self.additional_properties[key]
44
-
45
- def __contains__(self, key: str) -> bool:
46
- return key in self.additional_properties
@@ -1,14 +0,0 @@
1
- from enum import Enum
2
-
3
-
4
- class ArtifactStatus(str, Enum):
5
- COMPLETED = "completed"
6
- FAILED = "failed"
7
- OMITTED_FROM_PREVIEW = "omitted_from_preview"
8
- PENDING = "pending"
9
- REVOKED = "revoked"
10
- RUNNING = "running"
11
- UNDER_REVIEW = "under_review"
12
-
13
- def __str__(self) -> str:
14
- return str(self.value)