label-studio-sdk 1.0.20__py3-none-any.whl → 2.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (410) hide show
  1. label_studio_sdk/__init__.py +325 -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 +28 -24
  18. label_studio_sdk/comments/client.py +378 -140
  19. label_studio_sdk/converter/README.md +207 -0
  20. label_studio_sdk/converter/imports/coco.py +132 -23
  21. label_studio_sdk/core/__init__.py +4 -0
  22. label_studio_sdk/core/unchecked_base_model.py +305 -0
  23. label_studio_sdk/environment.py +1 -1
  24. label_studio_sdk/errors/__init__.py +10 -1
  25. label_studio_sdk/errors/forbidden_error.py +9 -0
  26. label_studio_sdk/errors/method_not_allowed_error.py +9 -0
  27. label_studio_sdk/export_storage/__init__.py +1 -24
  28. label_studio_sdk/export_storage/azure/__init__.py +0 -3
  29. label_studio_sdk/export_storage/azure/client.py +231 -273
  30. label_studio_sdk/export_storage/client.py +5 -5
  31. label_studio_sdk/export_storage/gcs/__init__.py +0 -3
  32. label_studio_sdk/export_storage/gcs/client.py +231 -273
  33. label_studio_sdk/export_storage/local/__init__.py +0 -3
  34. label_studio_sdk/export_storage/local/client.py +211 -253
  35. label_studio_sdk/export_storage/redis/__init__.py +0 -3
  36. label_studio_sdk/export_storage/redis/client.py +239 -281
  37. label_studio_sdk/export_storage/s3/__init__.py +0 -3
  38. label_studio_sdk/export_storage/s3/client.py +254 -296
  39. label_studio_sdk/export_storage/s3s/client.py +694 -210
  40. label_studio_sdk/export_storage/types/export_storage_list_types_response_item.py +2 -2
  41. label_studio_sdk/files/client.py +52 -71
  42. label_studio_sdk/import_storage/__init__.py +1 -24
  43. label_studio_sdk/import_storage/azure/__init__.py +0 -3
  44. label_studio_sdk/import_storage/azure/client.py +249 -299
  45. label_studio_sdk/import_storage/client.py +5 -5
  46. label_studio_sdk/import_storage/gcs/__init__.py +0 -3
  47. label_studio_sdk/import_storage/gcs/client.py +249 -299
  48. label_studio_sdk/import_storage/local/__init__.py +0 -3
  49. label_studio_sdk/import_storage/local/client.py +211 -257
  50. label_studio_sdk/import_storage/redis/__init__.py +0 -3
  51. label_studio_sdk/import_storage/redis/client.py +239 -285
  52. label_studio_sdk/import_storage/s3/__init__.py +0 -3
  53. label_studio_sdk/import_storage/s3/client.py +274 -324
  54. label_studio_sdk/import_storage/s3s/client.py +728 -434
  55. label_studio_sdk/import_storage/types/import_storage_list_types_response_item.py +2 -2
  56. label_studio_sdk/jwt_settings/client.py +56 -58
  57. label_studio_sdk/label_interface/control_tags.py +48 -8
  58. label_studio_sdk/label_interface/interface.py +261 -56
  59. label_studio_sdk/ml/__init__.py +2 -16
  60. label_studio_sdk/ml/client.py +196 -179
  61. label_studio_sdk/ml/types/__init__.py +2 -12
  62. label_studio_sdk/ml/types/ml_list_model_versions_response.py +20 -0
  63. label_studio_sdk/model_providers/__init__.py +3 -0
  64. label_studio_sdk/model_providers/client.py +280 -228
  65. label_studio_sdk/model_providers/types/__init__.py +5 -0
  66. label_studio_sdk/{prompts/types/prompts_batch_predictions_response.py → model_providers/types/model_providers_list_model_provider_choices_response.py} +3 -3
  67. label_studio_sdk/organizations/__init__.py +5 -0
  68. label_studio_sdk/organizations/client.py +331 -0
  69. label_studio_sdk/organizations/members/__init__.py +2 -0
  70. label_studio_sdk/organizations/members/client.py +290 -0
  71. label_studio_sdk/predictions/client.py +29 -77
  72. label_studio_sdk/projects/__init__.py +18 -9
  73. label_studio_sdk/projects/client.py +905 -414
  74. label_studio_sdk/projects/exports/__init__.py +2 -2
  75. label_studio_sdk/projects/exports/client.py +336 -396
  76. label_studio_sdk/projects/exports/client_ext.py +30 -30
  77. label_studio_sdk/projects/exports/types/__init__.py +1 -2
  78. label_studio_sdk/projects/exports/types/exports_convert_response.py +5 -9
  79. label_studio_sdk/projects/pauses/client.py +114 -105
  80. label_studio_sdk/projects/stats/__init__.py +5 -0
  81. label_studio_sdk/projects/stats/client.py +175 -0
  82. label_studio_sdk/projects/stats/types/__init__.py +8 -0
  83. label_studio_sdk/projects/stats/types/stats_iaa_response.py +44 -0
  84. label_studio_sdk/projects/stats/types/stats_iaa_response_common_tasks.py +7 -0
  85. label_studio_sdk/projects/stats/types/stats_iaa_response_iaa.py +5 -0
  86. label_studio_sdk/{types/base_task_file_upload.py → projects/stats/types/stats_iaa_response_std.py} +1 -1
  87. label_studio_sdk/projects/types/__init__.py +10 -6
  88. label_studio_sdk/projects/types/lse_project_create_request_sampling.py +7 -0
  89. label_studio_sdk/projects/types/lse_project_create_request_skip_queue.py +7 -0
  90. label_studio_sdk/projects/types/patched_lse_project_update_request_sampling.py +7 -0
  91. label_studio_sdk/projects/types/patched_lse_project_update_request_skip_queue.py +7 -0
  92. label_studio_sdk/{prompts/types/prompts_batch_failed_predictions_response.py → projects/types/projects_duplicate_response.py} +8 -5
  93. label_studio_sdk/projects/types/projects_import_tasks_response.py +2 -2
  94. label_studio_sdk/projects/types/projects_list_request_filter.py +1 -1
  95. label_studio_sdk/prompts/__init__.py +4 -10
  96. label_studio_sdk/prompts/client.py +511 -442
  97. label_studio_sdk/prompts/indicators/__init__.py +3 -0
  98. label_studio_sdk/prompts/indicators/client.py +47 -49
  99. label_studio_sdk/prompts/indicators/types/__init__.py +5 -0
  100. label_studio_sdk/{types/key_indicator_value.py → prompts/indicators/types/indicators_list_response_item.py} +3 -3
  101. label_studio_sdk/prompts/runs/client.py +113 -135
  102. label_studio_sdk/prompts/types/__init__.py +2 -12
  103. label_studio_sdk/prompts/types/prompts_compatible_projects_request_project_type.py +7 -0
  104. label_studio_sdk/prompts/versions/client.py +372 -312
  105. label_studio_sdk/tasks/__init__.py +2 -2
  106. label_studio_sdk/tasks/client.py +514 -213
  107. label_studio_sdk/tasks/types/__init__.py +1 -2
  108. label_studio_sdk/tokens/client.py +160 -152
  109. label_studio_sdk/tokens/client_ext.py +3 -3
  110. label_studio_sdk/types/__init__.py +258 -142
  111. label_studio_sdk/{webhooks/types/webhooks_update_request_actions_item.py → types/actions_enum.py} +4 -1
  112. label_studio_sdk/types/all_roles_project_list.py +197 -0
  113. label_studio_sdk/types/all_roles_project_list_sampling.py +7 -0
  114. label_studio_sdk/types/all_roles_project_list_skip_queue.py +7 -0
  115. label_studio_sdk/types/annotated_enum.py +5 -0
  116. label_studio_sdk/types/annotation.py +24 -10
  117. label_studio_sdk/types/annotation_last_action.py +3 -15
  118. label_studio_sdk/types/{annotations_dm_field.py → annotation_request.py} +21 -30
  119. label_studio_sdk/types/annotation_request_last_action.py +7 -0
  120. label_studio_sdk/types/assignment_settings.py +31 -0
  121. label_studio_sdk/types/assignment_settings_label_stream_task_distribution.py +7 -0
  122. label_studio_sdk/types/assignment_settings_request.py +32 -0
  123. label_studio_sdk/types/assignment_settings_request_label_stream_task_distribution.py +7 -0
  124. label_studio_sdk/types/{key_indicators_item_additional_kpis_item.py → associated_project.py} +9 -6
  125. label_studio_sdk/types/auth_method_enum.py +5 -0
  126. label_studio_sdk/types/azure_blob_export_storage.py +8 -12
  127. label_studio_sdk/types/azure_blob_import_storage.py +8 -12
  128. label_studio_sdk/types/{prompt_associated_projects_item_id.py → batch_failed_predictions.py} +4 -4
  129. label_studio_sdk/types/{access_token_response.py → batch_predictions.py} +6 -8
  130. label_studio_sdk/types/blank_enum.py +5 -0
  131. label_studio_sdk/types/{key_indicators_item_extra_kpis_item.py → blueprint_list.py} +12 -6
  132. label_studio_sdk/types/budget_reset_period_enum.py +5 -0
  133. label_studio_sdk/types/child_filter.py +44 -0
  134. label_studio_sdk/types/comment.py +39 -14
  135. label_studio_sdk/types/comment_request.py +32 -0
  136. label_studio_sdk/types/comment_serializer_with_expanded_user.py +53 -0
  137. label_studio_sdk/types/converted_format.py +5 -5
  138. label_studio_sdk/types/{api_token_response.py → converted_format_request.py} +8 -15
  139. label_studio_sdk/types/custom_scripts_editable_by_enum.py +5 -0
  140. label_studio_sdk/types/default_role_enum.py +5 -0
  141. label_studio_sdk/types/edition_enum.py +5 -0
  142. label_studio_sdk/types/export.py +7 -7
  143. label_studio_sdk/types/file_upload.py +5 -5
  144. label_studio_sdk/types/filter.py +9 -6
  145. label_studio_sdk/types/filter_group.py +3 -3
  146. label_studio_sdk/types/finished_enum.py +5 -0
  147. label_studio_sdk/types/gcs_export_storage.py +8 -12
  148. label_studio_sdk/types/gcs_import_storage.py +8 -12
  149. label_studio_sdk/types/{rotate_token_response.py → hotkeys.py} +5 -8
  150. label_studio_sdk/types/{base_task.py → import_api_request.py} +11 -34
  151. label_studio_sdk/types/inference_run_cost_estimate.py +2 -2
  152. label_studio_sdk/types/label_stream_task_distribution_enum.py +5 -0
  153. label_studio_sdk/types/{annotations_dm_field_last_action.py → last_action_enum.py} +1 -1
  154. label_studio_sdk/types/local_files_export_storage.py +8 -12
  155. label_studio_sdk/types/local_files_import_storage.py +8 -12
  156. label_studio_sdk/types/{annotation_filter_options.py → lse_annotation_filter_options.py} +12 -2
  157. label_studio_sdk/types/lse_annotation_filter_options_request.py +42 -0
  158. label_studio_sdk/types/lse_annotation_filter_options_request_reviewed.py +7 -0
  159. label_studio_sdk/types/lse_annotation_filter_options_reviewed.py +7 -0
  160. label_studio_sdk/types/{export_snapshot.py → lse_export_create.py} +11 -11
  161. label_studio_sdk/types/lse_fields.py +49 -0
  162. label_studio_sdk/types/lse_fields_onboarding_state.py +8 -0
  163. label_studio_sdk/types/lse_fields_trial_role.py +8 -0
  164. label_studio_sdk/types/lse_key_indicator_value.py +35 -0
  165. label_studio_sdk/types/lse_organization.py +57 -0
  166. label_studio_sdk/types/lse_organization_custom_scripts_editable_by.py +7 -0
  167. label_studio_sdk/types/lse_project_create.py +196 -0
  168. label_studio_sdk/types/lse_project_create_sampling.py +7 -0
  169. label_studio_sdk/types/lse_project_create_skip_queue.py +7 -0
  170. label_studio_sdk/types/lse_project_update.py +215 -0
  171. label_studio_sdk/types/lse_project_update_sampling.py +7 -0
  172. label_studio_sdk/types/lse_project_update_skip_queue.py +7 -0
  173. label_studio_sdk/types/lse_s3export_storage.py +134 -0
  174. label_studio_sdk/{import_storage/s3/types/s3create_response.py → types/lse_s3export_storage_request.py} +47 -21
  175. label_studio_sdk/{import_storage/s3/types/s3update_response.py → types/lse_s3import_storage.py} +60 -21
  176. label_studio_sdk/types/{s3s_import_storage.py → lse_s3import_storage_request.py} +32 -21
  177. label_studio_sdk/types/lse_task.py +117 -0
  178. label_studio_sdk/types/{data_manager_task_serializer_drafts_item.py → lse_task_drafts_item.py} +2 -2
  179. label_studio_sdk/types/lse_task_filter_options.py +63 -0
  180. label_studio_sdk/types/lse_task_filter_options_annotated.py +7 -0
  181. label_studio_sdk/types/lse_task_filter_options_finished.py +7 -0
  182. label_studio_sdk/types/lse_task_filter_options_request.py +63 -0
  183. label_studio_sdk/types/lse_task_filter_options_request_annotated.py +7 -0
  184. label_studio_sdk/types/lse_task_filter_options_request_finished.py +7 -0
  185. label_studio_sdk/types/lse_task_filter_options_request_reviewed.py +7 -0
  186. label_studio_sdk/types/lse_task_filter_options_request_skipped.py +7 -0
  187. label_studio_sdk/types/lse_task_filter_options_reviewed.py +7 -0
  188. label_studio_sdk/types/lse_task_filter_options_skipped.py +7 -0
  189. label_studio_sdk/types/{data_manager_task_serializer_predictions_item.py → lse_task_predictions_item.py} +4 -5
  190. label_studio_sdk/types/lse_task_serializer_for_annotators.py +54 -0
  191. label_studio_sdk/types/lse_task_serializer_for_annotators_drafts_item.py +22 -0
  192. label_studio_sdk/types/lse_task_serializer_for_annotators_predictions_item.py +28 -0
  193. label_studio_sdk/types/lse_task_serializer_for_reviewers.py +117 -0
  194. label_studio_sdk/types/lse_task_serializer_for_reviewers_drafts_item.py +22 -0
  195. label_studio_sdk/types/lse_task_serializer_for_reviewers_predictions_item.py +28 -0
  196. label_studio_sdk/types/lse_user.py +49 -0
  197. label_studio_sdk/types/{base_user.py → lse_user_api.py} +17 -6
  198. label_studio_sdk/types/lseapi_token_create.py +21 -0
  199. label_studio_sdk/types/lseapi_token_list.py +21 -0
  200. label_studio_sdk/types/lsejwt_settings.py +32 -0
  201. label_studio_sdk/types/maybe_expanded_comment.py +7 -0
  202. label_studio_sdk/types/ml_backend.py +16 -17
  203. label_studio_sdk/types/mode_enum.py +5 -0
  204. label_studio_sdk/types/model_interface.py +44 -0
  205. label_studio_sdk/types/model_interface_request.py +40 -0
  206. label_studio_sdk/types/model_interface_serializer_get.py +45 -0
  207. label_studio_sdk/types/model_provider_connection.py +48 -17
  208. label_studio_sdk/types/model_provider_connection_budget_reset_period.py +3 -1
  209. label_studio_sdk/types/model_provider_connection_request.py +71 -0
  210. label_studio_sdk/types/model_run.py +40 -0
  211. label_studio_sdk/types/{inference_run_status.py → model_run_status_enum.py} +1 -1
  212. label_studio_sdk/types/null_enum.py +3 -0
  213. label_studio_sdk/types/onboarding_state_enum.py +7 -0
  214. label_studio_sdk/types/organization_billing.py +20 -0
  215. label_studio_sdk/types/organization_id.py +28 -0
  216. label_studio_sdk/types/organization_invite.py +20 -0
  217. label_studio_sdk/types/organization_member.py +37 -0
  218. label_studio_sdk/types/organization_membership.py +24 -0
  219. label_studio_sdk/{projects/types/projects_list_response.py → types/paginated_all_roles_project_list_list.py} +5 -5
  220. label_studio_sdk/types/{jwt_settings_response.py → paginated_role_based_task_list.py} +11 -9
  221. label_studio_sdk/types/pause.py +55 -14
  222. label_studio_sdk/types/pause_request.py +41 -0
  223. label_studio_sdk/types/prediction.py +7 -11
  224. label_studio_sdk/types/prediction_request.py +56 -0
  225. label_studio_sdk/types/project.py +32 -39
  226. label_studio_sdk/types/project_import.py +12 -13
  227. label_studio_sdk/types/project_label_config.py +2 -2
  228. label_studio_sdk/types/project_label_config_request.py +22 -0
  229. label_studio_sdk/types/project_sampling.py +3 -3
  230. label_studio_sdk/types/project_skip_queue.py +3 -1
  231. label_studio_sdk/types/project_subset_enum.py +5 -0
  232. label_studio_sdk/types/{prompt_version_provider.py → provider_enum.py} +1 -1
  233. label_studio_sdk/types/reason_enum.py +7 -0
  234. label_studio_sdk/types/redis_export_storage.py +8 -12
  235. label_studio_sdk/types/redis_import_storage.py +8 -12
  236. label_studio_sdk/types/refined_prompt_response.py +5 -6
  237. label_studio_sdk/types/requeue_rejected_tasks_mode_enum.py +5 -0
  238. label_studio_sdk/types/review_criteria_enum.py +5 -0
  239. label_studio_sdk/types/review_settings.py +80 -0
  240. label_studio_sdk/types/review_settings_request.py +80 -0
  241. label_studio_sdk/types/review_settings_request_requeue_rejected_tasks_mode.py +8 -0
  242. label_studio_sdk/types/review_settings_request_review_criteria.py +7 -0
  243. label_studio_sdk/types/review_settings_requeue_rejected_tasks_mode.py +8 -0
  244. label_studio_sdk/types/review_settings_review_criteria.py +7 -0
  245. label_studio_sdk/types/reviewed_enum.py +5 -0
  246. label_studio_sdk/types/role_based_task.py +8 -0
  247. label_studio_sdk/types/s3export_storage.py +8 -12
  248. label_studio_sdk/types/s3import_storage.py +8 -12
  249. label_studio_sdk/types/sampling_enum.py +7 -0
  250. label_studio_sdk/types/scope_enum.py +5 -0
  251. label_studio_sdk/types/selected_items_request.py +23 -0
  252. label_studio_sdk/types/serialization_option.py +2 -6
  253. label_studio_sdk/types/serialization_option_request.py +22 -0
  254. label_studio_sdk/types/serialization_options.py +17 -5
  255. label_studio_sdk/types/serialization_options_request.py +47 -0
  256. label_studio_sdk/types/skill_name_enum.py +5 -0
  257. label_studio_sdk/types/skip_queue_enum.py +5 -0
  258. label_studio_sdk/types/skipped_enum.py +5 -0
  259. label_studio_sdk/types/state_enum.py +5 -0
  260. label_studio_sdk/types/status7bf_enum.py +5 -0
  261. label_studio_sdk/types/{azure_blob_import_storage_status.py → status_c5a_enum.py} +2 -2
  262. label_studio_sdk/types/third_party_model_version.py +65 -0
  263. label_studio_sdk/types/third_party_model_version_request.py +54 -0
  264. label_studio_sdk/types/token_refresh_response.py +19 -0
  265. label_studio_sdk/types/token_rotate_response.py +19 -0
  266. label_studio_sdk/types/trial_role_enum.py +16 -0
  267. label_studio_sdk/types/user_simple.py +8 -5
  268. label_studio_sdk/types/user_simple_request.py +28 -0
  269. label_studio_sdk/types/version_response.py +49 -0
  270. label_studio_sdk/types/view.py +8 -15
  271. label_studio_sdk/types/webhook.py +9 -13
  272. label_studio_sdk/types/webhook_serializer_for_update.py +15 -13
  273. label_studio_sdk/types/workspace.py +14 -34
  274. label_studio_sdk/types/workspace_member_create.py +27 -0
  275. label_studio_sdk/types/workspace_member_list.py +24 -0
  276. label_studio_sdk/users/client.py +604 -87
  277. label_studio_sdk/users/types/users_get_token_response.py +4 -11
  278. label_studio_sdk/users/types/users_reset_token_response.py +4 -11
  279. label_studio_sdk/versions/__init__.py +0 -3
  280. label_studio_sdk/versions/client.py +14 -14
  281. label_studio_sdk/views/client.py +227 -141
  282. label_studio_sdk/views/types/views_create_request_data.py +2 -2
  283. label_studio_sdk/views/types/views_create_request_data_filters.py +2 -2
  284. label_studio_sdk/views/types/views_create_request_data_filters_items_item.py +2 -2
  285. label_studio_sdk/views/types/views_update_request_data.py +2 -2
  286. label_studio_sdk/views/types/views_update_request_data_filters.py +2 -2
  287. label_studio_sdk/views/types/views_update_request_data_filters_items_item.py +2 -2
  288. label_studio_sdk/webhooks/__init__.py +36 -2
  289. label_studio_sdk/webhooks/client.py +173 -367
  290. label_studio_sdk/webhooks/types/__init__.py +34 -2
  291. label_studio_sdk/webhooks/types/webhooks_info_response.py +80 -0
  292. label_studio_sdk/webhooks/types/webhooks_info_response_annotation_created.py +24 -0
  293. label_studio_sdk/webhooks/types/webhooks_info_response_annotation_updated.py +24 -0
  294. label_studio_sdk/webhooks/types/webhooks_info_response_annotations_created.py +24 -0
  295. label_studio_sdk/webhooks/types/webhooks_info_response_annotations_deleted.py +24 -0
  296. label_studio_sdk/webhooks/types/webhooks_info_response_label_link_created.py +24 -0
  297. label_studio_sdk/webhooks/types/webhooks_info_response_label_link_deleted.py +24 -0
  298. label_studio_sdk/webhooks/types/webhooks_info_response_label_link_updated.py +24 -0
  299. label_studio_sdk/webhooks/types/webhooks_info_response_project_created.py +24 -0
  300. label_studio_sdk/webhooks/types/webhooks_info_response_project_deleted.py +24 -0
  301. label_studio_sdk/webhooks/types/webhooks_info_response_project_updated.py +24 -0
  302. label_studio_sdk/webhooks/types/webhooks_info_response_review_created.py +24 -0
  303. label_studio_sdk/webhooks/types/webhooks_info_response_review_updated.py +24 -0
  304. label_studio_sdk/webhooks/types/webhooks_info_response_reviews_deleted.py +24 -0
  305. label_studio_sdk/webhooks/types/webhooks_info_response_tasks_created.py +24 -0
  306. label_studio_sdk/webhooks/types/webhooks_info_response_tasks_deleted.py +24 -0
  307. label_studio_sdk/workspaces/__init__.py +1 -2
  308. label_studio_sdk/workspaces/client.py +97 -117
  309. label_studio_sdk/workspaces/members/__init__.py +0 -3
  310. label_studio_sdk/workspaces/members/client.py +65 -81
  311. {label_studio_sdk-1.0.20.dist-info → label_studio_sdk-2.0.0.dist-info}/METADATA +1 -1
  312. label_studio_sdk-2.0.0.dist-info/RECORD +424 -0
  313. {label_studio_sdk-1.0.20.dist-info → label_studio_sdk-2.0.0.dist-info}/WHEEL +1 -1
  314. label_studio_sdk/annotations/types/annotations_create_bulk_request_selected_items.py +0 -34
  315. label_studio_sdk/export_storage/azure/types/__init__.py +0 -6
  316. label_studio_sdk/export_storage/azure/types/azure_create_response.py +0 -57
  317. label_studio_sdk/export_storage/azure/types/azure_update_response.py +0 -57
  318. label_studio_sdk/export_storage/gcs/types/__init__.py +0 -6
  319. label_studio_sdk/export_storage/gcs/types/gcs_create_response.py +0 -57
  320. label_studio_sdk/export_storage/gcs/types/gcs_update_response.py +0 -57
  321. label_studio_sdk/export_storage/local/types/__init__.py +0 -6
  322. label_studio_sdk/export_storage/local/types/local_create_response.py +0 -47
  323. label_studio_sdk/export_storage/local/types/local_update_response.py +0 -47
  324. label_studio_sdk/export_storage/redis/types/__init__.py +0 -6
  325. label_studio_sdk/export_storage/redis/types/redis_create_response.py +0 -62
  326. label_studio_sdk/export_storage/redis/types/redis_update_response.py +0 -62
  327. label_studio_sdk/export_storage/s3/types/__init__.py +0 -6
  328. label_studio_sdk/export_storage/s3/types/s3create_response.py +0 -81
  329. label_studio_sdk/export_storage/s3/types/s3update_response.py +0 -81
  330. label_studio_sdk/import_storage/azure/types/__init__.py +0 -6
  331. label_studio_sdk/import_storage/azure/types/azure_create_response.py +0 -72
  332. label_studio_sdk/import_storage/azure/types/azure_update_response.py +0 -72
  333. label_studio_sdk/import_storage/gcs/types/__init__.py +0 -6
  334. label_studio_sdk/import_storage/gcs/types/gcs_create_response.py +0 -72
  335. label_studio_sdk/import_storage/gcs/types/gcs_update_response.py +0 -72
  336. label_studio_sdk/import_storage/local/types/__init__.py +0 -6
  337. label_studio_sdk/import_storage/local/types/local_create_response.py +0 -47
  338. label_studio_sdk/import_storage/local/types/local_update_response.py +0 -47
  339. label_studio_sdk/import_storage/redis/types/__init__.py +0 -6
  340. label_studio_sdk/import_storage/redis/types/redis_create_response.py +0 -62
  341. label_studio_sdk/import_storage/redis/types/redis_update_response.py +0 -62
  342. label_studio_sdk/import_storage/s3/types/__init__.py +0 -6
  343. label_studio_sdk/ml/types/ml_create_response.py +0 -68
  344. label_studio_sdk/ml/types/ml_create_response_auth_method.py +0 -5
  345. label_studio_sdk/ml/types/ml_update_response.py +0 -68
  346. label_studio_sdk/ml/types/ml_update_response_auth_method.py +0 -5
  347. label_studio_sdk/projects/exports/types/exports_list_formats_response_item.py +0 -44
  348. label_studio_sdk/projects/types/projects_create_response.py +0 -91
  349. label_studio_sdk/projects/types/projects_update_response.py +0 -96
  350. label_studio_sdk/prompts/types/prompts_batch_failed_predictions_request_failed_predictions_item.py +0 -32
  351. label_studio_sdk/prompts/types/prompts_batch_predictions_request_results_item.py +0 -59
  352. label_studio_sdk/tasks/types/tasks_list_response.py +0 -38
  353. label_studio_sdk/types/annotation_completed_by.py +0 -6
  354. label_studio_sdk/types/azure_blob_export_storage_status.py +0 -7
  355. label_studio_sdk/types/base_task_updated_by.py +0 -7
  356. label_studio_sdk/types/comment_created_by.py +0 -5
  357. label_studio_sdk/types/converted_format_status.py +0 -5
  358. label_studio_sdk/types/data_manager_task_serializer.py +0 -118
  359. label_studio_sdk/types/data_manager_task_serializer_annotators_item.py +0 -5
  360. label_studio_sdk/types/data_manager_task_serializer_comment_authors_item.py +0 -5
  361. label_studio_sdk/types/data_manager_task_serializer_predictions_item_model_run.py +0 -5
  362. label_studio_sdk/types/export_format.py +0 -25
  363. label_studio_sdk/types/export_snapshot_status.py +0 -5
  364. label_studio_sdk/types/export_status.py +0 -5
  365. label_studio_sdk/types/gcs_export_storage_status.py +0 -7
  366. label_studio_sdk/types/gcs_import_storage_status.py +0 -7
  367. label_studio_sdk/types/inference_run.py +0 -34
  368. label_studio_sdk/types/inference_run_created_by.py +0 -5
  369. label_studio_sdk/types/inference_run_organization.py +0 -5
  370. label_studio_sdk/types/inference_run_project_subset.py +0 -5
  371. label_studio_sdk/types/key_indicators.py +0 -6
  372. label_studio_sdk/types/key_indicators_item.py +0 -41
  373. label_studio_sdk/types/local_files_export_storage_status.py +0 -7
  374. label_studio_sdk/types/local_files_import_storage_status.py +0 -7
  375. label_studio_sdk/types/ml_backend_auth_method.py +0 -5
  376. label_studio_sdk/types/ml_backend_state.py +0 -5
  377. label_studio_sdk/types/model_provider_connection_created_by.py +0 -5
  378. label_studio_sdk/types/model_provider_connection_organization.py +0 -5
  379. label_studio_sdk/types/model_provider_connection_provider.py +0 -7
  380. label_studio_sdk/types/model_provider_connection_scope.py +0 -5
  381. label_studio_sdk/types/pause_paused_by.py +0 -5
  382. label_studio_sdk/types/project_import_status.py +0 -5
  383. label_studio_sdk/types/prompt.py +0 -71
  384. label_studio_sdk/types/prompt_associated_projects_item.py +0 -6
  385. label_studio_sdk/types/prompt_created_by.py +0 -5
  386. label_studio_sdk/types/prompt_organization.py +0 -5
  387. label_studio_sdk/types/prompt_version.py +0 -32
  388. label_studio_sdk/types/prompt_version_created_by.py +0 -5
  389. label_studio_sdk/types/prompt_version_organization.py +0 -5
  390. label_studio_sdk/types/redis_export_storage_status.py +0 -7
  391. label_studio_sdk/types/redis_import_storage_status.py +0 -7
  392. label_studio_sdk/types/refined_prompt_response_refinement_status.py +0 -7
  393. label_studio_sdk/types/s3export_storage_status.py +0 -7
  394. label_studio_sdk/types/s3import_storage_status.py +0 -7
  395. label_studio_sdk/types/s3s_export_storage.py +0 -73
  396. label_studio_sdk/types/s3s_import_storage_status.py +0 -7
  397. label_studio_sdk/types/task.py +0 -156
  398. label_studio_sdk/types/task_annotators_item.py +0 -5
  399. label_studio_sdk/types/task_comment_authors_item.py +0 -5
  400. label_studio_sdk/types/task_filter_options.py +0 -39
  401. label_studio_sdk/types/webhook_actions_item.py +0 -21
  402. label_studio_sdk/types/webhook_serializer_for_update_actions_item.py +0 -21
  403. label_studio_sdk/versions/types/__init__.py +0 -6
  404. label_studio_sdk/versions/types/versions_get_response.py +0 -73
  405. label_studio_sdk/versions/types/versions_get_response_edition.py +0 -5
  406. label_studio_sdk/workspaces/members/types/__init__.py +0 -6
  407. label_studio_sdk/workspaces/members/types/members_create_response.py +0 -22
  408. label_studio_sdk/workspaces/members/types/members_list_response_item.py +0 -22
  409. label_studio_sdk-1.0.20.dist-info/RECORD +0 -374
  410. {label_studio_sdk-1.0.20.dist-info → label_studio_sdk-2.0.0.dist-info}/LICENSE +0 -0
@@ -5,7 +5,7 @@ from ..core.client_wrapper import SyncClientWrapper
5
5
  from .members.client import MembersClient
6
6
  from ..core.request_options import RequestOptions
7
7
  from ..types.workspace import Workspace
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
11
  from ..core.jsonable_encoder import jsonable_encoder
@@ -21,17 +21,24 @@ class WorkspacesClient:
21
21
  self._client_wrapper = client_wrapper
22
22
  self.members = MembersClient(client_wrapper=self._client_wrapper)
23
23
 
24
- def list(self, *, request_options: typing.Optional[RequestOptions] = None) -> typing.List[Workspace]:
24
+ def list(
25
+ self,
26
+ *,
27
+ is_personal: typing.Optional[bool] = None,
28
+ ordering: typing.Optional[str] = None,
29
+ request_options: typing.Optional[RequestOptions] = None,
30
+ ) -> typing.List[Workspace]:
25
31
  """
26
-
27
- List all workspaces for your organization.
28
-
29
- Workspaces in Label Studio let you organize your projects and users into separate spaces. This is useful for managing different teams, departments, or projects within your organization.
30
-
31
- For more information, see [Workspaces in Label Studio](https://docs.humansignal.com/guide/workspaces).
32
+ List all workspaces for your organization. Workspaces in Label Studio let you organize your projects and users into separate spaces. This is useful for managing different teams, departments, or projects within your organization. For more information, see the [Workspaces documentation](https://docs.humansignal.com/workspaces).
32
33
 
33
34
  Parameters
34
35
  ----------
36
+ is_personal : typing.Optional[bool]
37
+ Workspace is a personal user workspace.
38
+
39
+ ordering : typing.Optional[str]
40
+ Which field to use when ordering the results.
41
+
35
42
  request_options : typing.Optional[RequestOptions]
36
43
  Request-specific configuration.
37
44
 
@@ -50,15 +57,19 @@ class WorkspacesClient:
50
57
  client.workspaces.list()
51
58
  """
52
59
  _response = self._client_wrapper.httpx_client.request(
53
- "api/workspaces",
60
+ "api/workspaces/",
54
61
  method="GET",
62
+ params={
63
+ "is_personal": is_personal,
64
+ "ordering": ordering,
65
+ },
55
66
  request_options=request_options,
56
67
  )
57
68
  try:
58
69
  if 200 <= _response.status_code < 300:
59
70
  return typing.cast(
60
71
  typing.List[Workspace],
61
- parse_obj_as(
72
+ construct_type(
62
73
  type_=typing.List[Workspace], # type: ignore
63
74
  object_=_response.json(),
64
75
  ),
@@ -71,41 +82,31 @@ class WorkspacesClient:
71
82
  def create(
72
83
  self,
73
84
  *,
74
- title: typing.Optional[str] = OMIT,
85
+ title: str,
75
86
  description: typing.Optional[str] = OMIT,
76
- is_public: typing.Optional[bool] = OMIT,
77
- is_personal: typing.Optional[bool] = OMIT,
78
87
  color: typing.Optional[str] = OMIT,
88
+ is_personal: typing.Optional[bool] = OMIT,
79
89
  is_archived: typing.Optional[bool] = OMIT,
80
90
  request_options: typing.Optional[RequestOptions] = None,
81
91
  ) -> Workspace:
82
92
  """
83
-
84
- Create a new workspace.
85
-
86
- Workspaces in Label Studio let you organize your projects and users into separate spaces. This is useful for managing different teams, departments, or projects within your organization.
87
-
88
- For more information, see [Workspaces in Label Studio](https://docs.humansignal.com/guide/workspaces).
93
+ Create a new workspace. Workspaces in Label Studio let you organize your projects and users into separate spaces. This is useful for managing different teams, departments, or projects within your organization. For more information, see the [Workspaces documentation](https://docs.humansignal.com/workspaces).
89
94
 
90
95
  Parameters
91
96
  ----------
92
- title : typing.Optional[str]
93
- Workspace title
97
+ title : str
98
+ Workspace name
94
99
 
95
100
  description : typing.Optional[str]
96
101
  Workspace description
97
102
 
98
- is_public : typing.Optional[bool]
99
- Is workspace public
103
+ color : typing.Optional[str]
100
104
 
101
105
  is_personal : typing.Optional[bool]
102
- Is workspace personal
103
-
104
- color : typing.Optional[str]
105
- Workspace color in HEX format
106
+ Workspace is a personal user workspace
106
107
 
107
108
  is_archived : typing.Optional[bool]
108
- Is workspace archived
109
+ Workspace is archived
109
110
 
110
111
  request_options : typing.Optional[RequestOptions]
111
112
  Request-specific configuration.
@@ -122,17 +123,18 @@ class WorkspacesClient:
122
123
  client = LabelStudio(
123
124
  api_key="YOUR_API_KEY",
124
125
  )
125
- client.workspaces.create()
126
+ client.workspaces.create(
127
+ title="title",
128
+ )
126
129
  """
127
130
  _response = self._client_wrapper.httpx_client.request(
128
- "api/workspaces",
131
+ "api/workspaces/",
129
132
  method="POST",
130
133
  json={
131
134
  "title": title,
132
135
  "description": description,
133
- "is_public": is_public,
134
- "is_personal": is_personal,
135
136
  "color": color,
137
+ "is_personal": is_personal,
136
138
  "is_archived": is_archived,
137
139
  },
138
140
  headers={
@@ -145,7 +147,7 @@ class WorkspacesClient:
145
147
  if 200 <= _response.status_code < 300:
146
148
  return typing.cast(
147
149
  Workspace,
148
- parse_obj_as(
150
+ construct_type(
149
151
  type_=Workspace, # type: ignore
150
152
  object_=_response.json(),
151
153
  ),
@@ -157,13 +159,11 @@ class WorkspacesClient:
157
159
 
158
160
  def get(self, id: int, *, request_options: typing.Optional[RequestOptions] = None) -> Workspace:
159
161
  """
160
-
161
- Get information about a specific workspace. You will need to provide the workspace ID. You can find this using [List workspaces](list).
162
+ Retrieve details for a specific workspace by ID.
162
163
 
163
164
  Parameters
164
165
  ----------
165
166
  id : int
166
- Workspace ID
167
167
 
168
168
  request_options : typing.Optional[RequestOptions]
169
169
  Request-specific configuration.
@@ -185,7 +185,7 @@ class WorkspacesClient:
185
185
  )
186
186
  """
187
187
  _response = self._client_wrapper.httpx_client.request(
188
- f"api/workspaces/{jsonable_encoder(id)}",
188
+ f"api/workspaces/{jsonable_encoder(id)}/",
189
189
  method="GET",
190
190
  request_options=request_options,
191
191
  )
@@ -193,7 +193,7 @@ class WorkspacesClient:
193
193
  if 200 <= _response.status_code < 300:
194
194
  return typing.cast(
195
195
  Workspace,
196
- parse_obj_as(
196
+ construct_type(
197
197
  type_=Workspace, # type: ignore
198
198
  object_=_response.json(),
199
199
  ),
@@ -205,13 +205,11 @@ class WorkspacesClient:
205
205
 
206
206
  def delete(self, id: int, *, request_options: typing.Optional[RequestOptions] = None) -> None:
207
207
  """
208
-
209
- Delete a specific workspace. You will need to provide the workspace ID. You can find this using [List workspaces](list).
208
+ Delete a specific workspace by ID.
210
209
 
211
210
  Parameters
212
211
  ----------
213
212
  id : int
214
- Workspace ID
215
213
 
216
214
  request_options : typing.Optional[RequestOptions]
217
215
  Request-specific configuration.
@@ -232,7 +230,7 @@ class WorkspacesClient:
232
230
  )
233
231
  """
234
232
  _response = self._client_wrapper.httpx_client.request(
235
- f"api/workspaces/{jsonable_encoder(id)}",
233
+ f"api/workspaces/{jsonable_encoder(id)}/",
236
234
  method="DELETE",
237
235
  request_options=request_options,
238
236
  )
@@ -250,38 +248,31 @@ class WorkspacesClient:
250
248
  *,
251
249
  title: typing.Optional[str] = OMIT,
252
250
  description: typing.Optional[str] = OMIT,
253
- is_public: typing.Optional[bool] = OMIT,
254
- is_personal: typing.Optional[bool] = OMIT,
255
251
  color: typing.Optional[str] = OMIT,
252
+ is_personal: typing.Optional[bool] = OMIT,
256
253
  is_archived: typing.Optional[bool] = OMIT,
257
254
  request_options: typing.Optional[RequestOptions] = None,
258
255
  ) -> Workspace:
259
256
  """
260
-
261
- Update a specific workspace. You will need to provide the workspace ID. You can find this using [List workspaces](list).
257
+ Update settings for a specific workspace by ID.
262
258
 
263
259
  Parameters
264
260
  ----------
265
261
  id : int
266
- Workspace ID
267
262
 
268
263
  title : typing.Optional[str]
269
- Workspace title
264
+ Workspace name
270
265
 
271
266
  description : typing.Optional[str]
272
267
  Workspace description
273
268
 
274
- is_public : typing.Optional[bool]
275
- Is workspace public
269
+ color : typing.Optional[str]
276
270
 
277
271
  is_personal : typing.Optional[bool]
278
- Is workspace personal
279
-
280
- color : typing.Optional[str]
281
- Workspace color in HEX format
272
+ Workspace is a personal user workspace
282
273
 
283
274
  is_archived : typing.Optional[bool]
284
- Is workspace archived
275
+ Workspace is archived
285
276
 
286
277
  request_options : typing.Optional[RequestOptions]
287
278
  Request-specific configuration.
@@ -303,14 +294,13 @@ class WorkspacesClient:
303
294
  )
304
295
  """
305
296
  _response = self._client_wrapper.httpx_client.request(
306
- f"api/workspaces/{jsonable_encoder(id)}",
297
+ f"api/workspaces/{jsonable_encoder(id)}/",
307
298
  method="PATCH",
308
299
  json={
309
300
  "title": title,
310
301
  "description": description,
311
- "is_public": is_public,
312
- "is_personal": is_personal,
313
302
  "color": color,
303
+ "is_personal": is_personal,
314
304
  "is_archived": is_archived,
315
305
  },
316
306
  headers={
@@ -323,7 +313,7 @@ class WorkspacesClient:
323
313
  if 200 <= _response.status_code < 300:
324
314
  return typing.cast(
325
315
  Workspace,
326
- parse_obj_as(
316
+ construct_type(
327
317
  type_=Workspace, # type: ignore
328
318
  object_=_response.json(),
329
319
  ),
@@ -339,17 +329,24 @@ class AsyncWorkspacesClient:
339
329
  self._client_wrapper = client_wrapper
340
330
  self.members = AsyncMembersClient(client_wrapper=self._client_wrapper)
341
331
 
342
- async def list(self, *, request_options: typing.Optional[RequestOptions] = None) -> typing.List[Workspace]:
332
+ async def list(
333
+ self,
334
+ *,
335
+ is_personal: typing.Optional[bool] = None,
336
+ ordering: typing.Optional[str] = None,
337
+ request_options: typing.Optional[RequestOptions] = None,
338
+ ) -> typing.List[Workspace]:
343
339
  """
344
-
345
- List all workspaces for your organization.
346
-
347
- Workspaces in Label Studio let you organize your projects and users into separate spaces. This is useful for managing different teams, departments, or projects within your organization.
348
-
349
- For more information, see [Workspaces in Label Studio](https://docs.humansignal.com/guide/workspaces).
340
+ List all workspaces for your organization. Workspaces in Label Studio let you organize your projects and users into separate spaces. This is useful for managing different teams, departments, or projects within your organization. For more information, see the [Workspaces documentation](https://docs.humansignal.com/workspaces).
350
341
 
351
342
  Parameters
352
343
  ----------
344
+ is_personal : typing.Optional[bool]
345
+ Workspace is a personal user workspace.
346
+
347
+ ordering : typing.Optional[str]
348
+ Which field to use when ordering the results.
349
+
353
350
  request_options : typing.Optional[RequestOptions]
354
351
  Request-specific configuration.
355
352
 
@@ -376,15 +373,19 @@ class AsyncWorkspacesClient:
376
373
  asyncio.run(main())
377
374
  """
378
375
  _response = await self._client_wrapper.httpx_client.request(
379
- "api/workspaces",
376
+ "api/workspaces/",
380
377
  method="GET",
378
+ params={
379
+ "is_personal": is_personal,
380
+ "ordering": ordering,
381
+ },
381
382
  request_options=request_options,
382
383
  )
383
384
  try:
384
385
  if 200 <= _response.status_code < 300:
385
386
  return typing.cast(
386
387
  typing.List[Workspace],
387
- parse_obj_as(
388
+ construct_type(
388
389
  type_=typing.List[Workspace], # type: ignore
389
390
  object_=_response.json(),
390
391
  ),
@@ -397,41 +398,31 @@ class AsyncWorkspacesClient:
397
398
  async def create(
398
399
  self,
399
400
  *,
400
- title: typing.Optional[str] = OMIT,
401
+ title: str,
401
402
  description: typing.Optional[str] = OMIT,
402
- is_public: typing.Optional[bool] = OMIT,
403
- is_personal: typing.Optional[bool] = OMIT,
404
403
  color: typing.Optional[str] = OMIT,
404
+ is_personal: typing.Optional[bool] = OMIT,
405
405
  is_archived: typing.Optional[bool] = OMIT,
406
406
  request_options: typing.Optional[RequestOptions] = None,
407
407
  ) -> Workspace:
408
408
  """
409
-
410
- Create a new workspace.
411
-
412
- Workspaces in Label Studio let you organize your projects and users into separate spaces. This is useful for managing different teams, departments, or projects within your organization.
413
-
414
- For more information, see [Workspaces in Label Studio](https://docs.humansignal.com/guide/workspaces).
409
+ Create a new workspace. Workspaces in Label Studio let you organize your projects and users into separate spaces. This is useful for managing different teams, departments, or projects within your organization. For more information, see the [Workspaces documentation](https://docs.humansignal.com/workspaces).
415
410
 
416
411
  Parameters
417
412
  ----------
418
- title : typing.Optional[str]
419
- Workspace title
413
+ title : str
414
+ Workspace name
420
415
 
421
416
  description : typing.Optional[str]
422
417
  Workspace description
423
418
 
424
- is_public : typing.Optional[bool]
425
- Is workspace public
419
+ color : typing.Optional[str]
426
420
 
427
421
  is_personal : typing.Optional[bool]
428
- Is workspace personal
429
-
430
- color : typing.Optional[str]
431
- Workspace color in HEX format
422
+ Workspace is a personal user workspace
432
423
 
433
424
  is_archived : typing.Optional[bool]
434
- Is workspace archived
425
+ Workspace is archived
435
426
 
436
427
  request_options : typing.Optional[RequestOptions]
437
428
  Request-specific configuration.
@@ -453,20 +444,21 @@ class AsyncWorkspacesClient:
453
444
 
454
445
 
455
446
  async def main() -> None:
456
- await client.workspaces.create()
447
+ await client.workspaces.create(
448
+ title="title",
449
+ )
457
450
 
458
451
 
459
452
  asyncio.run(main())
460
453
  """
461
454
  _response = await self._client_wrapper.httpx_client.request(
462
- "api/workspaces",
455
+ "api/workspaces/",
463
456
  method="POST",
464
457
  json={
465
458
  "title": title,
466
459
  "description": description,
467
- "is_public": is_public,
468
- "is_personal": is_personal,
469
460
  "color": color,
461
+ "is_personal": is_personal,
470
462
  "is_archived": is_archived,
471
463
  },
472
464
  headers={
@@ -479,7 +471,7 @@ class AsyncWorkspacesClient:
479
471
  if 200 <= _response.status_code < 300:
480
472
  return typing.cast(
481
473
  Workspace,
482
- parse_obj_as(
474
+ construct_type(
483
475
  type_=Workspace, # type: ignore
484
476
  object_=_response.json(),
485
477
  ),
@@ -491,13 +483,11 @@ class AsyncWorkspacesClient:
491
483
 
492
484
  async def get(self, id: int, *, request_options: typing.Optional[RequestOptions] = None) -> Workspace:
493
485
  """
494
-
495
- Get information about a specific workspace. You will need to provide the workspace ID. You can find this using [List workspaces](list).
486
+ Retrieve details for a specific workspace by ID.
496
487
 
497
488
  Parameters
498
489
  ----------
499
490
  id : int
500
- Workspace ID
501
491
 
502
492
  request_options : typing.Optional[RequestOptions]
503
493
  Request-specific configuration.
@@ -527,7 +517,7 @@ class AsyncWorkspacesClient:
527
517
  asyncio.run(main())
528
518
  """
529
519
  _response = await self._client_wrapper.httpx_client.request(
530
- f"api/workspaces/{jsonable_encoder(id)}",
520
+ f"api/workspaces/{jsonable_encoder(id)}/",
531
521
  method="GET",
532
522
  request_options=request_options,
533
523
  )
@@ -535,7 +525,7 @@ class AsyncWorkspacesClient:
535
525
  if 200 <= _response.status_code < 300:
536
526
  return typing.cast(
537
527
  Workspace,
538
- parse_obj_as(
528
+ construct_type(
539
529
  type_=Workspace, # type: ignore
540
530
  object_=_response.json(),
541
531
  ),
@@ -547,13 +537,11 @@ class AsyncWorkspacesClient:
547
537
 
548
538
  async def delete(self, id: int, *, request_options: typing.Optional[RequestOptions] = None) -> None:
549
539
  """
550
-
551
- Delete a specific workspace. You will need to provide the workspace ID. You can find this using [List workspaces](list).
540
+ Delete a specific workspace by ID.
552
541
 
553
542
  Parameters
554
543
  ----------
555
544
  id : int
556
- Workspace ID
557
545
 
558
546
  request_options : typing.Optional[RequestOptions]
559
547
  Request-specific configuration.
@@ -582,7 +570,7 @@ class AsyncWorkspacesClient:
582
570
  asyncio.run(main())
583
571
  """
584
572
  _response = await self._client_wrapper.httpx_client.request(
585
- f"api/workspaces/{jsonable_encoder(id)}",
573
+ f"api/workspaces/{jsonable_encoder(id)}/",
586
574
  method="DELETE",
587
575
  request_options=request_options,
588
576
  )
@@ -600,38 +588,31 @@ class AsyncWorkspacesClient:
600
588
  *,
601
589
  title: typing.Optional[str] = OMIT,
602
590
  description: typing.Optional[str] = OMIT,
603
- is_public: typing.Optional[bool] = OMIT,
604
- is_personal: typing.Optional[bool] = OMIT,
605
591
  color: typing.Optional[str] = OMIT,
592
+ is_personal: typing.Optional[bool] = OMIT,
606
593
  is_archived: typing.Optional[bool] = OMIT,
607
594
  request_options: typing.Optional[RequestOptions] = None,
608
595
  ) -> Workspace:
609
596
  """
610
-
611
- Update a specific workspace. You will need to provide the workspace ID. You can find this using [List workspaces](list).
597
+ Update settings for a specific workspace by ID.
612
598
 
613
599
  Parameters
614
600
  ----------
615
601
  id : int
616
- Workspace ID
617
602
 
618
603
  title : typing.Optional[str]
619
- Workspace title
604
+ Workspace name
620
605
 
621
606
  description : typing.Optional[str]
622
607
  Workspace description
623
608
 
624
- is_public : typing.Optional[bool]
625
- Is workspace public
609
+ color : typing.Optional[str]
626
610
 
627
611
  is_personal : typing.Optional[bool]
628
- Is workspace personal
629
-
630
- color : typing.Optional[str]
631
- Workspace color in HEX format
612
+ Workspace is a personal user workspace
632
613
 
633
614
  is_archived : typing.Optional[bool]
634
- Is workspace archived
615
+ Workspace is archived
635
616
 
636
617
  request_options : typing.Optional[RequestOptions]
637
618
  Request-specific configuration.
@@ -661,14 +642,13 @@ class AsyncWorkspacesClient:
661
642
  asyncio.run(main())
662
643
  """
663
644
  _response = await self._client_wrapper.httpx_client.request(
664
- f"api/workspaces/{jsonable_encoder(id)}",
645
+ f"api/workspaces/{jsonable_encoder(id)}/",
665
646
  method="PATCH",
666
647
  json={
667
648
  "title": title,
668
649
  "description": description,
669
- "is_public": is_public,
670
- "is_personal": is_personal,
671
650
  "color": color,
651
+ "is_personal": is_personal,
672
652
  "is_archived": is_archived,
673
653
  },
674
654
  headers={
@@ -681,7 +661,7 @@ class AsyncWorkspacesClient:
681
661
  if 200 <= _response.status_code < 300:
682
662
  return typing.cast(
683
663
  Workspace,
684
- parse_obj_as(
664
+ construct_type(
685
665
  type_=Workspace, # type: ignore
686
666
  object_=_response.json(),
687
667
  ),
@@ -1,5 +1,2 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- from .types import MembersCreateResponse, MembersListResponseItem
4
-
5
- __all__ = ["MembersCreateResponse", "MembersListResponseItem"]