label-studio-sdk 1.0.7__py3-none-any.whl → 1.0.10__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 (206) hide show
  1. label_studio_sdk/__init__.py +26 -7
  2. label_studio_sdk/_extensions/label_studio_tools/core/label_config.py +13 -4
  3. label_studio_sdk/_extensions/label_studio_tools/core/utils/io.py +16 -4
  4. label_studio_sdk/_extensions/label_studio_tools/core/utils/json_schema.py +86 -0
  5. label_studio_sdk/_extensions/pager_ext.py +8 -0
  6. label_studio_sdk/_legacy/schema/label_config_schema.json +42 -11
  7. label_studio_sdk/actions/client.py +91 -40
  8. label_studio_sdk/actions/types/actions_create_request_filters.py +14 -24
  9. label_studio_sdk/actions/types/actions_create_request_filters_items_item.py +16 -26
  10. label_studio_sdk/actions/types/actions_create_request_filters_items_item_value.py +3 -1
  11. label_studio_sdk/actions/types/actions_create_request_selected_items.py +1 -2
  12. label_studio_sdk/actions/types/actions_create_request_selected_items_excluded.py +15 -25
  13. label_studio_sdk/actions/types/actions_create_request_selected_items_included.py +15 -25
  14. label_studio_sdk/annotations/__init__.py +2 -2
  15. label_studio_sdk/annotations/client.py +278 -104
  16. label_studio_sdk/annotations/types/__init__.py +2 -1
  17. label_studio_sdk/annotations/types/annotations_create_bulk_request_selected_items.py +34 -0
  18. label_studio_sdk/annotations/types/annotations_create_bulk_response_item.py +11 -21
  19. label_studio_sdk/base_client.py +46 -27
  20. label_studio_sdk/client.py +1 -0
  21. label_studio_sdk/comments/client.py +190 -44
  22. label_studio_sdk/converter/converter.py +66 -18
  23. label_studio_sdk/converter/imports/yolo.py +1 -1
  24. label_studio_sdk/converter/utils.py +3 -2
  25. label_studio_sdk/core/__init__.py +21 -4
  26. label_studio_sdk/core/client_wrapper.py +9 -10
  27. label_studio_sdk/core/file.py +37 -8
  28. label_studio_sdk/core/http_client.py +52 -28
  29. label_studio_sdk/core/jsonable_encoder.py +33 -31
  30. label_studio_sdk/core/pagination.py +5 -4
  31. label_studio_sdk/core/pydantic_utilities.py +272 -4
  32. label_studio_sdk/core/query_encoder.py +38 -13
  33. label_studio_sdk/core/request_options.py +3 -0
  34. label_studio_sdk/core/serialization.py +272 -0
  35. label_studio_sdk/errors/bad_request_error.py +2 -3
  36. label_studio_sdk/export_storage/azure/client.py +228 -58
  37. label_studio_sdk/export_storage/azure/types/azure_create_response.py +19 -29
  38. label_studio_sdk/export_storage/azure/types/azure_update_response.py +19 -29
  39. label_studio_sdk/export_storage/client.py +48 -18
  40. label_studio_sdk/export_storage/gcs/client.py +228 -58
  41. label_studio_sdk/export_storage/gcs/types/gcs_create_response.py +19 -29
  42. label_studio_sdk/export_storage/gcs/types/gcs_update_response.py +19 -29
  43. label_studio_sdk/export_storage/local/client.py +222 -56
  44. label_studio_sdk/export_storage/local/types/local_create_response.py +17 -27
  45. label_studio_sdk/export_storage/local/types/local_update_response.py +17 -27
  46. label_studio_sdk/export_storage/redis/client.py +228 -58
  47. label_studio_sdk/export_storage/redis/types/redis_create_response.py +20 -30
  48. label_studio_sdk/export_storage/redis/types/redis_update_response.py +20 -30
  49. label_studio_sdk/export_storage/s3/client.py +228 -58
  50. label_studio_sdk/export_storage/s3/types/s3create_response.py +27 -35
  51. label_studio_sdk/export_storage/s3/types/s3update_response.py +27 -35
  52. label_studio_sdk/export_storage/s3s/client.py +187 -43
  53. label_studio_sdk/export_storage/types/export_storage_list_types_response_item.py +11 -21
  54. label_studio_sdk/files/client.py +172 -56
  55. label_studio_sdk/import_storage/azure/client.py +223 -53
  56. label_studio_sdk/import_storage/azure/types/azure_create_response.py +22 -32
  57. label_studio_sdk/import_storage/azure/types/azure_update_response.py +22 -32
  58. label_studio_sdk/import_storage/client.py +48 -18
  59. label_studio_sdk/import_storage/gcs/client.py +223 -53
  60. label_studio_sdk/import_storage/gcs/types/gcs_create_response.py +22 -32
  61. label_studio_sdk/import_storage/gcs/types/gcs_update_response.py +22 -32
  62. label_studio_sdk/import_storage/local/client.py +223 -53
  63. label_studio_sdk/import_storage/local/types/local_create_response.py +17 -27
  64. label_studio_sdk/import_storage/local/types/local_update_response.py +17 -27
  65. label_studio_sdk/import_storage/redis/client.py +223 -53
  66. label_studio_sdk/import_storage/redis/types/redis_create_response.py +20 -30
  67. label_studio_sdk/import_storage/redis/types/redis_update_response.py +20 -30
  68. label_studio_sdk/import_storage/s3/client.py +223 -53
  69. label_studio_sdk/import_storage/s3/types/s3create_response.py +31 -39
  70. label_studio_sdk/import_storage/s3/types/s3update_response.py +31 -39
  71. label_studio_sdk/import_storage/s3s/client.py +222 -52
  72. label_studio_sdk/import_storage/types/import_storage_list_types_response_item.py +11 -21
  73. label_studio_sdk/label_interface/control_tags.py +205 -10
  74. label_studio_sdk/label_interface/interface.py +80 -6
  75. label_studio_sdk/label_interface/region.py +1 -10
  76. label_studio_sdk/ml/client.py +280 -78
  77. label_studio_sdk/ml/types/ml_create_response.py +21 -31
  78. label_studio_sdk/ml/types/ml_update_response.py +21 -31
  79. label_studio_sdk/model_providers/client.py +656 -21
  80. label_studio_sdk/predictions/client.py +247 -101
  81. label_studio_sdk/projects/__init__.py +3 -0
  82. label_studio_sdk/projects/client.py +309 -115
  83. label_studio_sdk/projects/client_ext.py +16 -0
  84. label_studio_sdk/projects/exports/__init__.py +3 -0
  85. label_studio_sdk/projects/exports/client.py +447 -296
  86. label_studio_sdk/projects/exports/client_ext.py +134 -0
  87. label_studio_sdk/projects/exports/types/__init__.py +6 -0
  88. label_studio_sdk/projects/exports/types/exports_convert_response.py +24 -0
  89. label_studio_sdk/projects/exports/types/exports_list_formats_response_item.py +44 -0
  90. label_studio_sdk/projects/types/projects_create_response.py +29 -34
  91. label_studio_sdk/projects/types/projects_import_tasks_response.py +19 -29
  92. label_studio_sdk/projects/types/projects_list_response.py +11 -21
  93. label_studio_sdk/projects/types/projects_update_response.py +24 -34
  94. label_studio_sdk/prompts/client.py +309 -92
  95. label_studio_sdk/prompts/indicators/client.py +67 -23
  96. label_studio_sdk/prompts/runs/client.py +95 -40
  97. label_studio_sdk/prompts/types/prompts_batch_failed_predictions_request_failed_predictions_item.py +14 -24
  98. label_studio_sdk/prompts/types/prompts_batch_failed_predictions_response.py +11 -21
  99. label_studio_sdk/prompts/types/prompts_batch_predictions_request_results_item.py +26 -29
  100. label_studio_sdk/prompts/types/prompts_batch_predictions_response.py +11 -21
  101. label_studio_sdk/prompts/versions/client.py +389 -75
  102. label_studio_sdk/tasks/client.py +263 -90
  103. label_studio_sdk/tasks/types/tasks_list_response.py +15 -25
  104. label_studio_sdk/types/__init__.py +16 -6
  105. label_studio_sdk/types/annotation.py +29 -38
  106. label_studio_sdk/types/annotation_filter_options.py +14 -24
  107. label_studio_sdk/types/annotations_dm_field.py +30 -39
  108. label_studio_sdk/types/azure_blob_export_storage.py +28 -37
  109. label_studio_sdk/types/azure_blob_import_storage.py +28 -37
  110. label_studio_sdk/types/base_task.py +30 -39
  111. label_studio_sdk/types/base_task_updated_by.py +3 -1
  112. label_studio_sdk/types/base_user.py +14 -21
  113. label_studio_sdk/types/comment.py +12 -21
  114. label_studio_sdk/types/comment_created_by.py +1 -1
  115. label_studio_sdk/types/converted_format.py +12 -22
  116. label_studio_sdk/types/data_manager_task_serializer.py +31 -40
  117. label_studio_sdk/types/data_manager_task_serializer_annotators_item.py +1 -1
  118. label_studio_sdk/types/data_manager_task_serializer_drafts_item.py +13 -22
  119. label_studio_sdk/types/data_manager_task_serializer_predictions_item.py +15 -24
  120. label_studio_sdk/types/export.py +17 -26
  121. label_studio_sdk/types/export_format.py +25 -0
  122. label_studio_sdk/types/export_snapshot.py +45 -0
  123. label_studio_sdk/types/export_snapshot_status.py +5 -0
  124. label_studio_sdk/types/file_upload.py +11 -21
  125. label_studio_sdk/types/filter.py +16 -26
  126. label_studio_sdk/types/filter_group.py +12 -22
  127. label_studio_sdk/types/gcs_export_storage.py +28 -37
  128. label_studio_sdk/types/gcs_import_storage.py +28 -37
  129. label_studio_sdk/types/inference_run.py +14 -23
  130. label_studio_sdk/types/inference_run_cost_estimate.py +47 -0
  131. label_studio_sdk/types/inference_run_created_by.py +1 -1
  132. label_studio_sdk/types/inference_run_organization.py +1 -1
  133. label_studio_sdk/types/key_indicator_value.py +12 -22
  134. label_studio_sdk/types/key_indicators.py +0 -1
  135. label_studio_sdk/types/key_indicators_item.py +15 -25
  136. label_studio_sdk/types/key_indicators_item_additional_kpis_item.py +13 -23
  137. label_studio_sdk/types/key_indicators_item_extra_kpis_item.py +13 -23
  138. label_studio_sdk/types/local_files_export_storage.py +25 -34
  139. label_studio_sdk/types/local_files_import_storage.py +24 -33
  140. label_studio_sdk/types/ml_backend.py +23 -32
  141. label_studio_sdk/types/model_provider_connection.py +47 -26
  142. label_studio_sdk/types/model_provider_connection_budget_reset_period.py +5 -0
  143. label_studio_sdk/types/model_provider_connection_created_by.py +1 -1
  144. label_studio_sdk/types/model_provider_connection_organization.py +1 -1
  145. label_studio_sdk/types/model_provider_connection_provider.py +3 -1
  146. label_studio_sdk/types/prediction.py +21 -30
  147. label_studio_sdk/types/project.py +48 -55
  148. label_studio_sdk/types/project_import.py +21 -30
  149. label_studio_sdk/types/project_label_config.py +12 -22
  150. label_studio_sdk/types/prompt.py +24 -32
  151. label_studio_sdk/types/prompt_associated_projects_item.py +6 -0
  152. label_studio_sdk/types/prompt_associated_projects_item_id.py +20 -0
  153. label_studio_sdk/types/prompt_created_by.py +1 -1
  154. label_studio_sdk/types/prompt_organization.py +1 -1
  155. label_studio_sdk/types/prompt_version.py +13 -22
  156. label_studio_sdk/types/prompt_version_created_by.py +1 -1
  157. label_studio_sdk/types/prompt_version_organization.py +1 -1
  158. label_studio_sdk/types/prompt_version_provider.py +3 -1
  159. label_studio_sdk/types/redis_export_storage.py +29 -38
  160. label_studio_sdk/types/redis_import_storage.py +28 -37
  161. label_studio_sdk/types/refined_prompt_response.py +19 -29
  162. label_studio_sdk/types/s3export_storage.py +36 -43
  163. label_studio_sdk/types/s3import_storage.py +37 -44
  164. label_studio_sdk/types/s3s_export_storage.py +26 -33
  165. label_studio_sdk/types/s3s_import_storage.py +35 -42
  166. label_studio_sdk/types/serialization_option.py +12 -22
  167. label_studio_sdk/types/serialization_options.py +18 -28
  168. label_studio_sdk/types/task.py +46 -48
  169. label_studio_sdk/types/task_annotators_item.py +1 -1
  170. label_studio_sdk/types/task_comment_authors_item.py +5 -0
  171. label_studio_sdk/types/task_filter_options.py +15 -25
  172. label_studio_sdk/types/user_simple.py +11 -21
  173. label_studio_sdk/types/view.py +16 -26
  174. label_studio_sdk/types/webhook.py +19 -28
  175. label_studio_sdk/types/webhook_serializer_for_update.py +19 -28
  176. label_studio_sdk/types/workspace.py +22 -31
  177. label_studio_sdk/users/client.py +257 -63
  178. label_studio_sdk/users/types/users_get_token_response.py +12 -22
  179. label_studio_sdk/users/types/users_reset_token_response.py +12 -22
  180. label_studio_sdk/version.py +0 -1
  181. label_studio_sdk/versions/__init__.py +5 -0
  182. label_studio_sdk/versions/client.py +112 -0
  183. label_studio_sdk/versions/types/__init__.py +6 -0
  184. label_studio_sdk/versions/types/versions_get_response.py +73 -0
  185. label_studio_sdk/versions/types/versions_get_response_edition.py +5 -0
  186. label_studio_sdk/views/client.py +219 -52
  187. label_studio_sdk/views/types/views_create_request_data.py +13 -23
  188. label_studio_sdk/views/types/views_create_request_data_filters.py +14 -24
  189. label_studio_sdk/views/types/views_create_request_data_filters_items_item.py +16 -26
  190. label_studio_sdk/views/types/views_create_request_data_filters_items_item_value.py +3 -1
  191. label_studio_sdk/views/types/views_update_request_data.py +13 -23
  192. label_studio_sdk/views/types/views_update_request_data_filters.py +14 -24
  193. label_studio_sdk/views/types/views_update_request_data_filters_items_item.py +16 -26
  194. label_studio_sdk/views/types/views_update_request_data_filters_items_item_value.py +3 -1
  195. label_studio_sdk/webhooks/client.py +191 -61
  196. label_studio_sdk/workspaces/client.py +164 -41
  197. label_studio_sdk/workspaces/members/client.py +109 -31
  198. label_studio_sdk/workspaces/members/types/members_create_response.py +12 -22
  199. label_studio_sdk/workspaces/members/types/members_list_response_item.py +12 -22
  200. {label_studio_sdk-1.0.7.dist-info → label_studio_sdk-1.0.10.dist-info}/METADATA +9 -5
  201. {label_studio_sdk-1.0.7.dist-info → label_studio_sdk-1.0.10.dist-info}/RECORD +203 -186
  202. {label_studio_sdk-1.0.7.dist-info → label_studio_sdk-1.0.10.dist-info}/WHEEL +1 -1
  203. label_studio_sdk/types/export_convert.py +0 -32
  204. label_studio_sdk/types/export_create.py +0 -54
  205. label_studio_sdk/types/export_create_status.py +0 -5
  206. {label_studio_sdk-1.0.7.dist-info → label_studio_sdk-1.0.10.dist-info}/LICENSE +0 -0
@@ -1,37 +1,28 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- import datetime as dt
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
4
  import typing
5
-
6
- from ..core.datetime_utils import serialize_datetime
7
- from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
5
+ import datetime as dt
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+ import pydantic
8
8
 
9
9
 
10
- class DataManagerTaskSerializerPredictionsItem(pydantic_v1.BaseModel):
11
- result: typing.Optional[typing.List[typing.Dict[str, typing.Any]]] = None
10
+ class DataManagerTaskSerializerPredictionsItem(UniversalBaseModel):
11
+ result: typing.Optional[typing.List[typing.Dict[str, typing.Optional[typing.Any]]]] = None
12
12
  score: typing.Optional[float] = None
13
13
  model_version: typing.Optional[str] = None
14
- model: typing.Optional[typing.Dict[str, typing.Any]] = None
15
- model_run: typing.Optional[typing.Dict[str, typing.Any]] = None
14
+ model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
15
+ model_run: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
16
16
  task: typing.Optional[int] = None
17
17
  project: typing.Optional[float] = None
18
18
  created_at: typing.Optional[dt.datetime] = None
19
19
  updated_at: typing.Optional[dt.datetime] = None
20
20
 
21
- def json(self, **kwargs: typing.Any) -> str:
22
- kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
23
- return super().json(**kwargs_with_defaults)
24
-
25
- def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
26
- kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
27
- kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
28
-
29
- return deep_union_pydantic_dicts(
30
- super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
31
- )
21
+ if IS_PYDANTIC_V2:
22
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
23
+ else:
32
24
 
33
- class Config:
34
- frozen = True
35
- smart_union = True
36
- extra = pydantic_v1.Extra.allow
37
- json_encoders = {dt.datetime: serialize_datetime}
25
+ class Config:
26
+ frozen = True
27
+ smart_union = True
28
+ extra = pydantic.Extra.allow
@@ -1,48 +1,39 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- import datetime as dt
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
4
  import typing
5
-
6
- from ..core.datetime_utils import serialize_datetime
7
- from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
8
- from .converted_format import ConvertedFormat
9
- from .export_status import ExportStatus
10
5
  from .user_simple import UserSimple
6
+ import datetime as dt
7
+ import pydantic
8
+ from .export_status import ExportStatus
9
+ from .converted_format import ConvertedFormat
10
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
11
11
 
12
12
 
13
- class Export(pydantic_v1.BaseModel):
13
+ class Export(UniversalBaseModel):
14
14
  title: typing.Optional[str] = None
15
15
  id: typing.Optional[int] = None
16
16
  created_by: typing.Optional[UserSimple] = None
17
- created_at: typing.Optional[dt.datetime] = pydantic_v1.Field(default=None)
17
+ created_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
18
18
  """
19
19
  Creation time
20
20
  """
21
21
 
22
- finished_at: typing.Optional[dt.datetime] = pydantic_v1.Field(default=None)
22
+ finished_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
23
23
  """
24
24
  Complete or fail time
25
25
  """
26
26
 
27
27
  status: typing.Optional[ExportStatus] = None
28
28
  md5: typing.Optional[str] = None
29
- counters: typing.Optional[typing.Dict[str, typing.Any]] = None
29
+ counters: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
30
30
  converted_formats: typing.Optional[typing.List[ConvertedFormat]] = None
31
31
 
32
- def json(self, **kwargs: typing.Any) -> str:
33
- kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
34
- return super().json(**kwargs_with_defaults)
35
-
36
- def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
37
- kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
38
- kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
39
-
40
- return deep_union_pydantic_dicts(
41
- super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
42
- )
32
+ if IS_PYDANTIC_V2:
33
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
34
+ else:
43
35
 
44
- class Config:
45
- frozen = True
46
- smart_union = True
47
- extra = pydantic_v1.Extra.allow
48
- json_encoders = {dt.datetime: serialize_datetime}
36
+ class Config:
37
+ frozen = True
38
+ smart_union = True
39
+ extra = pydantic.Extra.allow
@@ -0,0 +1,25 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ ExportFormat = typing.Union[
6
+ typing.Literal[
7
+ "JSON",
8
+ "JSON_MIN",
9
+ "CSV",
10
+ "TSV",
11
+ "CONLL2003",
12
+ "COCO",
13
+ "VOC",
14
+ "BRUSH_TO_NUMPY",
15
+ "BRUSH_TO_PNG",
16
+ "ASR_MANIFEST",
17
+ "YOLO",
18
+ "YOLO_OBB",
19
+ "CSV_OLD",
20
+ "YOLO_WITH_IMAGES",
21
+ "COCO_WITH_IMAGES",
22
+ "YOLO_OBB_WITH_IMAGES",
23
+ ],
24
+ typing.Any,
25
+ ]
@@ -0,0 +1,45 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import typing
5
+ from .user_simple import UserSimple
6
+ import datetime as dt
7
+ import pydantic
8
+ from .export_snapshot_status import ExportSnapshotStatus
9
+ from .converted_format import ConvertedFormat
10
+ from .task_filter_options import TaskFilterOptions
11
+ from .annotation_filter_options import AnnotationFilterOptions
12
+ from .serialization_options import SerializationOptions
13
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
14
+
15
+
16
+ class ExportSnapshot(UniversalBaseModel):
17
+ title: typing.Optional[str] = None
18
+ id: typing.Optional[int] = None
19
+ created_by: typing.Optional[UserSimple] = None
20
+ created_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
21
+ """
22
+ Creation time
23
+ """
24
+
25
+ finished_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
26
+ """
27
+ Complete or fail time
28
+ """
29
+
30
+ status: typing.Optional[ExportSnapshotStatus] = None
31
+ md5: typing.Optional[str] = None
32
+ counters: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
33
+ converted_formats: typing.Optional[typing.List[ConvertedFormat]] = None
34
+ task_filter_options: typing.Optional[TaskFilterOptions] = None
35
+ annotation_filter_options: typing.Optional[AnnotationFilterOptions] = None
36
+ serialization_options: typing.Optional[SerializationOptions] = None
37
+
38
+ if IS_PYDANTIC_V2:
39
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
40
+ else:
41
+
42
+ class Config:
43
+ frozen = True
44
+ smart_union = True
45
+ extra = pydantic.Extra.allow
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ ExportSnapshotStatus = typing.Union[typing.Literal["created", "in_progress", "failed", "completed"], typing.Any]
@@ -1,30 +1,20 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- import datetime as dt
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
4
  import typing
5
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
6
+ import pydantic
5
7
 
6
- from ..core.datetime_utils import serialize_datetime
7
- from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
8
8
 
9
-
10
- class FileUpload(pydantic_v1.BaseModel):
9
+ class FileUpload(UniversalBaseModel):
11
10
  id: typing.Optional[int] = None
12
11
  file: typing.Optional[str] = None
13
12
 
14
- def json(self, **kwargs: typing.Any) -> str:
15
- kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
16
- return super().json(**kwargs_with_defaults)
17
-
18
- def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
19
- kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
20
- kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
21
-
22
- return deep_union_pydantic_dicts(
23
- super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
24
- )
13
+ if IS_PYDANTIC_V2:
14
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
15
+ else:
25
16
 
26
- class Config:
27
- frozen = True
28
- smart_union = True
29
- extra = pydantic_v1.Extra.allow
30
- json_encoders = {dt.datetime: serialize_datetime}
17
+ class Config:
18
+ frozen = True
19
+ smart_union = True
20
+ extra = pydantic.Extra.allow
@@ -1,53 +1,43 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- import datetime as dt
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
4
  import typing
5
+ import pydantic
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
5
7
 
6
- from ..core.datetime_utils import serialize_datetime
7
- from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
8
8
 
9
-
10
- class Filter(pydantic_v1.BaseModel):
9
+ class Filter(UniversalBaseModel):
11
10
  id: typing.Optional[int] = None
12
- index: typing.Optional[int] = pydantic_v1.Field(default=None)
11
+ index: typing.Optional[int] = pydantic.Field(default=None)
13
12
  """
14
13
  To keep filter order
15
14
  """
16
15
 
17
- column: str = pydantic_v1.Field()
16
+ column: str = pydantic.Field()
18
17
  """
19
18
  Field name
20
19
  """
21
20
 
22
- type: str = pydantic_v1.Field()
21
+ type: str = pydantic.Field()
23
22
  """
24
23
  Field type
25
24
  """
26
25
 
27
- operator: str = pydantic_v1.Field()
26
+ operator: str = pydantic.Field()
28
27
  """
29
28
  Filter operator
30
29
  """
31
30
 
32
- value: typing.Optional[typing.Dict[str, typing.Any]] = pydantic_v1.Field(default=None)
31
+ value: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
33
32
  """
34
33
  Filter value
35
34
  """
36
35
 
37
- def json(self, **kwargs: typing.Any) -> str:
38
- kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
39
- return super().json(**kwargs_with_defaults)
40
-
41
- def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
42
- kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
43
- kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
44
-
45
- return deep_union_pydantic_dicts(
46
- super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
47
- )
36
+ if IS_PYDANTIC_V2:
37
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
38
+ else:
48
39
 
49
- class Config:
50
- frozen = True
51
- smart_union = True
52
- extra = pydantic_v1.Extra.allow
53
- json_encoders = {dt.datetime: serialize_datetime}
40
+ class Config:
41
+ frozen = True
42
+ smart_union = True
43
+ extra = pydantic.Extra.allow
@@ -1,35 +1,25 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- import datetime as dt
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
4
  import typing
5
-
6
- from ..core.datetime_utils import serialize_datetime
7
- from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
8
5
  from .filter import Filter
6
+ import pydantic
7
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
9
8
 
10
9
 
11
- class FilterGroup(pydantic_v1.BaseModel):
10
+ class FilterGroup(UniversalBaseModel):
12
11
  id: typing.Optional[int] = None
13
12
  filters: typing.List[Filter]
14
- conjunction: str = pydantic_v1.Field()
13
+ conjunction: str = pydantic.Field()
15
14
  """
16
15
  Type of conjunction
17
16
  """
18
17
 
19
- def json(self, **kwargs: typing.Any) -> str:
20
- kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
21
- return super().json(**kwargs_with_defaults)
22
-
23
- def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
24
- kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
25
- kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
26
-
27
- return deep_union_pydantic_dicts(
28
- super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
29
- )
18
+ if IS_PYDANTIC_V2:
19
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
20
+ else:
30
21
 
31
- class Config:
32
- frozen = True
33
- smart_union = True
34
- extra = pydantic_v1.Extra.allow
35
- json_encoders = {dt.datetime: serialize_datetime}
22
+ class Config:
23
+ frozen = True
24
+ smart_union = True
25
+ extra = pydantic.Extra.allow
@@ -1,112 +1,103 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- import datetime as dt
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
4
  import typing
5
-
6
- from ..core.datetime_utils import serialize_datetime
7
- from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
5
+ import pydantic
6
+ import datetime as dt
8
7
  from .gcs_export_storage_status import GcsExportStorageStatus
8
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
9
9
 
10
10
 
11
- class GcsExportStorage(pydantic_v1.BaseModel):
11
+ class GcsExportStorage(UniversalBaseModel):
12
12
  id: typing.Optional[int] = None
13
13
  type: typing.Optional[str] = None
14
14
  synchronizable: typing.Optional[bool] = None
15
- bucket: typing.Optional[str] = pydantic_v1.Field(default=None)
15
+ bucket: typing.Optional[str] = pydantic.Field(default=None)
16
16
  """
17
17
  GCS bucket name
18
18
  """
19
19
 
20
- prefix: typing.Optional[str] = pydantic_v1.Field(default=None)
20
+ prefix: typing.Optional[str] = pydantic.Field(default=None)
21
21
  """
22
22
  GCS bucket prefix
23
23
  """
24
24
 
25
- regex_filter: typing.Optional[str] = pydantic_v1.Field(default=None)
25
+ regex_filter: typing.Optional[str] = pydantic.Field(default=None)
26
26
  """
27
27
  Cloud storage regex for filtering objects
28
28
  """
29
29
 
30
- use_blob_urls: typing.Optional[bool] = pydantic_v1.Field(default=None)
30
+ use_blob_urls: typing.Optional[bool] = pydantic.Field(default=None)
31
31
  """
32
32
  Interpret objects as BLOBs and generate URLs
33
33
  """
34
34
 
35
- google_application_credentials: typing.Optional[str] = pydantic_v1.Field(default=None)
35
+ google_application_credentials: typing.Optional[str] = pydantic.Field(default=None)
36
36
  """
37
37
  The content of GOOGLE_APPLICATION_CREDENTIALS json file
38
38
  """
39
39
 
40
- google_project_id: typing.Optional[str] = pydantic_v1.Field(default=None)
40
+ google_project_id: typing.Optional[str] = pydantic.Field(default=None)
41
41
  """
42
42
  Google project ID
43
43
  """
44
44
 
45
- last_sync: typing.Optional[dt.datetime] = pydantic_v1.Field(default=None)
45
+ last_sync: typing.Optional[dt.datetime] = pydantic.Field(default=None)
46
46
  """
47
47
  Last sync finished time
48
48
  """
49
49
 
50
- last_sync_count: typing.Optional[int] = pydantic_v1.Field(default=None)
50
+ last_sync_count: typing.Optional[int] = pydantic.Field(default=None)
51
51
  """
52
52
  Count of tasks synced last time
53
53
  """
54
54
 
55
- last_sync_job: typing.Optional[str] = pydantic_v1.Field(default=None)
55
+ last_sync_job: typing.Optional[str] = pydantic.Field(default=None)
56
56
  """
57
57
  Last sync job ID
58
58
  """
59
59
 
60
60
  status: typing.Optional[GcsExportStorageStatus] = None
61
- traceback: typing.Optional[str] = pydantic_v1.Field(default=None)
61
+ traceback: typing.Optional[str] = pydantic.Field(default=None)
62
62
  """
63
63
  Traceback report for the last failed sync
64
64
  """
65
65
 
66
- meta: typing.Optional[typing.Dict[str, typing.Any]] = pydantic_v1.Field(default=None)
66
+ meta: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
67
67
  """
68
68
  Meta and debug information about storage processes
69
69
  """
70
70
 
71
- title: typing.Optional[str] = pydantic_v1.Field(default=None)
71
+ title: typing.Optional[str] = pydantic.Field(default=None)
72
72
  """
73
73
  Cloud storage title
74
74
  """
75
75
 
76
- description: typing.Optional[str] = pydantic_v1.Field(default=None)
76
+ description: typing.Optional[str] = pydantic.Field(default=None)
77
77
  """
78
78
  Cloud storage description
79
79
  """
80
80
 
81
- created_at: typing.Optional[dt.datetime] = pydantic_v1.Field(default=None)
81
+ created_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
82
82
  """
83
83
  Creation time
84
84
  """
85
85
 
86
- can_delete_objects: typing.Optional[bool] = pydantic_v1.Field(default=None)
86
+ can_delete_objects: typing.Optional[bool] = pydantic.Field(default=None)
87
87
  """
88
88
  Deletion from storage enabled
89
89
  """
90
90
 
91
- project: int = pydantic_v1.Field()
91
+ project: int = pydantic.Field()
92
92
  """
93
93
  A unique integer value identifying this project.
94
94
  """
95
95
 
96
- def json(self, **kwargs: typing.Any) -> str:
97
- kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
98
- return super().json(**kwargs_with_defaults)
99
-
100
- def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
101
- kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
102
- kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
103
-
104
- return deep_union_pydantic_dicts(
105
- super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
106
- )
96
+ if IS_PYDANTIC_V2:
97
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
98
+ else:
107
99
 
108
- class Config:
109
- frozen = True
110
- smart_union = True
111
- extra = pydantic_v1.Extra.allow
112
- json_encoders = {dt.datetime: serialize_datetime}
100
+ class Config:
101
+ frozen = True
102
+ smart_union = True
103
+ extra = pydantic.Extra.allow
@@ -1,113 +1,104 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- import datetime as dt
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
4
  import typing
5
-
6
- from ..core.datetime_utils import serialize_datetime
7
- from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
5
+ import pydantic
6
+ import datetime as dt
8
7
  from .gcs_import_storage_status import GcsImportStorageStatus
8
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
9
9
 
10
10
 
11
- class GcsImportStorage(pydantic_v1.BaseModel):
11
+ class GcsImportStorage(UniversalBaseModel):
12
12
  id: typing.Optional[int] = None
13
13
  type: typing.Optional[str] = None
14
14
  synchronizable: typing.Optional[bool] = None
15
15
  presign: typing.Optional[bool] = None
16
- bucket: typing.Optional[str] = pydantic_v1.Field(default=None)
16
+ bucket: typing.Optional[str] = pydantic.Field(default=None)
17
17
  """
18
18
  GCS bucket name
19
19
  """
20
20
 
21
- prefix: typing.Optional[str] = pydantic_v1.Field(default=None)
21
+ prefix: typing.Optional[str] = pydantic.Field(default=None)
22
22
  """
23
23
  GCS bucket prefix
24
24
  """
25
25
 
26
- regex_filter: typing.Optional[str] = pydantic_v1.Field(default=None)
26
+ regex_filter: typing.Optional[str] = pydantic.Field(default=None)
27
27
  """
28
28
  Cloud storage regex for filtering objects
29
29
  """
30
30
 
31
- use_blob_urls: typing.Optional[bool] = pydantic_v1.Field(default=None)
31
+ use_blob_urls: typing.Optional[bool] = pydantic.Field(default=None)
32
32
  """
33
33
  Interpret objects as BLOBs and generate URLs
34
34
  """
35
35
 
36
- google_application_credentials: typing.Optional[str] = pydantic_v1.Field(default=None)
36
+ google_application_credentials: typing.Optional[str] = pydantic.Field(default=None)
37
37
  """
38
38
  The content of GOOGLE_APPLICATION_CREDENTIALS json file
39
39
  """
40
40
 
41
- google_project_id: typing.Optional[str] = pydantic_v1.Field(default=None)
41
+ google_project_id: typing.Optional[str] = pydantic.Field(default=None)
42
42
  """
43
43
  Google project ID
44
44
  """
45
45
 
46
- last_sync: typing.Optional[dt.datetime] = pydantic_v1.Field(default=None)
46
+ last_sync: typing.Optional[dt.datetime] = pydantic.Field(default=None)
47
47
  """
48
48
  Last sync finished time
49
49
  """
50
50
 
51
- last_sync_count: typing.Optional[int] = pydantic_v1.Field(default=None)
51
+ last_sync_count: typing.Optional[int] = pydantic.Field(default=None)
52
52
  """
53
53
  Count of tasks synced last time
54
54
  """
55
55
 
56
- last_sync_job: typing.Optional[str] = pydantic_v1.Field(default=None)
56
+ last_sync_job: typing.Optional[str] = pydantic.Field(default=None)
57
57
  """
58
58
  Last sync job ID
59
59
  """
60
60
 
61
61
  status: typing.Optional[GcsImportStorageStatus] = None
62
- traceback: typing.Optional[str] = pydantic_v1.Field(default=None)
62
+ traceback: typing.Optional[str] = pydantic.Field(default=None)
63
63
  """
64
64
  Traceback report for the last failed sync
65
65
  """
66
66
 
67
- meta: typing.Optional[typing.Dict[str, typing.Any]] = pydantic_v1.Field(default=None)
67
+ meta: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
68
68
  """
69
69
  Meta and debug information about storage processes
70
70
  """
71
71
 
72
- title: typing.Optional[str] = pydantic_v1.Field(default=None)
72
+ title: typing.Optional[str] = pydantic.Field(default=None)
73
73
  """
74
74
  Cloud storage title
75
75
  """
76
76
 
77
- description: typing.Optional[str] = pydantic_v1.Field(default=None)
77
+ description: typing.Optional[str] = pydantic.Field(default=None)
78
78
  """
79
79
  Cloud storage description
80
80
  """
81
81
 
82
- created_at: typing.Optional[dt.datetime] = pydantic_v1.Field(default=None)
82
+ created_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
83
83
  """
84
84
  Creation time
85
85
  """
86
86
 
87
- presign_ttl: typing.Optional[int] = pydantic_v1.Field(default=None)
87
+ presign_ttl: typing.Optional[int] = pydantic.Field(default=None)
88
88
  """
89
89
  Presigned URLs TTL (in minutes)
90
90
  """
91
91
 
92
- project: int = pydantic_v1.Field()
92
+ project: int = pydantic.Field()
93
93
  """
94
94
  A unique integer value identifying this project.
95
95
  """
96
96
 
97
- def json(self, **kwargs: typing.Any) -> str:
98
- kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
99
- return super().json(**kwargs_with_defaults)
100
-
101
- def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
102
- kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
103
- kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
104
-
105
- return deep_union_pydantic_dicts(
106
- super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
107
- )
97
+ if IS_PYDANTIC_V2:
98
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
99
+ else:
108
100
 
109
- class Config:
110
- frozen = True
111
- smart_union = True
112
- extra = pydantic_v1.Extra.allow
113
- json_encoders = {dt.datetime: serialize_datetime}
101
+ class Config:
102
+ frozen = True
103
+ smart_union = True
104
+ extra = pydantic.Extra.allow