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,55 +1,45 @@
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_group import FilterGroup
6
+ import pydantic
7
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
9
8
 
10
9
 
11
- class View(pydantic_v1.BaseModel):
10
+ class View(UniversalBaseModel):
12
11
  id: typing.Optional[int] = None
13
12
  filter_group: typing.Optional[FilterGroup] = None
14
- data: typing.Optional[typing.Dict[str, typing.Any]] = pydantic_v1.Field(default=None)
13
+ data: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
15
14
  """
16
15
  Custom view data
17
16
  """
18
17
 
19
- ordering: typing.Optional[typing.Dict[str, typing.Any]] = pydantic_v1.Field(default=None)
18
+ ordering: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
20
19
  """
21
20
  Ordering parameters
22
21
  """
23
22
 
24
- selected_items: typing.Optional[typing.Dict[str, typing.Any]] = pydantic_v1.Field(default=None)
23
+ selected_items: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
25
24
  """
26
25
  Selected items
27
26
  """
28
27
 
29
- user: typing.Optional[int] = pydantic_v1.Field(default=None)
28
+ user: typing.Optional[int] = pydantic.Field(default=None)
30
29
  """
31
30
  User who made this view
32
31
  """
33
32
 
34
- project: int = pydantic_v1.Field()
33
+ project: int = pydantic.Field()
35
34
  """
36
35
  Project ID
37
36
  """
38
37
 
39
- def json(self, **kwargs: typing.Any) -> str:
40
- kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
41
- return super().json(**kwargs_with_defaults)
42
-
43
- def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
44
- kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
45
- kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
46
-
47
- return deep_union_pydantic_dicts(
48
- super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
49
- )
38
+ if IS_PYDANTIC_V2:
39
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
40
+ else:
50
41
 
51
- class Config:
52
- frozen = True
53
- smart_union = True
54
- extra = pydantic_v1.Extra.allow
55
- json_encoders = {dt.datetime: serialize_datetime}
42
+ class Config:
43
+ frozen = True
44
+ smart_union = True
45
+ extra = pydantic.Extra.allow
@@ -1,67 +1,58 @@
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
8
6
  from .webhook_actions_item import WebhookActionsItem
7
+ import datetime as dt
8
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
9
9
 
10
10
 
11
- class Webhook(pydantic_v1.BaseModel):
11
+ class Webhook(UniversalBaseModel):
12
12
  id: typing.Optional[int] = None
13
13
  organization: typing.Optional[int] = None
14
14
  project: typing.Optional[int] = None
15
- url: str = pydantic_v1.Field()
15
+ url: str = pydantic.Field()
16
16
  """
17
17
  URL of webhook
18
18
  """
19
19
 
20
- send_payload: typing.Optional[bool] = pydantic_v1.Field(default=None)
20
+ send_payload: typing.Optional[bool] = pydantic.Field(default=None)
21
21
  """
22
22
  If value is False send only action
23
23
  """
24
24
 
25
- send_for_all_actions: typing.Optional[bool] = pydantic_v1.Field(default=None)
25
+ send_for_all_actions: typing.Optional[bool] = pydantic.Field(default=None)
26
26
  """
27
27
  If value is False - used only for actions from WebhookAction
28
28
  """
29
29
 
30
- headers: typing.Optional[typing.Dict[str, typing.Any]] = pydantic_v1.Field(default=None)
30
+ headers: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
31
31
  """
32
32
  Key Value Json of headers
33
33
  """
34
34
 
35
- is_active: typing.Optional[bool] = pydantic_v1.Field(default=None)
35
+ is_active: typing.Optional[bool] = pydantic.Field(default=None)
36
36
  """
37
37
  If value is False the webhook is disabled
38
38
  """
39
39
 
40
40
  actions: typing.Optional[typing.List[WebhookActionsItem]] = None
41
- created_at: typing.Optional[dt.datetime] = pydantic_v1.Field(default=None)
41
+ created_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
42
42
  """
43
43
  Creation time
44
44
  """
45
45
 
46
- updated_at: typing.Optional[dt.datetime] = pydantic_v1.Field(default=None)
46
+ updated_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
47
47
  """
48
48
  Last update time
49
49
  """
50
50
 
51
- def json(self, **kwargs: typing.Any) -> str:
52
- kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
53
- return super().json(**kwargs_with_defaults)
54
-
55
- def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
56
- kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
57
- kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
58
-
59
- return deep_union_pydantic_dicts(
60
- super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
61
- )
51
+ if IS_PYDANTIC_V2:
52
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
53
+ else:
62
54
 
63
- class Config:
64
- frozen = True
65
- smart_union = True
66
- extra = pydantic_v1.Extra.allow
67
- json_encoders = {dt.datetime: serialize_datetime}
55
+ class Config:
56
+ frozen = True
57
+ smart_union = True
58
+ extra = pydantic.Extra.allow
@@ -1,67 +1,58 @@
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
8
6
  from .webhook_serializer_for_update_actions_item import WebhookSerializerForUpdateActionsItem
7
+ import datetime as dt
8
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
9
9
 
10
10
 
11
- class WebhookSerializerForUpdate(pydantic_v1.BaseModel):
11
+ class WebhookSerializerForUpdate(UniversalBaseModel):
12
12
  id: typing.Optional[int] = None
13
13
  organization: typing.Optional[int] = None
14
14
  project: typing.Optional[int] = None
15
- url: str = pydantic_v1.Field()
15
+ url: str = pydantic.Field()
16
16
  """
17
17
  URL of webhook
18
18
  """
19
19
 
20
- send_payload: typing.Optional[bool] = pydantic_v1.Field(default=None)
20
+ send_payload: typing.Optional[bool] = pydantic.Field(default=None)
21
21
  """
22
22
  If value is False send only action
23
23
  """
24
24
 
25
- send_for_all_actions: typing.Optional[bool] = pydantic_v1.Field(default=None)
25
+ send_for_all_actions: typing.Optional[bool] = pydantic.Field(default=None)
26
26
  """
27
27
  If value is False - used only for actions from WebhookAction
28
28
  """
29
29
 
30
- headers: typing.Optional[typing.Dict[str, typing.Any]] = pydantic_v1.Field(default=None)
30
+ headers: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
31
31
  """
32
32
  Key Value Json of headers
33
33
  """
34
34
 
35
- is_active: typing.Optional[bool] = pydantic_v1.Field(default=None)
35
+ is_active: typing.Optional[bool] = pydantic.Field(default=None)
36
36
  """
37
37
  If value is False the webhook is disabled
38
38
  """
39
39
 
40
40
  actions: typing.Optional[typing.List[WebhookSerializerForUpdateActionsItem]] = None
41
- created_at: typing.Optional[dt.datetime] = pydantic_v1.Field(default=None)
41
+ created_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
42
42
  """
43
43
  Creation time
44
44
  """
45
45
 
46
- updated_at: typing.Optional[dt.datetime] = pydantic_v1.Field(default=None)
46
+ updated_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
47
47
  """
48
48
  Last update time
49
49
  """
50
50
 
51
- def json(self, **kwargs: typing.Any) -> str:
52
- kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
53
- return super().json(**kwargs_with_defaults)
54
-
55
- def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
56
- kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
57
- kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
58
-
59
- return deep_union_pydantic_dicts(
60
- super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
61
- )
51
+ if IS_PYDANTIC_V2:
52
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
53
+ else:
62
54
 
63
- class Config:
64
- frozen = True
65
- smart_union = True
66
- extra = pydantic_v1.Extra.allow
67
- json_encoders = {dt.datetime: serialize_datetime}
55
+ class Config:
56
+ frozen = True
57
+ smart_union = True
58
+ extra = pydantic.Extra.allow
@@ -1,77 +1,68 @@
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
7
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
8
 
9
9
 
10
- class Workspace(pydantic_v1.BaseModel):
11
- id: typing.Optional[int] = pydantic_v1.Field(default=None)
10
+ class Workspace(UniversalBaseModel):
11
+ id: typing.Optional[int] = pydantic.Field(default=None)
12
12
  """
13
13
  Unique ID of the workspace
14
14
  """
15
15
 
16
- title: typing.Optional[str] = pydantic_v1.Field(default=None)
16
+ title: typing.Optional[str] = pydantic.Field(default=None)
17
17
  """
18
18
  Workspace title
19
19
  """
20
20
 
21
- description: typing.Optional[str] = pydantic_v1.Field(default=None)
21
+ description: typing.Optional[str] = pydantic.Field(default=None)
22
22
  """
23
23
  Workspace description
24
24
  """
25
25
 
26
- is_public: typing.Optional[bool] = pydantic_v1.Field(default=None)
26
+ is_public: typing.Optional[bool] = pydantic.Field(default=None)
27
27
  """
28
28
  Whether the workspace is public or not
29
29
  """
30
30
 
31
- is_personal: typing.Optional[bool] = pydantic_v1.Field(default=None)
31
+ is_personal: typing.Optional[bool] = pydantic.Field(default=None)
32
32
  """
33
33
  Whether the workspace is personal or not
34
34
  """
35
35
 
36
- is_archived: typing.Optional[bool] = pydantic_v1.Field(default=None)
36
+ is_archived: typing.Optional[bool] = pydantic.Field(default=None)
37
37
  """
38
38
  Whether the workspace is archived or not
39
39
  """
40
40
 
41
- created_at: typing.Optional[dt.datetime] = pydantic_v1.Field(default=None)
41
+ created_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
42
42
  """
43
43
  Creation time of the workspace
44
44
  """
45
45
 
46
- updated_at: typing.Optional[dt.datetime] = pydantic_v1.Field(default=None)
46
+ updated_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
47
47
  """
48
48
  Last updated time of the workspace
49
49
  """
50
50
 
51
- created_by: typing.Optional[int] = pydantic_v1.Field(default=None)
51
+ created_by: typing.Optional[int] = pydantic.Field(default=None)
52
52
  """
53
53
  User ID of the workspace creator
54
54
  """
55
55
 
56
- color: typing.Optional[str] = pydantic_v1.Field(default=None)
56
+ color: typing.Optional[str] = pydantic.Field(default=None)
57
57
  """
58
58
  Workspace color
59
59
  """
60
60
 
61
- def json(self, **kwargs: typing.Any) -> str:
62
- kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
63
- return super().json(**kwargs_with_defaults)
64
-
65
- def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
66
- kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
67
- kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
68
-
69
- return deep_union_pydantic_dicts(
70
- super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
71
- )
61
+ if IS_PYDANTIC_V2:
62
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
63
+ else:
72
64
 
73
- class Config:
74
- frozen = True
75
- smart_union = True
76
- extra = pydantic_v1.Extra.allow
77
- json_encoders = {dt.datetime: serialize_datetime}
65
+ class Config:
66
+ frozen = True
67
+ smart_union = True
68
+ extra = pydantic.Extra.allow