label-studio-sdk 1.0.0__py3-none-any.whl → 1.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.
Files changed (99) hide show
  1. label_studio_sdk/__init__.py +46 -4
  2. label_studio_sdk/_extensions/pager_ext.py +49 -0
  3. label_studio_sdk/_legacy/schema/label_config_schema.json +14 -14
  4. label_studio_sdk/actions/__init__.py +27 -0
  5. label_studio_sdk/actions/client.py +129 -8
  6. label_studio_sdk/actions/types/__init__.py +27 -0
  7. label_studio_sdk/actions/types/actions_create_request_filters.py +43 -0
  8. label_studio_sdk/actions/types/actions_create_request_filters_conjunction.py +5 -0
  9. label_studio_sdk/actions/types/actions_create_request_filters_items_item.py +50 -0
  10. label_studio_sdk/actions/types/actions_create_request_filters_items_item_filter.py +31 -0
  11. label_studio_sdk/actions/types/actions_create_request_filters_items_item_operator.py +23 -0
  12. label_studio_sdk/actions/types/actions_create_request_filters_items_item_value.py +5 -0
  13. label_studio_sdk/actions/types/actions_create_request_id.py +19 -0
  14. label_studio_sdk/actions/types/actions_create_request_ordering_item.py +31 -0
  15. label_studio_sdk/actions/types/actions_create_request_selected_items.py +10 -0
  16. label_studio_sdk/actions/types/actions_create_request_selected_items_excluded.py +39 -0
  17. label_studio_sdk/actions/types/actions_create_request_selected_items_included.py +39 -0
  18. label_studio_sdk/base_client.py +183 -0
  19. label_studio_sdk/client.py +17 -175
  20. label_studio_sdk/core/client_wrapper.py +1 -1
  21. label_studio_sdk/core/http_client.py +5 -1
  22. label_studio_sdk/errors/bad_request_error.py +3 -1
  23. label_studio_sdk/export_storage/azure/client.py +176 -10
  24. label_studio_sdk/export_storage/azure/types/azure_create_response.py +15 -0
  25. label_studio_sdk/export_storage/azure/types/azure_update_response.py +15 -0
  26. label_studio_sdk/export_storage/gcs/client.py +180 -14
  27. label_studio_sdk/export_storage/gcs/types/gcs_create_response.py +16 -1
  28. label_studio_sdk/export_storage/gcs/types/gcs_update_response.py +16 -1
  29. label_studio_sdk/export_storage/local/client.py +168 -22
  30. label_studio_sdk/export_storage/local/types/local_create_response.py +12 -2
  31. label_studio_sdk/export_storage/local/types/local_update_response.py +12 -2
  32. label_studio_sdk/export_storage/redis/client.py +234 -30
  33. label_studio_sdk/export_storage/redis/types/redis_create_response.py +20 -5
  34. label_studio_sdk/export_storage/redis/types/redis_update_response.py +20 -5
  35. label_studio_sdk/export_storage/s3/client.py +214 -26
  36. label_studio_sdk/export_storage/s3/types/s3create_response.py +15 -0
  37. label_studio_sdk/export_storage/s3/types/s3update_response.py +15 -0
  38. label_studio_sdk/import_storage/azure/client.py +266 -90
  39. label_studio_sdk/import_storage/azure/types/azure_create_response.py +28 -18
  40. label_studio_sdk/import_storage/azure/types/azure_update_response.py +28 -18
  41. label_studio_sdk/import_storage/gcs/client.py +270 -94
  42. label_studio_sdk/import_storage/gcs/types/gcs_create_response.py +28 -18
  43. label_studio_sdk/import_storage/gcs/types/gcs_update_response.py +28 -18
  44. label_studio_sdk/import_storage/local/client.py +168 -22
  45. label_studio_sdk/import_storage/local/types/local_create_response.py +12 -2
  46. label_studio_sdk/import_storage/local/types/local_update_response.py +12 -2
  47. label_studio_sdk/import_storage/redis/client.py +206 -50
  48. label_studio_sdk/import_storage/redis/types/redis_create_response.py +20 -10
  49. label_studio_sdk/import_storage/redis/types/redis_update_response.py +20 -10
  50. label_studio_sdk/import_storage/s3/client.py +336 -110
  51. label_studio_sdk/import_storage/s3/types/s3create_response.py +35 -25
  52. label_studio_sdk/import_storage/s3/types/s3update_response.py +35 -25
  53. label_studio_sdk/{_legacy/label_interface → label_interface}/base.py +10 -0
  54. label_studio_sdk/{_legacy/label_interface → label_interface}/control_tags.py +109 -71
  55. label_studio_sdk/{_legacy/label_interface → label_interface}/interface.py +97 -51
  56. label_studio_sdk/{_legacy/label_interface → label_interface}/object_tags.py +8 -13
  57. label_studio_sdk/label_interface/objects.py +60 -0
  58. label_studio_sdk/label_interface/region.py +75 -0
  59. label_studio_sdk/projects/client.py +6 -4
  60. label_studio_sdk/projects/client_ext.py +19 -0
  61. label_studio_sdk/tasks/client.py +35 -8
  62. label_studio_sdk/tasks/client_ext.py +18 -0
  63. label_studio_sdk/types/__init__.py +10 -0
  64. label_studio_sdk/types/annotation.py +5 -5
  65. label_studio_sdk/types/annotations_dm_field.py +120 -0
  66. label_studio_sdk/types/annotations_dm_field_last_action.py +19 -0
  67. label_studio_sdk/types/data_manager_task_serializer.py +123 -0
  68. label_studio_sdk/types/data_manager_task_serializer_drafts_item.py +31 -0
  69. label_studio_sdk/types/data_manager_task_serializer_predictions_item.py +37 -0
  70. label_studio_sdk/types/task.py +1 -1
  71. label_studio_sdk/views/__init__.py +12 -4
  72. label_studio_sdk/views/types/__init__.py +12 -4
  73. label_studio_sdk/views/types/views_create_request_data.py +2 -2
  74. label_studio_sdk/views/types/views_create_request_data_filters.py +5 -5
  75. label_studio_sdk/views/types/views_create_request_data_filters_conjunction.py +1 -1
  76. label_studio_sdk/views/types/views_create_request_data_filters_items_item.py +11 -8
  77. label_studio_sdk/views/types/views_create_request_data_filters_items_item_filter.py +31 -0
  78. label_studio_sdk/views/types/views_create_request_data_filters_items_item_operator.py +23 -0
  79. label_studio_sdk/views/types/views_create_request_data_filters_items_item_value.py +5 -0
  80. label_studio_sdk/views/types/views_create_request_data_ordering_item.py +27 -34
  81. label_studio_sdk/views/types/views_update_request_data.py +2 -2
  82. label_studio_sdk/views/types/views_update_request_data_filters.py +5 -5
  83. label_studio_sdk/views/types/views_update_request_data_filters_conjunction.py +1 -1
  84. label_studio_sdk/views/types/views_update_request_data_filters_items_item.py +11 -8
  85. label_studio_sdk/views/types/views_update_request_data_filters_items_item_filter.py +31 -0
  86. label_studio_sdk/views/types/views_update_request_data_filters_items_item_operator.py +23 -0
  87. label_studio_sdk/views/types/views_update_request_data_filters_items_item_value.py +5 -0
  88. label_studio_sdk/views/types/views_update_request_data_ordering_item.py +27 -34
  89. label_studio_sdk-1.0.2.dist-info/METADATA +195 -0
  90. {label_studio_sdk-1.0.0.dist-info → label_studio_sdk-1.0.2.dist-info}/RECORD +94 -69
  91. label_studio_sdk/_legacy/label_interface/region.py +0 -43
  92. label_studio_sdk/_legacy/objects.py +0 -35
  93. label_studio_sdk/views/types/views_create_request_data_ordering_item_direction.py +0 -5
  94. label_studio_sdk/views/types/views_update_request_data_ordering_item_direction.py +0 -5
  95. label_studio_sdk-1.0.0.dist-info/METADATA +0 -307
  96. /label_studio_sdk/{_legacy/label_interface → label_interface}/__init__.py +0 -0
  97. /label_studio_sdk/{_legacy/label_interface → label_interface}/data_examples.json +0 -0
  98. /label_studio_sdk/{_legacy/label_interface → label_interface}/label_tags.py +0 -0
  99. {label_studio_sdk-1.0.0.dist-info → label_studio_sdk-1.0.2.dist-info}/WHEEL +0 -0
@@ -66,6 +66,9 @@ class AzureClient:
66
66
  def create(
67
67
  self,
68
68
  *,
69
+ can_delete_objects: typing.Optional[bool] = OMIT,
70
+ title: typing.Optional[str] = OMIT,
71
+ description: typing.Optional[str] = OMIT,
69
72
  project: typing.Optional[int] = OMIT,
70
73
  container: typing.Optional[str] = OMIT,
71
74
  prefix: typing.Optional[str] = OMIT,
@@ -82,6 +85,15 @@ class AzureClient:
82
85
 
83
86
  Parameters
84
87
  ----------
88
+ can_delete_objects : typing.Optional[bool]
89
+ Deletion from storage enabled
90
+
91
+ title : typing.Optional[str]
92
+ Storage title
93
+
94
+ description : typing.Optional[str]
95
+ Storage description
96
+
85
97
  project : typing.Optional[int]
86
98
  Project ID
87
99
 
@@ -118,6 +130,9 @@ class AzureClient:
118
130
  "api/storages/export/azure",
119
131
  method="POST",
120
132
  json={
133
+ "can_delete_objects": can_delete_objects,
134
+ "title": title,
135
+ "description": description,
121
136
  "project": project,
122
137
  "container": container,
123
138
  "prefix": prefix,
@@ -135,19 +150,58 @@ class AzureClient:
135
150
  raise ApiError(status_code=_response.status_code, body=_response.text)
136
151
  raise ApiError(status_code=_response.status_code, body=_response_json)
137
152
 
138
- def validate(self, *, request_options: typing.Optional[RequestOptions] = None) -> AzureBlobExportStorage:
153
+ def validate(
154
+ self,
155
+ *,
156
+ id: typing.Optional[int] = OMIT,
157
+ can_delete_objects: typing.Optional[bool] = OMIT,
158
+ title: typing.Optional[str] = OMIT,
159
+ description: typing.Optional[str] = OMIT,
160
+ project: typing.Optional[int] = OMIT,
161
+ container: typing.Optional[str] = OMIT,
162
+ prefix: typing.Optional[str] = OMIT,
163
+ account_name: typing.Optional[str] = OMIT,
164
+ account_key: typing.Optional[str] = OMIT,
165
+ request_options: typing.Optional[RequestOptions] = None,
166
+ ) -> None:
139
167
  """
140
168
  Validate a specific Azure export storage connection. This is useful to ensure that the storage configuration settings are correct and operational before attempting to export data.
141
169
 
142
170
  Parameters
143
171
  ----------
172
+ id : typing.Optional[int]
173
+ Storage ID. If set, storage with specified ID will be updated
174
+
175
+ can_delete_objects : typing.Optional[bool]
176
+ Deletion from storage enabled
177
+
178
+ title : typing.Optional[str]
179
+ Storage title
180
+
181
+ description : typing.Optional[str]
182
+ Storage description
183
+
184
+ project : typing.Optional[int]
185
+ Project ID
186
+
187
+ container : typing.Optional[str]
188
+ Azure blob container
189
+
190
+ prefix : typing.Optional[str]
191
+ Azure blob prefix name
192
+
193
+ account_name : typing.Optional[str]
194
+ Azure Blob account name
195
+
196
+ account_key : typing.Optional[str]
197
+ Azure Blob account key
198
+
144
199
  request_options : typing.Optional[RequestOptions]
145
200
  Request-specific configuration.
146
201
 
147
202
  Returns
148
203
  -------
149
- AzureBlobExportStorage
150
-
204
+ None
151
205
 
152
206
  Examples
153
207
  --------
@@ -159,10 +213,24 @@ class AzureClient:
159
213
  client.export_storage.azure.validate()
160
214
  """
161
215
  _response = self._client_wrapper.httpx_client.request(
162
- "api/storages/export/azure/validate", method="POST", request_options=request_options
216
+ "api/storages/export/azure/validate",
217
+ method="POST",
218
+ json={
219
+ "id": id,
220
+ "can_delete_objects": can_delete_objects,
221
+ "title": title,
222
+ "description": description,
223
+ "project": project,
224
+ "container": container,
225
+ "prefix": prefix,
226
+ "account_name": account_name,
227
+ "account_key": account_key,
228
+ },
229
+ request_options=request_options,
230
+ omit=OMIT,
163
231
  )
164
232
  if 200 <= _response.status_code < 300:
165
- return pydantic_v1.parse_obj_as(AzureBlobExportStorage, _response.json()) # type: ignore
233
+ return
166
234
  try:
167
235
  _response_json = _response.json()
168
236
  except JSONDecodeError:
@@ -254,6 +322,9 @@ class AzureClient:
254
322
  self,
255
323
  id: int,
256
324
  *,
325
+ can_delete_objects: typing.Optional[bool] = OMIT,
326
+ title: typing.Optional[str] = OMIT,
327
+ description: typing.Optional[str] = OMIT,
257
328
  project: typing.Optional[int] = OMIT,
258
329
  container: typing.Optional[str] = OMIT,
259
330
  prefix: typing.Optional[str] = OMIT,
@@ -271,6 +342,15 @@ class AzureClient:
271
342
  id : int
272
343
  A unique integer value identifying this azure blob export storage.
273
344
 
345
+ can_delete_objects : typing.Optional[bool]
346
+ Deletion from storage enabled
347
+
348
+ title : typing.Optional[str]
349
+ Storage title
350
+
351
+ description : typing.Optional[str]
352
+ Storage description
353
+
274
354
  project : typing.Optional[int]
275
355
  Project ID
276
356
 
@@ -309,6 +389,9 @@ class AzureClient:
309
389
  f"api/storages/export/azure/{jsonable_encoder(id)}",
310
390
  method="PATCH",
311
391
  json={
392
+ "can_delete_objects": can_delete_objects,
393
+ "title": title,
394
+ "description": description,
312
395
  "project": project,
313
396
  "container": container,
314
397
  "prefix": prefix,
@@ -419,6 +502,9 @@ class AsyncAzureClient:
419
502
  async def create(
420
503
  self,
421
504
  *,
505
+ can_delete_objects: typing.Optional[bool] = OMIT,
506
+ title: typing.Optional[str] = OMIT,
507
+ description: typing.Optional[str] = OMIT,
422
508
  project: typing.Optional[int] = OMIT,
423
509
  container: typing.Optional[str] = OMIT,
424
510
  prefix: typing.Optional[str] = OMIT,
@@ -435,6 +521,15 @@ class AsyncAzureClient:
435
521
 
436
522
  Parameters
437
523
  ----------
524
+ can_delete_objects : typing.Optional[bool]
525
+ Deletion from storage enabled
526
+
527
+ title : typing.Optional[str]
528
+ Storage title
529
+
530
+ description : typing.Optional[str]
531
+ Storage description
532
+
438
533
  project : typing.Optional[int]
439
534
  Project ID
440
535
 
@@ -471,6 +566,9 @@ class AsyncAzureClient:
471
566
  "api/storages/export/azure",
472
567
  method="POST",
473
568
  json={
569
+ "can_delete_objects": can_delete_objects,
570
+ "title": title,
571
+ "description": description,
474
572
  "project": project,
475
573
  "container": container,
476
574
  "prefix": prefix,
@@ -488,19 +586,58 @@ class AsyncAzureClient:
488
586
  raise ApiError(status_code=_response.status_code, body=_response.text)
489
587
  raise ApiError(status_code=_response.status_code, body=_response_json)
490
588
 
491
- async def validate(self, *, request_options: typing.Optional[RequestOptions] = None) -> AzureBlobExportStorage:
589
+ async def validate(
590
+ self,
591
+ *,
592
+ id: typing.Optional[int] = OMIT,
593
+ can_delete_objects: typing.Optional[bool] = OMIT,
594
+ title: typing.Optional[str] = OMIT,
595
+ description: typing.Optional[str] = OMIT,
596
+ project: typing.Optional[int] = OMIT,
597
+ container: typing.Optional[str] = OMIT,
598
+ prefix: typing.Optional[str] = OMIT,
599
+ account_name: typing.Optional[str] = OMIT,
600
+ account_key: typing.Optional[str] = OMIT,
601
+ request_options: typing.Optional[RequestOptions] = None,
602
+ ) -> None:
492
603
  """
493
604
  Validate a specific Azure export storage connection. This is useful to ensure that the storage configuration settings are correct and operational before attempting to export data.
494
605
 
495
606
  Parameters
496
607
  ----------
608
+ id : typing.Optional[int]
609
+ Storage ID. If set, storage with specified ID will be updated
610
+
611
+ can_delete_objects : typing.Optional[bool]
612
+ Deletion from storage enabled
613
+
614
+ title : typing.Optional[str]
615
+ Storage title
616
+
617
+ description : typing.Optional[str]
618
+ Storage description
619
+
620
+ project : typing.Optional[int]
621
+ Project ID
622
+
623
+ container : typing.Optional[str]
624
+ Azure blob container
625
+
626
+ prefix : typing.Optional[str]
627
+ Azure blob prefix name
628
+
629
+ account_name : typing.Optional[str]
630
+ Azure Blob account name
631
+
632
+ account_key : typing.Optional[str]
633
+ Azure Blob account key
634
+
497
635
  request_options : typing.Optional[RequestOptions]
498
636
  Request-specific configuration.
499
637
 
500
638
  Returns
501
639
  -------
502
- AzureBlobExportStorage
503
-
640
+ None
504
641
 
505
642
  Examples
506
643
  --------
@@ -512,10 +649,24 @@ class AsyncAzureClient:
512
649
  await client.export_storage.azure.validate()
513
650
  """
514
651
  _response = await self._client_wrapper.httpx_client.request(
515
- "api/storages/export/azure/validate", method="POST", request_options=request_options
652
+ "api/storages/export/azure/validate",
653
+ method="POST",
654
+ json={
655
+ "id": id,
656
+ "can_delete_objects": can_delete_objects,
657
+ "title": title,
658
+ "description": description,
659
+ "project": project,
660
+ "container": container,
661
+ "prefix": prefix,
662
+ "account_name": account_name,
663
+ "account_key": account_key,
664
+ },
665
+ request_options=request_options,
666
+ omit=OMIT,
516
667
  )
517
668
  if 200 <= _response.status_code < 300:
518
- return pydantic_v1.parse_obj_as(AzureBlobExportStorage, _response.json()) # type: ignore
669
+ return
519
670
  try:
520
671
  _response_json = _response.json()
521
672
  except JSONDecodeError:
@@ -607,6 +758,9 @@ class AsyncAzureClient:
607
758
  self,
608
759
  id: int,
609
760
  *,
761
+ can_delete_objects: typing.Optional[bool] = OMIT,
762
+ title: typing.Optional[str] = OMIT,
763
+ description: typing.Optional[str] = OMIT,
610
764
  project: typing.Optional[int] = OMIT,
611
765
  container: typing.Optional[str] = OMIT,
612
766
  prefix: typing.Optional[str] = OMIT,
@@ -624,6 +778,15 @@ class AsyncAzureClient:
624
778
  id : int
625
779
  A unique integer value identifying this azure blob export storage.
626
780
 
781
+ can_delete_objects : typing.Optional[bool]
782
+ Deletion from storage enabled
783
+
784
+ title : typing.Optional[str]
785
+ Storage title
786
+
787
+ description : typing.Optional[str]
788
+ Storage description
789
+
627
790
  project : typing.Optional[int]
628
791
  Project ID
629
792
 
@@ -662,6 +825,9 @@ class AsyncAzureClient:
662
825
  f"api/storages/export/azure/{jsonable_encoder(id)}",
663
826
  method="PATCH",
664
827
  json={
828
+ "can_delete_objects": can_delete_objects,
829
+ "title": title,
830
+ "description": description,
665
831
  "project": project,
666
832
  "container": container,
667
833
  "prefix": prefix,
@@ -8,6 +8,21 @@ from ....core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
8
8
 
9
9
 
10
10
  class AzureCreateResponse(pydantic_v1.BaseModel):
11
+ can_delete_objects: typing.Optional[bool] = pydantic_v1.Field(default=None)
12
+ """
13
+ Deletion from storage enabled
14
+ """
15
+
16
+ title: typing.Optional[str] = pydantic_v1.Field(default=None)
17
+ """
18
+ Storage title
19
+ """
20
+
21
+ description: typing.Optional[str] = pydantic_v1.Field(default=None)
22
+ """
23
+ Storage description
24
+ """
25
+
11
26
  project: typing.Optional[int] = pydantic_v1.Field(default=None)
12
27
  """
13
28
  Project ID
@@ -8,6 +8,21 @@ from ....core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
8
8
 
9
9
 
10
10
  class AzureUpdateResponse(pydantic_v1.BaseModel):
11
+ can_delete_objects: typing.Optional[bool] = pydantic_v1.Field(default=None)
12
+ """
13
+ Deletion from storage enabled
14
+ """
15
+
16
+ title: typing.Optional[str] = pydantic_v1.Field(default=None)
17
+ """
18
+ Storage title
19
+ """
20
+
21
+ description: typing.Optional[str] = pydantic_v1.Field(default=None)
22
+ """
23
+ Storage description
24
+ """
25
+
11
26
  project: typing.Optional[int] = pydantic_v1.Field(default=None)
12
27
  """
13
28
  Project ID