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,8 @@ class LocalClient:
66
66
  def create(
67
67
  self,
68
68
  *,
69
+ title: typing.Optional[str] = OMIT,
70
+ description: typing.Optional[str] = OMIT,
69
71
  project: typing.Optional[int] = OMIT,
70
72
  path: typing.Optional[str] = OMIT,
71
73
  regex_filter: typing.Optional[str] = OMIT,
@@ -81,17 +83,23 @@ class LocalClient:
81
83
 
82
84
  Parameters
83
85
  ----------
86
+ title : typing.Optional[str]
87
+ Storage title
88
+
89
+ description : typing.Optional[str]
90
+ Storage description
91
+
84
92
  project : typing.Optional[int]
85
93
  Project ID
86
94
 
87
95
  path : typing.Optional[str]
88
- Local path
96
+ Path to local directory
89
97
 
90
98
  regex_filter : typing.Optional[str]
91
99
  Regex for filtering objects
92
100
 
93
101
  use_blob_urls : typing.Optional[bool]
94
- Interpret objects as BLOBs and generate URLs
102
+ Interpret objects as BLOBs and generate URLs. For example, if your directory contains images, you can use this option to generate URLs for these images. If set to False, it will read the content of the file and load it into Label Studio.
95
103
 
96
104
  request_options : typing.Optional[RequestOptions]
97
105
  Request-specific configuration.
@@ -113,7 +121,14 @@ class LocalClient:
113
121
  _response = self._client_wrapper.httpx_client.request(
114
122
  "api/storages/export/localfiles",
115
123
  method="POST",
116
- json={"project": project, "path": path, "regex_filter": regex_filter, "use_blob_urls": use_blob_urls},
124
+ json={
125
+ "title": title,
126
+ "description": description,
127
+ "project": project,
128
+ "path": path,
129
+ "regex_filter": regex_filter,
130
+ "use_blob_urls": use_blob_urls,
131
+ },
117
132
  request_options=request_options,
118
133
  omit=OMIT,
119
134
  )
@@ -125,19 +140,50 @@ class LocalClient:
125
140
  raise ApiError(status_code=_response.status_code, body=_response.text)
126
141
  raise ApiError(status_code=_response.status_code, body=_response_json)
127
142
 
128
- def validate(self, *, request_options: typing.Optional[RequestOptions] = None) -> LocalFilesExportStorage:
143
+ def validate(
144
+ self,
145
+ *,
146
+ id: typing.Optional[int] = OMIT,
147
+ title: typing.Optional[str] = OMIT,
148
+ description: typing.Optional[str] = OMIT,
149
+ project: typing.Optional[int] = OMIT,
150
+ path: typing.Optional[str] = OMIT,
151
+ regex_filter: typing.Optional[str] = OMIT,
152
+ use_blob_urls: typing.Optional[bool] = OMIT,
153
+ request_options: typing.Optional[RequestOptions] = None,
154
+ ) -> None:
129
155
  """
130
156
  Validate a specific local file export storage connection. This is useful to ensure that the storage configuration settings are correct and operational before attempting to export data.
131
157
 
132
158
  Parameters
133
159
  ----------
160
+ id : typing.Optional[int]
161
+ Storage ID. If set, storage with specified ID will be updated
162
+
163
+ title : typing.Optional[str]
164
+ Storage title
165
+
166
+ description : typing.Optional[str]
167
+ Storage description
168
+
169
+ project : typing.Optional[int]
170
+ Project ID
171
+
172
+ path : typing.Optional[str]
173
+ Path to local directory
174
+
175
+ regex_filter : typing.Optional[str]
176
+ Regex for filtering objects
177
+
178
+ use_blob_urls : typing.Optional[bool]
179
+ Interpret objects as BLOBs and generate URLs. For example, if your directory contains images, you can use this option to generate URLs for these images. If set to False, it will read the content of the file and load it into Label Studio.
180
+
134
181
  request_options : typing.Optional[RequestOptions]
135
182
  Request-specific configuration.
136
183
 
137
184
  Returns
138
185
  -------
139
- LocalFilesExportStorage
140
-
186
+ None
141
187
 
142
188
  Examples
143
189
  --------
@@ -149,10 +195,22 @@ class LocalClient:
149
195
  client.export_storage.local.validate()
150
196
  """
151
197
  _response = self._client_wrapper.httpx_client.request(
152
- "api/storages/export/localfiles/validate", method="POST", request_options=request_options
198
+ "api/storages/export/localfiles/validate",
199
+ method="POST",
200
+ json={
201
+ "id": id,
202
+ "title": title,
203
+ "description": description,
204
+ "project": project,
205
+ "path": path,
206
+ "regex_filter": regex_filter,
207
+ "use_blob_urls": use_blob_urls,
208
+ },
209
+ request_options=request_options,
210
+ omit=OMIT,
153
211
  )
154
212
  if 200 <= _response.status_code < 300:
155
- return pydantic_v1.parse_obj_as(LocalFilesExportStorage, _response.json()) # type: ignore
213
+ return
156
214
  try:
157
215
  _response_json = _response.json()
158
216
  except JSONDecodeError:
@@ -244,6 +302,8 @@ class LocalClient:
244
302
  self,
245
303
  id: int,
246
304
  *,
305
+ title: typing.Optional[str] = OMIT,
306
+ description: typing.Optional[str] = OMIT,
247
307
  project: typing.Optional[int] = OMIT,
248
308
  path: typing.Optional[str] = OMIT,
249
309
  regex_filter: typing.Optional[str] = OMIT,
@@ -260,17 +320,23 @@ class LocalClient:
260
320
  id : int
261
321
  A unique integer value identifying this local files export storage.
262
322
 
323
+ title : typing.Optional[str]
324
+ Storage title
325
+
326
+ description : typing.Optional[str]
327
+ Storage description
328
+
263
329
  project : typing.Optional[int]
264
330
  Project ID
265
331
 
266
332
  path : typing.Optional[str]
267
- Local path
333
+ Path to local directory
268
334
 
269
335
  regex_filter : typing.Optional[str]
270
336
  Regex for filtering objects
271
337
 
272
338
  use_blob_urls : typing.Optional[bool]
273
- Interpret objects as BLOBs and generate URLs
339
+ Interpret objects as BLOBs and generate URLs. For example, if your directory contains images, you can use this option to generate URLs for these images. If set to False, it will read the content of the file and load it into Label Studio.
274
340
 
275
341
  request_options : typing.Optional[RequestOptions]
276
342
  Request-specific configuration.
@@ -294,7 +360,14 @@ class LocalClient:
294
360
  _response = self._client_wrapper.httpx_client.request(
295
361
  f"api/storages/export/localfiles/{jsonable_encoder(id)}",
296
362
  method="PATCH",
297
- json={"project": project, "path": path, "regex_filter": regex_filter, "use_blob_urls": use_blob_urls},
363
+ json={
364
+ "title": title,
365
+ "description": description,
366
+ "project": project,
367
+ "path": path,
368
+ "regex_filter": regex_filter,
369
+ "use_blob_urls": use_blob_urls,
370
+ },
298
371
  request_options=request_options,
299
372
  omit=OMIT,
300
373
  )
@@ -401,6 +474,8 @@ class AsyncLocalClient:
401
474
  async def create(
402
475
  self,
403
476
  *,
477
+ title: typing.Optional[str] = OMIT,
478
+ description: typing.Optional[str] = OMIT,
404
479
  project: typing.Optional[int] = OMIT,
405
480
  path: typing.Optional[str] = OMIT,
406
481
  regex_filter: typing.Optional[str] = OMIT,
@@ -416,17 +491,23 @@ class AsyncLocalClient:
416
491
 
417
492
  Parameters
418
493
  ----------
494
+ title : typing.Optional[str]
495
+ Storage title
496
+
497
+ description : typing.Optional[str]
498
+ Storage description
499
+
419
500
  project : typing.Optional[int]
420
501
  Project ID
421
502
 
422
503
  path : typing.Optional[str]
423
- Local path
504
+ Path to local directory
424
505
 
425
506
  regex_filter : typing.Optional[str]
426
507
  Regex for filtering objects
427
508
 
428
509
  use_blob_urls : typing.Optional[bool]
429
- Interpret objects as BLOBs and generate URLs
510
+ Interpret objects as BLOBs and generate URLs. For example, if your directory contains images, you can use this option to generate URLs for these images. If set to False, it will read the content of the file and load it into Label Studio.
430
511
 
431
512
  request_options : typing.Optional[RequestOptions]
432
513
  Request-specific configuration.
@@ -448,7 +529,14 @@ class AsyncLocalClient:
448
529
  _response = await self._client_wrapper.httpx_client.request(
449
530
  "api/storages/export/localfiles",
450
531
  method="POST",
451
- json={"project": project, "path": path, "regex_filter": regex_filter, "use_blob_urls": use_blob_urls},
532
+ json={
533
+ "title": title,
534
+ "description": description,
535
+ "project": project,
536
+ "path": path,
537
+ "regex_filter": regex_filter,
538
+ "use_blob_urls": use_blob_urls,
539
+ },
452
540
  request_options=request_options,
453
541
  omit=OMIT,
454
542
  )
@@ -460,19 +548,50 @@ class AsyncLocalClient:
460
548
  raise ApiError(status_code=_response.status_code, body=_response.text)
461
549
  raise ApiError(status_code=_response.status_code, body=_response_json)
462
550
 
463
- async def validate(self, *, request_options: typing.Optional[RequestOptions] = None) -> LocalFilesExportStorage:
551
+ async def validate(
552
+ self,
553
+ *,
554
+ id: typing.Optional[int] = OMIT,
555
+ title: typing.Optional[str] = OMIT,
556
+ description: typing.Optional[str] = OMIT,
557
+ project: typing.Optional[int] = OMIT,
558
+ path: typing.Optional[str] = OMIT,
559
+ regex_filter: typing.Optional[str] = OMIT,
560
+ use_blob_urls: typing.Optional[bool] = OMIT,
561
+ request_options: typing.Optional[RequestOptions] = None,
562
+ ) -> None:
464
563
  """
465
564
  Validate a specific local file export storage connection. This is useful to ensure that the storage configuration settings are correct and operational before attempting to export data.
466
565
 
467
566
  Parameters
468
567
  ----------
568
+ id : typing.Optional[int]
569
+ Storage ID. If set, storage with specified ID will be updated
570
+
571
+ title : typing.Optional[str]
572
+ Storage title
573
+
574
+ description : typing.Optional[str]
575
+ Storage description
576
+
577
+ project : typing.Optional[int]
578
+ Project ID
579
+
580
+ path : typing.Optional[str]
581
+ Path to local directory
582
+
583
+ regex_filter : typing.Optional[str]
584
+ Regex for filtering objects
585
+
586
+ use_blob_urls : typing.Optional[bool]
587
+ Interpret objects as BLOBs and generate URLs. For example, if your directory contains images, you can use this option to generate URLs for these images. If set to False, it will read the content of the file and load it into Label Studio.
588
+
469
589
  request_options : typing.Optional[RequestOptions]
470
590
  Request-specific configuration.
471
591
 
472
592
  Returns
473
593
  -------
474
- LocalFilesExportStorage
475
-
594
+ None
476
595
 
477
596
  Examples
478
597
  --------
@@ -484,10 +603,22 @@ class AsyncLocalClient:
484
603
  await client.export_storage.local.validate()
485
604
  """
486
605
  _response = await self._client_wrapper.httpx_client.request(
487
- "api/storages/export/localfiles/validate", method="POST", request_options=request_options
606
+ "api/storages/export/localfiles/validate",
607
+ method="POST",
608
+ json={
609
+ "id": id,
610
+ "title": title,
611
+ "description": description,
612
+ "project": project,
613
+ "path": path,
614
+ "regex_filter": regex_filter,
615
+ "use_blob_urls": use_blob_urls,
616
+ },
617
+ request_options=request_options,
618
+ omit=OMIT,
488
619
  )
489
620
  if 200 <= _response.status_code < 300:
490
- return pydantic_v1.parse_obj_as(LocalFilesExportStorage, _response.json()) # type: ignore
621
+ return
491
622
  try:
492
623
  _response_json = _response.json()
493
624
  except JSONDecodeError:
@@ -579,6 +710,8 @@ class AsyncLocalClient:
579
710
  self,
580
711
  id: int,
581
712
  *,
713
+ title: typing.Optional[str] = OMIT,
714
+ description: typing.Optional[str] = OMIT,
582
715
  project: typing.Optional[int] = OMIT,
583
716
  path: typing.Optional[str] = OMIT,
584
717
  regex_filter: typing.Optional[str] = OMIT,
@@ -595,17 +728,23 @@ class AsyncLocalClient:
595
728
  id : int
596
729
  A unique integer value identifying this local files export storage.
597
730
 
731
+ title : typing.Optional[str]
732
+ Storage title
733
+
734
+ description : typing.Optional[str]
735
+ Storage description
736
+
598
737
  project : typing.Optional[int]
599
738
  Project ID
600
739
 
601
740
  path : typing.Optional[str]
602
- Local path
741
+ Path to local directory
603
742
 
604
743
  regex_filter : typing.Optional[str]
605
744
  Regex for filtering objects
606
745
 
607
746
  use_blob_urls : typing.Optional[bool]
608
- Interpret objects as BLOBs and generate URLs
747
+ Interpret objects as BLOBs and generate URLs. For example, if your directory contains images, you can use this option to generate URLs for these images. If set to False, it will read the content of the file and load it into Label Studio.
609
748
 
610
749
  request_options : typing.Optional[RequestOptions]
611
750
  Request-specific configuration.
@@ -629,7 +768,14 @@ class AsyncLocalClient:
629
768
  _response = await self._client_wrapper.httpx_client.request(
630
769
  f"api/storages/export/localfiles/{jsonable_encoder(id)}",
631
770
  method="PATCH",
632
- json={"project": project, "path": path, "regex_filter": regex_filter, "use_blob_urls": use_blob_urls},
771
+ json={
772
+ "title": title,
773
+ "description": description,
774
+ "project": project,
775
+ "path": path,
776
+ "regex_filter": regex_filter,
777
+ "use_blob_urls": use_blob_urls,
778
+ },
633
779
  request_options=request_options,
634
780
  omit=OMIT,
635
781
  )
@@ -8,6 +8,16 @@ from ....core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
8
8
 
9
9
 
10
10
  class LocalCreateResponse(pydantic_v1.BaseModel):
11
+ title: typing.Optional[str] = pydantic_v1.Field(default=None)
12
+ """
13
+ Storage title
14
+ """
15
+
16
+ description: typing.Optional[str] = pydantic_v1.Field(default=None)
17
+ """
18
+ Storage description
19
+ """
20
+
11
21
  project: typing.Optional[int] = pydantic_v1.Field(default=None)
12
22
  """
13
23
  Project ID
@@ -15,7 +25,7 @@ class LocalCreateResponse(pydantic_v1.BaseModel):
15
25
 
16
26
  path: typing.Optional[str] = pydantic_v1.Field(default=None)
17
27
  """
18
- Local path
28
+ Path to local directory
19
29
  """
20
30
 
21
31
  regex_filter: typing.Optional[str] = pydantic_v1.Field(default=None)
@@ -25,7 +35,7 @@ class LocalCreateResponse(pydantic_v1.BaseModel):
25
35
 
26
36
  use_blob_urls: typing.Optional[bool] = pydantic_v1.Field(default=None)
27
37
  """
28
- Interpret objects as BLOBs and generate URLs
38
+ Interpret objects as BLOBs and generate URLs. For example, if your directory contains images, you can use this option to generate URLs for these images. If set to False, it will read the content of the file and load it into Label Studio.
29
39
  """
30
40
 
31
41
  def json(self, **kwargs: typing.Any) -> str:
@@ -8,6 +8,16 @@ from ....core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
8
8
 
9
9
 
10
10
  class LocalUpdateResponse(pydantic_v1.BaseModel):
11
+ title: typing.Optional[str] = pydantic_v1.Field(default=None)
12
+ """
13
+ Storage title
14
+ """
15
+
16
+ description: typing.Optional[str] = pydantic_v1.Field(default=None)
17
+ """
18
+ Storage description
19
+ """
20
+
11
21
  project: typing.Optional[int] = pydantic_v1.Field(default=None)
12
22
  """
13
23
  Project ID
@@ -15,7 +25,7 @@ class LocalUpdateResponse(pydantic_v1.BaseModel):
15
25
 
16
26
  path: typing.Optional[str] = pydantic_v1.Field(default=None)
17
27
  """
18
- Local path
28
+ Path to local directory
19
29
  """
20
30
 
21
31
  regex_filter: typing.Optional[str] = pydantic_v1.Field(default=None)
@@ -25,7 +35,7 @@ class LocalUpdateResponse(pydantic_v1.BaseModel):
25
35
 
26
36
  use_blob_urls: typing.Optional[bool] = pydantic_v1.Field(default=None)
27
37
  """
28
- Interpret objects as BLOBs and generate URLs
38
+ Interpret objects as BLOBs and generate URLs. For example, if your directory contains images, you can use this option to generate URLs for these images. If set to False, it will read the content of the file and load it into Label Studio.
29
39
  """
30
40
 
31
41
  def json(self, **kwargs: typing.Any) -> str: