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
@@ -5,9 +5,10 @@ from ...core.client_wrapper import SyncClientWrapper
5
5
  from ...core.request_options import RequestOptions
6
6
  from ...types.pause import Pause
7
7
  from ...core.jsonable_encoder import jsonable_encoder
8
- from ...core.pydantic_utilities import parse_obj_as
8
+ from ...core.unchecked_base_model import construct_type
9
9
  from json.decoder import JSONDecodeError
10
10
  from ...core.api_error import ApiError
11
+ from ...types.reason_enum import ReasonEnum
11
12
  from ...core.client_wrapper import AsyncClientWrapper
12
13
 
13
14
  # this is used as the default value for optional parameters
@@ -24,21 +25,23 @@ class PausesClient:
24
25
  user_pk: int,
25
26
  *,
26
27
  include_deleted: typing.Optional[bool] = None,
28
+ ordering: typing.Optional[str] = None,
27
29
  request_options: typing.Optional[RequestOptions] = None,
28
30
  ) -> typing.List[Pause]:
29
31
  """
30
- Return a list of pause objects for the specified project and user.
32
+ Retrieve a list of all pauses.
31
33
 
32
34
  Parameters
33
35
  ----------
34
36
  project_pk : int
35
- Project ID
36
37
 
37
38
  user_pk : int
38
- User ID
39
39
 
40
40
  include_deleted : typing.Optional[bool]
41
- Include deleted pauses
41
+ Include deleted pauses.
42
+
43
+ ordering : typing.Optional[str]
44
+ Which field to use when ordering the results.
42
45
 
43
46
  request_options : typing.Optional[RequestOptions]
44
47
  Request-specific configuration.
@@ -46,7 +49,7 @@ class PausesClient:
46
49
  Returns
47
50
  -------
48
51
  typing.List[Pause]
49
- Successfully retrieved a list of pauses
52
+
50
53
 
51
54
  Examples
52
55
  --------
@@ -61,10 +64,11 @@ class PausesClient:
61
64
  )
62
65
  """
63
66
  _response = self._client_wrapper.httpx_client.request(
64
- f"api/projects/{jsonable_encoder(project_pk)}/members/{jsonable_encoder(user_pk)}/pauses",
67
+ f"api/projects/{jsonable_encoder(project_pk)}/members/{jsonable_encoder(user_pk)}/pauses/",
65
68
  method="GET",
66
69
  params={
67
70
  "include_deleted": include_deleted,
71
+ "ordering": ordering,
68
72
  },
69
73
  request_options=request_options,
70
74
  )
@@ -72,7 +76,7 @@ class PausesClient:
72
76
  if 200 <= _response.status_code < 300:
73
77
  return typing.cast(
74
78
  typing.List[Pause],
75
- parse_obj_as(
79
+ construct_type(
76
80
  type_=typing.List[Pause], # type: ignore
77
81
  object_=_response.json(),
78
82
  ),
@@ -87,24 +91,30 @@ class PausesClient:
87
91
  project_pk: int,
88
92
  user_pk: int,
89
93
  *,
90
- reason: str,
94
+ reason: ReasonEnum,
91
95
  verbose_reason: typing.Optional[str] = OMIT,
92
96
  request_options: typing.Optional[RequestOptions] = None,
93
97
  ) -> Pause:
94
98
  """
95
- Create a new pause object for the specified project and user.
99
+ Create a new pause entry.
96
100
 
97
101
  Parameters
98
102
  ----------
99
103
  project_pk : int
100
- Project ID
101
104
 
102
105
  user_pk : int
103
- User ID
104
106
 
105
- reason : str
107
+ reason : ReasonEnum
108
+ Reason for pausing
109
+
110
+ * `MANUAL` - Manual
111
+ * `BEHAVIOR_BASED` - Behavior-based
112
+ * `ANNOTATOR_EVALUATION` - Annotator evaluation
113
+ * `ANNOTATION_LIMIT` - Annotation limit
114
+ * `CUSTOM_SCRIPT` - Custom script
106
115
 
107
116
  verbose_reason : typing.Optional[str]
117
+ Detailed description of why the project is paused, will be readable by paused annotators
108
118
 
109
119
  request_options : typing.Optional[RequestOptions]
110
120
  Request-specific configuration.
@@ -112,7 +122,7 @@ class PausesClient:
112
122
  Returns
113
123
  -------
114
124
  Pause
115
- Successfully created a pause
125
+
116
126
 
117
127
  Examples
118
128
  --------
@@ -124,19 +134,16 @@ class PausesClient:
124
134
  client.projects.pauses.create(
125
135
  project_pk=1,
126
136
  user_pk=1,
127
- reason="reason",
137
+ reason="MANUAL",
128
138
  )
129
139
  """
130
140
  _response = self._client_wrapper.httpx_client.request(
131
- f"api/projects/{jsonable_encoder(project_pk)}/members/{jsonable_encoder(user_pk)}/pauses",
141
+ f"api/projects/{jsonable_encoder(project_pk)}/members/{jsonable_encoder(user_pk)}/pauses/",
132
142
  method="POST",
133
143
  json={
134
144
  "reason": reason,
135
145
  "verbose_reason": verbose_reason,
136
146
  },
137
- headers={
138
- "content-type": "application/json",
139
- },
140
147
  request_options=request_options,
141
148
  omit=OMIT,
142
149
  )
@@ -144,7 +151,7 @@ class PausesClient:
144
151
  if 200 <= _response.status_code < 300:
145
152
  return typing.cast(
146
153
  Pause,
147
- parse_obj_as(
154
+ construct_type(
148
155
  type_=Pause, # type: ignore
149
156
  object_=_response.json(),
150
157
  ),
@@ -155,21 +162,18 @@ class PausesClient:
155
162
  raise ApiError(status_code=_response.status_code, body=_response_json)
156
163
 
157
164
  def get(
158
- self, project_pk: int, user_pk: int, id: int, *, request_options: typing.Optional[RequestOptions] = None
165
+ self, id: str, project_pk: int, user_pk: int, *, request_options: typing.Optional[RequestOptions] = None
159
166
  ) -> Pause:
160
167
  """
161
- Return detailed information about a specific pause.
168
+ Retrieve a specific pause by ID.
162
169
 
163
170
  Parameters
164
171
  ----------
172
+ id : str
173
+
165
174
  project_pk : int
166
- Project ID
167
175
 
168
176
  user_pk : int
169
- User ID
170
-
171
- id : int
172
- Pause ID
173
177
 
174
178
  request_options : typing.Optional[RequestOptions]
175
179
  Request-specific configuration.
@@ -177,7 +181,7 @@ class PausesClient:
177
181
  Returns
178
182
  -------
179
183
  Pause
180
- Successfully retrieved the pause
184
+
181
185
 
182
186
  Examples
183
187
  --------
@@ -187,13 +191,13 @@ class PausesClient:
187
191
  api_key="YOUR_API_KEY",
188
192
  )
189
193
  client.projects.pauses.get(
194
+ id="id",
190
195
  project_pk=1,
191
196
  user_pk=1,
192
- id=1,
193
197
  )
194
198
  """
195
199
  _response = self._client_wrapper.httpx_client.request(
196
- f"api/projects/{jsonable_encoder(project_pk)}/members/{jsonable_encoder(user_pk)}/pauses/{jsonable_encoder(id)}",
200
+ f"api/projects/{jsonable_encoder(project_pk)}/members/{jsonable_encoder(user_pk)}/pauses/{jsonable_encoder(id)}/",
197
201
  method="GET",
198
202
  request_options=request_options,
199
203
  )
@@ -201,7 +205,7 @@ class PausesClient:
201
205
  if 200 <= _response.status_code < 300:
202
206
  return typing.cast(
203
207
  Pause,
204
- parse_obj_as(
208
+ construct_type(
205
209
  type_=Pause, # type: ignore
206
210
  object_=_response.json(),
207
211
  ),
@@ -212,21 +216,18 @@ class PausesClient:
212
216
  raise ApiError(status_code=_response.status_code, body=_response_json)
213
217
 
214
218
  def delete(
215
- self, project_pk: int, user_pk: int, id: int, *, request_options: typing.Optional[RequestOptions] = None
219
+ self, id: str, project_pk: int, user_pk: int, *, request_options: typing.Optional[RequestOptions] = None
216
220
  ) -> None:
217
221
  """
218
- Remove a pause from the database.
222
+ Delete a specific pause by ID.
219
223
 
220
224
  Parameters
221
225
  ----------
226
+ id : str
227
+
222
228
  project_pk : int
223
- Project ID
224
229
 
225
230
  user_pk : int
226
- User ID
227
-
228
- id : int
229
- Pause ID
230
231
 
231
232
  request_options : typing.Optional[RequestOptions]
232
233
  Request-specific configuration.
@@ -243,13 +244,13 @@ class PausesClient:
243
244
  api_key="YOUR_API_KEY",
244
245
  )
245
246
  client.projects.pauses.delete(
247
+ id="id",
246
248
  project_pk=1,
247
249
  user_pk=1,
248
- id=1,
249
250
  )
250
251
  """
251
252
  _response = self._client_wrapper.httpx_client.request(
252
- f"api/projects/{jsonable_encoder(project_pk)}/members/{jsonable_encoder(user_pk)}/pauses/{jsonable_encoder(id)}",
253
+ f"api/projects/{jsonable_encoder(project_pk)}/members/{jsonable_encoder(user_pk)}/pauses/{jsonable_encoder(id)}/",
253
254
  method="DELETE",
254
255
  request_options=request_options,
255
256
  )
@@ -263,31 +264,36 @@ class PausesClient:
263
264
 
264
265
  def update(
265
266
  self,
267
+ id: str,
266
268
  project_pk: int,
267
269
  user_pk: int,
268
- id: int,
269
270
  *,
270
- reason: str,
271
+ reason: typing.Optional[ReasonEnum] = OMIT,
271
272
  verbose_reason: typing.Optional[str] = OMIT,
272
273
  request_options: typing.Optional[RequestOptions] = None,
273
274
  ) -> Pause:
274
275
  """
275
- Partially update one or more fields of an existing pause.
276
+ Partially update a pause entry by ID.
276
277
 
277
278
  Parameters
278
279
  ----------
280
+ id : str
281
+
279
282
  project_pk : int
280
- Project ID
281
283
 
282
284
  user_pk : int
283
- User ID
284
285
 
285
- id : int
286
- Pause ID
286
+ reason : typing.Optional[ReasonEnum]
287
+ Reason for pausing
287
288
 
288
- reason : str
289
+ * `MANUAL` - Manual
290
+ * `BEHAVIOR_BASED` - Behavior-based
291
+ * `ANNOTATOR_EVALUATION` - Annotator evaluation
292
+ * `ANNOTATION_LIMIT` - Annotation limit
293
+ * `CUSTOM_SCRIPT` - Custom script
289
294
 
290
295
  verbose_reason : typing.Optional[str]
296
+ Detailed description of why the project is paused, will be readable by paused annotators
291
297
 
292
298
  request_options : typing.Optional[RequestOptions]
293
299
  Request-specific configuration.
@@ -295,7 +301,7 @@ class PausesClient:
295
301
  Returns
296
302
  -------
297
303
  Pause
298
- Successfully updated the pause (partial)
304
+
299
305
 
300
306
  Examples
301
307
  --------
@@ -305,14 +311,13 @@ class PausesClient:
305
311
  api_key="YOUR_API_KEY",
306
312
  )
307
313
  client.projects.pauses.update(
314
+ id="id",
308
315
  project_pk=1,
309
316
  user_pk=1,
310
- id=1,
311
- reason="reason",
312
317
  )
313
318
  """
314
319
  _response = self._client_wrapper.httpx_client.request(
315
- f"api/projects/{jsonable_encoder(project_pk)}/members/{jsonable_encoder(user_pk)}/pauses/{jsonable_encoder(id)}",
320
+ f"api/projects/{jsonable_encoder(project_pk)}/members/{jsonable_encoder(user_pk)}/pauses/{jsonable_encoder(id)}/",
316
321
  method="PATCH",
317
322
  json={
318
323
  "reason": reason,
@@ -328,7 +333,7 @@ class PausesClient:
328
333
  if 200 <= _response.status_code < 300:
329
334
  return typing.cast(
330
335
  Pause,
331
- parse_obj_as(
336
+ construct_type(
332
337
  type_=Pause, # type: ignore
333
338
  object_=_response.json(),
334
339
  ),
@@ -349,21 +354,23 @@ class AsyncPausesClient:
349
354
  user_pk: int,
350
355
  *,
351
356
  include_deleted: typing.Optional[bool] = None,
357
+ ordering: typing.Optional[str] = None,
352
358
  request_options: typing.Optional[RequestOptions] = None,
353
359
  ) -> typing.List[Pause]:
354
360
  """
355
- Return a list of pause objects for the specified project and user.
361
+ Retrieve a list of all pauses.
356
362
 
357
363
  Parameters
358
364
  ----------
359
365
  project_pk : int
360
- Project ID
361
366
 
362
367
  user_pk : int
363
- User ID
364
368
 
365
369
  include_deleted : typing.Optional[bool]
366
- Include deleted pauses
370
+ Include deleted pauses.
371
+
372
+ ordering : typing.Optional[str]
373
+ Which field to use when ordering the results.
367
374
 
368
375
  request_options : typing.Optional[RequestOptions]
369
376
  Request-specific configuration.
@@ -371,7 +378,7 @@ class AsyncPausesClient:
371
378
  Returns
372
379
  -------
373
380
  typing.List[Pause]
374
- Successfully retrieved a list of pauses
381
+
375
382
 
376
383
  Examples
377
384
  --------
@@ -394,10 +401,11 @@ class AsyncPausesClient:
394
401
  asyncio.run(main())
395
402
  """
396
403
  _response = await self._client_wrapper.httpx_client.request(
397
- f"api/projects/{jsonable_encoder(project_pk)}/members/{jsonable_encoder(user_pk)}/pauses",
404
+ f"api/projects/{jsonable_encoder(project_pk)}/members/{jsonable_encoder(user_pk)}/pauses/",
398
405
  method="GET",
399
406
  params={
400
407
  "include_deleted": include_deleted,
408
+ "ordering": ordering,
401
409
  },
402
410
  request_options=request_options,
403
411
  )
@@ -405,7 +413,7 @@ class AsyncPausesClient:
405
413
  if 200 <= _response.status_code < 300:
406
414
  return typing.cast(
407
415
  typing.List[Pause],
408
- parse_obj_as(
416
+ construct_type(
409
417
  type_=typing.List[Pause], # type: ignore
410
418
  object_=_response.json(),
411
419
  ),
@@ -420,24 +428,30 @@ class AsyncPausesClient:
420
428
  project_pk: int,
421
429
  user_pk: int,
422
430
  *,
423
- reason: str,
431
+ reason: ReasonEnum,
424
432
  verbose_reason: typing.Optional[str] = OMIT,
425
433
  request_options: typing.Optional[RequestOptions] = None,
426
434
  ) -> Pause:
427
435
  """
428
- Create a new pause object for the specified project and user.
436
+ Create a new pause entry.
429
437
 
430
438
  Parameters
431
439
  ----------
432
440
  project_pk : int
433
- Project ID
434
441
 
435
442
  user_pk : int
436
- User ID
437
443
 
438
- reason : str
444
+ reason : ReasonEnum
445
+ Reason for pausing
446
+
447
+ * `MANUAL` - Manual
448
+ * `BEHAVIOR_BASED` - Behavior-based
449
+ * `ANNOTATOR_EVALUATION` - Annotator evaluation
450
+ * `ANNOTATION_LIMIT` - Annotation limit
451
+ * `CUSTOM_SCRIPT` - Custom script
439
452
 
440
453
  verbose_reason : typing.Optional[str]
454
+ Detailed description of why the project is paused, will be readable by paused annotators
441
455
 
442
456
  request_options : typing.Optional[RequestOptions]
443
457
  Request-specific configuration.
@@ -445,7 +459,7 @@ class AsyncPausesClient:
445
459
  Returns
446
460
  -------
447
461
  Pause
448
- Successfully created a pause
462
+
449
463
 
450
464
  Examples
451
465
  --------
@@ -462,22 +476,19 @@ class AsyncPausesClient:
462
476
  await client.projects.pauses.create(
463
477
  project_pk=1,
464
478
  user_pk=1,
465
- reason="reason",
479
+ reason="MANUAL",
466
480
  )
467
481
 
468
482
 
469
483
  asyncio.run(main())
470
484
  """
471
485
  _response = await self._client_wrapper.httpx_client.request(
472
- f"api/projects/{jsonable_encoder(project_pk)}/members/{jsonable_encoder(user_pk)}/pauses",
486
+ f"api/projects/{jsonable_encoder(project_pk)}/members/{jsonable_encoder(user_pk)}/pauses/",
473
487
  method="POST",
474
488
  json={
475
489
  "reason": reason,
476
490
  "verbose_reason": verbose_reason,
477
491
  },
478
- headers={
479
- "content-type": "application/json",
480
- },
481
492
  request_options=request_options,
482
493
  omit=OMIT,
483
494
  )
@@ -485,7 +496,7 @@ class AsyncPausesClient:
485
496
  if 200 <= _response.status_code < 300:
486
497
  return typing.cast(
487
498
  Pause,
488
- parse_obj_as(
499
+ construct_type(
489
500
  type_=Pause, # type: ignore
490
501
  object_=_response.json(),
491
502
  ),
@@ -496,21 +507,18 @@ class AsyncPausesClient:
496
507
  raise ApiError(status_code=_response.status_code, body=_response_json)
497
508
 
498
509
  async def get(
499
- self, project_pk: int, user_pk: int, id: int, *, request_options: typing.Optional[RequestOptions] = None
510
+ self, id: str, project_pk: int, user_pk: int, *, request_options: typing.Optional[RequestOptions] = None
500
511
  ) -> Pause:
501
512
  """
502
- Return detailed information about a specific pause.
513
+ Retrieve a specific pause by ID.
503
514
 
504
515
  Parameters
505
516
  ----------
517
+ id : str
518
+
506
519
  project_pk : int
507
- Project ID
508
520
 
509
521
  user_pk : int
510
- User ID
511
-
512
- id : int
513
- Pause ID
514
522
 
515
523
  request_options : typing.Optional[RequestOptions]
516
524
  Request-specific configuration.
@@ -518,7 +526,7 @@ class AsyncPausesClient:
518
526
  Returns
519
527
  -------
520
528
  Pause
521
- Successfully retrieved the pause
529
+
522
530
 
523
531
  Examples
524
532
  --------
@@ -533,16 +541,16 @@ class AsyncPausesClient:
533
541
 
534
542
  async def main() -> None:
535
543
  await client.projects.pauses.get(
544
+ id="id",
536
545
  project_pk=1,
537
546
  user_pk=1,
538
- id=1,
539
547
  )
540
548
 
541
549
 
542
550
  asyncio.run(main())
543
551
  """
544
552
  _response = await self._client_wrapper.httpx_client.request(
545
- f"api/projects/{jsonable_encoder(project_pk)}/members/{jsonable_encoder(user_pk)}/pauses/{jsonable_encoder(id)}",
553
+ f"api/projects/{jsonable_encoder(project_pk)}/members/{jsonable_encoder(user_pk)}/pauses/{jsonable_encoder(id)}/",
546
554
  method="GET",
547
555
  request_options=request_options,
548
556
  )
@@ -550,7 +558,7 @@ class AsyncPausesClient:
550
558
  if 200 <= _response.status_code < 300:
551
559
  return typing.cast(
552
560
  Pause,
553
- parse_obj_as(
561
+ construct_type(
554
562
  type_=Pause, # type: ignore
555
563
  object_=_response.json(),
556
564
  ),
@@ -561,21 +569,18 @@ class AsyncPausesClient:
561
569
  raise ApiError(status_code=_response.status_code, body=_response_json)
562
570
 
563
571
  async def delete(
564
- self, project_pk: int, user_pk: int, id: int, *, request_options: typing.Optional[RequestOptions] = None
572
+ self, id: str, project_pk: int, user_pk: int, *, request_options: typing.Optional[RequestOptions] = None
565
573
  ) -> None:
566
574
  """
567
- Remove a pause from the database.
575
+ Delete a specific pause by ID.
568
576
 
569
577
  Parameters
570
578
  ----------
579
+ id : str
580
+
571
581
  project_pk : int
572
- Project ID
573
582
 
574
583
  user_pk : int
575
- User ID
576
-
577
- id : int
578
- Pause ID
579
584
 
580
585
  request_options : typing.Optional[RequestOptions]
581
586
  Request-specific configuration.
@@ -597,16 +602,16 @@ class AsyncPausesClient:
597
602
 
598
603
  async def main() -> None:
599
604
  await client.projects.pauses.delete(
605
+ id="id",
600
606
  project_pk=1,
601
607
  user_pk=1,
602
- id=1,
603
608
  )
604
609
 
605
610
 
606
611
  asyncio.run(main())
607
612
  """
608
613
  _response = await self._client_wrapper.httpx_client.request(
609
- f"api/projects/{jsonable_encoder(project_pk)}/members/{jsonable_encoder(user_pk)}/pauses/{jsonable_encoder(id)}",
614
+ f"api/projects/{jsonable_encoder(project_pk)}/members/{jsonable_encoder(user_pk)}/pauses/{jsonable_encoder(id)}/",
610
615
  method="DELETE",
611
616
  request_options=request_options,
612
617
  )
@@ -620,31 +625,36 @@ class AsyncPausesClient:
620
625
 
621
626
  async def update(
622
627
  self,
628
+ id: str,
623
629
  project_pk: int,
624
630
  user_pk: int,
625
- id: int,
626
631
  *,
627
- reason: str,
632
+ reason: typing.Optional[ReasonEnum] = OMIT,
628
633
  verbose_reason: typing.Optional[str] = OMIT,
629
634
  request_options: typing.Optional[RequestOptions] = None,
630
635
  ) -> Pause:
631
636
  """
632
- Partially update one or more fields of an existing pause.
637
+ Partially update a pause entry by ID.
633
638
 
634
639
  Parameters
635
640
  ----------
641
+ id : str
642
+
636
643
  project_pk : int
637
- Project ID
638
644
 
639
645
  user_pk : int
640
- User ID
641
646
 
642
- id : int
643
- Pause ID
647
+ reason : typing.Optional[ReasonEnum]
648
+ Reason for pausing
644
649
 
645
- reason : str
650
+ * `MANUAL` - Manual
651
+ * `BEHAVIOR_BASED` - Behavior-based
652
+ * `ANNOTATOR_EVALUATION` - Annotator evaluation
653
+ * `ANNOTATION_LIMIT` - Annotation limit
654
+ * `CUSTOM_SCRIPT` - Custom script
646
655
 
647
656
  verbose_reason : typing.Optional[str]
657
+ Detailed description of why the project is paused, will be readable by paused annotators
648
658
 
649
659
  request_options : typing.Optional[RequestOptions]
650
660
  Request-specific configuration.
@@ -652,7 +662,7 @@ class AsyncPausesClient:
652
662
  Returns
653
663
  -------
654
664
  Pause
655
- Successfully updated the pause (partial)
665
+
656
666
 
657
667
  Examples
658
668
  --------
@@ -667,17 +677,16 @@ class AsyncPausesClient:
667
677
 
668
678
  async def main() -> None:
669
679
  await client.projects.pauses.update(
680
+ id="id",
670
681
  project_pk=1,
671
682
  user_pk=1,
672
- id=1,
673
- reason="reason",
674
683
  )
675
684
 
676
685
 
677
686
  asyncio.run(main())
678
687
  """
679
688
  _response = await self._client_wrapper.httpx_client.request(
680
- f"api/projects/{jsonable_encoder(project_pk)}/members/{jsonable_encoder(user_pk)}/pauses/{jsonable_encoder(id)}",
689
+ f"api/projects/{jsonable_encoder(project_pk)}/members/{jsonable_encoder(user_pk)}/pauses/{jsonable_encoder(id)}/",
681
690
  method="PATCH",
682
691
  json={
683
692
  "reason": reason,
@@ -693,7 +702,7 @@ class AsyncPausesClient:
693
702
  if 200 <= _response.status_code < 300:
694
703
  return typing.cast(
695
704
  Pause,
696
- parse_obj_as(
705
+ construct_type(
697
706
  type_=Pause, # type: ignore
698
707
  object_=_response.json(),
699
708
  ),
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from .types import StatsIaaResponse, StatsIaaResponseCommonTasks, StatsIaaResponseIaa, StatsIaaResponseStd
4
+
5
+ __all__ = ["StatsIaaResponse", "StatsIaaResponseCommonTasks", "StatsIaaResponseIaa", "StatsIaaResponseStd"]