robodock-cli 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 (167) hide show
  1. app/__init__.py +1 -0
  2. app/app.py +14 -0
  3. app/auth.py +58 -0
  4. app/task_management.py +97 -0
  5. config.py +9 -0
  6. fast_api_client/__init__.py +8 -0
  7. fast_api_client/api/__init__.py +1 -0
  8. fast_api_client/api/auth/__init__.py +1 -0
  9. fast_api_client/api/auth/change_password_api_p_v1_auth_change_password_post.py +172 -0
  10. fast_api_client/api/auth/forgot_password_api_p_v1_auth_forgot_password_post.py +172 -0
  11. fast_api_client/api/auth/login_api_p_v1_auth_login_post.py +172 -0
  12. fast_api_client/api/auth/logout_api_p_v1_auth_logout_post.py +172 -0
  13. fast_api_client/api/auth/me_api_p_v1_auth_me_get.py +85 -0
  14. fast_api_client/api/auth/refresh_token_api_p_v1_auth_refresh_post.py +172 -0
  15. fast_api_client/api/auth/reset_password_api_p_v1_auth_reset_password_post.py +172 -0
  16. fast_api_client/api/auth/switch_group_api_p_v1_auth_switch_group_post.py +176 -0
  17. fast_api_client/api/config/__init__.py +1 -0
  18. fast_api_client/api/config/get_config_api_p_v1_config_get.py +85 -0
  19. fast_api_client/api/default/__init__.py +1 -0
  20. fast_api_client/api/default/root_get.py +81 -0
  21. fast_api_client/api/groups/__init__.py +1 -0
  22. fast_api_client/api/groups/add_member_api_p_v1_groups_group_id_members_post.py +188 -0
  23. fast_api_client/api/groups/create_group_api_p_v1_groups_post.py +172 -0
  24. fast_api_client/api/groups/create_platform_role_binding_api_p_v1_admin_platform_roles_bindings_post.py +172 -0
  25. fast_api_client/api/groups/delete_group_api_p_v1_groups_group_id_delete.py +167 -0
  26. fast_api_client/api/groups/delete_platform_role_binding_api_p_v1_admin_platform_roles_bindings_user_id_delete.py +167 -0
  27. fast_api_client/api/groups/get_group_api_p_v1_groups_group_id_get.py +167 -0
  28. fast_api_client/api/groups/list_groups_api_p_v1_groups_get.py +85 -0
  29. fast_api_client/api/groups/list_members_api_p_v1_groups_group_id_members_get.py +167 -0
  30. fast_api_client/api/groups/list_platform_role_bindings_api_p_v1_admin_platform_roles_bindings_get.py +85 -0
  31. fast_api_client/api/groups/remove_member_api_p_v1_groups_group_id_members_user_id_delete.py +181 -0
  32. fast_api_client/api/groups/reset_member_password_api_p_v1_groups_group_id_members_user_id_reset_password_post.py +181 -0
  33. fast_api_client/api/groups/update_group_api_p_v1_groups_group_id_patch.py +188 -0
  34. fast_api_client/api/groups/update_member_role_api_p_v1_groups_group_id_members_user_id_patch.py +202 -0
  35. fast_api_client/api/post_train/__init__.py +1 -0
  36. fast_api_client/api/post_train/check_patch_duplicate_api_p_v1_singledata_patch_check_post.py +164 -0
  37. fast_api_client/api/post_train/check_patch_duplicate_batch_api_p_v1_singledata_patch_check_batch_post.py +164 -0
  38. fast_api_client/api/post_train/create_dataset_api_p_v1_dataset_post.py +172 -0
  39. fast_api_client/api/post_train/create_patch_upload_api_p_v1_singledata_patch_upload_post.py +164 -0
  40. fast_api_client/api/post_train/data_ops_overview_api_p_v1_data_ops_overview_get.py +624 -0
  41. fast_api_client/api/post_train/data_ops_patches_api_p_v1_data_ops_patches_get.py +474 -0
  42. fast_api_client/api/post_train/delete_dataset_api_p_v1_dataset_dataset_uuid_delete.py +167 -0
  43. fast_api_client/api/post_train/delete_singledata_api_p_v1_singledata_uuid_delete.py +167 -0
  44. fast_api_client/api/post_train/delete_singledata_by_patch_api_p_v1_singledata_patch_patch_id_delete.py +167 -0
  45. fast_api_client/api/post_train/delete_singledata_list_api_p_v1_singledata_delete.py +172 -0
  46. fast_api_client/api/post_train/download_singledata_api_p_v1_singledata_download_uuid_get.py +167 -0
  47. fast_api_client/api/post_train/download_singledata_list_api_p_v1_singledata_download_get.py +178 -0
  48. fast_api_client/api/post_train/get_singledata_api_p_v1_singledata_uuid_get.py +167 -0
  49. fast_api_client/api/post_train/link_singledata_api_p_v1_singledata_link_post.py +172 -0
  50. fast_api_client/api/post_train/list_dataset_api_p_v1_dataset_get.py +307 -0
  51. fast_api_client/api/post_train/list_singledata_api_p_v1_singledata_get.py +737 -0
  52. fast_api_client/api/post_train/trigger_process_api_p_v1_singledata_trigger_post.py +172 -0
  53. fast_api_client/api/post_train/unlink_singledata_api_p_v1_singledata_unlink_post.py +172 -0
  54. fast_api_client/api/post_train/update_dataset_add_api_p_v1_dataset_update_dataset_uuid_post.py +188 -0
  55. fast_api_client/api/post_train/update_dataset_all_fields_api_p_v1_dataset_uuid_patch.py +188 -0
  56. fast_api_client/api/post_train/update_dataset_info_api_p_v1_dataset_update_post.py +172 -0
  57. fast_api_client/api/post_train/update_dataset_reduce_api_p_v1_dataset_reduce_dataset_uuid_post.py +188 -0
  58. fast_api_client/api/post_train/update_singledata_api_p_v1_singledata_uuid_patch.py +188 -0
  59. fast_api_client/api/post_train/update_singledata_tag_api_p_v1_singledata_tag_post.py +176 -0
  60. fast_api_client/api/post_train/update_upload_status_api_p_v1_singledata_upload_status_patch.py +176 -0
  61. fast_api_client/api/post_train/upload_singledata_api_p_v1_singledata_post.py +172 -0
  62. fast_api_client/api/post_train/upload_singledata_list_api_p_v1_singledata_list_post.py +172 -0
  63. fast_api_client/api/task_management/__init__.py +1 -0
  64. fast_api_client/api/task_management/create_project_api_p_v1_project_project_name_post.py +204 -0
  65. fast_api_client/api/task_management/create_rl_stage_api_p_v1_run_run_uuid_stage_rl_post.py +180 -0
  66. fast_api_client/api/task_management/create_run_api_p_v1_run_post.py +172 -0
  67. fast_api_client/api/task_management/delete_project_api_p_v1_project_uuid_delete.py +159 -0
  68. fast_api_client/api/task_management/delete_run_api_p_v1_run_uuid_delete.py +159 -0
  69. fast_api_client/api/task_management/delete_run_stage_api_p_v1_run_run_uuid_stage_stage_name_delete.py +181 -0
  70. fast_api_client/api/task_management/get_checkpoint_download_url_api_p_v1_run_checkpoint_download_post.py +172 -0
  71. fast_api_client/api/task_management/get_project_api_p_v1_project_uuid_get.py +159 -0
  72. fast_api_client/api/task_management/get_run_api_p_v1_run_unique_id_get.py +180 -0
  73. fast_api_client/api/task_management/get_run_log_info_api_p_v1_run_log_get.py +206 -0
  74. fast_api_client/api/task_management/get_run_stage_api_p_v1_run_run_uuid_stage_stage_name_get.py +173 -0
  75. fast_api_client/api/task_management/get_run_status_api_p_v1_run_status_uuid_get.py +159 -0
  76. fast_api_client/api/task_management/list_projects_api_p_v1_project_get.py +359 -0
  77. fast_api_client/api/task_management/list_runs_api_p_v1_run_get.py +399 -0
  78. fast_api_client/api/task_management/open_artifact_api_p_v1_run_artifact_open_post.py +164 -0
  79. fast_api_client/api/task_management/proxy_argo_log_api_p_v1_run_log_proxy_get.py +85 -0
  80. fast_api_client/api/task_management/resubmit_run_api_p_v1_run_resubmit_unique_id_post.py +180 -0
  81. fast_api_client/api/task_management/retry_run_api_p_v1_run_retry_unique_id_post.py +180 -0
  82. fast_api_client/api/task_management/stop_run_api_p_v1_run_stop_uuid_post.py +159 -0
  83. fast_api_client/api/task_management/trigger_model_convert_api_p_v1_run_model_convert_trigger_post.py +172 -0
  84. fast_api_client/api/task_management/update_project_api_p_v1_project_uuid_patch.py +180 -0
  85. fast_api_client/api/task_management/update_run_api_p_v1_run_unique_id_patch.py +200 -0
  86. fast_api_client/api/task_mapping/__init__.py +1 -0
  87. fast_api_client/api/task_mapping/create_task_mapping_api_p_v1_task_mapping_post.py +164 -0
  88. fast_api_client/api/task_mapping/delete_task_mapping_api_p_v1_task_mapping_task_id_delete.py +159 -0
  89. fast_api_client/api/task_mapping/get_task_mapping_api_p_v1_task_mapping_task_id_get.py +159 -0
  90. fast_api_client/api/task_mapping/list_task_mapping_patches_api_p_v1_task_mapping_task_id_patches_get.py +195 -0
  91. fast_api_client/api/task_mapping/list_task_mappings_api_p_v1_task_mapping_get.py +279 -0
  92. fast_api_client/api/task_mapping/update_task_mapping_api_p_v1_task_mapping_task_id_patch.py +180 -0
  93. fast_api_client/client.py +268 -0
  94. fast_api_client/errors.py +16 -0
  95. fast_api_client/models/__init__.py +121 -0
  96. fast_api_client/models/add_member_request.py +89 -0
  97. fast_api_client/models/artifact_item.py +251 -0
  98. fast_api_client/models/artifact_item_extra_info_type_0.py +45 -0
  99. fast_api_client/models/artifact_open_request.py +93 -0
  100. fast_api_client/models/body_download_singledata_list_api_pv1_singledata_download_get.py +61 -0
  101. fast_api_client/models/change_password_request.py +69 -0
  102. fast_api_client/models/checkpoint_download_request.py +69 -0
  103. fast_api_client/models/create_group_request.py +72 -0
  104. fast_api_client/models/create_platform_role_binding_request.py +69 -0
  105. fast_api_client/models/dataset_add_request.py +165 -0
  106. fast_api_client/models/dataset_create_request.py +253 -0
  107. fast_api_client/models/dataset_full_update_request.py +133 -0
  108. fast_api_client/models/dataset_reduce_request.py +84 -0
  109. fast_api_client/models/dataset_update_request.py +123 -0
  110. fast_api_client/models/forgot_password_request.py +61 -0
  111. fast_api_client/models/http_validation_error.py +79 -0
  112. fast_api_client/models/login_request.py +69 -0
  113. fast_api_client/models/logout_request.py +61 -0
  114. fast_api_client/models/model_convert_trigger_request.py +69 -0
  115. fast_api_client/models/patch_duplicate_batch_item_request.py +69 -0
  116. fast_api_client/models/patch_duplicate_batch_request.py +75 -0
  117. fast_api_client/models/patch_duplicate_check_request.py +69 -0
  118. fast_api_client/models/patch_episode_create_request.py +547 -0
  119. fast_api_client/models/patch_episode_create_request_lable_info.py +47 -0
  120. fast_api_client/models/patch_upload_create_request.py +94 -0
  121. fast_api_client/models/project_create_request.py +174 -0
  122. fast_api_client/models/project_create_request_default_configs.py +47 -0
  123. fast_api_client/models/project_update_request.py +175 -0
  124. fast_api_client/models/project_update_request_default_configs_type_0.py +45 -0
  125. fast_api_client/models/refresh_request.py +61 -0
  126. fast_api_client/models/reset_password_request.py +69 -0
  127. fast_api_client/models/rl_stage_create_request.py +75 -0
  128. fast_api_client/models/rl_stage_create_request_configs.py +47 -0
  129. fast_api_client/models/run_create_request.py +243 -0
  130. fast_api_client/models/run_create_request_configs.py +47 -0
  131. fast_api_client/models/run_update_request.py +533 -0
  132. fast_api_client/models/run_update_request_artifacts_type_0.py +45 -0
  133. fast_api_client/models/run_update_request_configs_type_0.py +45 -0
  134. fast_api_client/models/run_update_request_stages_type_0_item.py +45 -0
  135. fast_api_client/models/single_data_create_request.py +189 -0
  136. fast_api_client/models/single_data_link_request.py +69 -0
  137. fast_api_client/models/single_data_list_request.py +169 -0
  138. fast_api_client/models/single_data_tag_request.py +69 -0
  139. fast_api_client/models/single_data_trigger_request.py +61 -0
  140. fast_api_client/models/single_data_unlink_request.py +69 -0
  141. fast_api_client/models/single_data_update_request.py +775 -0
  142. fast_api_client/models/single_data_update_request_lable_info_type_0.py +45 -0
  143. fast_api_client/models/stage_artifact_append.py +85 -0
  144. fast_api_client/models/stage_artifact_append_category.py +10 -0
  145. fast_api_client/models/switch_group_request.py +61 -0
  146. fast_api_client/models/task_mapping_create_request.py +111 -0
  147. fast_api_client/models/task_mapping_update_request.py +93 -0
  148. fast_api_client/models/update_group_request.py +93 -0
  149. fast_api_client/models/update_member_request.py +61 -0
  150. fast_api_client/models/upload_status_request.py +69 -0
  151. fast_api_client/models/validation_error.py +123 -0
  152. fast_api_client/models/validation_error_context.py +45 -0
  153. fast_api_client/py.typed +1 -0
  154. fast_api_client/types.py +54 -0
  155. robodock_cli-0.1.0.dist-info/METADATA +97 -0
  156. robodock_cli-0.1.0.dist-info/RECORD +167 -0
  157. robodock_cli-0.1.0.dist-info/WHEEL +5 -0
  158. robodock_cli-0.1.0.dist-info/entry_points.txt +2 -0
  159. robodock_cli-0.1.0.dist-info/top_level.txt +4 -0
  160. sdk/__init__.py +1 -0
  161. sdk/client/__init__.py +1 -0
  162. sdk/client/auth.py +171 -0
  163. sdk/client/client.py +9 -0
  164. sdk/client/task_management.py +29 -0
  165. sdk/exception.py +95 -0
  166. sdk/utils/__init__.py +1 -0
  167. sdk/utils/downloader.py +267 -0
@@ -0,0 +1,251 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import TYPE_CHECKING, Any, TypeVar, cast
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ from ..types import UNSET, Unset
10
+
11
+ if TYPE_CHECKING:
12
+ from ..models.artifact_item_extra_info_type_0 import ArtifactItemExtraInfoType0
13
+
14
+
15
+ T = TypeVar("T", bound="ArtifactItem")
16
+
17
+
18
+ @_attrs_define
19
+ class ArtifactItem:
20
+ """
21
+ Attributes:
22
+ type_ (None | str | Unset):
23
+ name (None | str | Unset):
24
+ file_name (None | str | Unset):
25
+ object_key (None | str | Unset):
26
+ dataset_uuid (None | str | Unset):
27
+ singledata_uuid (None | str | Unset):
28
+ url (None | str | Unset):
29
+ epoch (int | None | Unset):
30
+ extra_info (ArtifactItemExtraInfoType0 | None | Unset):
31
+ """
32
+
33
+ type_: None | str | Unset = UNSET
34
+ name: None | str | Unset = UNSET
35
+ file_name: None | str | Unset = UNSET
36
+ object_key: None | str | Unset = UNSET
37
+ dataset_uuid: None | str | Unset = UNSET
38
+ singledata_uuid: None | str | Unset = UNSET
39
+ url: None | str | Unset = UNSET
40
+ epoch: int | None | Unset = UNSET
41
+ extra_info: ArtifactItemExtraInfoType0 | None | Unset = UNSET
42
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
43
+
44
+ def to_dict(self) -> dict[str, Any]:
45
+ from ..models.artifact_item_extra_info_type_0 import ArtifactItemExtraInfoType0 # noqa: PLC0415
46
+
47
+ type_: None | str | Unset
48
+ if isinstance(self.type_, Unset):
49
+ type_ = UNSET
50
+ else:
51
+ type_ = self.type_
52
+
53
+ name: None | str | Unset
54
+ if isinstance(self.name, Unset):
55
+ name = UNSET
56
+ else:
57
+ name = self.name
58
+
59
+ file_name: None | str | Unset
60
+ if isinstance(self.file_name, Unset):
61
+ file_name = UNSET
62
+ else:
63
+ file_name = self.file_name
64
+
65
+ object_key: None | str | Unset
66
+ if isinstance(self.object_key, Unset):
67
+ object_key = UNSET
68
+ else:
69
+ object_key = self.object_key
70
+
71
+ dataset_uuid: None | str | Unset
72
+ if isinstance(self.dataset_uuid, Unset):
73
+ dataset_uuid = UNSET
74
+ else:
75
+ dataset_uuid = self.dataset_uuid
76
+
77
+ singledata_uuid: None | str | Unset
78
+ if isinstance(self.singledata_uuid, Unset):
79
+ singledata_uuid = UNSET
80
+ else:
81
+ singledata_uuid = self.singledata_uuid
82
+
83
+ url: None | str | Unset
84
+ if isinstance(self.url, Unset):
85
+ url = UNSET
86
+ else:
87
+ url = self.url
88
+
89
+ epoch: int | None | Unset
90
+ if isinstance(self.epoch, Unset):
91
+ epoch = UNSET
92
+ else:
93
+ epoch = self.epoch
94
+
95
+ extra_info: dict[str, Any] | None | Unset
96
+ if isinstance(self.extra_info, Unset):
97
+ extra_info = UNSET
98
+ elif isinstance(self.extra_info, ArtifactItemExtraInfoType0):
99
+ extra_info = self.extra_info.to_dict()
100
+ else:
101
+ extra_info = self.extra_info
102
+
103
+ field_dict: dict[str, Any] = {}
104
+ field_dict.update(self.additional_properties)
105
+ field_dict.update({})
106
+ if type_ is not UNSET:
107
+ field_dict["type"] = type_
108
+ if name is not UNSET:
109
+ field_dict["name"] = name
110
+ if file_name is not UNSET:
111
+ field_dict["file_name"] = file_name
112
+ if object_key is not UNSET:
113
+ field_dict["object_key"] = object_key
114
+ if dataset_uuid is not UNSET:
115
+ field_dict["dataset_uuid"] = dataset_uuid
116
+ if singledata_uuid is not UNSET:
117
+ field_dict["singledata_uuid"] = singledata_uuid
118
+ if url is not UNSET:
119
+ field_dict["url"] = url
120
+ if epoch is not UNSET:
121
+ field_dict["epoch"] = epoch
122
+ if extra_info is not UNSET:
123
+ field_dict["extra_info"] = extra_info
124
+
125
+ return field_dict
126
+
127
+ @classmethod
128
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
129
+ from ..models.artifact_item_extra_info_type_0 import ArtifactItemExtraInfoType0 # noqa: PLC0415
130
+
131
+ d = dict(src_dict)
132
+
133
+ def _parse_type_(data: object) -> None | str | Unset:
134
+ if data is None:
135
+ return data
136
+ if isinstance(data, Unset):
137
+ return data
138
+ return cast(None | str | Unset, data)
139
+
140
+ type_ = _parse_type_(d.pop("type", UNSET))
141
+
142
+ def _parse_name(data: object) -> None | str | Unset:
143
+ if data is None:
144
+ return data
145
+ if isinstance(data, Unset):
146
+ return data
147
+ return cast(None | str | Unset, data)
148
+
149
+ name = _parse_name(d.pop("name", UNSET))
150
+
151
+ def _parse_file_name(data: object) -> None | str | Unset:
152
+ if data is None:
153
+ return data
154
+ if isinstance(data, Unset):
155
+ return data
156
+ return cast(None | str | Unset, data)
157
+
158
+ file_name = _parse_file_name(d.pop("file_name", UNSET))
159
+
160
+ def _parse_object_key(data: object) -> None | str | Unset:
161
+ if data is None:
162
+ return data
163
+ if isinstance(data, Unset):
164
+ return data
165
+ return cast(None | str | Unset, data)
166
+
167
+ object_key = _parse_object_key(d.pop("object_key", UNSET))
168
+
169
+ def _parse_dataset_uuid(data: object) -> None | str | Unset:
170
+ if data is None:
171
+ return data
172
+ if isinstance(data, Unset):
173
+ return data
174
+ return cast(None | str | Unset, data)
175
+
176
+ dataset_uuid = _parse_dataset_uuid(d.pop("dataset_uuid", UNSET))
177
+
178
+ def _parse_singledata_uuid(data: object) -> None | str | Unset:
179
+ if data is None:
180
+ return data
181
+ if isinstance(data, Unset):
182
+ return data
183
+ return cast(None | str | Unset, data)
184
+
185
+ singledata_uuid = _parse_singledata_uuid(d.pop("singledata_uuid", UNSET))
186
+
187
+ def _parse_url(data: object) -> None | str | Unset:
188
+ if data is None:
189
+ return data
190
+ if isinstance(data, Unset):
191
+ return data
192
+ return cast(None | str | Unset, data)
193
+
194
+ url = _parse_url(d.pop("url", UNSET))
195
+
196
+ def _parse_epoch(data: object) -> int | None | Unset:
197
+ if data is None:
198
+ return data
199
+ if isinstance(data, Unset):
200
+ return data
201
+ return cast(int | None | Unset, data)
202
+
203
+ epoch = _parse_epoch(d.pop("epoch", UNSET))
204
+
205
+ def _parse_extra_info(data: object) -> ArtifactItemExtraInfoType0 | None | Unset:
206
+ if data is None:
207
+ return data
208
+ if isinstance(data, Unset):
209
+ return data
210
+ try:
211
+ if not isinstance(data, dict):
212
+ raise TypeError()
213
+ extra_info_type_0 = ArtifactItemExtraInfoType0.from_dict(data)
214
+
215
+ return extra_info_type_0
216
+ except (TypeError, ValueError, AttributeError, KeyError):
217
+ pass
218
+ return cast(ArtifactItemExtraInfoType0 | None | Unset, data)
219
+
220
+ extra_info = _parse_extra_info(d.pop("extra_info", UNSET))
221
+
222
+ artifact_item = cls(
223
+ type_=type_,
224
+ name=name,
225
+ file_name=file_name,
226
+ object_key=object_key,
227
+ dataset_uuid=dataset_uuid,
228
+ singledata_uuid=singledata_uuid,
229
+ url=url,
230
+ epoch=epoch,
231
+ extra_info=extra_info,
232
+ )
233
+
234
+ artifact_item.additional_properties = d
235
+ return artifact_item
236
+
237
+ @property
238
+ def additional_keys(self) -> list[str]:
239
+ return list(self.additional_properties.keys())
240
+
241
+ def __getitem__(self, key: str) -> Any:
242
+ return self.additional_properties[key]
243
+
244
+ def __setitem__(self, key: str, value: Any) -> None:
245
+ self.additional_properties[key] = value
246
+
247
+ def __delitem__(self, key: str) -> None:
248
+ del self.additional_properties[key]
249
+
250
+ def __contains__(self, key: str) -> bool:
251
+ return key in self.additional_properties
@@ -0,0 +1,45 @@
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="ArtifactItemExtraInfoType0")
10
+
11
+
12
+ @_attrs_define
13
+ class ArtifactItemExtraInfoType0:
14
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
15
+
16
+ def to_dict(self) -> dict[str, Any]:
17
+
18
+ field_dict: dict[str, Any] = {}
19
+ field_dict.update(self.additional_properties)
20
+
21
+ return field_dict
22
+
23
+ @classmethod
24
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
25
+ d = dict(src_dict)
26
+ artifact_item_extra_info_type_0 = cls()
27
+
28
+ artifact_item_extra_info_type_0.additional_properties = d
29
+ return artifact_item_extra_info_type_0
30
+
31
+ @property
32
+ def additional_keys(self) -> list[str]:
33
+ return list(self.additional_properties.keys())
34
+
35
+ def __getitem__(self, key: str) -> Any:
36
+ return self.additional_properties[key]
37
+
38
+ def __setitem__(self, key: str, value: Any) -> None:
39
+ self.additional_properties[key] = value
40
+
41
+ def __delitem__(self, key: str) -> None:
42
+ del self.additional_properties[key]
43
+
44
+ def __contains__(self, key: str) -> bool:
45
+ return key in self.additional_properties
@@ -0,0 +1,93 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import Any, TypeVar, cast
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ from ..types import UNSET, Unset
10
+
11
+ T = TypeVar("T", bound="ArtifactOpenRequest")
12
+
13
+
14
+ @_attrs_define
15
+ class ArtifactOpenRequest:
16
+ """
17
+ Attributes:
18
+ object_key (None | str | Unset): Object storage key
19
+ data_path (None | str | Unset): Full storage path
20
+ """
21
+
22
+ object_key: None | str | Unset = UNSET
23
+ data_path: None | str | Unset = UNSET
24
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
25
+
26
+ def to_dict(self) -> dict[str, Any]:
27
+ object_key: None | str | Unset
28
+ if isinstance(self.object_key, Unset):
29
+ object_key = UNSET
30
+ else:
31
+ object_key = self.object_key
32
+
33
+ data_path: None | str | Unset
34
+ if isinstance(self.data_path, Unset):
35
+ data_path = UNSET
36
+ else:
37
+ data_path = self.data_path
38
+
39
+ field_dict: dict[str, Any] = {}
40
+ field_dict.update(self.additional_properties)
41
+ field_dict.update({})
42
+ if object_key is not UNSET:
43
+ field_dict["object_key"] = object_key
44
+ if data_path is not UNSET:
45
+ field_dict["data_path"] = data_path
46
+
47
+ return field_dict
48
+
49
+ @classmethod
50
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
51
+ d = dict(src_dict)
52
+
53
+ def _parse_object_key(data: object) -> None | str | Unset:
54
+ if data is None:
55
+ return data
56
+ if isinstance(data, Unset):
57
+ return data
58
+ return cast(None | str | Unset, data)
59
+
60
+ object_key = _parse_object_key(d.pop("object_key", UNSET))
61
+
62
+ def _parse_data_path(data: object) -> None | str | Unset:
63
+ if data is None:
64
+ return data
65
+ if isinstance(data, Unset):
66
+ return data
67
+ return cast(None | str | Unset, data)
68
+
69
+ data_path = _parse_data_path(d.pop("data_path", UNSET))
70
+
71
+ artifact_open_request = cls(
72
+ object_key=object_key,
73
+ data_path=data_path,
74
+ )
75
+
76
+ artifact_open_request.additional_properties = d
77
+ return artifact_open_request
78
+
79
+ @property
80
+ def additional_keys(self) -> list[str]:
81
+ return list(self.additional_properties.keys())
82
+
83
+ def __getitem__(self, key: str) -> Any:
84
+ return self.additional_properties[key]
85
+
86
+ def __setitem__(self, key: str, value: Any) -> None:
87
+ self.additional_properties[key] = value
88
+
89
+ def __delitem__(self, key: str) -> None:
90
+ del self.additional_properties[key]
91
+
92
+ def __contains__(self, key: str) -> bool:
93
+ return key in self.additional_properties
@@ -0,0 +1,61 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import Any, TypeVar, cast
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ T = TypeVar("T", bound="BodyDownloadSingledataListApiPV1SingledataDownloadGet")
10
+
11
+
12
+ @_attrs_define
13
+ class BodyDownloadSingledataListApiPV1SingledataDownloadGet:
14
+ """
15
+ Attributes:
16
+ uuids (list[str]):
17
+ """
18
+
19
+ uuids: list[str]
20
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
21
+
22
+ def to_dict(self) -> dict[str, Any]:
23
+ uuids = self.uuids
24
+
25
+ field_dict: dict[str, Any] = {}
26
+ field_dict.update(self.additional_properties)
27
+ field_dict.update(
28
+ {
29
+ "uuids": uuids,
30
+ }
31
+ )
32
+
33
+ return field_dict
34
+
35
+ @classmethod
36
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
37
+ d = dict(src_dict)
38
+ uuids = cast(list[str], d.pop("uuids"))
39
+
40
+ body_download_singledata_list_api_pv1_singledata_download_get = cls(
41
+ uuids=uuids,
42
+ )
43
+
44
+ body_download_singledata_list_api_pv1_singledata_download_get.additional_properties = d
45
+ return body_download_singledata_list_api_pv1_singledata_download_get
46
+
47
+ @property
48
+ def additional_keys(self) -> list[str]:
49
+ return list(self.additional_properties.keys())
50
+
51
+ def __getitem__(self, key: str) -> Any:
52
+ return self.additional_properties[key]
53
+
54
+ def __setitem__(self, key: str, value: Any) -> None:
55
+ self.additional_properties[key] = value
56
+
57
+ def __delitem__(self, key: str) -> None:
58
+ del self.additional_properties[key]
59
+
60
+ def __contains__(self, key: str) -> bool:
61
+ return key in self.additional_properties
@@ -0,0 +1,69 @@
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="ChangePasswordRequest")
10
+
11
+
12
+ @_attrs_define
13
+ class ChangePasswordRequest:
14
+ """
15
+ Attributes:
16
+ old_password (str):
17
+ new_password (str):
18
+ """
19
+
20
+ old_password: str
21
+ new_password: str
22
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
23
+
24
+ def to_dict(self) -> dict[str, Any]:
25
+ old_password = self.old_password
26
+
27
+ new_password = self.new_password
28
+
29
+ field_dict: dict[str, Any] = {}
30
+ field_dict.update(self.additional_properties)
31
+ field_dict.update(
32
+ {
33
+ "old_password": old_password,
34
+ "new_password": new_password,
35
+ }
36
+ )
37
+
38
+ return field_dict
39
+
40
+ @classmethod
41
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
42
+ d = dict(src_dict)
43
+ old_password = d.pop("old_password")
44
+
45
+ new_password = d.pop("new_password")
46
+
47
+ change_password_request = cls(
48
+ old_password=old_password,
49
+ new_password=new_password,
50
+ )
51
+
52
+ change_password_request.additional_properties = d
53
+ return change_password_request
54
+
55
+ @property
56
+ def additional_keys(self) -> list[str]:
57
+ return list(self.additional_properties.keys())
58
+
59
+ def __getitem__(self, key: str) -> Any:
60
+ return self.additional_properties[key]
61
+
62
+ def __setitem__(self, key: str, value: Any) -> None:
63
+ self.additional_properties[key] = value
64
+
65
+ def __delitem__(self, key: str) -> None:
66
+ del self.additional_properties[key]
67
+
68
+ def __contains__(self, key: str) -> bool:
69
+ return key in self.additional_properties
@@ -0,0 +1,69 @@
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="CheckpointDownloadRequest")
10
+
11
+
12
+ @_attrs_define
13
+ class CheckpointDownloadRequest:
14
+ """
15
+ Attributes:
16
+ run_uuid (str): UUID of the run
17
+ checkpoint_path (str): Path to the checkpoint
18
+ """
19
+
20
+ run_uuid: str
21
+ checkpoint_path: str
22
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
23
+
24
+ def to_dict(self) -> dict[str, Any]:
25
+ run_uuid = self.run_uuid
26
+
27
+ checkpoint_path = self.checkpoint_path
28
+
29
+ field_dict: dict[str, Any] = {}
30
+ field_dict.update(self.additional_properties)
31
+ field_dict.update(
32
+ {
33
+ "run_uuid": run_uuid,
34
+ "checkpoint_path": checkpoint_path,
35
+ }
36
+ )
37
+
38
+ return field_dict
39
+
40
+ @classmethod
41
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
42
+ d = dict(src_dict)
43
+ run_uuid = d.pop("run_uuid")
44
+
45
+ checkpoint_path = d.pop("checkpoint_path")
46
+
47
+ checkpoint_download_request = cls(
48
+ run_uuid=run_uuid,
49
+ checkpoint_path=checkpoint_path,
50
+ )
51
+
52
+ checkpoint_download_request.additional_properties = d
53
+ return checkpoint_download_request
54
+
55
+ @property
56
+ def additional_keys(self) -> list[str]:
57
+ return list(self.additional_properties.keys())
58
+
59
+ def __getitem__(self, key: str) -> Any:
60
+ return self.additional_properties[key]
61
+
62
+ def __setitem__(self, key: str, value: Any) -> None:
63
+ self.additional_properties[key] = value
64
+
65
+ def __delitem__(self, key: str) -> None:
66
+ del self.additional_properties[key]
67
+
68
+ def __contains__(self, key: str) -> bool:
69
+ return key in self.additional_properties
@@ -0,0 +1,72 @@
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
+ from ..types import UNSET, Unset
10
+
11
+ T = TypeVar("T", bound="CreateGroupRequest")
12
+
13
+
14
+ @_attrs_define
15
+ class CreateGroupRequest:
16
+ """
17
+ Attributes:
18
+ name (str):
19
+ description (str | Unset): Default: ''.
20
+ """
21
+
22
+ name: str
23
+ description: str | Unset = ""
24
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
25
+
26
+ def to_dict(self) -> dict[str, Any]:
27
+ name = self.name
28
+
29
+ description = self.description
30
+
31
+ field_dict: dict[str, Any] = {}
32
+ field_dict.update(self.additional_properties)
33
+ field_dict.update(
34
+ {
35
+ "name": name,
36
+ }
37
+ )
38
+ if description is not UNSET:
39
+ field_dict["description"] = description
40
+
41
+ return field_dict
42
+
43
+ @classmethod
44
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
45
+ d = dict(src_dict)
46
+ name = d.pop("name")
47
+
48
+ description = d.pop("description", UNSET)
49
+
50
+ create_group_request = cls(
51
+ name=name,
52
+ description=description,
53
+ )
54
+
55
+ create_group_request.additional_properties = d
56
+ return create_group_request
57
+
58
+ @property
59
+ def additional_keys(self) -> list[str]:
60
+ return list(self.additional_properties.keys())
61
+
62
+ def __getitem__(self, key: str) -> Any:
63
+ return self.additional_properties[key]
64
+
65
+ def __setitem__(self, key: str, value: Any) -> None:
66
+ self.additional_properties[key] = value
67
+
68
+ def __delitem__(self, key: str) -> None:
69
+ del self.additional_properties[key]
70
+
71
+ def __contains__(self, key: str) -> bool:
72
+ return key in self.additional_properties