label-studio-sdk 1.0.20__py3-none-any.whl → 2.0.1__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.

Potentially problematic release.


This version of label-studio-sdk might be problematic. Click here for more details.

Files changed (421) hide show
  1. label_studio_sdk/__init__.py +345 -180
  2. label_studio_sdk/actions/__init__.py +4 -0
  3. label_studio_sdk/actions/client.py +46 -10
  4. label_studio_sdk/actions/types/__init__.py +4 -0
  5. label_studio_sdk/actions/types/actions_create_request_filters.py +2 -2
  6. label_studio_sdk/actions/types/actions_create_request_filters_items_item.py +2 -2
  7. label_studio_sdk/actions/types/actions_create_request_id.py +7 -7
  8. label_studio_sdk/actions/types/actions_create_request_selected_items_excluded.py +2 -2
  9. label_studio_sdk/actions/types/actions_create_request_selected_items_included.py +2 -2
  10. label_studio_sdk/actions/types/actions_list_response_item.py +25 -0
  11. label_studio_sdk/actions/types/actions_list_response_item_dialog.py +22 -0
  12. label_studio_sdk/annotations/__init__.py +2 -2
  13. label_studio_sdk/annotations/client.py +379 -243
  14. label_studio_sdk/annotations/types/__init__.py +4 -2
  15. label_studio_sdk/annotations/types/annotation_bulk_serializer_with_selected_items_request_last_action.py +7 -0
  16. label_studio_sdk/annotations/types/annotations_create_bulk_response_item.py +8 -5
  17. label_studio_sdk/base_client.py +32 -24
  18. label_studio_sdk/billing/__init__.py +2 -0
  19. label_studio_sdk/billing/client.py +112 -0
  20. label_studio_sdk/comments/client.py +378 -140
  21. label_studio_sdk/converter/README.md +207 -0
  22. label_studio_sdk/converter/imports/coco.py +132 -23
  23. label_studio_sdk/core/__init__.py +4 -0
  24. label_studio_sdk/core/unchecked_base_model.py +305 -0
  25. label_studio_sdk/environment.py +1 -1
  26. label_studio_sdk/errors/__init__.py +10 -1
  27. label_studio_sdk/errors/forbidden_error.py +9 -0
  28. label_studio_sdk/errors/method_not_allowed_error.py +9 -0
  29. label_studio_sdk/export_storage/__init__.py +1 -24
  30. label_studio_sdk/export_storage/azure/__init__.py +0 -3
  31. label_studio_sdk/export_storage/azure/client.py +231 -273
  32. label_studio_sdk/export_storage/client.py +5 -5
  33. label_studio_sdk/export_storage/gcs/__init__.py +0 -3
  34. label_studio_sdk/export_storage/gcs/client.py +231 -273
  35. label_studio_sdk/export_storage/local/__init__.py +0 -3
  36. label_studio_sdk/export_storage/local/client.py +211 -253
  37. label_studio_sdk/export_storage/redis/__init__.py +0 -3
  38. label_studio_sdk/export_storage/redis/client.py +239 -281
  39. label_studio_sdk/export_storage/s3/__init__.py +0 -3
  40. label_studio_sdk/export_storage/s3/client.py +254 -296
  41. label_studio_sdk/export_storage/s3s/client.py +694 -210
  42. label_studio_sdk/export_storage/types/export_storage_list_types_response_item.py +2 -2
  43. label_studio_sdk/files/client.py +52 -71
  44. label_studio_sdk/import_storage/__init__.py +1 -24
  45. label_studio_sdk/import_storage/azure/__init__.py +0 -3
  46. label_studio_sdk/import_storage/azure/client.py +249 -299
  47. label_studio_sdk/import_storage/client.py +5 -5
  48. label_studio_sdk/import_storage/gcs/__init__.py +0 -3
  49. label_studio_sdk/import_storage/gcs/client.py +249 -299
  50. label_studio_sdk/import_storage/local/__init__.py +0 -3
  51. label_studio_sdk/import_storage/local/client.py +211 -257
  52. label_studio_sdk/import_storage/redis/__init__.py +0 -3
  53. label_studio_sdk/import_storage/redis/client.py +239 -285
  54. label_studio_sdk/import_storage/s3/__init__.py +0 -3
  55. label_studio_sdk/import_storage/s3/client.py +274 -324
  56. label_studio_sdk/import_storage/s3s/client.py +728 -434
  57. label_studio_sdk/import_storage/types/import_storage_list_types_response_item.py +2 -2
  58. label_studio_sdk/jwt_settings/client.py +56 -58
  59. label_studio_sdk/label_interface/control_tags.py +48 -8
  60. label_studio_sdk/label_interface/interface.py +261 -56
  61. label_studio_sdk/ml/__init__.py +2 -16
  62. label_studio_sdk/ml/client.py +196 -179
  63. label_studio_sdk/ml/types/__init__.py +2 -12
  64. label_studio_sdk/ml/types/ml_list_model_versions_response.py +20 -0
  65. label_studio_sdk/model_providers/__init__.py +3 -0
  66. label_studio_sdk/model_providers/client.py +280 -228
  67. label_studio_sdk/model_providers/types/__init__.py +5 -0
  68. label_studio_sdk/{prompts/types/prompts_batch_predictions_response.py → model_providers/types/model_providers_list_model_provider_choices_response.py} +3 -3
  69. label_studio_sdk/organizations/__init__.py +5 -0
  70. label_studio_sdk/organizations/client.py +331 -0
  71. label_studio_sdk/organizations/members/__init__.py +2 -0
  72. label_studio_sdk/organizations/members/client.py +636 -0
  73. label_studio_sdk/predictions/client.py +29 -77
  74. label_studio_sdk/projects/__init__.py +18 -9
  75. label_studio_sdk/projects/client.py +905 -414
  76. label_studio_sdk/projects/exports/__init__.py +2 -2
  77. label_studio_sdk/projects/exports/client.py +336 -396
  78. label_studio_sdk/projects/exports/client_ext.py +30 -30
  79. label_studio_sdk/projects/exports/types/__init__.py +1 -2
  80. label_studio_sdk/projects/exports/types/exports_convert_response.py +5 -9
  81. label_studio_sdk/projects/pauses/client.py +114 -105
  82. label_studio_sdk/projects/stats/__init__.py +5 -0
  83. label_studio_sdk/projects/stats/client.py +175 -0
  84. label_studio_sdk/projects/stats/types/__init__.py +8 -0
  85. label_studio_sdk/projects/stats/types/stats_iaa_response.py +44 -0
  86. label_studio_sdk/projects/stats/types/stats_iaa_response_common_tasks.py +7 -0
  87. label_studio_sdk/projects/stats/types/stats_iaa_response_iaa.py +5 -0
  88. label_studio_sdk/{types/base_task_file_upload.py → projects/stats/types/stats_iaa_response_std.py} +1 -1
  89. label_studio_sdk/projects/types/__init__.py +10 -6
  90. label_studio_sdk/projects/types/lse_project_create_request_sampling.py +7 -0
  91. label_studio_sdk/projects/types/lse_project_create_request_skip_queue.py +7 -0
  92. label_studio_sdk/projects/types/patched_lse_project_update_request_sampling.py +7 -0
  93. label_studio_sdk/projects/types/patched_lse_project_update_request_skip_queue.py +7 -0
  94. label_studio_sdk/{prompts/types/prompts_batch_failed_predictions_response.py → projects/types/projects_duplicate_response.py} +8 -5
  95. label_studio_sdk/projects/types/projects_import_tasks_response.py +2 -2
  96. label_studio_sdk/projects/types/projects_list_request_filter.py +1 -1
  97. label_studio_sdk/prompts/__init__.py +4 -10
  98. label_studio_sdk/prompts/client.py +511 -442
  99. label_studio_sdk/prompts/indicators/__init__.py +3 -0
  100. label_studio_sdk/prompts/indicators/client.py +47 -49
  101. label_studio_sdk/prompts/indicators/types/__init__.py +5 -0
  102. label_studio_sdk/{types/key_indicator_value.py → prompts/indicators/types/indicators_list_response_item.py} +3 -3
  103. label_studio_sdk/prompts/runs/client.py +113 -135
  104. label_studio_sdk/prompts/types/__init__.py +2 -12
  105. label_studio_sdk/prompts/types/prompts_compatible_projects_request_project_type.py +7 -0
  106. label_studio_sdk/prompts/versions/client.py +372 -312
  107. label_studio_sdk/tasks/__init__.py +2 -2
  108. label_studio_sdk/tasks/client.py +514 -213
  109. label_studio_sdk/tasks/types/__init__.py +1 -2
  110. label_studio_sdk/tokens/client.py +160 -152
  111. label_studio_sdk/tokens/client_ext.py +3 -3
  112. label_studio_sdk/types/__init__.py +276 -142
  113. label_studio_sdk/{webhooks/types/webhooks_update_request_actions_item.py → types/actions_enum.py} +4 -1
  114. label_studio_sdk/types/all_roles_project_list.py +197 -0
  115. label_studio_sdk/types/all_roles_project_list_sampling.py +7 -0
  116. label_studio_sdk/types/all_roles_project_list_skip_queue.py +7 -0
  117. label_studio_sdk/types/annotated_enum.py +5 -0
  118. label_studio_sdk/types/annotation.py +24 -10
  119. label_studio_sdk/types/annotation_last_action.py +3 -15
  120. label_studio_sdk/types/{annotations_dm_field.py → annotation_request.py} +21 -30
  121. label_studio_sdk/types/annotation_request_last_action.py +7 -0
  122. label_studio_sdk/types/assignment_settings.py +31 -0
  123. label_studio_sdk/types/assignment_settings_label_stream_task_distribution.py +7 -0
  124. label_studio_sdk/types/assignment_settings_request.py +32 -0
  125. label_studio_sdk/types/assignment_settings_request_label_stream_task_distribution.py +7 -0
  126. label_studio_sdk/types/associated_project.py +30 -0
  127. label_studio_sdk/types/auth_method_enum.py +5 -0
  128. label_studio_sdk/types/azure_blob_export_storage.py +8 -12
  129. label_studio_sdk/types/azure_blob_import_storage.py +8 -12
  130. label_studio_sdk/types/{prompt_associated_projects_item_id.py → batch_failed_predictions.py} +4 -4
  131. label_studio_sdk/types/{access_token_response.py → batch_predictions.py} +6 -8
  132. label_studio_sdk/types/billing_checks.py +39 -0
  133. label_studio_sdk/types/billing_flags.py +44 -0
  134. label_studio_sdk/types/billing_info_response.py +22 -0
  135. label_studio_sdk/types/blank_enum.py +5 -0
  136. label_studio_sdk/types/{key_indicators_item_extra_kpis_item.py → blueprint_list.py} +12 -6
  137. label_studio_sdk/types/budget_reset_period_enum.py +5 -0
  138. label_studio_sdk/types/child_filter.py +44 -0
  139. label_studio_sdk/types/comment.py +39 -14
  140. label_studio_sdk/types/comment_request.py +32 -0
  141. label_studio_sdk/types/comment_serializer_with_expanded_user.py +53 -0
  142. label_studio_sdk/types/converted_format.py +5 -5
  143. label_studio_sdk/types/{api_token_response.py → converted_format_request.py} +8 -15
  144. label_studio_sdk/types/count_limit.py +22 -0
  145. label_studio_sdk/types/custom_scripts_editable_by_enum.py +5 -0
  146. label_studio_sdk/types/default_role_enum.py +5 -0
  147. label_studio_sdk/types/edition_enum.py +5 -0
  148. label_studio_sdk/types/export.py +7 -7
  149. label_studio_sdk/types/file_upload.py +5 -5
  150. label_studio_sdk/types/filter.py +9 -6
  151. label_studio_sdk/types/filter_group.py +3 -3
  152. label_studio_sdk/types/finished_enum.py +5 -0
  153. label_studio_sdk/types/gcs_export_storage.py +8 -12
  154. label_studio_sdk/types/gcs_import_storage.py +8 -12
  155. label_studio_sdk/types/{rotate_token_response.py → hotkeys.py} +5 -8
  156. label_studio_sdk/types/{base_task.py → import_api_request.py} +11 -34
  157. label_studio_sdk/types/inference_run_cost_estimate.py +2 -2
  158. label_studio_sdk/types/label_stream_task_distribution_enum.py +5 -0
  159. label_studio_sdk/types/{annotations_dm_field_last_action.py → last_action_enum.py} +1 -1
  160. label_studio_sdk/types/local_files_export_storage.py +8 -12
  161. label_studio_sdk/types/local_files_import_storage.py +8 -12
  162. label_studio_sdk/types/{annotation_filter_options.py → lse_annotation_filter_options.py} +12 -2
  163. label_studio_sdk/types/lse_annotation_filter_options_request.py +42 -0
  164. label_studio_sdk/types/lse_annotation_filter_options_request_reviewed.py +7 -0
  165. label_studio_sdk/types/lse_annotation_filter_options_reviewed.py +7 -0
  166. label_studio_sdk/types/{export_snapshot.py → lse_export_create.py} +11 -11
  167. label_studio_sdk/types/lse_fields.py +49 -0
  168. label_studio_sdk/types/lse_fields_onboarding_state.py +8 -0
  169. label_studio_sdk/types/lse_fields_trial_role.py +8 -0
  170. label_studio_sdk/types/lse_key_indicator_value.py +35 -0
  171. label_studio_sdk/types/lse_organization.py +57 -0
  172. label_studio_sdk/types/lse_organization_custom_scripts_editable_by.py +7 -0
  173. label_studio_sdk/types/{key_indicators_item_additional_kpis_item.py → lse_organization_member_list.py} +12 -7
  174. label_studio_sdk/types/lse_project_create.py +196 -0
  175. label_studio_sdk/types/lse_project_create_sampling.py +7 -0
  176. label_studio_sdk/types/lse_project_create_skip_queue.py +7 -0
  177. label_studio_sdk/types/lse_project_update.py +215 -0
  178. label_studio_sdk/types/lse_project_update_sampling.py +7 -0
  179. label_studio_sdk/types/lse_project_update_skip_queue.py +7 -0
  180. label_studio_sdk/types/lse_s3export_storage.py +134 -0
  181. label_studio_sdk/{import_storage/s3/types/s3create_response.py → types/lse_s3export_storage_request.py} +47 -21
  182. label_studio_sdk/{import_storage/s3/types/s3update_response.py → types/lse_s3import_storage.py} +60 -21
  183. label_studio_sdk/types/{s3s_import_storage.py → lse_s3import_storage_request.py} +32 -21
  184. label_studio_sdk/types/lse_task.py +117 -0
  185. label_studio_sdk/types/{data_manager_task_serializer_drafts_item.py → lse_task_drafts_item.py} +2 -2
  186. label_studio_sdk/types/lse_task_filter_options.py +63 -0
  187. label_studio_sdk/types/lse_task_filter_options_annotated.py +7 -0
  188. label_studio_sdk/types/lse_task_filter_options_finished.py +7 -0
  189. label_studio_sdk/types/lse_task_filter_options_request.py +63 -0
  190. label_studio_sdk/types/lse_task_filter_options_request_annotated.py +7 -0
  191. label_studio_sdk/types/lse_task_filter_options_request_finished.py +7 -0
  192. label_studio_sdk/types/lse_task_filter_options_request_reviewed.py +7 -0
  193. label_studio_sdk/types/lse_task_filter_options_request_skipped.py +7 -0
  194. label_studio_sdk/types/lse_task_filter_options_reviewed.py +7 -0
  195. label_studio_sdk/types/lse_task_filter_options_skipped.py +7 -0
  196. label_studio_sdk/types/{data_manager_task_serializer_predictions_item.py → lse_task_predictions_item.py} +4 -5
  197. label_studio_sdk/types/lse_task_serializer_for_annotators.py +54 -0
  198. label_studio_sdk/types/lse_task_serializer_for_annotators_drafts_item.py +22 -0
  199. label_studio_sdk/types/lse_task_serializer_for_annotators_predictions_item.py +28 -0
  200. label_studio_sdk/types/lse_task_serializer_for_reviewers.py +117 -0
  201. label_studio_sdk/types/lse_task_serializer_for_reviewers_drafts_item.py +22 -0
  202. label_studio_sdk/types/lse_task_serializer_for_reviewers_predictions_item.py +28 -0
  203. label_studio_sdk/types/lse_user.py +49 -0
  204. label_studio_sdk/types/{base_user.py → lse_user_api.py} +17 -6
  205. label_studio_sdk/types/lse_user_organization_member_list.py +48 -0
  206. label_studio_sdk/types/lseapi_token_create.py +21 -0
  207. label_studio_sdk/types/lseapi_token_list.py +21 -0
  208. label_studio_sdk/types/lsejwt_settings.py +32 -0
  209. label_studio_sdk/types/maybe_expanded_comment.py +7 -0
  210. label_studio_sdk/types/ml_backend.py +16 -17
  211. label_studio_sdk/types/mode_enum.py +5 -0
  212. label_studio_sdk/types/model_interface.py +44 -0
  213. label_studio_sdk/types/model_interface_request.py +40 -0
  214. label_studio_sdk/types/model_interface_serializer_get.py +45 -0
  215. label_studio_sdk/types/model_provider_connection.py +48 -17
  216. label_studio_sdk/types/model_provider_connection_budget_reset_period.py +3 -1
  217. label_studio_sdk/types/model_provider_connection_request.py +71 -0
  218. label_studio_sdk/types/model_run.py +40 -0
  219. label_studio_sdk/types/{inference_run_status.py → model_run_status_enum.py} +1 -1
  220. label_studio_sdk/types/null_enum.py +3 -0
  221. label_studio_sdk/types/onboarding_state_enum.py +7 -0
  222. label_studio_sdk/types/organization_billing.py +20 -0
  223. label_studio_sdk/types/organization_id.py +28 -0
  224. label_studio_sdk/types/organization_invite.py +20 -0
  225. label_studio_sdk/types/organization_member.py +37 -0
  226. label_studio_sdk/types/organization_membership.py +24 -0
  227. label_studio_sdk/{projects/types/projects_list_response.py → types/paginated_all_roles_project_list_list.py} +5 -5
  228. label_studio_sdk/types/paginated_lse_organization_member_list_list.py +23 -0
  229. label_studio_sdk/types/{jwt_settings_response.py → paginated_role_based_task_list.py} +11 -9
  230. label_studio_sdk/types/pause.py +55 -14
  231. label_studio_sdk/types/pause_request.py +41 -0
  232. label_studio_sdk/types/prediction.py +7 -11
  233. label_studio_sdk/types/prediction_request.py +56 -0
  234. label_studio_sdk/types/project.py +32 -39
  235. label_studio_sdk/types/project_import.py +12 -13
  236. label_studio_sdk/types/project_label_config.py +2 -2
  237. label_studio_sdk/types/project_label_config_request.py +22 -0
  238. label_studio_sdk/types/project_sampling.py +3 -3
  239. label_studio_sdk/types/project_skip_queue.py +3 -1
  240. label_studio_sdk/types/project_subset_enum.py +5 -0
  241. label_studio_sdk/types/prompts_status_enum.py +16 -0
  242. label_studio_sdk/types/{prompt_version_provider.py → provider_enum.py} +1 -1
  243. label_studio_sdk/types/reason_enum.py +7 -0
  244. label_studio_sdk/types/redis_export_storage.py +8 -12
  245. label_studio_sdk/types/redis_import_storage.py +8 -12
  246. label_studio_sdk/types/refined_prompt_response.py +5 -6
  247. label_studio_sdk/types/requeue_rejected_tasks_mode_enum.py +5 -0
  248. label_studio_sdk/types/review_criteria_enum.py +5 -0
  249. label_studio_sdk/types/review_settings.py +80 -0
  250. label_studio_sdk/types/review_settings_request.py +80 -0
  251. label_studio_sdk/types/review_settings_request_requeue_rejected_tasks_mode.py +8 -0
  252. label_studio_sdk/types/review_settings_request_review_criteria.py +7 -0
  253. label_studio_sdk/types/review_settings_requeue_rejected_tasks_mode.py +8 -0
  254. label_studio_sdk/types/review_settings_review_criteria.py +7 -0
  255. label_studio_sdk/types/reviewed_enum.py +5 -0
  256. label_studio_sdk/types/role9e7enum.py +5 -0
  257. label_studio_sdk/types/role_based_task.py +8 -0
  258. label_studio_sdk/types/s3export_storage.py +8 -12
  259. label_studio_sdk/types/s3import_storage.py +8 -12
  260. label_studio_sdk/types/sampling_enum.py +7 -0
  261. label_studio_sdk/types/scope_enum.py +5 -0
  262. label_studio_sdk/types/selected_items_request.py +23 -0
  263. label_studio_sdk/types/serialization_option.py +2 -6
  264. label_studio_sdk/types/serialization_option_request.py +22 -0
  265. label_studio_sdk/types/serialization_options.py +17 -5
  266. label_studio_sdk/types/serialization_options_request.py +47 -0
  267. label_studio_sdk/types/skill_name_enum.py +5 -0
  268. label_studio_sdk/types/skip_queue_enum.py +5 -0
  269. label_studio_sdk/types/skipped_enum.py +5 -0
  270. label_studio_sdk/types/state_enum.py +5 -0
  271. label_studio_sdk/types/status7bf_enum.py +5 -0
  272. label_studio_sdk/types/{azure_blob_import_storage_status.py → status_c5a_enum.py} +2 -2
  273. label_studio_sdk/types/third_party_model_version.py +65 -0
  274. label_studio_sdk/types/third_party_model_version_request.py +54 -0
  275. label_studio_sdk/types/token_refresh_response.py +19 -0
  276. label_studio_sdk/types/token_rotate_response.py +19 -0
  277. label_studio_sdk/types/trial_role_enum.py +16 -0
  278. label_studio_sdk/types/user_simple.py +8 -5
  279. label_studio_sdk/types/user_simple_request.py +28 -0
  280. label_studio_sdk/types/version_response.py +49 -0
  281. label_studio_sdk/types/view.py +8 -15
  282. label_studio_sdk/types/webhook.py +9 -13
  283. label_studio_sdk/types/webhook_serializer_for_update.py +15 -13
  284. label_studio_sdk/types/workspace.py +14 -34
  285. label_studio_sdk/types/workspace_member_create.py +27 -0
  286. label_studio_sdk/types/workspace_member_list.py +24 -0
  287. label_studio_sdk/users/client.py +604 -87
  288. label_studio_sdk/users/types/users_get_token_response.py +4 -11
  289. label_studio_sdk/users/types/users_reset_token_response.py +4 -11
  290. label_studio_sdk/versions/__init__.py +0 -3
  291. label_studio_sdk/versions/client.py +14 -14
  292. label_studio_sdk/views/client.py +227 -141
  293. label_studio_sdk/views/types/views_create_request_data.py +2 -2
  294. label_studio_sdk/views/types/views_create_request_data_filters.py +2 -2
  295. label_studio_sdk/views/types/views_create_request_data_filters_items_item.py +2 -2
  296. label_studio_sdk/views/types/views_update_request_data.py +2 -2
  297. label_studio_sdk/views/types/views_update_request_data_filters.py +2 -2
  298. label_studio_sdk/views/types/views_update_request_data_filters_items_item.py +2 -2
  299. label_studio_sdk/webhooks/__init__.py +36 -2
  300. label_studio_sdk/webhooks/client.py +173 -367
  301. label_studio_sdk/webhooks/types/__init__.py +34 -2
  302. label_studio_sdk/webhooks/types/webhooks_info_response.py +80 -0
  303. label_studio_sdk/webhooks/types/webhooks_info_response_annotation_created.py +24 -0
  304. label_studio_sdk/webhooks/types/webhooks_info_response_annotation_updated.py +24 -0
  305. label_studio_sdk/webhooks/types/webhooks_info_response_annotations_created.py +24 -0
  306. label_studio_sdk/webhooks/types/webhooks_info_response_annotations_deleted.py +24 -0
  307. label_studio_sdk/webhooks/types/webhooks_info_response_label_link_created.py +24 -0
  308. label_studio_sdk/webhooks/types/webhooks_info_response_label_link_deleted.py +24 -0
  309. label_studio_sdk/webhooks/types/webhooks_info_response_label_link_updated.py +24 -0
  310. label_studio_sdk/webhooks/types/webhooks_info_response_project_created.py +24 -0
  311. label_studio_sdk/webhooks/types/webhooks_info_response_project_deleted.py +24 -0
  312. label_studio_sdk/webhooks/types/webhooks_info_response_project_updated.py +24 -0
  313. label_studio_sdk/webhooks/types/webhooks_info_response_review_created.py +24 -0
  314. label_studio_sdk/webhooks/types/webhooks_info_response_review_updated.py +24 -0
  315. label_studio_sdk/webhooks/types/webhooks_info_response_reviews_deleted.py +24 -0
  316. label_studio_sdk/webhooks/types/webhooks_info_response_tasks_created.py +24 -0
  317. label_studio_sdk/webhooks/types/webhooks_info_response_tasks_deleted.py +24 -0
  318. label_studio_sdk/workspaces/__init__.py +1 -2
  319. label_studio_sdk/workspaces/client.py +97 -117
  320. label_studio_sdk/workspaces/members/__init__.py +0 -3
  321. label_studio_sdk/workspaces/members/client.py +65 -81
  322. {label_studio_sdk-1.0.20.dist-info → label_studio_sdk-2.0.1.dist-info}/METADATA +73 -25
  323. label_studio_sdk-2.0.1.dist-info/RECORD +435 -0
  324. {label_studio_sdk-1.0.20.dist-info → label_studio_sdk-2.0.1.dist-info}/WHEEL +1 -1
  325. label_studio_sdk/annotations/types/annotations_create_bulk_request_selected_items.py +0 -34
  326. label_studio_sdk/export_storage/azure/types/__init__.py +0 -6
  327. label_studio_sdk/export_storage/azure/types/azure_create_response.py +0 -57
  328. label_studio_sdk/export_storage/azure/types/azure_update_response.py +0 -57
  329. label_studio_sdk/export_storage/gcs/types/__init__.py +0 -6
  330. label_studio_sdk/export_storage/gcs/types/gcs_create_response.py +0 -57
  331. label_studio_sdk/export_storage/gcs/types/gcs_update_response.py +0 -57
  332. label_studio_sdk/export_storage/local/types/__init__.py +0 -6
  333. label_studio_sdk/export_storage/local/types/local_create_response.py +0 -47
  334. label_studio_sdk/export_storage/local/types/local_update_response.py +0 -47
  335. label_studio_sdk/export_storage/redis/types/__init__.py +0 -6
  336. label_studio_sdk/export_storage/redis/types/redis_create_response.py +0 -62
  337. label_studio_sdk/export_storage/redis/types/redis_update_response.py +0 -62
  338. label_studio_sdk/export_storage/s3/types/__init__.py +0 -6
  339. label_studio_sdk/export_storage/s3/types/s3create_response.py +0 -81
  340. label_studio_sdk/export_storage/s3/types/s3update_response.py +0 -81
  341. label_studio_sdk/import_storage/azure/types/__init__.py +0 -6
  342. label_studio_sdk/import_storage/azure/types/azure_create_response.py +0 -72
  343. label_studio_sdk/import_storage/azure/types/azure_update_response.py +0 -72
  344. label_studio_sdk/import_storage/gcs/types/__init__.py +0 -6
  345. label_studio_sdk/import_storage/gcs/types/gcs_create_response.py +0 -72
  346. label_studio_sdk/import_storage/gcs/types/gcs_update_response.py +0 -72
  347. label_studio_sdk/import_storage/local/types/__init__.py +0 -6
  348. label_studio_sdk/import_storage/local/types/local_create_response.py +0 -47
  349. label_studio_sdk/import_storage/local/types/local_update_response.py +0 -47
  350. label_studio_sdk/import_storage/redis/types/__init__.py +0 -6
  351. label_studio_sdk/import_storage/redis/types/redis_create_response.py +0 -62
  352. label_studio_sdk/import_storage/redis/types/redis_update_response.py +0 -62
  353. label_studio_sdk/import_storage/s3/types/__init__.py +0 -6
  354. label_studio_sdk/ml/types/ml_create_response.py +0 -68
  355. label_studio_sdk/ml/types/ml_create_response_auth_method.py +0 -5
  356. label_studio_sdk/ml/types/ml_update_response.py +0 -68
  357. label_studio_sdk/ml/types/ml_update_response_auth_method.py +0 -5
  358. label_studio_sdk/projects/exports/types/exports_list_formats_response_item.py +0 -44
  359. label_studio_sdk/projects/types/projects_create_response.py +0 -91
  360. label_studio_sdk/projects/types/projects_update_response.py +0 -96
  361. label_studio_sdk/prompts/types/prompts_batch_failed_predictions_request_failed_predictions_item.py +0 -32
  362. label_studio_sdk/prompts/types/prompts_batch_predictions_request_results_item.py +0 -59
  363. label_studio_sdk/tasks/types/tasks_list_response.py +0 -38
  364. label_studio_sdk/types/annotation_completed_by.py +0 -6
  365. label_studio_sdk/types/azure_blob_export_storage_status.py +0 -7
  366. label_studio_sdk/types/base_task_updated_by.py +0 -7
  367. label_studio_sdk/types/comment_created_by.py +0 -5
  368. label_studio_sdk/types/converted_format_status.py +0 -5
  369. label_studio_sdk/types/data_manager_task_serializer.py +0 -118
  370. label_studio_sdk/types/data_manager_task_serializer_annotators_item.py +0 -5
  371. label_studio_sdk/types/data_manager_task_serializer_comment_authors_item.py +0 -5
  372. label_studio_sdk/types/data_manager_task_serializer_predictions_item_model_run.py +0 -5
  373. label_studio_sdk/types/export_format.py +0 -25
  374. label_studio_sdk/types/export_snapshot_status.py +0 -5
  375. label_studio_sdk/types/export_status.py +0 -5
  376. label_studio_sdk/types/gcs_export_storage_status.py +0 -7
  377. label_studio_sdk/types/gcs_import_storage_status.py +0 -7
  378. label_studio_sdk/types/inference_run.py +0 -34
  379. label_studio_sdk/types/inference_run_created_by.py +0 -5
  380. label_studio_sdk/types/inference_run_organization.py +0 -5
  381. label_studio_sdk/types/inference_run_project_subset.py +0 -5
  382. label_studio_sdk/types/key_indicators.py +0 -6
  383. label_studio_sdk/types/key_indicators_item.py +0 -41
  384. label_studio_sdk/types/local_files_export_storage_status.py +0 -7
  385. label_studio_sdk/types/local_files_import_storage_status.py +0 -7
  386. label_studio_sdk/types/ml_backend_auth_method.py +0 -5
  387. label_studio_sdk/types/ml_backend_state.py +0 -5
  388. label_studio_sdk/types/model_provider_connection_created_by.py +0 -5
  389. label_studio_sdk/types/model_provider_connection_organization.py +0 -5
  390. label_studio_sdk/types/model_provider_connection_provider.py +0 -7
  391. label_studio_sdk/types/model_provider_connection_scope.py +0 -5
  392. label_studio_sdk/types/pause_paused_by.py +0 -5
  393. label_studio_sdk/types/project_import_status.py +0 -5
  394. label_studio_sdk/types/prompt.py +0 -71
  395. label_studio_sdk/types/prompt_associated_projects_item.py +0 -6
  396. label_studio_sdk/types/prompt_created_by.py +0 -5
  397. label_studio_sdk/types/prompt_organization.py +0 -5
  398. label_studio_sdk/types/prompt_version.py +0 -32
  399. label_studio_sdk/types/prompt_version_created_by.py +0 -5
  400. label_studio_sdk/types/prompt_version_organization.py +0 -5
  401. label_studio_sdk/types/redis_export_storage_status.py +0 -7
  402. label_studio_sdk/types/redis_import_storage_status.py +0 -7
  403. label_studio_sdk/types/refined_prompt_response_refinement_status.py +0 -7
  404. label_studio_sdk/types/s3export_storage_status.py +0 -7
  405. label_studio_sdk/types/s3import_storage_status.py +0 -7
  406. label_studio_sdk/types/s3s_export_storage.py +0 -73
  407. label_studio_sdk/types/s3s_import_storage_status.py +0 -7
  408. label_studio_sdk/types/task.py +0 -156
  409. label_studio_sdk/types/task_annotators_item.py +0 -5
  410. label_studio_sdk/types/task_comment_authors_item.py +0 -5
  411. label_studio_sdk/types/task_filter_options.py +0 -39
  412. label_studio_sdk/types/webhook_actions_item.py +0 -21
  413. label_studio_sdk/types/webhook_serializer_for_update_actions_item.py +0 -21
  414. label_studio_sdk/versions/types/__init__.py +0 -6
  415. label_studio_sdk/versions/types/versions_get_response.py +0 -73
  416. label_studio_sdk/versions/types/versions_get_response_edition.py +0 -5
  417. label_studio_sdk/workspaces/members/types/__init__.py +0 -6
  418. label_studio_sdk/workspaces/members/types/members_create_response.py +0 -22
  419. label_studio_sdk/workspaces/members/types/members_list_response_item.py +0 -22
  420. label_studio_sdk-1.0.20.dist-info/RECORD +0 -374
  421. {label_studio_sdk-1.0.20.dist-info → label_studio_sdk-2.0.1.dist-info}/LICENSE +0 -0
@@ -0,0 +1,196 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
+ import typing
5
+ import pydantic
6
+ from .user_simple import UserSimple
7
+ import datetime as dt
8
+ from .lse_project_create_sampling import LseProjectCreateSampling
9
+ from .lse_project_create_skip_queue import LseProjectCreateSkipQueue
10
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
11
+
12
+
13
+ class LseProjectCreate(UncheckedBaseModel):
14
+ """
15
+ Serializer get numbers from project queryset annotation,
16
+ make sure, that you use correct one(Project.objects.with_counts())
17
+ """
18
+
19
+ id: int
20
+ title: typing.Optional[str] = pydantic.Field(default=None)
21
+ """
22
+ Project name. Must be between 3 and 50 characters long.
23
+ """
24
+
25
+ description: typing.Optional[str] = pydantic.Field(default=None)
26
+ """
27
+ Project description
28
+ """
29
+
30
+ label_config: typing.Optional[str] = pydantic.Field(default=None)
31
+ """
32
+ Label config in XML format. See more about it in documentation
33
+ """
34
+
35
+ expert_instruction: typing.Optional[str] = pydantic.Field(default=None)
36
+ """
37
+ Labeling instructions in HTML format
38
+ """
39
+
40
+ show_instruction: typing.Optional[bool] = pydantic.Field(default=None)
41
+ """
42
+ Show instructions to the annotator before they start
43
+ """
44
+
45
+ show_skip_button: typing.Optional[bool] = pydantic.Field(default=None)
46
+ """
47
+ Show a skip button in interface and allow annotators to skip the task
48
+ """
49
+
50
+ enable_empty_annotation: typing.Optional[bool] = pydantic.Field(default=None)
51
+ """
52
+ Allow annotators to submit empty annotations
53
+ """
54
+
55
+ show_annotation_history: typing.Optional[bool] = pydantic.Field(default=None)
56
+ """
57
+ Show annotation history to annotator
58
+ """
59
+
60
+ organization: typing.Optional[int] = None
61
+ color: typing.Optional[str] = None
62
+ maximum_annotations: typing.Optional[int] = pydantic.Field(default=None)
63
+ """
64
+ Maximum number of annotations for one task. If the number of annotations per task is equal or greater to this value, the task is completed (is_labeled=True)
65
+ """
66
+
67
+ is_published: typing.Optional[bool] = pydantic.Field(default=None)
68
+ """
69
+ Whether or not the project is published to annotators
70
+ """
71
+
72
+ model_version: typing.Optional[str] = pydantic.Field(default=None)
73
+ """
74
+ Machine learning model version
75
+ """
76
+
77
+ is_draft: typing.Optional[bool] = pydantic.Field(default=None)
78
+ """
79
+ Whether or not the project is in the middle of being created
80
+ """
81
+
82
+ created_by: typing.Optional[UserSimple] = pydantic.Field(default=None)
83
+ """
84
+ Project owner
85
+ """
86
+
87
+ created_at: dt.datetime
88
+ min_annotations_to_start_training: typing.Optional[int] = pydantic.Field(default=None)
89
+ """
90
+ Minimum number of completed tasks after which model training is started
91
+ """
92
+
93
+ start_training_on_annotation_update: bool = pydantic.Field()
94
+ """
95
+ Start model training after any annotations are submitted or updated
96
+ """
97
+
98
+ show_collab_predictions: typing.Optional[bool] = pydantic.Field(default=None)
99
+ """
100
+ If set, the annotator can view model predictions
101
+ """
102
+
103
+ num_tasks_with_annotations: int = pydantic.Field()
104
+ """
105
+ Tasks with annotations count
106
+ """
107
+
108
+ task_number: int = pydantic.Field()
109
+ """
110
+ Total task number in project
111
+ """
112
+
113
+ useful_annotation_number: int = pydantic.Field()
114
+ """
115
+ Useful annotation number in project not including skipped_annotations_number and ground_truth_number. Total annotations = annotation_number + skipped_annotations_number + ground_truth_number
116
+ """
117
+
118
+ ground_truth_number: int = pydantic.Field()
119
+ """
120
+ Honeypot annotation number in project
121
+ """
122
+
123
+ skipped_annotations_number: int = pydantic.Field()
124
+ """
125
+ Skipped by collaborators annotation number in project
126
+ """
127
+
128
+ total_annotations_number: int = pydantic.Field()
129
+ """
130
+ Total annotations number in project including skipped_annotations_number and ground_truth_number.
131
+ """
132
+
133
+ total_predictions_number: int = pydantic.Field()
134
+ """
135
+ Total predictions number in project including skipped_annotations_number, ground_truth_number, and useful_annotation_number.
136
+ """
137
+
138
+ sampling: typing.Optional[LseProjectCreateSampling] = None
139
+ show_ground_truth_first: typing.Optional[bool] = None
140
+ show_overlap_first: typing.Optional[bool] = None
141
+ overlap_cohort_percentage: typing.Optional[int] = None
142
+ task_data_login: typing.Optional[str] = pydantic.Field(default=None)
143
+ """
144
+ Task data credentials: login
145
+ """
146
+
147
+ task_data_password: typing.Optional[str] = pydantic.Field(default=None)
148
+ """
149
+ Task data credentials: password
150
+ """
151
+
152
+ control_weights: typing.Optional[typing.Optional[typing.Any]] = None
153
+ parsed_label_config: typing.Optional[typing.Any] = None
154
+ evaluate_predictions_automatically: typing.Optional[bool] = pydantic.Field(default=None)
155
+ """
156
+ Retrieve and display predictions when loading a task
157
+ """
158
+
159
+ config_has_control_tags: bool = pydantic.Field()
160
+ """
161
+ Flag to detect is project ready for labeling
162
+ """
163
+
164
+ skip_queue: typing.Optional[LseProjectCreateSkipQueue] = None
165
+ reveal_preannotations_interactively: typing.Optional[bool] = pydantic.Field(default=None)
166
+ """
167
+ Reveal pre-annotations interactively
168
+ """
169
+
170
+ pinned_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
171
+ """
172
+ Pinned date and time
173
+ """
174
+
175
+ finished_task_number: int = pydantic.Field()
176
+ """
177
+ Finished tasks
178
+ """
179
+
180
+ queue_total: int
181
+ queue_done: int
182
+ config_suitable_for_bulk_annotation: bool = pydantic.Field()
183
+ """
184
+ Flag to detect is project ready for bulk annotation
185
+ """
186
+
187
+ workspace: typing.Optional[int] = None
188
+
189
+ if IS_PYDANTIC_V2:
190
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
191
+ else:
192
+
193
+ class Config:
194
+ frozen = True
195
+ smart_union = True
196
+ extra = pydantic.Extra.allow
@@ -0,0 +1,7 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+ from .sampling_enum import SamplingEnum
5
+ from .null_enum import NullEnum
6
+
7
+ LseProjectCreateSampling = typing.Union[SamplingEnum, NullEnum]
@@ -0,0 +1,7 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+ from .skip_queue_enum import SkipQueueEnum
5
+ from .null_enum import NullEnum
6
+
7
+ LseProjectCreateSkipQueue = typing.Union[SkipQueueEnum, NullEnum]
@@ -0,0 +1,215 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
+ import typing
5
+ import pydantic
6
+ from .user_simple import UserSimple
7
+ import datetime as dt
8
+ from .lse_project_update_sampling import LseProjectUpdateSampling
9
+ from .lse_project_update_skip_queue import LseProjectUpdateSkipQueue
10
+ from .review_settings import ReviewSettings
11
+ from .assignment_settings import AssignmentSettings
12
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
13
+
14
+
15
+ class LseProjectUpdate(UncheckedBaseModel):
16
+ """
17
+ Serializer get numbers from project queryset annotation,
18
+ make sure, that you use correct one(Project.objects.with_counts())
19
+ """
20
+
21
+ id: int
22
+ title: typing.Optional[str] = pydantic.Field(default=None)
23
+ """
24
+ Project name. Must be between 3 and 50 characters long.
25
+ """
26
+
27
+ description: typing.Optional[str] = pydantic.Field(default=None)
28
+ """
29
+ Project description
30
+ """
31
+
32
+ label_config: typing.Optional[str] = pydantic.Field(default=None)
33
+ """
34
+ Label config in XML format. See more about it in documentation
35
+ """
36
+
37
+ expert_instruction: typing.Optional[str] = pydantic.Field(default=None)
38
+ """
39
+ Labeling instructions in HTML format
40
+ """
41
+
42
+ show_instruction: typing.Optional[bool] = pydantic.Field(default=None)
43
+ """
44
+ Show instructions to the annotator before they start
45
+ """
46
+
47
+ show_skip_button: typing.Optional[bool] = pydantic.Field(default=None)
48
+ """
49
+ Show a skip button in interface and allow annotators to skip the task
50
+ """
51
+
52
+ enable_empty_annotation: typing.Optional[bool] = pydantic.Field(default=None)
53
+ """
54
+ Allow annotators to submit empty annotations
55
+ """
56
+
57
+ show_annotation_history: typing.Optional[bool] = pydantic.Field(default=None)
58
+ """
59
+ Show annotation history to annotator
60
+ """
61
+
62
+ organization: typing.Optional[int] = None
63
+ color: typing.Optional[str] = None
64
+ maximum_annotations: typing.Optional[int] = pydantic.Field(default=None)
65
+ """
66
+ Maximum number of annotations for one task. If the number of annotations per task is equal or greater to this value, the task is completed (is_labeled=True)
67
+ """
68
+
69
+ is_published: typing.Optional[bool] = pydantic.Field(default=None)
70
+ """
71
+ Whether or not the project is published to annotators
72
+ """
73
+
74
+ model_version: typing.Optional[str] = pydantic.Field(default=None)
75
+ """
76
+ Machine learning model version
77
+ """
78
+
79
+ is_draft: typing.Optional[bool] = pydantic.Field(default=None)
80
+ """
81
+ Whether or not the project is in the middle of being created
82
+ """
83
+
84
+ created_by: typing.Optional[UserSimple] = pydantic.Field(default=None)
85
+ """
86
+ Project owner
87
+ """
88
+
89
+ created_at: dt.datetime
90
+ min_annotations_to_start_training: typing.Optional[int] = pydantic.Field(default=None)
91
+ """
92
+ Minimum number of completed tasks after which model training is started
93
+ """
94
+
95
+ start_training_on_annotation_update: bool = pydantic.Field()
96
+ """
97
+ Start model training after any annotations are submitted or updated
98
+ """
99
+
100
+ show_collab_predictions: typing.Optional[bool] = pydantic.Field(default=None)
101
+ """
102
+ If set, the annotator can view model predictions
103
+ """
104
+
105
+ num_tasks_with_annotations: int = pydantic.Field()
106
+ """
107
+ Tasks with annotations count
108
+ """
109
+
110
+ task_number: int = pydantic.Field()
111
+ """
112
+ Total task number in project
113
+ """
114
+
115
+ useful_annotation_number: int = pydantic.Field()
116
+ """
117
+ Useful annotation number in project not including skipped_annotations_number and ground_truth_number. Total annotations = annotation_number + skipped_annotations_number + ground_truth_number
118
+ """
119
+
120
+ ground_truth_number: int = pydantic.Field()
121
+ """
122
+ Honeypot annotation number in project
123
+ """
124
+
125
+ skipped_annotations_number: int = pydantic.Field()
126
+ """
127
+ Skipped by collaborators annotation number in project
128
+ """
129
+
130
+ total_annotations_number: int = pydantic.Field()
131
+ """
132
+ Total annotations number in project including skipped_annotations_number and ground_truth_number.
133
+ """
134
+
135
+ total_predictions_number: int = pydantic.Field()
136
+ """
137
+ Total predictions number in project including skipped_annotations_number, ground_truth_number, and useful_annotation_number.
138
+ """
139
+
140
+ sampling: typing.Optional[LseProjectUpdateSampling] = None
141
+ show_ground_truth_first: typing.Optional[bool] = None
142
+ show_overlap_first: typing.Optional[bool] = None
143
+ overlap_cohort_percentage: typing.Optional[int] = None
144
+ task_data_login: typing.Optional[str] = pydantic.Field(default=None)
145
+ """
146
+ Task data credentials: login
147
+ """
148
+
149
+ task_data_password: typing.Optional[str] = pydantic.Field(default=None)
150
+ """
151
+ Task data credentials: password
152
+ """
153
+
154
+ control_weights: typing.Optional[typing.Optional[typing.Any]] = None
155
+ parsed_label_config: typing.Optional[typing.Any] = None
156
+ evaluate_predictions_automatically: typing.Optional[bool] = pydantic.Field(default=None)
157
+ """
158
+ Retrieve and display predictions when loading a task
159
+ """
160
+
161
+ config_has_control_tags: bool = pydantic.Field()
162
+ """
163
+ Flag to detect is project ready for labeling
164
+ """
165
+
166
+ skip_queue: typing.Optional[LseProjectUpdateSkipQueue] = None
167
+ reveal_preannotations_interactively: typing.Optional[bool] = pydantic.Field(default=None)
168
+ """
169
+ Reveal pre-annotations interactively
170
+ """
171
+
172
+ pinned_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
173
+ """
174
+ Pinned date and time
175
+ """
176
+
177
+ finished_task_number: int = pydantic.Field()
178
+ """
179
+ Finished tasks
180
+ """
181
+
182
+ queue_total: int
183
+ queue_done: int
184
+ config_suitable_for_bulk_annotation: bool = pydantic.Field()
185
+ """
186
+ Flag to detect is project ready for bulk annotation
187
+ """
188
+
189
+ workspace: int
190
+ review_settings: ReviewSettings
191
+ assignment_settings: AssignmentSettings
192
+ custom_script: typing.Optional[str] = None
193
+ comment_classification_config: typing.Optional[str] = None
194
+ require_comment_on_skip: typing.Optional[bool] = None
195
+ custom_task_lock_ttl: typing.Optional[int] = pydantic.Field(default=None)
196
+ """
197
+ TTL in seconds for task reservations, on new and existing tasks
198
+ """
199
+
200
+ prompts: str
201
+ annotation_limit_count: typing.Optional[int] = None
202
+ annotation_limit_percent: typing.Optional[str] = None
203
+ pause_on_failed_annotator_evaluation: typing.Optional[bool] = None
204
+ annotator_evaluation_minimum_score: typing.Optional[str] = None
205
+ annotator_evaluation_minimum_tasks: typing.Optional[int] = None
206
+ workspace_title: str
207
+
208
+ if IS_PYDANTIC_V2:
209
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
210
+ else:
211
+
212
+ class Config:
213
+ frozen = True
214
+ smart_union = True
215
+ extra = pydantic.Extra.allow
@@ -0,0 +1,7 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+ from .sampling_enum import SamplingEnum
5
+ from .null_enum import NullEnum
6
+
7
+ LseProjectUpdateSampling = typing.Union[SamplingEnum, NullEnum]
@@ -0,0 +1,7 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+ from .skip_queue_enum import SkipQueueEnum
5
+ from .null_enum import NullEnum
6
+
7
+ LseProjectUpdateSkipQueue = typing.Union[SkipQueueEnum, NullEnum]
@@ -0,0 +1,134 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
+ import typing
5
+ import datetime as dt
6
+ import pydantic
7
+ from .status_c5a_enum import StatusC5AEnum
8
+ import typing_extensions
9
+ from ..core.serialization import FieldMetadata
10
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
11
+
12
+
13
+ class LseS3ExportStorage(UncheckedBaseModel):
14
+ id: int
15
+ type: str
16
+ synchronizable: typing.Optional[bool] = None
17
+ last_sync: typing.Optional[dt.datetime] = pydantic.Field(default=None)
18
+ """
19
+ Last sync finished time
20
+ """
21
+
22
+ last_sync_count: typing.Optional[int] = pydantic.Field(default=None)
23
+ """
24
+ Count of tasks synced last time
25
+ """
26
+
27
+ last_sync_job: typing.Optional[str] = pydantic.Field(default=None)
28
+ """
29
+ Last sync job ID
30
+ """
31
+
32
+ status: typing.Optional[StatusC5AEnum] = None
33
+ traceback: typing.Optional[str] = pydantic.Field(default=None)
34
+ """
35
+ Traceback report for the last failed sync
36
+ """
37
+
38
+ meta: typing.Optional[typing.Optional[typing.Any]] = None
39
+ title: typing.Optional[str] = pydantic.Field(default=None)
40
+ """
41
+ Cloud storage title
42
+ """
43
+
44
+ description: typing.Optional[str] = pydantic.Field(default=None)
45
+ """
46
+ Cloud storage description
47
+ """
48
+
49
+ created_at: dt.datetime = pydantic.Field()
50
+ """
51
+ Creation time
52
+ """
53
+
54
+ can_delete_objects: typing.Optional[bool] = pydantic.Field(default=None)
55
+ """
56
+ Deletion from storage enabled
57
+ """
58
+
59
+ bucket: typing.Optional[str] = pydantic.Field(default=None)
60
+ """
61
+ S3 bucket name
62
+ """
63
+
64
+ prefix: typing.Optional[str] = pydantic.Field(default=None)
65
+ """
66
+ S3 bucket prefix
67
+ """
68
+
69
+ regex_filter: typing.Optional[str] = pydantic.Field(default=None)
70
+ """
71
+ Cloud storage regex for filtering objects
72
+ """
73
+
74
+ use_blob_urls: typing.Optional[bool] = pydantic.Field(default=None)
75
+ """
76
+ Interpret objects as BLOBs and generate URLs
77
+ """
78
+
79
+ aws_access_key_id: typing.Optional[str] = pydantic.Field(default=None)
80
+ """
81
+ AWS_ACCESS_KEY_ID
82
+ """
83
+
84
+ aws_secret_access_key: typing.Optional[str] = pydantic.Field(default=None)
85
+ """
86
+ AWS_SECRET_ACCESS_KEY
87
+ """
88
+
89
+ aws_session_token: typing.Optional[str] = pydantic.Field(default=None)
90
+ """
91
+ AWS_SESSION_TOKEN
92
+ """
93
+
94
+ aws_sse_kms_key_id: typing.Optional[str] = pydantic.Field(default=None)
95
+ """
96
+ AWS SSE KMS Key ID
97
+ """
98
+
99
+ region_name: typing.Optional[str] = pydantic.Field(default=None)
100
+ """
101
+ AWS Region
102
+ """
103
+
104
+ s3endpoint: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="s3_endpoint")] = pydantic.Field(
105
+ default=None
106
+ )
107
+ """
108
+ S3 Endpoint
109
+ """
110
+
111
+ external_id: typing.Optional[str] = pydantic.Field(default=None)
112
+ """
113
+ AWS ExternalId
114
+ """
115
+
116
+ role_arn: str = pydantic.Field()
117
+ """
118
+ AWS RoleArn
119
+ """
120
+
121
+ legacy_auth: typing.Optional[bool] = None
122
+ project: int = pydantic.Field()
123
+ """
124
+ A unique integer value identifying this project.
125
+ """
126
+
127
+ if IS_PYDANTIC_V2:
128
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
129
+ else:
130
+
131
+ class Config:
132
+ frozen = True
133
+ smart_union = True
134
+ extra = pydantic.Extra.allow
@@ -1,52 +1,52 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- from ....core.pydantic_utilities import UniversalBaseModel
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import typing
5
+ import datetime as dt
5
6
  import pydantic
7
+ from .status_c5a_enum import StatusC5AEnum
6
8
  import typing_extensions
7
- from ....core.serialization import FieldMetadata
8
- from ....core.pydantic_utilities import IS_PYDANTIC_V2
9
+ from ..core.serialization import FieldMetadata
10
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
9
11
 
10
12
 
11
- class S3CreateResponse(UniversalBaseModel):
12
- regex_filter: typing.Optional[str] = pydantic.Field(default=None)
13
- """
14
- Cloud storage regex for filtering objects. You must specify it otherwise no objects will be imported.
15
- """
16
-
17
- use_blob_urls: typing.Optional[bool] = pydantic.Field(default=None)
13
+ class LseS3ExportStorageRequest(UncheckedBaseModel):
14
+ synchronizable: typing.Optional[bool] = None
15
+ last_sync: typing.Optional[dt.datetime] = pydantic.Field(default=None)
18
16
  """
19
- Interpret objects as BLOBs and generate URLs. For example, if your bucket contains images, you can use this option to generate URLs for these images. If set to False, it will read the content of the file and load it into Label Studio.
17
+ Last sync finished time
20
18
  """
21
19
 
22
- presign: typing.Optional[bool] = pydantic.Field(default=None)
20
+ last_sync_count: typing.Optional[int] = pydantic.Field(default=None)
23
21
  """
24
- Presign URLs for download
22
+ Count of tasks synced last time
25
23
  """
26
24
 
27
- presign_ttl: typing.Optional[int] = pydantic.Field(default=None)
25
+ last_sync_job: typing.Optional[str] = pydantic.Field(default=None)
28
26
  """
29
- Presign TTL in minutes
27
+ Last sync job ID
30
28
  """
31
29
 
32
- recursive_scan: typing.Optional[bool] = pydantic.Field(default=None)
30
+ status: typing.Optional[StatusC5AEnum] = None
31
+ traceback: typing.Optional[str] = pydantic.Field(default=None)
33
32
  """
34
- Scan recursively
33
+ Traceback report for the last failed sync
35
34
  """
36
35
 
36
+ meta: typing.Optional[typing.Optional[typing.Any]] = None
37
37
  title: typing.Optional[str] = pydantic.Field(default=None)
38
38
  """
39
- Storage title
39
+ Cloud storage title
40
40
  """
41
41
 
42
42
  description: typing.Optional[str] = pydantic.Field(default=None)
43
43
  """
44
- Storage description
44
+ Cloud storage description
45
45
  """
46
46
 
47
- project: typing.Optional[int] = pydantic.Field(default=None)
47
+ can_delete_objects: typing.Optional[bool] = pydantic.Field(default=None)
48
48
  """
49
- Project ID
49
+ Deletion from storage enabled
50
50
  """
51
51
 
52
52
  bucket: typing.Optional[str] = pydantic.Field(default=None)
@@ -59,6 +59,16 @@ class S3CreateResponse(UniversalBaseModel):
59
59
  S3 bucket prefix
60
60
  """
61
61
 
62
+ regex_filter: typing.Optional[str] = pydantic.Field(default=None)
63
+ """
64
+ Cloud storage regex for filtering objects
65
+ """
66
+
67
+ use_blob_urls: typing.Optional[bool] = pydantic.Field(default=None)
68
+ """
69
+ Interpret objects as BLOBs and generate URLs
70
+ """
71
+
62
72
  aws_access_key_id: typing.Optional[str] = pydantic.Field(default=None)
63
73
  """
64
74
  AWS_ACCESS_KEY_ID
@@ -91,6 +101,22 @@ class S3CreateResponse(UniversalBaseModel):
91
101
  S3 Endpoint
92
102
  """
93
103
 
104
+ external_id: typing.Optional[str] = pydantic.Field(default=None)
105
+ """
106
+ AWS ExternalId
107
+ """
108
+
109
+ role_arn: str = pydantic.Field()
110
+ """
111
+ AWS RoleArn
112
+ """
113
+
114
+ legacy_auth: typing.Optional[bool] = None
115
+ project: int = pydantic.Field()
116
+ """
117
+ A unique integer value identifying this project.
118
+ """
119
+
94
120
  if IS_PYDANTIC_V2:
95
121
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
96
122
  else: