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 GcsClient:
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
  bucket: typing.Optional[str] = OMIT,
71
74
  prefix: typing.Optional[str] = OMIT,
@@ -82,6 +85,15 @@ class GcsClient:
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
 
@@ -92,7 +104,7 @@ class GcsClient:
92
104
  GCS bucket prefix
93
105
 
94
106
  google_application_credentials : typing.Optional[str]
95
- The content of GOOGLE_APPLICATION_CREDENTIALS json file
107
+ The content of GOOGLE_APPLICATION_CREDENTIALS json file. Check official Google Cloud Authentication documentation for more details.
96
108
 
97
109
  google_project_id : typing.Optional[str]
98
110
  Google project ID
@@ -118,6 +130,9 @@ class GcsClient:
118
130
  "api/storages/export/gcs",
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
  "bucket": bucket,
123
138
  "prefix": prefix,
@@ -135,19 +150,58 @@ class GcsClient:
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) -> GcsExportStorage:
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
+ bucket: typing.Optional[str] = OMIT,
162
+ prefix: typing.Optional[str] = OMIT,
163
+ google_application_credentials: typing.Optional[str] = OMIT,
164
+ google_project_id: typing.Optional[str] = OMIT,
165
+ request_options: typing.Optional[RequestOptions] = None,
166
+ ) -> None:
139
167
  """
140
168
  Validate a specific GCS 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
+ bucket : typing.Optional[str]
188
+ GCS bucket name
189
+
190
+ prefix : typing.Optional[str]
191
+ GCS bucket prefix
192
+
193
+ google_application_credentials : typing.Optional[str]
194
+ The content of GOOGLE_APPLICATION_CREDENTIALS json file. Check official Google Cloud Authentication documentation for more details.
195
+
196
+ google_project_id : typing.Optional[str]
197
+ Google project ID
198
+
144
199
  request_options : typing.Optional[RequestOptions]
145
200
  Request-specific configuration.
146
201
 
147
202
  Returns
148
203
  -------
149
- GcsExportStorage
150
-
204
+ None
151
205
 
152
206
  Examples
153
207
  --------
@@ -159,10 +213,24 @@ class GcsClient:
159
213
  client.export_storage.gcs.validate()
160
214
  """
161
215
  _response = self._client_wrapper.httpx_client.request(
162
- "api/storages/export/gcs/validate", method="POST", request_options=request_options
216
+ "api/storages/export/gcs/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
+ "bucket": bucket,
225
+ "prefix": prefix,
226
+ "google_application_credentials": google_application_credentials,
227
+ "google_project_id": google_project_id,
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(GcsExportStorage, _response.json()) # type: ignore
233
+ return
166
234
  try:
167
235
  _response_json = _response.json()
168
236
  except JSONDecodeError:
@@ -254,6 +322,9 @@ class GcsClient:
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
  bucket: typing.Optional[str] = OMIT,
259
330
  prefix: typing.Optional[str] = OMIT,
@@ -271,6 +342,15 @@ class GcsClient:
271
342
  id : int
272
343
  A unique integer value identifying this gcs 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
 
@@ -281,7 +361,7 @@ class GcsClient:
281
361
  GCS bucket prefix
282
362
 
283
363
  google_application_credentials : typing.Optional[str]
284
- The content of GOOGLE_APPLICATION_CREDENTIALS json file
364
+ The content of GOOGLE_APPLICATION_CREDENTIALS json file. Check official Google Cloud Authentication documentation for more details.
285
365
 
286
366
  google_project_id : typing.Optional[str]
287
367
  Google project ID
@@ -309,6 +389,9 @@ class GcsClient:
309
389
  f"api/storages/export/gcs/{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
  "bucket": bucket,
314
397
  "prefix": prefix,
@@ -419,6 +502,9 @@ class AsyncGcsClient:
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
  bucket: typing.Optional[str] = OMIT,
424
510
  prefix: typing.Optional[str] = OMIT,
@@ -435,6 +521,15 @@ class AsyncGcsClient:
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
 
@@ -445,7 +540,7 @@ class AsyncGcsClient:
445
540
  GCS bucket prefix
446
541
 
447
542
  google_application_credentials : typing.Optional[str]
448
- The content of GOOGLE_APPLICATION_CREDENTIALS json file
543
+ The content of GOOGLE_APPLICATION_CREDENTIALS json file. Check official Google Cloud Authentication documentation for more details.
449
544
 
450
545
  google_project_id : typing.Optional[str]
451
546
  Google project ID
@@ -471,6 +566,9 @@ class AsyncGcsClient:
471
566
  "api/storages/export/gcs",
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
  "bucket": bucket,
476
574
  "prefix": prefix,
@@ -488,19 +586,58 @@ class AsyncGcsClient:
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) -> GcsExportStorage:
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
+ bucket: typing.Optional[str] = OMIT,
598
+ prefix: typing.Optional[str] = OMIT,
599
+ google_application_credentials: typing.Optional[str] = OMIT,
600
+ google_project_id: typing.Optional[str] = OMIT,
601
+ request_options: typing.Optional[RequestOptions] = None,
602
+ ) -> None:
492
603
  """
493
604
  Validate a specific GCS 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
+ bucket : typing.Optional[str]
624
+ GCS bucket name
625
+
626
+ prefix : typing.Optional[str]
627
+ GCS bucket prefix
628
+
629
+ google_application_credentials : typing.Optional[str]
630
+ The content of GOOGLE_APPLICATION_CREDENTIALS json file. Check official Google Cloud Authentication documentation for more details.
631
+
632
+ google_project_id : typing.Optional[str]
633
+ Google project ID
634
+
497
635
  request_options : typing.Optional[RequestOptions]
498
636
  Request-specific configuration.
499
637
 
500
638
  Returns
501
639
  -------
502
- GcsExportStorage
503
-
640
+ None
504
641
 
505
642
  Examples
506
643
  --------
@@ -512,10 +649,24 @@ class AsyncGcsClient:
512
649
  await client.export_storage.gcs.validate()
513
650
  """
514
651
  _response = await self._client_wrapper.httpx_client.request(
515
- "api/storages/export/gcs/validate", method="POST", request_options=request_options
652
+ "api/storages/export/gcs/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
+ "bucket": bucket,
661
+ "prefix": prefix,
662
+ "google_application_credentials": google_application_credentials,
663
+ "google_project_id": google_project_id,
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(GcsExportStorage, _response.json()) # type: ignore
669
+ return
519
670
  try:
520
671
  _response_json = _response.json()
521
672
  except JSONDecodeError:
@@ -607,6 +758,9 @@ class AsyncGcsClient:
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
  bucket: typing.Optional[str] = OMIT,
612
766
  prefix: typing.Optional[str] = OMIT,
@@ -624,6 +778,15 @@ class AsyncGcsClient:
624
778
  id : int
625
779
  A unique integer value identifying this gcs 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
 
@@ -634,7 +797,7 @@ class AsyncGcsClient:
634
797
  GCS bucket prefix
635
798
 
636
799
  google_application_credentials : typing.Optional[str]
637
- The content of GOOGLE_APPLICATION_CREDENTIALS json file
800
+ The content of GOOGLE_APPLICATION_CREDENTIALS json file. Check official Google Cloud Authentication documentation for more details.
638
801
 
639
802
  google_project_id : typing.Optional[str]
640
803
  Google project ID
@@ -662,6 +825,9 @@ class AsyncGcsClient:
662
825
  f"api/storages/export/gcs/{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
  "bucket": bucket,
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 GcsCreateResponse(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
@@ -25,7 +40,7 @@ class GcsCreateResponse(pydantic_v1.BaseModel):
25
40
 
26
41
  google_application_credentials: typing.Optional[str] = pydantic_v1.Field(default=None)
27
42
  """
28
- The content of GOOGLE_APPLICATION_CREDENTIALS json file
43
+ The content of GOOGLE_APPLICATION_CREDENTIALS json file. Check official Google Cloud Authentication documentation for more details.
29
44
  """
30
45
 
31
46
  google_project_id: typing.Optional[str] = pydantic_v1.Field(default=None)
@@ -8,6 +8,21 @@ from ....core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
8
8
 
9
9
 
10
10
  class GcsUpdateResponse(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
@@ -25,7 +40,7 @@ class GcsUpdateResponse(pydantic_v1.BaseModel):
25
40
 
26
41
  google_application_credentials: typing.Optional[str] = pydantic_v1.Field(default=None)
27
42
  """
28
- The content of GOOGLE_APPLICATION_CREDENTIALS json file
43
+ The content of GOOGLE_APPLICATION_CREDENTIALS json file. Check official Google Cloud Authentication documentation for more details.
29
44
  """
30
45
 
31
46
  google_project_id: typing.Optional[str] = pydantic_v1.Field(default=None)