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,109 +1,101 @@
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
+ import typing_extensions
7
+ from ....core.serialization import FieldMetadata
8
+ from ....core.pydantic_utilities import IS_PYDANTIC_V2
5
9
 
6
- from ....core.datetime_utils import serialize_datetime
7
- from ....core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
8
10
 
9
-
10
- class S3CreateResponse(pydantic_v1.BaseModel):
11
- regex_filter: typing.Optional[str] = pydantic_v1.Field(default=None)
11
+ class S3CreateResponse(UniversalBaseModel):
12
+ regex_filter: typing.Optional[str] = pydantic.Field(default=None)
12
13
  """
13
14
  Cloud storage regex for filtering objects. You must specify it otherwise no objects will be imported.
14
15
  """
15
16
 
16
- use_blob_urls: typing.Optional[bool] = pydantic_v1.Field(default=None)
17
+ use_blob_urls: typing.Optional[bool] = pydantic.Field(default=None)
17
18
  """
18
19
  Interpret objects as BLOBs and generate URLs. For example, if your bucket 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.
19
20
  """
20
21
 
21
- presign: typing.Optional[bool] = pydantic_v1.Field(default=None)
22
+ presign: typing.Optional[bool] = pydantic.Field(default=None)
22
23
  """
23
24
  Presign URLs for download
24
25
  """
25
26
 
26
- presign_ttl: typing.Optional[int] = pydantic_v1.Field(default=None)
27
+ presign_ttl: typing.Optional[int] = pydantic.Field(default=None)
27
28
  """
28
29
  Presign TTL in minutes
29
30
  """
30
31
 
31
- recursive_scan: typing.Optional[bool] = pydantic_v1.Field(default=None)
32
+ recursive_scan: typing.Optional[bool] = pydantic.Field(default=None)
32
33
  """
33
34
  Scan recursively
34
35
  """
35
36
 
36
- title: typing.Optional[str] = pydantic_v1.Field(default=None)
37
+ title: typing.Optional[str] = pydantic.Field(default=None)
37
38
  """
38
39
  Storage title
39
40
  """
40
41
 
41
- description: typing.Optional[str] = pydantic_v1.Field(default=None)
42
+ description: typing.Optional[str] = pydantic.Field(default=None)
42
43
  """
43
44
  Storage description
44
45
  """
45
46
 
46
- project: typing.Optional[int] = pydantic_v1.Field(default=None)
47
+ project: typing.Optional[int] = pydantic.Field(default=None)
47
48
  """
48
49
  Project ID
49
50
  """
50
51
 
51
- bucket: typing.Optional[str] = pydantic_v1.Field(default=None)
52
+ bucket: typing.Optional[str] = pydantic.Field(default=None)
52
53
  """
53
54
  S3 bucket name
54
55
  """
55
56
 
56
- prefix: typing.Optional[str] = pydantic_v1.Field(default=None)
57
+ prefix: typing.Optional[str] = pydantic.Field(default=None)
57
58
  """
58
59
  S3 bucket prefix
59
60
  """
60
61
 
61
- aws_access_key_id: typing.Optional[str] = pydantic_v1.Field(default=None)
62
+ aws_access_key_id: typing.Optional[str] = pydantic.Field(default=None)
62
63
  """
63
64
  AWS_ACCESS_KEY_ID
64
65
  """
65
66
 
66
- aws_secret_access_key: typing.Optional[str] = pydantic_v1.Field(default=None)
67
+ aws_secret_access_key: typing.Optional[str] = pydantic.Field(default=None)
67
68
  """
68
69
  AWS_SECRET_ACCESS_KEY
69
70
  """
70
71
 
71
- aws_session_token: typing.Optional[str] = pydantic_v1.Field(default=None)
72
+ aws_session_token: typing.Optional[str] = pydantic.Field(default=None)
72
73
  """
73
74
  AWS_SESSION_TOKEN
74
75
  """
75
76
 
76
- aws_sse_kms_key_id: typing.Optional[str] = pydantic_v1.Field(default=None)
77
+ aws_sse_kms_key_id: typing.Optional[str] = pydantic.Field(default=None)
77
78
  """
78
79
  AWS SSE KMS Key ID
79
80
  """
80
81
 
81
- region_name: typing.Optional[str] = pydantic_v1.Field(default=None)
82
+ region_name: typing.Optional[str] = pydantic.Field(default=None)
82
83
  """
83
84
  AWS Region
84
85
  """
85
86
 
86
- s3endpoint: typing.Optional[str] = pydantic_v1.Field(alias="s3_endpoint", default=None)
87
+ s3endpoint: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="s3_endpoint")] = pydantic.Field(
88
+ default=None
89
+ )
87
90
  """
88
91
  S3 Endpoint
89
92
  """
90
93
 
91
- def json(self, **kwargs: typing.Any) -> str:
92
- kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
93
- return super().json(**kwargs_with_defaults)
94
-
95
- def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
96
- kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
97
- kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
98
-
99
- return deep_union_pydantic_dicts(
100
- super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
101
- )
94
+ if IS_PYDANTIC_V2:
95
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
96
+ else:
102
97
 
103
- class Config:
104
- frozen = True
105
- smart_union = True
106
- allow_population_by_field_name = True
107
- populate_by_name = True
108
- extra = pydantic_v1.Extra.allow
109
- json_encoders = {dt.datetime: serialize_datetime}
98
+ class Config:
99
+ frozen = True
100
+ smart_union = True
101
+ extra = pydantic.Extra.allow
@@ -1,109 +1,101 @@
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
+ import typing_extensions
7
+ from ....core.serialization import FieldMetadata
8
+ from ....core.pydantic_utilities import IS_PYDANTIC_V2
5
9
 
6
- from ....core.datetime_utils import serialize_datetime
7
- from ....core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
8
10
 
9
-
10
- class S3UpdateResponse(pydantic_v1.BaseModel):
11
- regex_filter: typing.Optional[str] = pydantic_v1.Field(default=None)
11
+ class S3UpdateResponse(UniversalBaseModel):
12
+ regex_filter: typing.Optional[str] = pydantic.Field(default=None)
12
13
  """
13
14
  Cloud storage regex for filtering objects. You must specify it otherwise no objects will be imported.
14
15
  """
15
16
 
16
- use_blob_urls: typing.Optional[bool] = pydantic_v1.Field(default=None)
17
+ use_blob_urls: typing.Optional[bool] = pydantic.Field(default=None)
17
18
  """
18
19
  Interpret objects as BLOBs and generate URLs. For example, if your bucket 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.
19
20
  """
20
21
 
21
- presign: typing.Optional[bool] = pydantic_v1.Field(default=None)
22
+ presign: typing.Optional[bool] = pydantic.Field(default=None)
22
23
  """
23
24
  Presign URLs for download
24
25
  """
25
26
 
26
- presign_ttl: typing.Optional[int] = pydantic_v1.Field(default=None)
27
+ presign_ttl: typing.Optional[int] = pydantic.Field(default=None)
27
28
  """
28
29
  Presign TTL in minutes
29
30
  """
30
31
 
31
- recursive_scan: typing.Optional[bool] = pydantic_v1.Field(default=None)
32
+ recursive_scan: typing.Optional[bool] = pydantic.Field(default=None)
32
33
  """
33
34
  Scan recursively
34
35
  """
35
36
 
36
- title: typing.Optional[str] = pydantic_v1.Field(default=None)
37
+ title: typing.Optional[str] = pydantic.Field(default=None)
37
38
  """
38
39
  Storage title
39
40
  """
40
41
 
41
- description: typing.Optional[str] = pydantic_v1.Field(default=None)
42
+ description: typing.Optional[str] = pydantic.Field(default=None)
42
43
  """
43
44
  Storage description
44
45
  """
45
46
 
46
- project: typing.Optional[int] = pydantic_v1.Field(default=None)
47
+ project: typing.Optional[int] = pydantic.Field(default=None)
47
48
  """
48
49
  Project ID
49
50
  """
50
51
 
51
- bucket: typing.Optional[str] = pydantic_v1.Field(default=None)
52
+ bucket: typing.Optional[str] = pydantic.Field(default=None)
52
53
  """
53
54
  S3 bucket name
54
55
  """
55
56
 
56
- prefix: typing.Optional[str] = pydantic_v1.Field(default=None)
57
+ prefix: typing.Optional[str] = pydantic.Field(default=None)
57
58
  """
58
59
  S3 bucket prefix
59
60
  """
60
61
 
61
- aws_access_key_id: typing.Optional[str] = pydantic_v1.Field(default=None)
62
+ aws_access_key_id: typing.Optional[str] = pydantic.Field(default=None)
62
63
  """
63
64
  AWS_ACCESS_KEY_ID
64
65
  """
65
66
 
66
- aws_secret_access_key: typing.Optional[str] = pydantic_v1.Field(default=None)
67
+ aws_secret_access_key: typing.Optional[str] = pydantic.Field(default=None)
67
68
  """
68
69
  AWS_SECRET_ACCESS_KEY
69
70
  """
70
71
 
71
- aws_session_token: typing.Optional[str] = pydantic_v1.Field(default=None)
72
+ aws_session_token: typing.Optional[str] = pydantic.Field(default=None)
72
73
  """
73
74
  AWS_SESSION_TOKEN
74
75
  """
75
76
 
76
- aws_sse_kms_key_id: typing.Optional[str] = pydantic_v1.Field(default=None)
77
+ aws_sse_kms_key_id: typing.Optional[str] = pydantic.Field(default=None)
77
78
  """
78
79
  AWS SSE KMS Key ID
79
80
  """
80
81
 
81
- region_name: typing.Optional[str] = pydantic_v1.Field(default=None)
82
+ region_name: typing.Optional[str] = pydantic.Field(default=None)
82
83
  """
83
84
  AWS Region
84
85
  """
85
86
 
86
- s3endpoint: typing.Optional[str] = pydantic_v1.Field(alias="s3_endpoint", default=None)
87
+ s3endpoint: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="s3_endpoint")] = pydantic.Field(
88
+ default=None
89
+ )
87
90
  """
88
91
  S3 Endpoint
89
92
  """
90
93
 
91
- def json(self, **kwargs: typing.Any) -> str:
92
- kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
93
- return super().json(**kwargs_with_defaults)
94
-
95
- def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
96
- kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
97
- kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
98
-
99
- return deep_union_pydantic_dicts(
100
- super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
101
- )
94
+ if IS_PYDANTIC_V2:
95
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
96
+ else:
102
97
 
103
- class Config:
104
- frozen = True
105
- smart_union = True
106
- allow_population_by_field_name = True
107
- populate_by_name = True
108
- extra = pydantic_v1.Extra.allow
109
- json_encoders = {dt.datetime: serialize_datetime}
98
+ class Config:
99
+ frozen = True
100
+ smart_union = True
101
+ extra = pydantic.Extra.allow