label-studio-sdk 0.0.34__py3-none-any.whl → 1.0.0__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.
- label_studio_sdk/__init__.py +206 -9
- label_studio_sdk/_extensions/label_studio_tools/__init__.py +0 -0
- label_studio_sdk/_extensions/label_studio_tools/core/__init__.py +0 -0
- label_studio_sdk/_extensions/label_studio_tools/core/label_config.py +163 -0
- label_studio_sdk/_extensions/label_studio_tools/core/utils/__init__.py +0 -0
- label_studio_sdk/_extensions/label_studio_tools/core/utils/exceptions.py +2 -0
- label_studio_sdk/_extensions/label_studio_tools/core/utils/io.py +228 -0
- label_studio_sdk/_extensions/label_studio_tools/core/utils/params.py +45 -0
- label_studio_sdk/_extensions/label_studio_tools/etl/__init__.py +1 -0
- label_studio_sdk/_extensions/label_studio_tools/etl/beam.py +34 -0
- label_studio_sdk/_extensions/label_studio_tools/etl/example.py +17 -0
- label_studio_sdk/_extensions/label_studio_tools/etl/registry.py +67 -0
- label_studio_sdk/_extensions/label_studio_tools/postprocessing/__init__.py +0 -0
- label_studio_sdk/_extensions/label_studio_tools/postprocessing/video.py +97 -0
- label_studio_sdk/_legacy/__init__.py +11 -0
- label_studio_sdk/_legacy/client.py +471 -0
- label_studio_sdk/_legacy/label_interface/data_examples.json +96 -0
- label_studio_sdk/{label_interface → _legacy/label_interface}/interface.py +9 -6
- label_studio_sdk/{project.py → _legacy/project.py} +2 -2
- label_studio_sdk/actions/__init__.py +2 -0
- label_studio_sdk/actions/client.py +150 -0
- label_studio_sdk/annotations/__init__.py +2 -0
- label_studio_sdk/annotations/client.py +750 -0
- label_studio_sdk/client.py +162 -450
- label_studio_sdk/converter/__init__.py +7 -0
- label_studio_sdk/converter/audio.py +56 -0
- label_studio_sdk/converter/brush.py +452 -0
- label_studio_sdk/converter/converter.py +1175 -0
- label_studio_sdk/converter/exports/__init__.py +0 -0
- label_studio_sdk/converter/exports/csv.py +82 -0
- label_studio_sdk/converter/exports/csv2.py +103 -0
- label_studio_sdk/converter/funsd.py +85 -0
- label_studio_sdk/converter/imports/__init__.py +0 -0
- label_studio_sdk/converter/imports/coco.py +314 -0
- label_studio_sdk/converter/imports/colors.py +198 -0
- label_studio_sdk/converter/imports/label_config.py +45 -0
- label_studio_sdk/converter/imports/pathtrack.py +269 -0
- label_studio_sdk/converter/imports/yolo.py +236 -0
- label_studio_sdk/converter/main.py +202 -0
- label_studio_sdk/converter/utils.py +473 -0
- label_studio_sdk/core/__init__.py +33 -0
- label_studio_sdk/core/api_error.py +15 -0
- label_studio_sdk/core/client_wrapper.py +55 -0
- label_studio_sdk/core/datetime_utils.py +28 -0
- label_studio_sdk/core/file.py +38 -0
- label_studio_sdk/core/http_client.py +443 -0
- label_studio_sdk/core/jsonable_encoder.py +99 -0
- label_studio_sdk/core/pagination.py +87 -0
- label_studio_sdk/core/pydantic_utilities.py +28 -0
- label_studio_sdk/core/query_encoder.py +33 -0
- label_studio_sdk/core/remove_none_from_dict.py +11 -0
- label_studio_sdk/core/request_options.py +32 -0
- label_studio_sdk/environment.py +7 -0
- label_studio_sdk/errors/__init__.py +6 -0
- label_studio_sdk/errors/bad_request_error.py +8 -0
- label_studio_sdk/errors/internal_server_error.py +8 -0
- label_studio_sdk/export_storage/__init__.py +28 -0
- label_studio_sdk/export_storage/azure/__init__.py +5 -0
- label_studio_sdk/export_storage/azure/client.py +722 -0
- label_studio_sdk/export_storage/azure/types/__init__.py +6 -0
- label_studio_sdk/export_storage/azure/types/azure_create_response.py +52 -0
- label_studio_sdk/export_storage/azure/types/azure_update_response.py +52 -0
- label_studio_sdk/export_storage/client.py +107 -0
- label_studio_sdk/export_storage/gcs/__init__.py +5 -0
- label_studio_sdk/export_storage/gcs/client.py +722 -0
- label_studio_sdk/export_storage/gcs/types/__init__.py +6 -0
- label_studio_sdk/export_storage/gcs/types/gcs_create_response.py +52 -0
- label_studio_sdk/export_storage/gcs/types/gcs_update_response.py +52 -0
- label_studio_sdk/export_storage/local/__init__.py +5 -0
- label_studio_sdk/export_storage/local/client.py +688 -0
- label_studio_sdk/export_storage/local/types/__init__.py +6 -0
- label_studio_sdk/export_storage/local/types/local_create_response.py +47 -0
- label_studio_sdk/export_storage/local/types/local_update_response.py +47 -0
- label_studio_sdk/export_storage/redis/__init__.py +5 -0
- label_studio_sdk/export_storage/redis/client.py +714 -0
- label_studio_sdk/export_storage/redis/types/__init__.py +6 -0
- label_studio_sdk/export_storage/redis/types/redis_create_response.py +57 -0
- label_studio_sdk/export_storage/redis/types/redis_update_response.py +57 -0
- label_studio_sdk/export_storage/s3/__init__.py +5 -0
- label_studio_sdk/export_storage/s3/client.py +820 -0
- label_studio_sdk/export_storage/s3/types/__init__.py +6 -0
- label_studio_sdk/export_storage/s3/types/s3create_response.py +74 -0
- label_studio_sdk/export_storage/s3/types/s3update_response.py +74 -0
- label_studio_sdk/export_storage/types/__init__.py +5 -0
- label_studio_sdk/export_storage/types/export_storage_list_types_response_item.py +30 -0
- label_studio_sdk/files/__init__.py +2 -0
- label_studio_sdk/files/client.py +556 -0
- label_studio_sdk/import_storage/__init__.py +28 -0
- label_studio_sdk/import_storage/azure/__init__.py +5 -0
- label_studio_sdk/import_storage/azure/client.py +812 -0
- label_studio_sdk/import_storage/azure/types/__init__.py +6 -0
- label_studio_sdk/import_storage/azure/types/azure_create_response.py +72 -0
- label_studio_sdk/import_storage/azure/types/azure_update_response.py +72 -0
- label_studio_sdk/import_storage/client.py +107 -0
- label_studio_sdk/import_storage/gcs/__init__.py +5 -0
- label_studio_sdk/import_storage/gcs/client.py +812 -0
- label_studio_sdk/import_storage/gcs/types/__init__.py +6 -0
- label_studio_sdk/import_storage/gcs/types/gcs_create_response.py +72 -0
- label_studio_sdk/import_storage/gcs/types/gcs_update_response.py +72 -0
- label_studio_sdk/import_storage/local/__init__.py +5 -0
- label_studio_sdk/import_storage/local/client.py +690 -0
- label_studio_sdk/import_storage/local/types/__init__.py +6 -0
- label_studio_sdk/import_storage/local/types/local_create_response.py +47 -0
- label_studio_sdk/import_storage/local/types/local_update_response.py +47 -0
- label_studio_sdk/import_storage/redis/__init__.py +5 -0
- label_studio_sdk/import_storage/redis/client.py +768 -0
- label_studio_sdk/import_storage/redis/types/__init__.py +6 -0
- label_studio_sdk/import_storage/redis/types/redis_create_response.py +62 -0
- label_studio_sdk/import_storage/redis/types/redis_update_response.py +62 -0
- label_studio_sdk/import_storage/s3/__init__.py +5 -0
- label_studio_sdk/import_storage/s3/client.py +912 -0
- label_studio_sdk/import_storage/s3/types/__init__.py +6 -0
- label_studio_sdk/import_storage/s3/types/s3create_response.py +99 -0
- label_studio_sdk/import_storage/s3/types/s3update_response.py +99 -0
- label_studio_sdk/import_storage/types/__init__.py +5 -0
- label_studio_sdk/import_storage/types/import_storage_list_types_response_item.py +30 -0
- label_studio_sdk/ml/__init__.py +19 -0
- label_studio_sdk/ml/client.py +981 -0
- label_studio_sdk/ml/types/__init__.py +17 -0
- label_studio_sdk/ml/types/ml_create_request_auth_method.py +5 -0
- label_studio_sdk/ml/types/ml_create_response.py +78 -0
- label_studio_sdk/ml/types/ml_create_response_auth_method.py +5 -0
- label_studio_sdk/ml/types/ml_update_request_auth_method.py +5 -0
- label_studio_sdk/ml/types/ml_update_response.py +78 -0
- label_studio_sdk/ml/types/ml_update_response_auth_method.py +5 -0
- label_studio_sdk/predictions/__init__.py +2 -0
- label_studio_sdk/predictions/client.py +638 -0
- label_studio_sdk/projects/__init__.py +6 -0
- label_studio_sdk/projects/client.py +1053 -0
- label_studio_sdk/projects/exports/__init__.py +2 -0
- label_studio_sdk/projects/exports/client.py +930 -0
- label_studio_sdk/projects/types/__init__.py +7 -0
- label_studio_sdk/projects/types/projects_create_response.py +96 -0
- label_studio_sdk/projects/types/projects_import_tasks_response.py +71 -0
- label_studio_sdk/projects/types/projects_list_response.py +33 -0
- label_studio_sdk/py.typed +0 -0
- label_studio_sdk/tasks/__init__.py +5 -0
- label_studio_sdk/tasks/client.py +811 -0
- label_studio_sdk/tasks/types/__init__.py +6 -0
- label_studio_sdk/tasks/types/tasks_list_request_fields.py +5 -0
- label_studio_sdk/tasks/types/tasks_list_response.py +48 -0
- label_studio_sdk/types/__init__.py +115 -0
- label_studio_sdk/types/annotation.py +116 -0
- label_studio_sdk/types/annotation_filter_options.py +42 -0
- label_studio_sdk/types/annotation_last_action.py +19 -0
- label_studio_sdk/types/azure_blob_export_storage.py +112 -0
- label_studio_sdk/types/azure_blob_export_storage_status.py +7 -0
- label_studio_sdk/types/azure_blob_import_storage.py +113 -0
- label_studio_sdk/types/azure_blob_import_storage_status.py +7 -0
- label_studio_sdk/types/base_task.py +113 -0
- label_studio_sdk/types/base_user.py +42 -0
- label_studio_sdk/types/converted_format.py +36 -0
- label_studio_sdk/types/converted_format_status.py +5 -0
- label_studio_sdk/types/export.py +48 -0
- label_studio_sdk/types/export_convert.py +32 -0
- label_studio_sdk/types/export_create.py +54 -0
- label_studio_sdk/types/export_create_status.py +5 -0
- label_studio_sdk/types/export_status.py +5 -0
- label_studio_sdk/types/file_upload.py +30 -0
- label_studio_sdk/types/filter.py +53 -0
- label_studio_sdk/types/filter_group.py +35 -0
- label_studio_sdk/types/gcs_export_storage.py +112 -0
- label_studio_sdk/types/gcs_export_storage_status.py +7 -0
- label_studio_sdk/types/gcs_import_storage.py +113 -0
- label_studio_sdk/types/gcs_import_storage_status.py +7 -0
- label_studio_sdk/types/local_files_export_storage.py +97 -0
- label_studio_sdk/types/local_files_export_storage_status.py +7 -0
- label_studio_sdk/types/local_files_import_storage.py +92 -0
- label_studio_sdk/types/local_files_import_storage_status.py +7 -0
- label_studio_sdk/types/ml_backend.py +89 -0
- label_studio_sdk/types/ml_backend_auth_method.py +5 -0
- label_studio_sdk/types/ml_backend_state.py +5 -0
- label_studio_sdk/types/prediction.py +78 -0
- label_studio_sdk/types/project.py +198 -0
- label_studio_sdk/types/project_import.py +63 -0
- label_studio_sdk/types/project_import_status.py +5 -0
- label_studio_sdk/types/project_label_config.py +32 -0
- label_studio_sdk/types/project_sampling.py +7 -0
- label_studio_sdk/types/project_skip_queue.py +5 -0
- label_studio_sdk/types/redis_export_storage.py +117 -0
- label_studio_sdk/types/redis_export_storage_status.py +7 -0
- label_studio_sdk/types/redis_import_storage.py +112 -0
- label_studio_sdk/types/redis_import_storage_status.py +7 -0
- label_studio_sdk/types/s3export_storage.py +134 -0
- label_studio_sdk/types/s3export_storage_status.py +7 -0
- label_studio_sdk/types/s3import_storage.py +140 -0
- label_studio_sdk/types/s3import_storage_status.py +7 -0
- label_studio_sdk/types/serialization_option.py +36 -0
- label_studio_sdk/types/serialization_options.py +45 -0
- label_studio_sdk/types/task.py +157 -0
- label_studio_sdk/types/task_filter_options.py +49 -0
- label_studio_sdk/types/user_simple.py +37 -0
- label_studio_sdk/types/view.py +55 -0
- label_studio_sdk/types/webhook.py +67 -0
- label_studio_sdk/types/webhook_actions_item.py +21 -0
- label_studio_sdk/types/webhook_serializer_for_update.py +67 -0
- label_studio_sdk/types/webhook_serializer_for_update_actions_item.py +21 -0
- label_studio_sdk/users/__init__.py +5 -0
- label_studio_sdk/users/client.py +830 -0
- label_studio_sdk/users/types/__init__.py +6 -0
- label_studio_sdk/users/types/users_get_token_response.py +36 -0
- label_studio_sdk/users/types/users_reset_token_response.py +36 -0
- label_studio_sdk/version.py +4 -0
- label_studio_sdk/views/__init__.py +31 -0
- label_studio_sdk/views/client.py +564 -0
- label_studio_sdk/views/types/__init__.py +29 -0
- label_studio_sdk/views/types/views_create_request_data.py +43 -0
- label_studio_sdk/views/types/views_create_request_data_filters.py +43 -0
- label_studio_sdk/views/types/views_create_request_data_filters_conjunction.py +5 -0
- label_studio_sdk/views/types/views_create_request_data_filters_items_item.py +47 -0
- label_studio_sdk/views/types/views_create_request_data_ordering_item.py +38 -0
- label_studio_sdk/views/types/views_create_request_data_ordering_item_direction.py +5 -0
- label_studio_sdk/views/types/views_update_request_data.py +43 -0
- label_studio_sdk/views/types/views_update_request_data_filters.py +43 -0
- label_studio_sdk/views/types/views_update_request_data_filters_conjunction.py +5 -0
- label_studio_sdk/views/types/views_update_request_data_filters_items_item.py +47 -0
- label_studio_sdk/views/types/views_update_request_data_ordering_item.py +38 -0
- label_studio_sdk/views/types/views_update_request_data_ordering_item_direction.py +5 -0
- label_studio_sdk/webhooks/__init__.py +5 -0
- label_studio_sdk/webhooks/client.py +636 -0
- label_studio_sdk/webhooks/types/__init__.py +5 -0
- label_studio_sdk/webhooks/types/webhooks_update_request_actions_item.py +21 -0
- label_studio_sdk-1.0.0.dist-info/METADATA +307 -0
- label_studio_sdk-1.0.0.dist-info/RECORD +239 -0
- {label_studio_sdk-0.0.34.dist-info → label_studio_sdk-1.0.0.dist-info}/WHEEL +1 -2
- label_studio_sdk-0.0.34.dist-info/LICENSE +0 -201
- label_studio_sdk-0.0.34.dist-info/METADATA +0 -24
- label_studio_sdk-0.0.34.dist-info/RECORD +0 -37
- label_studio_sdk-0.0.34.dist-info/top_level.txt +0 -2
- tests/test_client.py +0 -37
- tests/test_export.py +0 -105
- tests/test_interface/__init__.py +0 -1
- tests/test_interface/configs.py +0 -137
- tests/test_interface/mockups.py +0 -22
- tests/test_interface/test_compat.py +0 -64
- tests/test_interface/test_control_tags.py +0 -55
- tests/test_interface/test_data_generation.py +0 -45
- tests/test_interface/test_lpi.py +0 -15
- tests/test_interface/test_main.py +0 -196
- tests/test_interface/test_object_tags.py +0 -36
- tests/test_interface/test_region.py +0 -36
- tests/test_interface/test_validate_summary.py +0 -35
- tests/test_interface/test_validation.py +0 -59
- {tests → label_studio_sdk/_extensions}/__init__.py +0 -0
- /label_studio_sdk/{exceptions.py → _legacy/exceptions.py} +0 -0
- /label_studio_sdk/{label_interface → _legacy/label_interface}/__init__.py +0 -0
- /label_studio_sdk/{label_interface → _legacy/label_interface}/base.py +0 -0
- /label_studio_sdk/{label_interface → _legacy/label_interface}/control_tags.py +0 -0
- /label_studio_sdk/{label_interface → _legacy/label_interface}/label_tags.py +0 -0
- /label_studio_sdk/{label_interface → _legacy/label_interface}/object_tags.py +0 -0
- /label_studio_sdk/{label_interface → _legacy/label_interface}/region.py +0 -0
- /label_studio_sdk/{objects.py → _legacy/objects.py} +0 -0
- /label_studio_sdk/{schema → _legacy/schema}/label_config_schema.json +0 -0
- /label_studio_sdk/{users.py → _legacy/users.py} +0 -0
- /label_studio_sdk/{utils.py → _legacy/utils.py} +0 -0
- /label_studio_sdk/{workspaces.py → _legacy/workspaces.py} +0 -0
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import datetime as dt
|
|
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
|
+
|
|
9
|
+
|
|
10
|
+
class BaseTask(pydantic_v1.BaseModel):
|
|
11
|
+
id: typing.Optional[int] = None
|
|
12
|
+
data: typing.Dict[str, typing.Any] = pydantic_v1.Field()
|
|
13
|
+
"""
|
|
14
|
+
User imported or uploaded data for a task. Data is formatted according to the project label config. You can find examples of data for your project on the Import page in the Label Studio Data Manager UI.
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
meta: typing.Optional[typing.Dict[str, typing.Any]] = pydantic_v1.Field(default=None)
|
|
18
|
+
"""
|
|
19
|
+
Meta is user imported (uploaded) data and can be useful as input for an ML Backend for embeddings, advanced vectors, and other info. It is passed to ML during training/predicting steps.
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
created_at: typing.Optional[dt.datetime] = pydantic_v1.Field(default=None)
|
|
23
|
+
"""
|
|
24
|
+
Time a task was created
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
updated_at: typing.Optional[dt.datetime] = pydantic_v1.Field(default=None)
|
|
28
|
+
"""
|
|
29
|
+
Last time a task was updated
|
|
30
|
+
"""
|
|
31
|
+
|
|
32
|
+
is_labeled: typing.Optional[bool] = pydantic_v1.Field(default=None)
|
|
33
|
+
"""
|
|
34
|
+
True if the number of annotations for this task is greater than or equal to the number of maximum_completions for the project
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
overlap: typing.Optional[int] = pydantic_v1.Field(default=None)
|
|
38
|
+
"""
|
|
39
|
+
Number of distinct annotators that processed the current task
|
|
40
|
+
"""
|
|
41
|
+
|
|
42
|
+
inner_id: typing.Optional[int] = pydantic_v1.Field(default=None)
|
|
43
|
+
"""
|
|
44
|
+
Internal task ID in the project, starts with 1
|
|
45
|
+
"""
|
|
46
|
+
|
|
47
|
+
total_annotations: typing.Optional[int] = pydantic_v1.Field(default=None)
|
|
48
|
+
"""
|
|
49
|
+
Number of total annotations for the current task except cancelled annotations
|
|
50
|
+
"""
|
|
51
|
+
|
|
52
|
+
cancelled_annotations: typing.Optional[int] = pydantic_v1.Field(default=None)
|
|
53
|
+
"""
|
|
54
|
+
Number of total cancelled annotations for the current task
|
|
55
|
+
"""
|
|
56
|
+
|
|
57
|
+
total_predictions: typing.Optional[int] = pydantic_v1.Field(default=None)
|
|
58
|
+
"""
|
|
59
|
+
Number of total predictions for the current task
|
|
60
|
+
"""
|
|
61
|
+
|
|
62
|
+
comment_count: typing.Optional[int] = pydantic_v1.Field(default=None)
|
|
63
|
+
"""
|
|
64
|
+
Number of comments in the task including all annotations
|
|
65
|
+
"""
|
|
66
|
+
|
|
67
|
+
unresolved_comment_count: typing.Optional[int] = pydantic_v1.Field(default=None)
|
|
68
|
+
"""
|
|
69
|
+
Number of unresolved comments in the task including all annotations
|
|
70
|
+
"""
|
|
71
|
+
|
|
72
|
+
last_comment_updated_at: typing.Optional[dt.datetime] = pydantic_v1.Field(default=None)
|
|
73
|
+
"""
|
|
74
|
+
When the last comment was updated
|
|
75
|
+
"""
|
|
76
|
+
|
|
77
|
+
project: typing.Optional[int] = pydantic_v1.Field(default=None)
|
|
78
|
+
"""
|
|
79
|
+
Project ID for this task
|
|
80
|
+
"""
|
|
81
|
+
|
|
82
|
+
updated_by: typing.Optional[int] = pydantic_v1.Field(default=None)
|
|
83
|
+
"""
|
|
84
|
+
Last annotator or reviewer who updated this task
|
|
85
|
+
"""
|
|
86
|
+
|
|
87
|
+
file_upload: typing.Optional[int] = pydantic_v1.Field(default=None)
|
|
88
|
+
"""
|
|
89
|
+
Uploaded file used as data source for this task
|
|
90
|
+
"""
|
|
91
|
+
|
|
92
|
+
comment_authors: typing.Optional[typing.List[int]] = pydantic_v1.Field(default=None)
|
|
93
|
+
"""
|
|
94
|
+
Users who wrote comments
|
|
95
|
+
"""
|
|
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
|
+
)
|
|
108
|
+
|
|
109
|
+
class Config:
|
|
110
|
+
frozen = True
|
|
111
|
+
smart_union = True
|
|
112
|
+
extra = pydantic_v1.Extra.allow
|
|
113
|
+
json_encoders = {dt.datetime: serialize_datetime}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import datetime as dt
|
|
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
|
+
|
|
9
|
+
|
|
10
|
+
class BaseUser(pydantic_v1.BaseModel):
|
|
11
|
+
id: typing.Optional[int] = None
|
|
12
|
+
first_name: typing.Optional[str] = None
|
|
13
|
+
last_name: typing.Optional[str] = None
|
|
14
|
+
username: str
|
|
15
|
+
email: typing.Optional[str] = None
|
|
16
|
+
last_activity: typing.Optional[dt.datetime] = None
|
|
17
|
+
avatar: typing.Optional[str] = None
|
|
18
|
+
initials: typing.Optional[str] = None
|
|
19
|
+
phone: typing.Optional[str] = None
|
|
20
|
+
active_organization: typing.Optional[int] = None
|
|
21
|
+
allow_newsletters: typing.Optional[bool] = pydantic_v1.Field(default=None)
|
|
22
|
+
"""
|
|
23
|
+
Allow sending newsletters to user
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
def json(self, **kwargs: typing.Any) -> str:
|
|
27
|
+
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
|
28
|
+
return super().json(**kwargs_with_defaults)
|
|
29
|
+
|
|
30
|
+
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
|
|
31
|
+
kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
|
32
|
+
kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
|
|
33
|
+
|
|
34
|
+
return deep_union_pydantic_dicts(
|
|
35
|
+
super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
class Config:
|
|
39
|
+
frozen = True
|
|
40
|
+
smart_union = True
|
|
41
|
+
extra = pydantic_v1.Extra.allow
|
|
42
|
+
json_encoders = {dt.datetime: serialize_datetime}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import datetime as dt
|
|
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_status import ConvertedFormatStatus
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class ConvertedFormat(pydantic_v1.BaseModel):
|
|
12
|
+
id: typing.Optional[int] = None
|
|
13
|
+
status: typing.Optional[ConvertedFormatStatus] = None
|
|
14
|
+
export_type: str
|
|
15
|
+
traceback: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
16
|
+
"""
|
|
17
|
+
Traceback report in case of errors
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
def json(self, **kwargs: typing.Any) -> str:
|
|
21
|
+
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
|
22
|
+
return super().json(**kwargs_with_defaults)
|
|
23
|
+
|
|
24
|
+
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
|
|
25
|
+
kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
|
26
|
+
kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
|
|
27
|
+
|
|
28
|
+
return deep_union_pydantic_dicts(
|
|
29
|
+
super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
|
|
30
|
+
)
|
|
31
|
+
|
|
32
|
+
class Config:
|
|
33
|
+
frozen = True
|
|
34
|
+
smart_union = True
|
|
35
|
+
extra = pydantic_v1.Extra.allow
|
|
36
|
+
json_encoders = {dt.datetime: serialize_datetime}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import datetime as dt
|
|
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
|
+
from .user_simple import UserSimple
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class Export(pydantic_v1.BaseModel):
|
|
14
|
+
title: typing.Optional[str] = None
|
|
15
|
+
id: typing.Optional[int] = None
|
|
16
|
+
created_by: typing.Optional[UserSimple] = None
|
|
17
|
+
created_at: typing.Optional[dt.datetime] = pydantic_v1.Field(default=None)
|
|
18
|
+
"""
|
|
19
|
+
Creation time
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
finished_at: typing.Optional[dt.datetime] = pydantic_v1.Field(default=None)
|
|
23
|
+
"""
|
|
24
|
+
Complete or fail time
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
status: typing.Optional[ExportStatus] = None
|
|
28
|
+
md5: typing.Optional[str] = None
|
|
29
|
+
counters: typing.Optional[typing.Dict[str, typing.Any]] = None
|
|
30
|
+
converted_formats: typing.Optional[typing.List[ConvertedFormat]] = None
|
|
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
|
+
)
|
|
43
|
+
|
|
44
|
+
class Config:
|
|
45
|
+
frozen = True
|
|
46
|
+
smart_union = True
|
|
47
|
+
extra = pydantic_v1.Extra.allow
|
|
48
|
+
json_encoders = {dt.datetime: serialize_datetime}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import datetime as dt
|
|
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
|
+
|
|
9
|
+
|
|
10
|
+
class ExportConvert(pydantic_v1.BaseModel):
|
|
11
|
+
export_type: str = pydantic_v1.Field()
|
|
12
|
+
"""
|
|
13
|
+
Export file format.
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
def json(self, **kwargs: typing.Any) -> str:
|
|
17
|
+
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
|
18
|
+
return super().json(**kwargs_with_defaults)
|
|
19
|
+
|
|
20
|
+
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
|
|
21
|
+
kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
|
22
|
+
kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
|
|
23
|
+
|
|
24
|
+
return deep_union_pydantic_dicts(
|
|
25
|
+
super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
|
|
26
|
+
)
|
|
27
|
+
|
|
28
|
+
class Config:
|
|
29
|
+
frozen = True
|
|
30
|
+
smart_union = True
|
|
31
|
+
extra = pydantic_v1.Extra.allow
|
|
32
|
+
json_encoders = {dt.datetime: serialize_datetime}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import datetime as dt
|
|
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 .annotation_filter_options import AnnotationFilterOptions
|
|
9
|
+
from .converted_format import ConvertedFormat
|
|
10
|
+
from .export_create_status import ExportCreateStatus
|
|
11
|
+
from .serialization_options import SerializationOptions
|
|
12
|
+
from .task_filter_options import TaskFilterOptions
|
|
13
|
+
from .user_simple import UserSimple
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class ExportCreate(pydantic_v1.BaseModel):
|
|
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_v1.Field(default=None)
|
|
21
|
+
"""
|
|
22
|
+
Creation time
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
finished_at: typing.Optional[dt.datetime] = pydantic_v1.Field(default=None)
|
|
26
|
+
"""
|
|
27
|
+
Complete or fail time
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
status: typing.Optional[ExportCreateStatus] = None
|
|
31
|
+
md5: typing.Optional[str] = None
|
|
32
|
+
counters: typing.Optional[typing.Dict[str, 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
|
+
def json(self, **kwargs: typing.Any) -> str:
|
|
39
|
+
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
|
40
|
+
return super().json(**kwargs_with_defaults)
|
|
41
|
+
|
|
42
|
+
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
|
|
43
|
+
kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
|
44
|
+
kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
|
|
45
|
+
|
|
46
|
+
return deep_union_pydantic_dicts(
|
|
47
|
+
super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
|
|
48
|
+
)
|
|
49
|
+
|
|
50
|
+
class Config:
|
|
51
|
+
frozen = True
|
|
52
|
+
smart_union = True
|
|
53
|
+
extra = pydantic_v1.Extra.allow
|
|
54
|
+
json_encoders = {dt.datetime: serialize_datetime}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import datetime as dt
|
|
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
|
+
|
|
9
|
+
|
|
10
|
+
class FileUpload(pydantic_v1.BaseModel):
|
|
11
|
+
id: typing.Optional[int] = None
|
|
12
|
+
file: typing.Optional[str] = None
|
|
13
|
+
|
|
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
|
+
)
|
|
25
|
+
|
|
26
|
+
class Config:
|
|
27
|
+
frozen = True
|
|
28
|
+
smart_union = True
|
|
29
|
+
extra = pydantic_v1.Extra.allow
|
|
30
|
+
json_encoders = {dt.datetime: serialize_datetime}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import datetime as dt
|
|
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
|
+
|
|
9
|
+
|
|
10
|
+
class Filter(pydantic_v1.BaseModel):
|
|
11
|
+
id: typing.Optional[int] = None
|
|
12
|
+
index: typing.Optional[int] = pydantic_v1.Field(default=None)
|
|
13
|
+
"""
|
|
14
|
+
To keep filter order
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
column: str = pydantic_v1.Field()
|
|
18
|
+
"""
|
|
19
|
+
Field name
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
type: str = pydantic_v1.Field()
|
|
23
|
+
"""
|
|
24
|
+
Field type
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
operator: str = pydantic_v1.Field()
|
|
28
|
+
"""
|
|
29
|
+
Filter operator
|
|
30
|
+
"""
|
|
31
|
+
|
|
32
|
+
value: typing.Optional[typing.Dict[str, typing.Any]] = pydantic_v1.Field(default=None)
|
|
33
|
+
"""
|
|
34
|
+
Filter value
|
|
35
|
+
"""
|
|
36
|
+
|
|
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
|
+
)
|
|
48
|
+
|
|
49
|
+
class Config:
|
|
50
|
+
frozen = True
|
|
51
|
+
smart_union = True
|
|
52
|
+
extra = pydantic_v1.Extra.allow
|
|
53
|
+
json_encoders = {dt.datetime: serialize_datetime}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import datetime as dt
|
|
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 .filter import Filter
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class FilterGroup(pydantic_v1.BaseModel):
|
|
12
|
+
id: typing.Optional[int] = None
|
|
13
|
+
filters: typing.List[Filter]
|
|
14
|
+
conjunction: str = pydantic_v1.Field()
|
|
15
|
+
"""
|
|
16
|
+
Type of conjunction
|
|
17
|
+
"""
|
|
18
|
+
|
|
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
|
+
)
|
|
30
|
+
|
|
31
|
+
class Config:
|
|
32
|
+
frozen = True
|
|
33
|
+
smart_union = True
|
|
34
|
+
extra = pydantic_v1.Extra.allow
|
|
35
|
+
json_encoders = {dt.datetime: serialize_datetime}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import datetime as dt
|
|
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 .gcs_export_storage_status import GcsExportStorageStatus
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class GcsExportStorage(pydantic_v1.BaseModel):
|
|
12
|
+
id: typing.Optional[int] = None
|
|
13
|
+
type: typing.Optional[str] = None
|
|
14
|
+
synchronizable: typing.Optional[bool] = None
|
|
15
|
+
bucket: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
16
|
+
"""
|
|
17
|
+
GCS bucket name
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
prefix: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
21
|
+
"""
|
|
22
|
+
GCS bucket prefix
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
regex_filter: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
26
|
+
"""
|
|
27
|
+
Cloud storage regex for filtering objects
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
use_blob_urls: typing.Optional[bool] = pydantic_v1.Field(default=None)
|
|
31
|
+
"""
|
|
32
|
+
Interpret objects as BLOBs and generate URLs
|
|
33
|
+
"""
|
|
34
|
+
|
|
35
|
+
google_application_credentials: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
36
|
+
"""
|
|
37
|
+
The content of GOOGLE_APPLICATION_CREDENTIALS json file
|
|
38
|
+
"""
|
|
39
|
+
|
|
40
|
+
google_project_id: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
41
|
+
"""
|
|
42
|
+
Google project ID
|
|
43
|
+
"""
|
|
44
|
+
|
|
45
|
+
last_sync: typing.Optional[dt.datetime] = pydantic_v1.Field(default=None)
|
|
46
|
+
"""
|
|
47
|
+
Last sync finished time
|
|
48
|
+
"""
|
|
49
|
+
|
|
50
|
+
last_sync_count: typing.Optional[int] = pydantic_v1.Field(default=None)
|
|
51
|
+
"""
|
|
52
|
+
Count of tasks synced last time
|
|
53
|
+
"""
|
|
54
|
+
|
|
55
|
+
last_sync_job: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
56
|
+
"""
|
|
57
|
+
Last sync job ID
|
|
58
|
+
"""
|
|
59
|
+
|
|
60
|
+
status: typing.Optional[GcsExportStorageStatus] = None
|
|
61
|
+
traceback: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
62
|
+
"""
|
|
63
|
+
Traceback report for the last failed sync
|
|
64
|
+
"""
|
|
65
|
+
|
|
66
|
+
meta: typing.Optional[typing.Dict[str, typing.Any]] = pydantic_v1.Field(default=None)
|
|
67
|
+
"""
|
|
68
|
+
Meta and debug information about storage processes
|
|
69
|
+
"""
|
|
70
|
+
|
|
71
|
+
title: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
72
|
+
"""
|
|
73
|
+
Cloud storage title
|
|
74
|
+
"""
|
|
75
|
+
|
|
76
|
+
description: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
77
|
+
"""
|
|
78
|
+
Cloud storage description
|
|
79
|
+
"""
|
|
80
|
+
|
|
81
|
+
created_at: typing.Optional[dt.datetime] = pydantic_v1.Field(default=None)
|
|
82
|
+
"""
|
|
83
|
+
Creation time
|
|
84
|
+
"""
|
|
85
|
+
|
|
86
|
+
can_delete_objects: typing.Optional[bool] = pydantic_v1.Field(default=None)
|
|
87
|
+
"""
|
|
88
|
+
Deletion from storage enabled
|
|
89
|
+
"""
|
|
90
|
+
|
|
91
|
+
project: int = pydantic_v1.Field()
|
|
92
|
+
"""
|
|
93
|
+
A unique integer value identifying this project.
|
|
94
|
+
"""
|
|
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
|
+
)
|
|
107
|
+
|
|
108
|
+
class Config:
|
|
109
|
+
frozen = True
|
|
110
|
+
smart_union = True
|
|
111
|
+
extra = pydantic_v1.Extra.allow
|
|
112
|
+
json_encoders = {dt.datetime: serialize_datetime}
|