label-studio-sdk 2.0.0__py3-none-any.whl → 2.0.2__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 (175) hide show
  1. label_studio_sdk/__init__.py +24 -0
  2. label_studio_sdk/actions/client.py +13 -13
  3. label_studio_sdk/actions/types/actions_list_response_item.py +3 -3
  4. label_studio_sdk/actions/types/actions_list_response_item_dialog.py +2 -2
  5. label_studio_sdk/annotations/client.py +441 -441
  6. label_studio_sdk/base_client.py +4 -0
  7. label_studio_sdk/billing/__init__.py +2 -0
  8. label_studio_sdk/billing/client.py +112 -0
  9. label_studio_sdk/comments/client.py +176 -176
  10. label_studio_sdk/export_storage/azure/client.py +274 -274
  11. label_studio_sdk/export_storage/gcs/client.py +263 -263
  12. label_studio_sdk/export_storage/local/client.py +206 -206
  13. label_studio_sdk/export_storage/redis/client.py +287 -287
  14. label_studio_sdk/export_storage/s3/client.py +347 -347
  15. label_studio_sdk/export_storage/s3s/client.py +678 -678
  16. label_studio_sdk/import_storage/azure/client.py +357 -357
  17. label_studio_sdk/import_storage/gcs/client.py +357 -357
  18. label_studio_sdk/import_storage/local/client.py +206 -206
  19. label_studio_sdk/import_storage/redis/client.py +309 -309
  20. label_studio_sdk/import_storage/s3/client.py +452 -452
  21. label_studio_sdk/import_storage/s3s/client.py +735 -735
  22. label_studio_sdk/jwt_settings/client.py +10 -10
  23. label_studio_sdk/ml/client.py +118 -118
  24. label_studio_sdk/ml/types/ml_list_model_versions_response.py +1 -1
  25. label_studio_sdk/model_providers/client.py +181 -181
  26. label_studio_sdk/organizations/members/client.py +348 -2
  27. label_studio_sdk/predictions/client.py +60 -60
  28. label_studio_sdk/projects/__init__.py +30 -1
  29. label_studio_sdk/projects/assignments/__init__.py +33 -0
  30. label_studio_sdk/projects/assignments/client.py +764 -0
  31. label_studio_sdk/projects/assignments/types/__init__.py +35 -0
  32. label_studio_sdk/projects/assignments/types/assignments_assign_request_type.py +5 -0
  33. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters.py +33 -0
  34. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_conjunction.py +5 -0
  35. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_items_item.py +44 -0
  36. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_items_item_filter.py +31 -0
  37. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_items_item_operator.py +23 -0
  38. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_items_item_value.py +7 -0
  39. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_selected_items.py +9 -0
  40. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_selected_items_excluded.py +29 -0
  41. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_selected_items_included.py +29 -0
  42. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_type.py +5 -0
  43. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_response.py +22 -0
  44. label_studio_sdk/projects/assignments/types/assignments_update_request_type.py +5 -0
  45. label_studio_sdk/projects/client.py +441 -425
  46. label_studio_sdk/projects/exports/client.py +55 -55
  47. label_studio_sdk/projects/exports/types/exports_convert_response.py +1 -1
  48. label_studio_sdk/projects/stats/types/stats_iaa_response.py +5 -5
  49. label_studio_sdk/projects/types/projects_import_tasks_response.py +12 -12
  50. label_studio_sdk/prompts/client.py +211 -211
  51. label_studio_sdk/prompts/runs/client.py +33 -33
  52. label_studio_sdk/prompts/versions/client.py +72 -72
  53. label_studio_sdk/tasks/client.py +174 -174
  54. label_studio_sdk/types/__init__.py +22 -0
  55. label_studio_sdk/types/all_roles_project_list.py +98 -98
  56. label_studio_sdk/types/annotation.py +35 -35
  57. label_studio_sdk/types/annotation_request.py +27 -27
  58. label_studio_sdk/types/azure_blob_export_storage.py +29 -29
  59. label_studio_sdk/types/azure_blob_import_storage.py +33 -33
  60. label_studio_sdk/types/batch_failed_predictions.py +1 -1
  61. label_studio_sdk/types/billing_checks.py +39 -0
  62. label_studio_sdk/types/billing_flags.py +44 -0
  63. label_studio_sdk/types/billing_info_response.py +22 -0
  64. label_studio_sdk/types/blueprint_list.py +7 -8
  65. label_studio_sdk/types/child_filter.py +11 -10
  66. label_studio_sdk/types/comment.py +15 -15
  67. label_studio_sdk/types/comment_request.py +7 -8
  68. label_studio_sdk/types/comment_serializer_with_expanded_user.py +17 -18
  69. label_studio_sdk/types/converted_format.py +1 -1
  70. label_studio_sdk/types/converted_format_request.py +1 -1
  71. label_studio_sdk/types/count_limit.py +22 -0
  72. label_studio_sdk/types/export.py +8 -8
  73. label_studio_sdk/types/file_upload.py +3 -2
  74. label_studio_sdk/types/filter.py +10 -9
  75. label_studio_sdk/types/filter_group.py +4 -3
  76. label_studio_sdk/types/gcs_export_storage.py +23 -23
  77. label_studio_sdk/types/gcs_import_storage.py +27 -27
  78. label_studio_sdk/types/import_api_request.py +26 -26
  79. label_studio_sdk/types/inference_run_cost_estimate.py +10 -10
  80. label_studio_sdk/types/local_files_export_storage.py +23 -23
  81. label_studio_sdk/types/local_files_import_storage.py +26 -26
  82. label_studio_sdk/types/lse_annotation_filter_options.py +10 -10
  83. label_studio_sdk/types/lse_annotation_filter_options_request.py +10 -10
  84. label_studio_sdk/types/lse_export_create.py +12 -12
  85. label_studio_sdk/types/lse_fields.py +14 -14
  86. label_studio_sdk/types/lse_organization.py +17 -17
  87. label_studio_sdk/types/lse_organization_member_list.py +32 -0
  88. label_studio_sdk/types/lse_project_create.py +72 -72
  89. label_studio_sdk/types/lse_project_update.py +89 -89
  90. label_studio_sdk/types/lse_s3export_storage.py +46 -46
  91. label_studio_sdk/types/lse_s3export_storage_request.py +43 -43
  92. label_studio_sdk/types/lse_s3import_storage.py +53 -53
  93. label_studio_sdk/types/lse_s3import_storage_request.py +49 -49
  94. label_studio_sdk/types/lse_task.py +49 -49
  95. label_studio_sdk/types/lse_task_drafts_item.py +1 -1
  96. label_studio_sdk/types/lse_task_filter_options.py +14 -14
  97. label_studio_sdk/types/lse_task_filter_options_request.py +14 -14
  98. label_studio_sdk/types/lse_task_predictions_item.py +5 -5
  99. label_studio_sdk/types/lse_task_serializer_for_annotators.py +12 -12
  100. label_studio_sdk/types/lse_task_serializer_for_annotators_drafts_item.py +1 -1
  101. label_studio_sdk/types/lse_task_serializer_for_annotators_predictions_item.py +5 -5
  102. label_studio_sdk/types/lse_task_serializer_for_reviewers.py +49 -49
  103. label_studio_sdk/types/lse_task_serializer_for_reviewers_drafts_item.py +1 -1
  104. label_studio_sdk/types/lse_task_serializer_for_reviewers_predictions_item.py +5 -5
  105. label_studio_sdk/types/lse_user.py +13 -13
  106. label_studio_sdk/types/lse_user_api.py +11 -11
  107. label_studio_sdk/types/lse_user_organization_member_list.py +48 -0
  108. label_studio_sdk/types/lseapi_token_create.py +1 -1
  109. label_studio_sdk/types/lseapi_token_list.py +1 -1
  110. label_studio_sdk/types/lsejwt_settings.py +5 -5
  111. label_studio_sdk/types/ml_backend.py +27 -28
  112. label_studio_sdk/types/model_interface.py +12 -12
  113. label_studio_sdk/types/model_interface_request.py +7 -8
  114. label_studio_sdk/types/model_interface_serializer_get.py +13 -13
  115. label_studio_sdk/types/model_provider_connection.py +34 -34
  116. label_studio_sdk/types/model_provider_connection_request.py +15 -14
  117. label_studio_sdk/types/model_run.py +12 -12
  118. label_studio_sdk/types/organization_billing.py +1 -1
  119. label_studio_sdk/types/organization_id.py +2 -2
  120. label_studio_sdk/types/organization_invite.py +1 -1
  121. label_studio_sdk/types/organization_member.py +8 -9
  122. label_studio_sdk/types/organization_membership.py +2 -1
  123. label_studio_sdk/types/paginated_lse_organization_member_list_list.py +23 -0
  124. label_studio_sdk/types/pause.py +23 -23
  125. label_studio_sdk/types/prediction.py +21 -21
  126. label_studio_sdk/types/prediction_request.py +16 -16
  127. label_studio_sdk/types/project.py +72 -72
  128. label_studio_sdk/types/project_import.py +21 -21
  129. label_studio_sdk/types/prompts_status_enum.py +16 -0
  130. label_studio_sdk/types/redis_export_storage.py +34 -34
  131. label_studio_sdk/types/redis_import_storage.py +37 -37
  132. label_studio_sdk/types/refined_prompt_response.py +11 -11
  133. label_studio_sdk/types/review_settings.py +29 -30
  134. label_studio_sdk/types/review_settings_request.py +29 -30
  135. label_studio_sdk/types/role9e7enum.py +5 -0
  136. label_studio_sdk/types/s3export_storage.py +45 -45
  137. label_studio_sdk/types/s3import_storage.py +44 -44
  138. label_studio_sdk/types/selected_items_request.py +1 -1
  139. label_studio_sdk/types/serialization_options.py +10 -10
  140. label_studio_sdk/types/serialization_options_request.py +10 -10
  141. label_studio_sdk/types/task_assignment.py +43 -0
  142. label_studio_sdk/types/third_party_model_version.py +11 -11
  143. label_studio_sdk/types/third_party_model_version_request.py +6 -7
  144. label_studio_sdk/types/type_enum.py +5 -0
  145. label_studio_sdk/types/user_simple.py +3 -3
  146. label_studio_sdk/types/user_simple_request.py +1 -1
  147. label_studio_sdk/types/version_response.py +19 -20
  148. label_studio_sdk/types/view.py +8 -8
  149. label_studio_sdk/types/webhook.py +16 -16
  150. label_studio_sdk/types/webhook_serializer_for_update.py +16 -16
  151. label_studio_sdk/types/workspace.py +10 -11
  152. label_studio_sdk/users/client.py +160 -160
  153. label_studio_sdk/views/client.py +164 -164
  154. label_studio_sdk/webhooks/client.py +183 -183
  155. label_studio_sdk/webhooks/types/webhooks_info_response.py +32 -32
  156. label_studio_sdk/webhooks/types/webhooks_info_response_annotation_created.py +1 -1
  157. label_studio_sdk/webhooks/types/webhooks_info_response_annotation_updated.py +1 -1
  158. label_studio_sdk/webhooks/types/webhooks_info_response_annotations_created.py +1 -1
  159. label_studio_sdk/webhooks/types/webhooks_info_response_annotations_deleted.py +1 -1
  160. label_studio_sdk/webhooks/types/webhooks_info_response_label_link_created.py +1 -1
  161. label_studio_sdk/webhooks/types/webhooks_info_response_label_link_deleted.py +1 -1
  162. label_studio_sdk/webhooks/types/webhooks_info_response_label_link_updated.py +1 -1
  163. label_studio_sdk/webhooks/types/webhooks_info_response_project_created.py +1 -1
  164. label_studio_sdk/webhooks/types/webhooks_info_response_project_deleted.py +1 -1
  165. label_studio_sdk/webhooks/types/webhooks_info_response_project_updated.py +1 -1
  166. label_studio_sdk/webhooks/types/webhooks_info_response_review_created.py +1 -1
  167. label_studio_sdk/webhooks/types/webhooks_info_response_review_updated.py +1 -1
  168. label_studio_sdk/webhooks/types/webhooks_info_response_reviews_deleted.py +1 -1
  169. label_studio_sdk/webhooks/types/webhooks_info_response_tasks_created.py +1 -1
  170. label_studio_sdk/webhooks/types/webhooks_info_response_tasks_deleted.py +1 -1
  171. label_studio_sdk/workspaces/client.py +40 -40
  172. {label_studio_sdk-2.0.0.dist-info → label_studio_sdk-2.0.2.dist-info}/METADATA +73 -25
  173. {label_studio_sdk-2.0.0.dist-info → label_studio_sdk-2.0.2.dist-info}/RECORD +175 -146
  174. {label_studio_sdk-2.0.0.dist-info → label_studio_sdk-2.0.2.dist-info}/LICENSE +0 -0
  175. {label_studio_sdk-2.0.0.dist-info → label_studio_sdk-2.0.2.dist-info}/WHEEL +0 -0
@@ -9,9 +9,9 @@ import pydantic
9
9
 
10
10
 
11
11
  class WebhooksInfoResponseLabelLinkDeleted(UncheckedBaseModel):
12
- name: str
13
12
  description: str
14
13
  key: str
14
+ name: str
15
15
  organization_only: typing_extensions.Annotated[bool, FieldMetadata(alias="organization-only")]
16
16
 
17
17
  if IS_PYDANTIC_V2:
@@ -9,9 +9,9 @@ import pydantic
9
9
 
10
10
 
11
11
  class WebhooksInfoResponseLabelLinkUpdated(UncheckedBaseModel):
12
- name: str
13
12
  description: str
14
13
  key: str
14
+ name: str
15
15
  organization_only: typing_extensions.Annotated[bool, FieldMetadata(alias="organization-only")]
16
16
 
17
17
  if IS_PYDANTIC_V2:
@@ -9,9 +9,9 @@ import pydantic
9
9
 
10
10
 
11
11
  class WebhooksInfoResponseProjectCreated(UncheckedBaseModel):
12
- name: str
13
12
  description: str
14
13
  key: str
14
+ name: str
15
15
  organization_only: typing_extensions.Annotated[bool, FieldMetadata(alias="organization-only")]
16
16
 
17
17
  if IS_PYDANTIC_V2:
@@ -9,9 +9,9 @@ import pydantic
9
9
 
10
10
 
11
11
  class WebhooksInfoResponseProjectDeleted(UncheckedBaseModel):
12
- name: str
13
12
  description: str
14
13
  key: str
14
+ name: str
15
15
  organization_only: typing_extensions.Annotated[bool, FieldMetadata(alias="organization-only")]
16
16
 
17
17
  if IS_PYDANTIC_V2:
@@ -9,9 +9,9 @@ import pydantic
9
9
 
10
10
 
11
11
  class WebhooksInfoResponseProjectUpdated(UncheckedBaseModel):
12
- name: str
13
12
  description: str
14
13
  key: str
14
+ name: str
15
15
  organization_only: typing_extensions.Annotated[bool, FieldMetadata(alias="organization-only")]
16
16
 
17
17
  if IS_PYDANTIC_V2:
@@ -9,9 +9,9 @@ import pydantic
9
9
 
10
10
 
11
11
  class WebhooksInfoResponseReviewCreated(UncheckedBaseModel):
12
- name: str
13
12
  description: str
14
13
  key: str
14
+ name: str
15
15
  organization_only: typing_extensions.Annotated[bool, FieldMetadata(alias="organization-only")]
16
16
 
17
17
  if IS_PYDANTIC_V2:
@@ -9,9 +9,9 @@ import pydantic
9
9
 
10
10
 
11
11
  class WebhooksInfoResponseReviewUpdated(UncheckedBaseModel):
12
- name: str
13
12
  description: str
14
13
  key: str
14
+ name: str
15
15
  organization_only: typing_extensions.Annotated[bool, FieldMetadata(alias="organization-only")]
16
16
 
17
17
  if IS_PYDANTIC_V2:
@@ -9,9 +9,9 @@ import pydantic
9
9
 
10
10
 
11
11
  class WebhooksInfoResponseReviewsDeleted(UncheckedBaseModel):
12
- name: str
13
12
  description: str
14
13
  key: str
14
+ name: str
15
15
  organization_only: typing_extensions.Annotated[bool, FieldMetadata(alias="organization-only")]
16
16
 
17
17
  if IS_PYDANTIC_V2:
@@ -9,9 +9,9 @@ import pydantic
9
9
 
10
10
 
11
11
  class WebhooksInfoResponseTasksCreated(UncheckedBaseModel):
12
- name: str
13
12
  description: str
14
13
  key: str
14
+ name: str
15
15
  organization_only: typing_extensions.Annotated[bool, FieldMetadata(alias="organization-only")]
16
16
 
17
17
  if IS_PYDANTIC_V2:
@@ -9,9 +9,9 @@ import pydantic
9
9
 
10
10
 
11
11
  class WebhooksInfoResponseTasksDeleted(UncheckedBaseModel):
12
- name: str
13
12
  description: str
14
13
  key: str
14
+ name: str
15
15
  organization_only: typing_extensions.Annotated[bool, FieldMetadata(alias="organization-only")]
16
16
 
17
17
  if IS_PYDANTIC_V2:
@@ -83,10 +83,10 @@ class WorkspacesClient:
83
83
  self,
84
84
  *,
85
85
  title: str,
86
- description: typing.Optional[str] = OMIT,
87
86
  color: typing.Optional[str] = OMIT,
88
- is_personal: typing.Optional[bool] = OMIT,
87
+ description: typing.Optional[str] = OMIT,
89
88
  is_archived: typing.Optional[bool] = OMIT,
89
+ is_personal: typing.Optional[bool] = OMIT,
90
90
  request_options: typing.Optional[RequestOptions] = None,
91
91
  ) -> Workspace:
92
92
  """
@@ -97,17 +97,17 @@ class WorkspacesClient:
97
97
  title : str
98
98
  Workspace name
99
99
 
100
+ color : typing.Optional[str]
101
+
100
102
  description : typing.Optional[str]
101
103
  Workspace description
102
104
 
103
- color : typing.Optional[str]
105
+ is_archived : typing.Optional[bool]
106
+ Workspace is archived
104
107
 
105
108
  is_personal : typing.Optional[bool]
106
109
  Workspace is a personal user workspace
107
110
 
108
- is_archived : typing.Optional[bool]
109
- Workspace is archived
110
-
111
111
  request_options : typing.Optional[RequestOptions]
112
112
  Request-specific configuration.
113
113
 
@@ -131,11 +131,11 @@ class WorkspacesClient:
131
131
  "api/workspaces/",
132
132
  method="POST",
133
133
  json={
134
- "title": title,
135
- "description": description,
136
134
  "color": color,
137
- "is_personal": is_personal,
135
+ "description": description,
138
136
  "is_archived": is_archived,
137
+ "is_personal": is_personal,
138
+ "title": title,
139
139
  },
140
140
  headers={
141
141
  "content-type": "application/json",
@@ -246,11 +246,11 @@ class WorkspacesClient:
246
246
  self,
247
247
  id: int,
248
248
  *,
249
- title: typing.Optional[str] = OMIT,
250
- description: typing.Optional[str] = OMIT,
251
249
  color: typing.Optional[str] = OMIT,
252
- is_personal: typing.Optional[bool] = OMIT,
250
+ description: typing.Optional[str] = OMIT,
253
251
  is_archived: typing.Optional[bool] = OMIT,
252
+ is_personal: typing.Optional[bool] = OMIT,
253
+ title: typing.Optional[str] = OMIT,
254
254
  request_options: typing.Optional[RequestOptions] = None,
255
255
  ) -> Workspace:
256
256
  """
@@ -260,19 +260,19 @@ class WorkspacesClient:
260
260
  ----------
261
261
  id : int
262
262
 
263
- title : typing.Optional[str]
264
- Workspace name
263
+ color : typing.Optional[str]
265
264
 
266
265
  description : typing.Optional[str]
267
266
  Workspace description
268
267
 
269
- color : typing.Optional[str]
268
+ is_archived : typing.Optional[bool]
269
+ Workspace is archived
270
270
 
271
271
  is_personal : typing.Optional[bool]
272
272
  Workspace is a personal user workspace
273
273
 
274
- is_archived : typing.Optional[bool]
275
- Workspace is archived
274
+ title : typing.Optional[str]
275
+ Workspace name
276
276
 
277
277
  request_options : typing.Optional[RequestOptions]
278
278
  Request-specific configuration.
@@ -297,11 +297,11 @@ class WorkspacesClient:
297
297
  f"api/workspaces/{jsonable_encoder(id)}/",
298
298
  method="PATCH",
299
299
  json={
300
- "title": title,
301
- "description": description,
302
300
  "color": color,
303
- "is_personal": is_personal,
301
+ "description": description,
304
302
  "is_archived": is_archived,
303
+ "is_personal": is_personal,
304
+ "title": title,
305
305
  },
306
306
  headers={
307
307
  "content-type": "application/json",
@@ -399,10 +399,10 @@ class AsyncWorkspacesClient:
399
399
  self,
400
400
  *,
401
401
  title: str,
402
- description: typing.Optional[str] = OMIT,
403
402
  color: typing.Optional[str] = OMIT,
404
- is_personal: typing.Optional[bool] = OMIT,
403
+ description: typing.Optional[str] = OMIT,
405
404
  is_archived: typing.Optional[bool] = OMIT,
405
+ is_personal: typing.Optional[bool] = OMIT,
406
406
  request_options: typing.Optional[RequestOptions] = None,
407
407
  ) -> Workspace:
408
408
  """
@@ -413,17 +413,17 @@ class AsyncWorkspacesClient:
413
413
  title : str
414
414
  Workspace name
415
415
 
416
+ color : typing.Optional[str]
417
+
416
418
  description : typing.Optional[str]
417
419
  Workspace description
418
420
 
419
- color : typing.Optional[str]
421
+ is_archived : typing.Optional[bool]
422
+ Workspace is archived
420
423
 
421
424
  is_personal : typing.Optional[bool]
422
425
  Workspace is a personal user workspace
423
426
 
424
- is_archived : typing.Optional[bool]
425
- Workspace is archived
426
-
427
427
  request_options : typing.Optional[RequestOptions]
428
428
  Request-specific configuration.
429
429
 
@@ -455,11 +455,11 @@ class AsyncWorkspacesClient:
455
455
  "api/workspaces/",
456
456
  method="POST",
457
457
  json={
458
- "title": title,
459
- "description": description,
460
458
  "color": color,
461
- "is_personal": is_personal,
459
+ "description": description,
462
460
  "is_archived": is_archived,
461
+ "is_personal": is_personal,
462
+ "title": title,
463
463
  },
464
464
  headers={
465
465
  "content-type": "application/json",
@@ -586,11 +586,11 @@ class AsyncWorkspacesClient:
586
586
  self,
587
587
  id: int,
588
588
  *,
589
- title: typing.Optional[str] = OMIT,
590
- description: typing.Optional[str] = OMIT,
591
589
  color: typing.Optional[str] = OMIT,
592
- is_personal: typing.Optional[bool] = OMIT,
590
+ description: typing.Optional[str] = OMIT,
593
591
  is_archived: typing.Optional[bool] = OMIT,
592
+ is_personal: typing.Optional[bool] = OMIT,
593
+ title: typing.Optional[str] = OMIT,
594
594
  request_options: typing.Optional[RequestOptions] = None,
595
595
  ) -> Workspace:
596
596
  """
@@ -600,19 +600,19 @@ class AsyncWorkspacesClient:
600
600
  ----------
601
601
  id : int
602
602
 
603
- title : typing.Optional[str]
604
- Workspace name
603
+ color : typing.Optional[str]
605
604
 
606
605
  description : typing.Optional[str]
607
606
  Workspace description
608
607
 
609
- color : typing.Optional[str]
608
+ is_archived : typing.Optional[bool]
609
+ Workspace is archived
610
610
 
611
611
  is_personal : typing.Optional[bool]
612
612
  Workspace is a personal user workspace
613
613
 
614
- is_archived : typing.Optional[bool]
615
- Workspace is archived
614
+ title : typing.Optional[str]
615
+ Workspace name
616
616
 
617
617
  request_options : typing.Optional[RequestOptions]
618
618
  Request-specific configuration.
@@ -645,11 +645,11 @@ class AsyncWorkspacesClient:
645
645
  f"api/workspaces/{jsonable_encoder(id)}/",
646
646
  method="PATCH",
647
647
  json={
648
- "title": title,
649
- "description": description,
650
648
  "color": color,
651
- "is_personal": is_personal,
649
+ "description": description,
652
650
  "is_archived": is_archived,
651
+ "is_personal": is_personal,
652
+ "title": title,
653
653
  },
654
654
  headers={
655
655
  "content-type": "application/json",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: label-studio-sdk
3
- Version: 2.0.0
3
+ Version: 2.0.2
4
4
  Summary:
5
5
  Requires-Python: >=3.9,<4
6
6
  Classifier: Intended Audience :: Developers
@@ -45,29 +45,6 @@ Description-Content-Type: text/markdown
45
45
 
46
46
  # Label Studio Python Library
47
47
 
48
- <!-- Note about deprecated version <1 -->
49
- ---
50
- > :warning: **Note**<br/>
51
- >
52
- > The version of `label-studio-sdk<1` is deprecated and no longer supported. We recommend updating to the latest version.
53
- > If you still want to use the old version, you can install it with `pip install "label-studio-sdk<1"`.
54
- > OR You can find the branch with the old version by cloning the repository and checking out the branch as follows:
55
- >
56
- > ```sh
57
- > git clone https://github.com/HumanSignal/label-studio-sdk.git
58
- > cd label-studio-sdk
59
- > git fetch origin
60
- > git checkout release/0.0.34
61
- > ```
62
- >
63
- > OR you can change your import statements as follows:
64
- > ```python
65
- > from label_studio_sdk import Client
66
- > from label_studio_sdk.data_manager import Filters, Column, Operator, Type
67
- > from label_studio_sdk._legacy import Project
68
- > ```
69
- ---
70
-
71
48
  [![fern shield](https://img.shields.io/badge/%F0%9F%8C%BF-SDK%20generated%20by%20Fern-brightgreen)](https://github.com/fern-api/fern)
72
49
  [![pypi](https://img.shields.io/pypi/v/label-studio-sdk.svg)](https://pypi.python.org/pypi/label-studio-sdk)
73
50
 
@@ -100,6 +77,77 @@ ls = LabelStudio(
100
77
  )
101
78
  ```
102
79
 
80
+ # Versions
81
+
82
+ ## SDK 2.0.0
83
+
84
+ In August 2025, we released SDK version 2.0.0.
85
+
86
+ This version has a number of documentation and functional improvements over SDK 1.
87
+
88
+ ### Enhancements
89
+
90
+ **Enterprise-only**
91
+
92
+ - Added a new `projects.stats.iaa` endpoint to return stats from the inter-annotator agreement matrix.
93
+ - You can now update tasks that have comments.
94
+ - Added support for `sync` to `S3s` (S3 with IAM role) exports.
95
+
96
+ **Enterprise and open source**
97
+
98
+ - Expanded support to include all project settings, many of which were missing in SDK 1. For example, in Enterprise environments you can now configure `assignment_settings`, `review_settings`, `annotator_evaluation`, and many more.
99
+ - Fixed passing the `project` parameter in `actions.list()` (broken in SDK 1).
100
+ - Relaxed request/response validation reduces pydantic errors in SDK 2.
101
+
102
+ ### Breaking changes
103
+
104
+ **Enterprise-only**
105
+
106
+ - `comments.create` no longer accepts a `project` argument.
107
+ - In `prompts.indicators`, the `pk` parameter is now `id`.
108
+ - In `prompts.runs` and `prompts.versions`, the `id` parameter is now `prompt_id`.
109
+ - `workspaces.members.list` responses are now objects instead of dictionaries.
110
+
111
+ **Enterprise and open source**
112
+
113
+ - In `projects.exports` calls, the project ID is now passed as `id`, while the export ID is passed as `export_pk`.
114
+ - Predictions returned in task responses are now objects instead of dictionaries.
115
+
116
+ ## SDK 1.0+
117
+
118
+ SDK 1 was released in June 2024.
119
+
120
+ If you use the Label Studio SDK 1 package in any automated pipelines, we strongly recommend pinning your SDK version to `<2.0.0` until you can reconcile the breaking changes.
121
+
122
+
123
+ ## SDK <1
124
+
125
+ The version of `label-studio-sdk<1` is deprecated and no longer supported. We recommend updating to the latest version.
126
+
127
+ <details>
128
+
129
+ <summary> To use SDK <1 </summary>
130
+
131
+ If you still want to use the deprecated version, you can install it with `pip install "label-studio-sdk<1"`.
132
+
133
+ OR You can find the branch with the old version by cloning the repository and checking out the branch as follows:
134
+
135
+ ```sh
136
+ git clone https://github.com/HumanSignal/label-studio-sdk.git
137
+ cd label-studio-sdk
138
+ git fetch origin
139
+ git checkout release/0.0.34
140
+ ```
141
+
142
+ OR you can change your import statements as follows:
143
+ ```python
144
+ from label_studio_sdk import Client
145
+ from label_studio_sdk.data_manager import Filters, Column, Operator, Type
146
+ from label_studio_sdk._legacy import Project
147
+ ```
148
+
149
+ </details>
150
+
103
151
  # Examples
104
152
 
105
153
  Check more examples [here](https://api.labelstud.io/).
@@ -111,7 +159,7 @@ from label_studio_sdk.label_interface import LabelInterface
111
159
  from label_studio_sdk.label_interface.create import labels
112
160
 
113
161
  project = ls.projects.create(
114
- name="Project name",
162
+ title="Project name",
115
163
  description="Project description",
116
164
  label_config=LabelInterface.create({
117
165
  "image": "Image",