label-studio-sdk 1.0.8__py3-none-any.whl → 1.0.11__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.
- label_studio_sdk/__init__.py +37 -8
- label_studio_sdk/_extensions/label_studio_tools/core/utils/io.py +16 -4
- label_studio_sdk/_extensions/label_studio_tools/core/utils/json_schema.py +5 -0
- label_studio_sdk/_extensions/pager_ext.py +8 -0
- label_studio_sdk/actions/client.py +91 -40
- label_studio_sdk/actions/types/actions_create_request_filters.py +14 -24
- label_studio_sdk/actions/types/actions_create_request_filters_items_item.py +16 -26
- label_studio_sdk/actions/types/actions_create_request_filters_items_item_value.py +3 -1
- label_studio_sdk/actions/types/actions_create_request_selected_items.py +1 -2
- label_studio_sdk/actions/types/actions_create_request_selected_items_excluded.py +15 -25
- label_studio_sdk/actions/types/actions_create_request_selected_items_included.py +15 -25
- label_studio_sdk/annotations/__init__.py +2 -2
- label_studio_sdk/annotations/client.py +278 -104
- label_studio_sdk/annotations/types/__init__.py +2 -1
- label_studio_sdk/annotations/types/annotations_create_bulk_request_selected_items.py +34 -0
- label_studio_sdk/annotations/types/annotations_create_bulk_response_item.py +11 -21
- label_studio_sdk/base_client.py +54 -27
- label_studio_sdk/client.py +1 -0
- label_studio_sdk/comments/client.py +190 -44
- label_studio_sdk/converter/converter.py +56 -13
- label_studio_sdk/converter/imports/yolo.py +1 -1
- label_studio_sdk/converter/utils.py +3 -2
- label_studio_sdk/core/__init__.py +21 -4
- label_studio_sdk/core/client_wrapper.py +37 -19
- label_studio_sdk/core/file.py +37 -8
- label_studio_sdk/core/http_client.py +52 -28
- label_studio_sdk/core/jsonable_encoder.py +33 -31
- label_studio_sdk/core/pagination.py +5 -4
- label_studio_sdk/core/pydantic_utilities.py +272 -4
- label_studio_sdk/core/query_encoder.py +38 -13
- label_studio_sdk/core/request_options.py +3 -0
- label_studio_sdk/core/serialization.py +272 -0
- label_studio_sdk/errors/__init__.py +3 -1
- label_studio_sdk/errors/bad_request_error.py +2 -3
- label_studio_sdk/errors/not_found_error.py +9 -0
- label_studio_sdk/errors/unauthorized_error.py +9 -0
- label_studio_sdk/export_storage/azure/client.py +228 -58
- label_studio_sdk/export_storage/azure/types/azure_create_response.py +19 -29
- label_studio_sdk/export_storage/azure/types/azure_update_response.py +19 -29
- label_studio_sdk/export_storage/client.py +48 -18
- label_studio_sdk/export_storage/gcs/client.py +228 -58
- label_studio_sdk/export_storage/gcs/types/gcs_create_response.py +19 -29
- label_studio_sdk/export_storage/gcs/types/gcs_update_response.py +19 -29
- label_studio_sdk/export_storage/local/client.py +222 -56
- label_studio_sdk/export_storage/local/types/local_create_response.py +17 -27
- label_studio_sdk/export_storage/local/types/local_update_response.py +17 -27
- label_studio_sdk/export_storage/redis/client.py +228 -58
- label_studio_sdk/export_storage/redis/types/redis_create_response.py +20 -30
- label_studio_sdk/export_storage/redis/types/redis_update_response.py +20 -30
- label_studio_sdk/export_storage/s3/client.py +228 -58
- label_studio_sdk/export_storage/s3/types/s3create_response.py +27 -35
- label_studio_sdk/export_storage/s3/types/s3update_response.py +27 -35
- label_studio_sdk/export_storage/s3s/client.py +187 -43
- label_studio_sdk/export_storage/types/export_storage_list_types_response_item.py +11 -21
- label_studio_sdk/files/client.py +172 -56
- label_studio_sdk/import_storage/azure/client.py +223 -53
- label_studio_sdk/import_storage/azure/types/azure_create_response.py +22 -32
- label_studio_sdk/import_storage/azure/types/azure_update_response.py +22 -32
- label_studio_sdk/import_storage/client.py +48 -18
- label_studio_sdk/import_storage/gcs/client.py +223 -53
- label_studio_sdk/import_storage/gcs/types/gcs_create_response.py +22 -32
- label_studio_sdk/import_storage/gcs/types/gcs_update_response.py +22 -32
- label_studio_sdk/import_storage/local/client.py +223 -53
- label_studio_sdk/import_storage/local/types/local_create_response.py +17 -27
- label_studio_sdk/import_storage/local/types/local_update_response.py +17 -27
- label_studio_sdk/import_storage/redis/client.py +223 -53
- label_studio_sdk/import_storage/redis/types/redis_create_response.py +20 -30
- label_studio_sdk/import_storage/redis/types/redis_update_response.py +20 -30
- label_studio_sdk/import_storage/s3/client.py +223 -53
- label_studio_sdk/import_storage/s3/types/s3create_response.py +31 -39
- label_studio_sdk/import_storage/s3/types/s3update_response.py +31 -39
- label_studio_sdk/import_storage/s3s/client.py +222 -52
- label_studio_sdk/import_storage/types/import_storage_list_types_response_item.py +11 -21
- label_studio_sdk/jwt_settings/__init__.py +2 -0
- label_studio_sdk/jwt_settings/client.py +259 -0
- label_studio_sdk/label_interface/control_tags.py +16 -3
- label_studio_sdk/label_interface/interface.py +80 -1
- label_studio_sdk/label_interface/object_tags.py +2 -2
- label_studio_sdk/ml/client.py +280 -78
- label_studio_sdk/ml/types/ml_create_response.py +21 -31
- label_studio_sdk/ml/types/ml_update_response.py +21 -31
- label_studio_sdk/model_providers/client.py +173 -56
- label_studio_sdk/predictions/client.py +247 -101
- label_studio_sdk/projects/__init__.py +5 -1
- label_studio_sdk/projects/client.py +313 -115
- label_studio_sdk/projects/client_ext.py +16 -0
- label_studio_sdk/projects/exports/__init__.py +3 -0
- label_studio_sdk/projects/exports/client.py +447 -296
- label_studio_sdk/projects/exports/client_ext.py +200 -0
- label_studio_sdk/projects/exports/types/__init__.py +6 -0
- label_studio_sdk/projects/exports/types/exports_convert_response.py +24 -0
- label_studio_sdk/projects/exports/types/exports_list_formats_response_item.py +44 -0
- label_studio_sdk/projects/pauses/__init__.py +2 -0
- label_studio_sdk/projects/pauses/client.py +704 -0
- label_studio_sdk/projects/types/projects_create_response.py +29 -34
- label_studio_sdk/projects/types/projects_import_tasks_response.py +19 -29
- label_studio_sdk/projects/types/projects_list_response.py +11 -21
- label_studio_sdk/projects/types/projects_update_response.py +34 -34
- label_studio_sdk/prompts/client.py +309 -92
- label_studio_sdk/prompts/indicators/client.py +67 -23
- label_studio_sdk/prompts/runs/client.py +95 -40
- label_studio_sdk/prompts/types/prompts_batch_failed_predictions_request_failed_predictions_item.py +14 -24
- label_studio_sdk/prompts/types/prompts_batch_failed_predictions_response.py +11 -21
- label_studio_sdk/prompts/types/prompts_batch_predictions_request_results_item.py +26 -29
- label_studio_sdk/prompts/types/prompts_batch_predictions_response.py +11 -21
- label_studio_sdk/prompts/versions/client.py +277 -88
- label_studio_sdk/tasks/client.py +263 -90
- label_studio_sdk/tasks/types/tasks_list_response.py +15 -25
- label_studio_sdk/tokens/__init__.py +2 -0
- label_studio_sdk/tokens/client.py +470 -0
- label_studio_sdk/tokens/client_ext.py +94 -0
- label_studio_sdk/types/__init__.py +20 -6
- label_studio_sdk/types/access_token_response.py +22 -0
- label_studio_sdk/types/annotation.py +29 -38
- label_studio_sdk/types/annotation_filter_options.py +14 -24
- label_studio_sdk/types/annotations_dm_field.py +30 -39
- label_studio_sdk/types/api_token_response.py +32 -0
- label_studio_sdk/types/azure_blob_export_storage.py +28 -37
- label_studio_sdk/types/azure_blob_import_storage.py +28 -37
- label_studio_sdk/types/base_task.py +30 -39
- label_studio_sdk/types/base_task_updated_by.py +3 -1
- label_studio_sdk/types/base_user.py +14 -21
- label_studio_sdk/types/comment.py +12 -21
- label_studio_sdk/types/comment_created_by.py +1 -1
- label_studio_sdk/types/converted_format.py +12 -22
- label_studio_sdk/types/data_manager_task_serializer.py +31 -40
- label_studio_sdk/types/data_manager_task_serializer_annotators_item.py +1 -1
- label_studio_sdk/types/data_manager_task_serializer_drafts_item.py +13 -22
- label_studio_sdk/types/data_manager_task_serializer_predictions_item.py +15 -24
- label_studio_sdk/types/export.py +17 -26
- label_studio_sdk/types/export_format.py +25 -0
- label_studio_sdk/types/export_snapshot.py +45 -0
- label_studio_sdk/types/export_snapshot_status.py +5 -0
- label_studio_sdk/types/file_upload.py +11 -21
- label_studio_sdk/types/filter.py +16 -26
- label_studio_sdk/types/filter_group.py +12 -22
- label_studio_sdk/types/gcs_export_storage.py +28 -37
- label_studio_sdk/types/gcs_import_storage.py +28 -37
- label_studio_sdk/types/inference_run.py +14 -23
- label_studio_sdk/types/inference_run_cost_estimate.py +17 -27
- label_studio_sdk/types/inference_run_created_by.py +1 -1
- label_studio_sdk/types/inference_run_organization.py +1 -1
- label_studio_sdk/types/jwt_settings_response.py +32 -0
- label_studio_sdk/types/key_indicator_value.py +12 -22
- label_studio_sdk/types/key_indicators.py +0 -1
- label_studio_sdk/types/key_indicators_item.py +15 -25
- label_studio_sdk/types/key_indicators_item_additional_kpis_item.py +13 -23
- label_studio_sdk/types/key_indicators_item_extra_kpis_item.py +13 -23
- label_studio_sdk/types/local_files_export_storage.py +25 -34
- label_studio_sdk/types/local_files_import_storage.py +24 -33
- label_studio_sdk/types/ml_backend.py +23 -32
- label_studio_sdk/types/model_provider_connection.py +22 -31
- label_studio_sdk/types/model_provider_connection_created_by.py +1 -1
- label_studio_sdk/types/model_provider_connection_organization.py +1 -1
- label_studio_sdk/types/model_provider_connection_provider.py +3 -1
- label_studio_sdk/types/pause.py +34 -0
- label_studio_sdk/types/pause_paused_by.py +5 -0
- label_studio_sdk/types/prediction.py +21 -30
- label_studio_sdk/types/project.py +58 -55
- label_studio_sdk/types/project_import.py +21 -30
- label_studio_sdk/types/project_label_config.py +12 -22
- label_studio_sdk/types/prompt.py +24 -32
- label_studio_sdk/types/prompt_associated_projects_item.py +6 -0
- label_studio_sdk/types/prompt_associated_projects_item_id.py +20 -0
- label_studio_sdk/types/prompt_created_by.py +1 -1
- label_studio_sdk/types/prompt_organization.py +1 -1
- label_studio_sdk/types/prompt_version.py +13 -22
- label_studio_sdk/types/prompt_version_created_by.py +1 -1
- label_studio_sdk/types/prompt_version_organization.py +1 -1
- label_studio_sdk/types/prompt_version_provider.py +3 -1
- label_studio_sdk/types/redis_export_storage.py +29 -38
- label_studio_sdk/types/redis_import_storage.py +28 -37
- label_studio_sdk/types/refined_prompt_response.py +19 -29
- label_studio_sdk/types/s3export_storage.py +36 -43
- label_studio_sdk/types/s3import_storage.py +37 -44
- label_studio_sdk/types/s3s_export_storage.py +26 -33
- label_studio_sdk/types/s3s_import_storage.py +35 -42
- label_studio_sdk/types/serialization_option.py +12 -22
- label_studio_sdk/types/serialization_options.py +18 -28
- label_studio_sdk/types/task.py +44 -47
- label_studio_sdk/types/task_annotators_item.py +1 -1
- label_studio_sdk/types/task_comment_authors_item.py +1 -1
- label_studio_sdk/types/task_filter_options.py +15 -25
- label_studio_sdk/types/user_simple.py +11 -21
- label_studio_sdk/types/view.py +16 -26
- label_studio_sdk/types/webhook.py +19 -28
- label_studio_sdk/types/webhook_serializer_for_update.py +19 -28
- label_studio_sdk/types/workspace.py +22 -31
- label_studio_sdk/users/client.py +257 -63
- label_studio_sdk/users/types/users_get_token_response.py +12 -22
- label_studio_sdk/users/types/users_reset_token_response.py +12 -22
- label_studio_sdk/version.py +0 -1
- label_studio_sdk/versions/__init__.py +5 -0
- label_studio_sdk/versions/client.py +112 -0
- label_studio_sdk/versions/types/__init__.py +6 -0
- label_studio_sdk/versions/types/versions_get_response.py +73 -0
- label_studio_sdk/versions/types/versions_get_response_edition.py +5 -0
- label_studio_sdk/views/client.py +219 -52
- label_studio_sdk/views/types/views_create_request_data.py +13 -23
- label_studio_sdk/views/types/views_create_request_data_filters.py +14 -24
- label_studio_sdk/views/types/views_create_request_data_filters_items_item.py +16 -26
- label_studio_sdk/views/types/views_create_request_data_filters_items_item_value.py +3 -1
- label_studio_sdk/views/types/views_update_request_data.py +13 -23
- label_studio_sdk/views/types/views_update_request_data_filters.py +14 -24
- label_studio_sdk/views/types/views_update_request_data_filters_items_item.py +16 -26
- label_studio_sdk/views/types/views_update_request_data_filters_items_item_value.py +3 -1
- label_studio_sdk/webhooks/client.py +191 -61
- label_studio_sdk/workspaces/client.py +164 -41
- label_studio_sdk/workspaces/members/client.py +109 -31
- label_studio_sdk/workspaces/members/types/members_create_response.py +12 -22
- label_studio_sdk/workspaces/members/types/members_list_response_item.py +12 -22
- {label_studio_sdk-1.0.8.dist-info → label_studio_sdk-1.0.11.dist-info}/METADATA +8 -5
- {label_studio_sdk-1.0.8.dist-info → label_studio_sdk-1.0.11.dist-info}/RECORD +215 -188
- {label_studio_sdk-1.0.8.dist-info → label_studio_sdk-1.0.11.dist-info}/WHEEL +1 -1
- label_studio_sdk/types/export_convert.py +0 -32
- label_studio_sdk/types/export_create.py +0 -54
- label_studio_sdk/types/export_create_status.py +0 -5
- {label_studio_sdk-1.0.8.dist-info → label_studio_sdk-1.0.11.dist-info}/LICENSE +0 -0
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
# This file was auto-generated by Fern from our API Definition.
|
|
2
2
|
|
|
3
|
+
from .access_token_response import AccessTokenResponse
|
|
3
4
|
from .annotation import Annotation
|
|
4
5
|
from .annotation_filter_options import AnnotationFilterOptions
|
|
5
6
|
from .annotation_last_action import AnnotationLastAction
|
|
6
7
|
from .annotations_dm_field import AnnotationsDmField
|
|
7
8
|
from .annotations_dm_field_last_action import AnnotationsDmFieldLastAction
|
|
9
|
+
from .api_token_response import ApiTokenResponse
|
|
8
10
|
from .azure_blob_export_storage import AzureBlobExportStorage
|
|
9
11
|
from .azure_blob_export_storage_status import AzureBlobExportStorageStatus
|
|
10
12
|
from .azure_blob_import_storage import AzureBlobImportStorage
|
|
@@ -22,9 +24,9 @@ from .data_manager_task_serializer_annotators_item import DataManagerTaskSeriali
|
|
|
22
24
|
from .data_manager_task_serializer_drafts_item import DataManagerTaskSerializerDraftsItem
|
|
23
25
|
from .data_manager_task_serializer_predictions_item import DataManagerTaskSerializerPredictionsItem
|
|
24
26
|
from .export import Export
|
|
25
|
-
from .
|
|
26
|
-
from .
|
|
27
|
-
from .
|
|
27
|
+
from .export_format import ExportFormat
|
|
28
|
+
from .export_snapshot import ExportSnapshot
|
|
29
|
+
from .export_snapshot_status import ExportSnapshotStatus
|
|
28
30
|
from .export_status import ExportStatus
|
|
29
31
|
from .file_upload import FileUpload
|
|
30
32
|
from .filter import Filter
|
|
@@ -39,6 +41,7 @@ from .inference_run_created_by import InferenceRunCreatedBy
|
|
|
39
41
|
from .inference_run_organization import InferenceRunOrganization
|
|
40
42
|
from .inference_run_project_subset import InferenceRunProjectSubset
|
|
41
43
|
from .inference_run_status import InferenceRunStatus
|
|
44
|
+
from .jwt_settings_response import JwtSettingsResponse
|
|
42
45
|
from .key_indicator_value import KeyIndicatorValue
|
|
43
46
|
from .key_indicators import KeyIndicators
|
|
44
47
|
from .key_indicators_item import KeyIndicatorsItem
|
|
@@ -57,6 +60,8 @@ from .model_provider_connection_created_by import ModelProviderConnectionCreated
|
|
|
57
60
|
from .model_provider_connection_organization import ModelProviderConnectionOrganization
|
|
58
61
|
from .model_provider_connection_provider import ModelProviderConnectionProvider
|
|
59
62
|
from .model_provider_connection_scope import ModelProviderConnectionScope
|
|
63
|
+
from .pause import Pause
|
|
64
|
+
from .pause_paused_by import PausePausedBy
|
|
60
65
|
from .prediction import Prediction
|
|
61
66
|
from .project import Project
|
|
62
67
|
from .project_import import ProjectImport
|
|
@@ -65,6 +70,8 @@ from .project_label_config import ProjectLabelConfig
|
|
|
65
70
|
from .project_sampling import ProjectSampling
|
|
66
71
|
from .project_skip_queue import ProjectSkipQueue
|
|
67
72
|
from .prompt import Prompt
|
|
73
|
+
from .prompt_associated_projects_item import PromptAssociatedProjectsItem
|
|
74
|
+
from .prompt_associated_projects_item_id import PromptAssociatedProjectsItemId
|
|
68
75
|
from .prompt_created_by import PromptCreatedBy
|
|
69
76
|
from .prompt_organization import PromptOrganization
|
|
70
77
|
from .prompt_version import PromptVersion
|
|
@@ -99,11 +106,13 @@ from .webhook_serializer_for_update_actions_item import WebhookSerializerForUpda
|
|
|
99
106
|
from .workspace import Workspace
|
|
100
107
|
|
|
101
108
|
__all__ = [
|
|
109
|
+
"AccessTokenResponse",
|
|
102
110
|
"Annotation",
|
|
103
111
|
"AnnotationFilterOptions",
|
|
104
112
|
"AnnotationLastAction",
|
|
105
113
|
"AnnotationsDmField",
|
|
106
114
|
"AnnotationsDmFieldLastAction",
|
|
115
|
+
"ApiTokenResponse",
|
|
107
116
|
"AzureBlobExportStorage",
|
|
108
117
|
"AzureBlobExportStorageStatus",
|
|
109
118
|
"AzureBlobImportStorage",
|
|
@@ -121,9 +130,9 @@ __all__ = [
|
|
|
121
130
|
"DataManagerTaskSerializerDraftsItem",
|
|
122
131
|
"DataManagerTaskSerializerPredictionsItem",
|
|
123
132
|
"Export",
|
|
124
|
-
"
|
|
125
|
-
"
|
|
126
|
-
"
|
|
133
|
+
"ExportFormat",
|
|
134
|
+
"ExportSnapshot",
|
|
135
|
+
"ExportSnapshotStatus",
|
|
127
136
|
"ExportStatus",
|
|
128
137
|
"FileUpload",
|
|
129
138
|
"Filter",
|
|
@@ -138,6 +147,7 @@ __all__ = [
|
|
|
138
147
|
"InferenceRunOrganization",
|
|
139
148
|
"InferenceRunProjectSubset",
|
|
140
149
|
"InferenceRunStatus",
|
|
150
|
+
"JwtSettingsResponse",
|
|
141
151
|
"KeyIndicatorValue",
|
|
142
152
|
"KeyIndicators",
|
|
143
153
|
"KeyIndicatorsItem",
|
|
@@ -156,6 +166,8 @@ __all__ = [
|
|
|
156
166
|
"ModelProviderConnectionOrganization",
|
|
157
167
|
"ModelProviderConnectionProvider",
|
|
158
168
|
"ModelProviderConnectionScope",
|
|
169
|
+
"Pause",
|
|
170
|
+
"PausePausedBy",
|
|
159
171
|
"Prediction",
|
|
160
172
|
"Project",
|
|
161
173
|
"ProjectImport",
|
|
@@ -164,6 +176,8 @@ __all__ = [
|
|
|
164
176
|
"ProjectSampling",
|
|
165
177
|
"ProjectSkipQueue",
|
|
166
178
|
"Prompt",
|
|
179
|
+
"PromptAssociatedProjectsItem",
|
|
180
|
+
"PromptAssociatedProjectsItemId",
|
|
167
181
|
"PromptCreatedBy",
|
|
168
182
|
"PromptOrganization",
|
|
169
183
|
"PromptVersion",
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
|
+
import pydantic
|
|
5
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
6
|
+
import typing
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class AccessTokenResponse(UniversalBaseModel):
|
|
10
|
+
access: str = pydantic.Field()
|
|
11
|
+
"""
|
|
12
|
+
New JWT access token
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
if IS_PYDANTIC_V2:
|
|
16
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
17
|
+
else:
|
|
18
|
+
|
|
19
|
+
class Config:
|
|
20
|
+
frozen = True
|
|
21
|
+
smart_union = True
|
|
22
|
+
extra = pydantic.Extra.allow
|
|
@@ -1,116 +1,107 @@
|
|
|
1
1
|
# This file was auto-generated by Fern from our API Definition.
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
4
|
import typing
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
|
|
5
|
+
import pydantic
|
|
6
|
+
import datetime as dt
|
|
8
7
|
from .annotation_last_action import AnnotationLastAction
|
|
8
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
class Annotation(
|
|
11
|
+
class Annotation(UniversalBaseModel):
|
|
12
12
|
id: typing.Optional[int] = None
|
|
13
|
-
result: typing.Optional[typing.List[typing.Dict[str, typing.Any]]] =
|
|
13
|
+
result: typing.Optional[typing.List[typing.Dict[str, typing.Optional[typing.Any]]]] = pydantic.Field(default=None)
|
|
14
14
|
"""
|
|
15
15
|
List of annotation results for the task
|
|
16
16
|
"""
|
|
17
17
|
|
|
18
|
-
created_username: typing.Optional[str] =
|
|
18
|
+
created_username: typing.Optional[str] = pydantic.Field(default=None)
|
|
19
19
|
"""
|
|
20
20
|
Username string
|
|
21
21
|
"""
|
|
22
22
|
|
|
23
|
-
created_ago: typing.Optional[str] =
|
|
23
|
+
created_ago: typing.Optional[str] = pydantic.Field(default=None)
|
|
24
24
|
"""
|
|
25
25
|
Time delta from creation time
|
|
26
26
|
"""
|
|
27
27
|
|
|
28
28
|
completed_by: typing.Optional[int] = None
|
|
29
29
|
unique_id: typing.Optional[str] = None
|
|
30
|
-
was_cancelled: typing.Optional[bool] =
|
|
30
|
+
was_cancelled: typing.Optional[bool] = pydantic.Field(default=None)
|
|
31
31
|
"""
|
|
32
32
|
User skipped the task
|
|
33
33
|
"""
|
|
34
34
|
|
|
35
|
-
ground_truth: typing.Optional[bool] =
|
|
35
|
+
ground_truth: typing.Optional[bool] = pydantic.Field(default=None)
|
|
36
36
|
"""
|
|
37
37
|
This annotation is a Ground Truth (ground_truth)
|
|
38
38
|
"""
|
|
39
39
|
|
|
40
|
-
created_at: typing.Optional[dt.datetime] =
|
|
40
|
+
created_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
41
41
|
"""
|
|
42
42
|
Creation time
|
|
43
43
|
"""
|
|
44
44
|
|
|
45
|
-
updated_at: typing.Optional[dt.datetime] =
|
|
45
|
+
updated_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
46
46
|
"""
|
|
47
47
|
Last updated time
|
|
48
48
|
"""
|
|
49
49
|
|
|
50
|
-
draft_created_at: typing.Optional[dt.datetime] =
|
|
50
|
+
draft_created_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
51
51
|
"""
|
|
52
52
|
Draft creation time
|
|
53
53
|
"""
|
|
54
54
|
|
|
55
|
-
lead_time: typing.Optional[float] =
|
|
55
|
+
lead_time: typing.Optional[float] = pydantic.Field(default=None)
|
|
56
56
|
"""
|
|
57
57
|
How much time it took to annotate the task
|
|
58
58
|
"""
|
|
59
59
|
|
|
60
|
-
import_id: typing.Optional[int] =
|
|
60
|
+
import_id: typing.Optional[int] = pydantic.Field(default=None)
|
|
61
61
|
"""
|
|
62
62
|
Original annotation ID that was at the import step or NULL if this annotation wasn't imported
|
|
63
63
|
"""
|
|
64
64
|
|
|
65
|
-
last_action: typing.Optional[AnnotationLastAction] =
|
|
65
|
+
last_action: typing.Optional[AnnotationLastAction] = pydantic.Field(default=None)
|
|
66
66
|
"""
|
|
67
67
|
Action which was performed in the last annotation history item
|
|
68
68
|
"""
|
|
69
69
|
|
|
70
|
-
task: typing.Optional[int] =
|
|
70
|
+
task: typing.Optional[int] = pydantic.Field(default=None)
|
|
71
71
|
"""
|
|
72
72
|
Corresponding task for this annotation
|
|
73
73
|
"""
|
|
74
74
|
|
|
75
|
-
project: typing.Optional[int] =
|
|
75
|
+
project: typing.Optional[int] = pydantic.Field(default=None)
|
|
76
76
|
"""
|
|
77
77
|
Project ID for this annotation
|
|
78
78
|
"""
|
|
79
79
|
|
|
80
|
-
updated_by: typing.Optional[int] =
|
|
80
|
+
updated_by: typing.Optional[int] = pydantic.Field(default=None)
|
|
81
81
|
"""
|
|
82
82
|
Last user who updated this annotation
|
|
83
83
|
"""
|
|
84
84
|
|
|
85
|
-
parent_prediction: typing.Optional[int] =
|
|
85
|
+
parent_prediction: typing.Optional[int] = pydantic.Field(default=None)
|
|
86
86
|
"""
|
|
87
87
|
Points to the prediction from which this annotation was created
|
|
88
88
|
"""
|
|
89
89
|
|
|
90
|
-
parent_annotation: typing.Optional[int] =
|
|
90
|
+
parent_annotation: typing.Optional[int] = pydantic.Field(default=None)
|
|
91
91
|
"""
|
|
92
92
|
Points to the parent annotation from which this annotation was created
|
|
93
93
|
"""
|
|
94
94
|
|
|
95
|
-
last_created_by: typing.Optional[int] =
|
|
95
|
+
last_created_by: typing.Optional[int] = pydantic.Field(default=None)
|
|
96
96
|
"""
|
|
97
97
|
User who created the last annotation history item
|
|
98
98
|
"""
|
|
99
99
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
|
|
105
|
-
kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
|
106
|
-
kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
|
|
107
|
-
|
|
108
|
-
return deep_union_pydantic_dicts(
|
|
109
|
-
super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
|
|
110
|
-
)
|
|
100
|
+
if IS_PYDANTIC_V2:
|
|
101
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
102
|
+
else:
|
|
111
103
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
json_encoders = {dt.datetime: serialize_datetime}
|
|
104
|
+
class Config:
|
|
105
|
+
frozen = True
|
|
106
|
+
smart_union = True
|
|
107
|
+
extra = pydantic.Extra.allow
|
|
@@ -1,42 +1,32 @@
|
|
|
1
1
|
# This file was auto-generated by Fern from our API Definition.
|
|
2
2
|
|
|
3
|
-
|
|
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
|
-
|
|
11
|
-
usual: typing.Optional[bool] = pydantic_v1.Field(default=None)
|
|
9
|
+
class AnnotationFilterOptions(UniversalBaseModel):
|
|
10
|
+
usual: typing.Optional[bool] = pydantic.Field(default=None)
|
|
12
11
|
"""
|
|
13
12
|
Include not skipped and not ground truth annotations
|
|
14
13
|
"""
|
|
15
14
|
|
|
16
|
-
ground_truth: typing.Optional[bool] =
|
|
15
|
+
ground_truth: typing.Optional[bool] = pydantic.Field(default=None)
|
|
17
16
|
"""
|
|
18
17
|
Include ground truth annotations
|
|
19
18
|
"""
|
|
20
19
|
|
|
21
|
-
skipped: typing.Optional[bool] =
|
|
20
|
+
skipped: typing.Optional[bool] = pydantic.Field(default=None)
|
|
22
21
|
"""
|
|
23
22
|
Include skipped annotations
|
|
24
23
|
"""
|
|
25
24
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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
|
-
)
|
|
25
|
+
if IS_PYDANTIC_V2:
|
|
26
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
27
|
+
else:
|
|
37
28
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
json_encoders = {dt.datetime: serialize_datetime}
|
|
29
|
+
class Config:
|
|
30
|
+
frozen = True
|
|
31
|
+
smart_union = True
|
|
32
|
+
extra = pydantic.Extra.allow
|
|
@@ -1,120 +1,111 @@
|
|
|
1
1
|
# This file was auto-generated by Fern from our API Definition.
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
4
|
import typing
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
|
|
5
|
+
import pydantic
|
|
6
|
+
import datetime as dt
|
|
8
7
|
from .annotations_dm_field_last_action import AnnotationsDmFieldLastAction
|
|
8
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
class AnnotationsDmField(
|
|
11
|
+
class AnnotationsDmField(UniversalBaseModel):
|
|
12
12
|
id: typing.Optional[int] = None
|
|
13
|
-
result: typing.Optional[typing.List[typing.Dict[str, typing.Any]]] =
|
|
13
|
+
result: typing.Optional[typing.List[typing.Dict[str, typing.Optional[typing.Any]]]] = pydantic.Field(default=None)
|
|
14
14
|
"""
|
|
15
15
|
List of annotation results for the task
|
|
16
16
|
"""
|
|
17
17
|
|
|
18
|
-
created_username: typing.Optional[str] =
|
|
18
|
+
created_username: typing.Optional[str] = pydantic.Field(default=None)
|
|
19
19
|
"""
|
|
20
20
|
Username string
|
|
21
21
|
"""
|
|
22
22
|
|
|
23
|
-
created_ago: typing.Optional[str] =
|
|
23
|
+
created_ago: typing.Optional[str] = pydantic.Field(default=None)
|
|
24
24
|
"""
|
|
25
25
|
Time delta from creation time
|
|
26
26
|
"""
|
|
27
27
|
|
|
28
|
-
completed_by: typing.Optional[typing.Dict[str, typing.Any]] =
|
|
28
|
+
completed_by: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
|
|
29
29
|
"""
|
|
30
30
|
User details who completed this annotation.
|
|
31
31
|
"""
|
|
32
32
|
|
|
33
33
|
unique_id: typing.Optional[str] = None
|
|
34
|
-
was_cancelled: typing.Optional[bool] =
|
|
34
|
+
was_cancelled: typing.Optional[bool] = pydantic.Field(default=None)
|
|
35
35
|
"""
|
|
36
36
|
User skipped the task
|
|
37
37
|
"""
|
|
38
38
|
|
|
39
|
-
ground_truth: typing.Optional[bool] =
|
|
39
|
+
ground_truth: typing.Optional[bool] = pydantic.Field(default=None)
|
|
40
40
|
"""
|
|
41
41
|
This annotation is a Ground Truth (ground_truth)
|
|
42
42
|
"""
|
|
43
43
|
|
|
44
|
-
created_at: typing.Optional[dt.datetime] =
|
|
44
|
+
created_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
45
45
|
"""
|
|
46
46
|
Creation time
|
|
47
47
|
"""
|
|
48
48
|
|
|
49
|
-
updated_at: typing.Optional[dt.datetime] =
|
|
49
|
+
updated_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
50
50
|
"""
|
|
51
51
|
Last updated time
|
|
52
52
|
"""
|
|
53
53
|
|
|
54
|
-
draft_created_at: typing.Optional[dt.datetime] =
|
|
54
|
+
draft_created_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
55
55
|
"""
|
|
56
56
|
Draft creation time
|
|
57
57
|
"""
|
|
58
58
|
|
|
59
|
-
lead_time: typing.Optional[float] =
|
|
59
|
+
lead_time: typing.Optional[float] = pydantic.Field(default=None)
|
|
60
60
|
"""
|
|
61
61
|
How much time it took to annotate the task
|
|
62
62
|
"""
|
|
63
63
|
|
|
64
|
-
import_id: typing.Optional[int] =
|
|
64
|
+
import_id: typing.Optional[int] = pydantic.Field(default=None)
|
|
65
65
|
"""
|
|
66
66
|
Original annotation ID that was at the import step or NULL if this annotation wasn't imported
|
|
67
67
|
"""
|
|
68
68
|
|
|
69
|
-
last_action: typing.Optional[AnnotationsDmFieldLastAction] =
|
|
69
|
+
last_action: typing.Optional[AnnotationsDmFieldLastAction] = pydantic.Field(default=None)
|
|
70
70
|
"""
|
|
71
71
|
Action which was performed in the last annotation history item
|
|
72
72
|
"""
|
|
73
73
|
|
|
74
|
-
task: typing.Optional[int] =
|
|
74
|
+
task: typing.Optional[int] = pydantic.Field(default=None)
|
|
75
75
|
"""
|
|
76
76
|
Corresponding task for this annotation
|
|
77
77
|
"""
|
|
78
78
|
|
|
79
|
-
project: typing.Optional[int] =
|
|
79
|
+
project: typing.Optional[int] = pydantic.Field(default=None)
|
|
80
80
|
"""
|
|
81
81
|
Project ID for this annotation
|
|
82
82
|
"""
|
|
83
83
|
|
|
84
|
-
updated_by: typing.Optional[int] =
|
|
84
|
+
updated_by: typing.Optional[int] = pydantic.Field(default=None)
|
|
85
85
|
"""
|
|
86
86
|
Last user who updated this annotation
|
|
87
87
|
"""
|
|
88
88
|
|
|
89
|
-
parent_prediction: typing.Optional[int] =
|
|
89
|
+
parent_prediction: typing.Optional[int] = pydantic.Field(default=None)
|
|
90
90
|
"""
|
|
91
91
|
Points to the prediction from which this annotation was created
|
|
92
92
|
"""
|
|
93
93
|
|
|
94
|
-
parent_annotation: typing.Optional[int] =
|
|
94
|
+
parent_annotation: typing.Optional[int] = pydantic.Field(default=None)
|
|
95
95
|
"""
|
|
96
96
|
Points to the parent annotation from which this annotation was created
|
|
97
97
|
"""
|
|
98
98
|
|
|
99
|
-
last_created_by: typing.Optional[int] =
|
|
99
|
+
last_created_by: typing.Optional[int] = pydantic.Field(default=None)
|
|
100
100
|
"""
|
|
101
101
|
User who created the last annotation history item
|
|
102
102
|
"""
|
|
103
103
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
|
|
109
|
-
kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
|
110
|
-
kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
|
|
111
|
-
|
|
112
|
-
return deep_union_pydantic_dicts(
|
|
113
|
-
super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
|
|
114
|
-
)
|
|
104
|
+
if IS_PYDANTIC_V2:
|
|
105
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
106
|
+
else:
|
|
115
107
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
json_encoders = {dt.datetime: serialize_datetime}
|
|
108
|
+
class Config:
|
|
109
|
+
frozen = True
|
|
110
|
+
smart_union = True
|
|
111
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
|
+
import pydantic
|
|
5
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
6
|
+
import typing
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class ApiTokenResponse(UniversalBaseModel):
|
|
10
|
+
token: str = pydantic.Field()
|
|
11
|
+
"""
|
|
12
|
+
JWT token
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
created_at: str = pydantic.Field()
|
|
16
|
+
"""
|
|
17
|
+
Token creation timestamp
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
expires_at: str = pydantic.Field()
|
|
21
|
+
"""
|
|
22
|
+
Token expiration timestamp
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
if IS_PYDANTIC_V2:
|
|
26
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
27
|
+
else:
|
|
28
|
+
|
|
29
|
+
class Config:
|
|
30
|
+
frozen = True
|
|
31
|
+
smart_union = True
|
|
32
|
+
extra = pydantic.Extra.allow
|
|
@@ -1,112 +1,103 @@
|
|
|
1
1
|
# This file was auto-generated by Fern from our API Definition.
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
4
|
import typing
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
|
|
5
|
+
import pydantic
|
|
6
|
+
import datetime as dt
|
|
8
7
|
from .azure_blob_export_storage_status import AzureBlobExportStorageStatus
|
|
8
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
class AzureBlobExportStorage(
|
|
11
|
+
class AzureBlobExportStorage(UniversalBaseModel):
|
|
12
12
|
id: typing.Optional[int] = None
|
|
13
13
|
type: typing.Optional[str] = None
|
|
14
14
|
synchronizable: typing.Optional[bool] = None
|
|
15
|
-
container: typing.Optional[str] =
|
|
15
|
+
container: typing.Optional[str] = pydantic.Field(default=None)
|
|
16
16
|
"""
|
|
17
17
|
Azure blob container
|
|
18
18
|
"""
|
|
19
19
|
|
|
20
|
-
prefix: typing.Optional[str] =
|
|
20
|
+
prefix: typing.Optional[str] = pydantic.Field(default=None)
|
|
21
21
|
"""
|
|
22
22
|
Azure blob prefix name
|
|
23
23
|
"""
|
|
24
24
|
|
|
25
|
-
regex_filter: typing.Optional[str] =
|
|
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] =
|
|
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
|
-
account_name: typing.Optional[str] =
|
|
35
|
+
account_name: typing.Optional[str] = pydantic.Field(default=None)
|
|
36
36
|
"""
|
|
37
37
|
Azure Blob account name
|
|
38
38
|
"""
|
|
39
39
|
|
|
40
|
-
account_key: typing.Optional[str] =
|
|
40
|
+
account_key: typing.Optional[str] = pydantic.Field(default=None)
|
|
41
41
|
"""
|
|
42
42
|
Azure Blob account key
|
|
43
43
|
"""
|
|
44
44
|
|
|
45
|
-
last_sync: typing.Optional[dt.datetime] =
|
|
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] =
|
|
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] =
|
|
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[AzureBlobExportStorageStatus] = None
|
|
61
|
-
traceback: typing.Optional[str] =
|
|
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]] =
|
|
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] =
|
|
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] =
|
|
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] =
|
|
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] =
|
|
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 =
|
|
91
|
+
project: int = pydantic.Field()
|
|
92
92
|
"""
|
|
93
93
|
A unique integer value identifying this project.
|
|
94
94
|
"""
|
|
95
95
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
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
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
json_encoders = {dt.datetime: serialize_datetime}
|
|
100
|
+
class Config:
|
|
101
|
+
frozen = True
|
|
102
|
+
smart_union = True
|
|
103
|
+
extra = pydantic.Extra.allow
|