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.
- label_studio_sdk/__init__.py +26 -7
- label_studio_sdk/_extensions/label_studio_tools/core/label_config.py +13 -4
- 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 +86 -0
- label_studio_sdk/_extensions/pager_ext.py +8 -0
- label_studio_sdk/_legacy/schema/label_config_schema.json +42 -11
- 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 +46 -27
- label_studio_sdk/client.py +1 -0
- label_studio_sdk/comments/client.py +190 -44
- label_studio_sdk/converter/converter.py +66 -18
- 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 +9 -10
- 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/bad_request_error.py +2 -3
- 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/label_interface/control_tags.py +205 -10
- label_studio_sdk/label_interface/interface.py +80 -6
- label_studio_sdk/label_interface/region.py +1 -10
- 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 +656 -21
- label_studio_sdk/predictions/client.py +247 -101
- label_studio_sdk/projects/__init__.py +3 -0
- label_studio_sdk/projects/client.py +309 -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 +134 -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/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 +24 -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 +389 -75
- label_studio_sdk/tasks/client.py +263 -90
- label_studio_sdk/tasks/types/tasks_list_response.py +15 -25
- label_studio_sdk/types/__init__.py +16 -6
- 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/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 +47 -0
- 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/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 +47 -26
- label_studio_sdk/types/model_provider_connection_budget_reset_period.py +5 -0
- 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/prediction.py +21 -30
- label_studio_sdk/types/project.py +48 -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 +46 -48
- label_studio_sdk/types/task_annotators_item.py +1 -1
- label_studio_sdk/types/task_comment_authors_item.py +5 -0
- 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.7.dist-info → label_studio_sdk-1.0.10.dist-info}/METADATA +9 -5
- {label_studio_sdk-1.0.7.dist-info → label_studio_sdk-1.0.10.dist-info}/RECORD +203 -186
- {label_studio_sdk-1.0.7.dist-info → label_studio_sdk-1.0.10.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.7.dist-info → label_studio_sdk-1.0.10.dist-info}/LICENSE +0 -0
|
@@ -1,20 +1,20 @@
|
|
|
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
|
-
from ..core.datetime_utils import serialize_datetime
|
|
7
|
-
from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
|
|
8
|
-
from .inference_run_created_by import InferenceRunCreatedBy
|
|
9
5
|
from .inference_run_organization import InferenceRunOrganization
|
|
6
|
+
from .inference_run_created_by import InferenceRunCreatedBy
|
|
10
7
|
from .inference_run_project_subset import InferenceRunProjectSubset
|
|
11
8
|
from .inference_run_status import InferenceRunStatus
|
|
9
|
+
import datetime as dt
|
|
10
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
11
|
+
import pydantic
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
class InferenceRun(
|
|
14
|
+
class InferenceRun(UniversalBaseModel):
|
|
15
15
|
organization: typing.Optional[InferenceRunOrganization] = None
|
|
16
16
|
project: int
|
|
17
|
-
model_version: typing.Optional[
|
|
17
|
+
model_version: typing.Optional[int] = None
|
|
18
18
|
created_by: typing.Optional[InferenceRunCreatedBy] = None
|
|
19
19
|
project_subset: InferenceRunProjectSubset
|
|
20
20
|
status: typing.Optional[InferenceRunStatus] = None
|
|
@@ -24,20 +24,11 @@ class InferenceRun(pydantic_v1.BaseModel):
|
|
|
24
24
|
predictions_updated_at: typing.Optional[dt.datetime] = None
|
|
25
25
|
completed_at: typing.Optional[dt.datetime] = None
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
|
|
32
|
-
kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
|
33
|
-
kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
|
|
34
|
-
|
|
35
|
-
return deep_union_pydantic_dicts(
|
|
36
|
-
super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
|
|
37
|
-
)
|
|
27
|
+
if IS_PYDANTIC_V2:
|
|
28
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
29
|
+
else:
|
|
38
30
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
json_encoders = {dt.datetime: serialize_datetime}
|
|
31
|
+
class Config:
|
|
32
|
+
frozen = True
|
|
33
|
+
smart_union = True
|
|
34
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
|
+
import typing
|
|
5
|
+
import pydantic
|
|
6
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class InferenceRunCostEstimate(UniversalBaseModel):
|
|
10
|
+
prompt_cost_usd: typing.Optional[str] = pydantic.Field(default=None)
|
|
11
|
+
"""
|
|
12
|
+
Cost of the prompt (in USD)
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
completion_cost_usd: typing.Optional[str] = pydantic.Field(default=None)
|
|
16
|
+
"""
|
|
17
|
+
Cost of the completion (in USD)
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
total_cost_usd: typing.Optional[str] = pydantic.Field(default=None)
|
|
21
|
+
"""
|
|
22
|
+
Total cost of the inference (in USD)
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
is_error: typing.Optional[bool] = pydantic.Field(default=None)
|
|
26
|
+
"""
|
|
27
|
+
Whether an error occurred or not
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
error_type: typing.Optional[str] = pydantic.Field(default=None)
|
|
31
|
+
"""
|
|
32
|
+
Type of error (e.g. "Timeout", "Rate Limit", etc)
|
|
33
|
+
"""
|
|
34
|
+
|
|
35
|
+
error_message: typing.Optional[str] = pydantic.Field(default=None)
|
|
36
|
+
"""
|
|
37
|
+
Error message details
|
|
38
|
+
"""
|
|
39
|
+
|
|
40
|
+
if IS_PYDANTIC_V2:
|
|
41
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
42
|
+
else:
|
|
43
|
+
|
|
44
|
+
class Config:
|
|
45
|
+
frozen = True
|
|
46
|
+
smart_union = True
|
|
47
|
+
extra = pydantic.Extra.allow
|
|
@@ -1,30 +1,20 @@
|
|
|
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
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
6
|
+
import pydantic
|
|
5
7
|
|
|
6
|
-
from ..core.datetime_utils import serialize_datetime
|
|
7
|
-
from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
class KeyIndicatorValue(pydantic_v1.BaseModel):
|
|
9
|
+
class KeyIndicatorValue(UniversalBaseModel):
|
|
11
10
|
title: typing.Optional[str] = None
|
|
12
|
-
values: typing.Optional[typing.Dict[str, typing.Any]] = 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}
|
|
11
|
+
values: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
|
21
12
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
13
|
+
if IS_PYDANTIC_V2:
|
|
14
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
15
|
+
else:
|
|
25
16
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
json_encoders = {dt.datetime: serialize_datetime}
|
|
17
|
+
class Config:
|
|
18
|
+
frozen = True
|
|
19
|
+
smart_union = True
|
|
20
|
+
extra = pydantic.Extra.allow
|
|
@@ -1,51 +1,41 @@
|
|
|
1
1
|
# This file was auto-generated by Fern from our API Definition.
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
|
+
import pydantic
|
|
4
5
|
import typing
|
|
5
|
-
|
|
6
|
-
from ..core.datetime_utils import serialize_datetime
|
|
7
|
-
from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
|
|
8
6
|
from .key_indicators_item_additional_kpis_item import KeyIndicatorsItemAdditionalKpisItem
|
|
9
7
|
from .key_indicators_item_extra_kpis_item import KeyIndicatorsItemExtraKpisItem
|
|
8
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
10
9
|
|
|
11
10
|
|
|
12
|
-
class KeyIndicatorsItem(
|
|
13
|
-
key: str =
|
|
11
|
+
class KeyIndicatorsItem(UniversalBaseModel):
|
|
12
|
+
key: str = pydantic.Field()
|
|
14
13
|
"""
|
|
15
14
|
The key for this KPI, where you can find the value from inside main_kpi
|
|
16
15
|
"""
|
|
17
16
|
|
|
18
|
-
title: str =
|
|
17
|
+
title: str = pydantic.Field()
|
|
19
18
|
"""
|
|
20
19
|
The title for this metric, to be displayed to the user
|
|
21
20
|
"""
|
|
22
21
|
|
|
23
22
|
main_kpi: str
|
|
24
23
|
secondary_kpi: typing.Optional[str] = None
|
|
25
|
-
additional_kpis: typing.Optional[typing.List[KeyIndicatorsItemAdditionalKpisItem]] =
|
|
24
|
+
additional_kpis: typing.Optional[typing.List[KeyIndicatorsItemAdditionalKpisItem]] = pydantic.Field(default=None)
|
|
26
25
|
"""
|
|
27
26
|
Additional KPIs to be displayed at the bottom of the box
|
|
28
27
|
"""
|
|
29
28
|
|
|
30
|
-
extra_kpis: typing.Optional[typing.List[KeyIndicatorsItemExtraKpisItem]] =
|
|
29
|
+
extra_kpis: typing.Optional[typing.List[KeyIndicatorsItemExtraKpisItem]] = pydantic.Field(default=None)
|
|
31
30
|
"""
|
|
32
31
|
Extra KPIs to be displayed in the hover-tootip for that indicator
|
|
33
32
|
"""
|
|
34
33
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
|
|
40
|
-
kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
|
41
|
-
kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
|
|
42
|
-
|
|
43
|
-
return deep_union_pydantic_dicts(
|
|
44
|
-
super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
|
|
45
|
-
)
|
|
34
|
+
if IS_PYDANTIC_V2:
|
|
35
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
36
|
+
else:
|
|
46
37
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
json_encoders = {dt.datetime: serialize_datetime}
|
|
38
|
+
class Config:
|
|
39
|
+
frozen = True
|
|
40
|
+
smart_union = True
|
|
41
|
+
extra = pydantic.Extra.allow
|
|
@@ -1,37 +1,27 @@
|
|
|
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
|
-
key: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
9
|
+
class KeyIndicatorsItemAdditionalKpisItem(UniversalBaseModel):
|
|
10
|
+
key: typing.Optional[str] = pydantic.Field(default=None)
|
|
12
11
|
"""
|
|
13
12
|
The key for this KPI, where you can find the value from inside main_kpi
|
|
14
13
|
"""
|
|
15
14
|
|
|
16
|
-
label: typing.Optional[str] =
|
|
15
|
+
label: typing.Optional[str] = pydantic.Field(default=None)
|
|
17
16
|
"""
|
|
18
17
|
The label for this KPI, to be displayed to the user
|
|
19
18
|
"""
|
|
20
19
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
|
|
26
|
-
kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
|
27
|
-
kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
|
|
28
|
-
|
|
29
|
-
return deep_union_pydantic_dicts(
|
|
30
|
-
super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
|
|
31
|
-
)
|
|
20
|
+
if IS_PYDANTIC_V2:
|
|
21
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
22
|
+
else:
|
|
32
23
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
json_encoders = {dt.datetime: serialize_datetime}
|
|
24
|
+
class Config:
|
|
25
|
+
frozen = True
|
|
26
|
+
smart_union = True
|
|
27
|
+
extra = pydantic.Extra.allow
|
|
@@ -1,37 +1,27 @@
|
|
|
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
|
-
key: typing.Optional[str] = pydantic_v1.Field(default=None)
|
|
9
|
+
class KeyIndicatorsItemExtraKpisItem(UniversalBaseModel):
|
|
10
|
+
key: typing.Optional[str] = pydantic.Field(default=None)
|
|
12
11
|
"""
|
|
13
12
|
The key for this KPI, where you can find the value from inside main_kpi
|
|
14
13
|
"""
|
|
15
14
|
|
|
16
|
-
label: typing.Optional[str] =
|
|
15
|
+
label: typing.Optional[str] = pydantic.Field(default=None)
|
|
17
16
|
"""
|
|
18
17
|
The label for this KPI, to be displayed to the user
|
|
19
18
|
"""
|
|
20
19
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
|
|
26
|
-
kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
|
27
|
-
kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
|
|
28
|
-
|
|
29
|
-
return deep_union_pydantic_dicts(
|
|
30
|
-
super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
|
|
31
|
-
)
|
|
20
|
+
if IS_PYDANTIC_V2:
|
|
21
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
22
|
+
else:
|
|
32
23
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
json_encoders = {dt.datetime: serialize_datetime}
|
|
24
|
+
class Config:
|
|
25
|
+
frozen = True
|
|
26
|
+
smart_union = True
|
|
27
|
+
extra = pydantic.Extra.allow
|
|
@@ -1,97 +1,88 @@
|
|
|
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 .local_files_export_storage_status import LocalFilesExportStorageStatus
|
|
8
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
class LocalFilesExportStorage(
|
|
11
|
+
class LocalFilesExportStorage(UniversalBaseModel):
|
|
12
12
|
id: typing.Optional[int] = None
|
|
13
13
|
type: typing.Optional[str] = None
|
|
14
14
|
synchronizable: typing.Optional[bool] = None
|
|
15
|
-
path: typing.Optional[str] =
|
|
15
|
+
path: typing.Optional[str] = pydantic.Field(default=None)
|
|
16
16
|
"""
|
|
17
17
|
Local path
|
|
18
18
|
"""
|
|
19
19
|
|
|
20
|
-
regex_filter: typing.Optional[str] =
|
|
20
|
+
regex_filter: typing.Optional[str] = pydantic.Field(default=None)
|
|
21
21
|
"""
|
|
22
22
|
Regex for filtering objects
|
|
23
23
|
"""
|
|
24
24
|
|
|
25
|
-
use_blob_urls: typing.Optional[bool] =
|
|
25
|
+
use_blob_urls: typing.Optional[bool] = pydantic.Field(default=None)
|
|
26
26
|
"""
|
|
27
27
|
Interpret objects as BLOBs and generate URLs
|
|
28
28
|
"""
|
|
29
29
|
|
|
30
|
-
last_sync: typing.Optional[dt.datetime] =
|
|
30
|
+
last_sync: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
31
31
|
"""
|
|
32
32
|
Last sync finished time
|
|
33
33
|
"""
|
|
34
34
|
|
|
35
|
-
last_sync_count: typing.Optional[int] =
|
|
35
|
+
last_sync_count: typing.Optional[int] = pydantic.Field(default=None)
|
|
36
36
|
"""
|
|
37
37
|
Count of tasks synced last time
|
|
38
38
|
"""
|
|
39
39
|
|
|
40
|
-
last_sync_job: typing.Optional[str] =
|
|
40
|
+
last_sync_job: typing.Optional[str] = pydantic.Field(default=None)
|
|
41
41
|
"""
|
|
42
42
|
Last sync job ID
|
|
43
43
|
"""
|
|
44
44
|
|
|
45
45
|
status: typing.Optional[LocalFilesExportStorageStatus] = None
|
|
46
|
-
traceback: typing.Optional[str] =
|
|
46
|
+
traceback: typing.Optional[str] = pydantic.Field(default=None)
|
|
47
47
|
"""
|
|
48
48
|
Traceback report for the last failed sync
|
|
49
49
|
"""
|
|
50
50
|
|
|
51
|
-
meta: typing.Optional[typing.Dict[str, typing.Any]] =
|
|
51
|
+
meta: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
|
|
52
52
|
"""
|
|
53
53
|
Meta and debug information about storage processes
|
|
54
54
|
"""
|
|
55
55
|
|
|
56
|
-
title: typing.Optional[str] =
|
|
56
|
+
title: typing.Optional[str] = pydantic.Field(default=None)
|
|
57
57
|
"""
|
|
58
58
|
Cloud storage title
|
|
59
59
|
"""
|
|
60
60
|
|
|
61
|
-
description: typing.Optional[str] =
|
|
61
|
+
description: typing.Optional[str] = pydantic.Field(default=None)
|
|
62
62
|
"""
|
|
63
63
|
Cloud storage description
|
|
64
64
|
"""
|
|
65
65
|
|
|
66
|
-
created_at: typing.Optional[dt.datetime] =
|
|
66
|
+
created_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
67
67
|
"""
|
|
68
68
|
Creation time
|
|
69
69
|
"""
|
|
70
70
|
|
|
71
|
-
can_delete_objects: typing.Optional[bool] =
|
|
71
|
+
can_delete_objects: typing.Optional[bool] = pydantic.Field(default=None)
|
|
72
72
|
"""
|
|
73
73
|
Deletion from storage enabled
|
|
74
74
|
"""
|
|
75
75
|
|
|
76
|
-
project: int =
|
|
76
|
+
project: int = pydantic.Field()
|
|
77
77
|
"""
|
|
78
78
|
A unique integer value identifying this project.
|
|
79
79
|
"""
|
|
80
80
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
|
|
86
|
-
kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
|
87
|
-
kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
|
|
88
|
-
|
|
89
|
-
return deep_union_pydantic_dicts(
|
|
90
|
-
super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
|
|
91
|
-
)
|
|
81
|
+
if IS_PYDANTIC_V2:
|
|
82
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
83
|
+
else:
|
|
92
84
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
json_encoders = {dt.datetime: serialize_datetime}
|
|
85
|
+
class Config:
|
|
86
|
+
frozen = True
|
|
87
|
+
smart_union = True
|
|
88
|
+
extra = pydantic.Extra.allow
|
|
@@ -1,92 +1,83 @@
|
|
|
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 .local_files_import_storage_status import LocalFilesImportStorageStatus
|
|
8
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
class LocalFilesImportStorage(
|
|
11
|
+
class LocalFilesImportStorage(UniversalBaseModel):
|
|
12
12
|
id: typing.Optional[int] = None
|
|
13
13
|
type: typing.Optional[str] = None
|
|
14
14
|
synchronizable: typing.Optional[bool] = None
|
|
15
|
-
path: typing.Optional[str] =
|
|
15
|
+
path: typing.Optional[str] = pydantic.Field(default=None)
|
|
16
16
|
"""
|
|
17
17
|
Local path
|
|
18
18
|
"""
|
|
19
19
|
|
|
20
|
-
regex_filter: typing.Optional[str] =
|
|
20
|
+
regex_filter: typing.Optional[str] = pydantic.Field(default=None)
|
|
21
21
|
"""
|
|
22
22
|
Regex for filtering objects
|
|
23
23
|
"""
|
|
24
24
|
|
|
25
|
-
use_blob_urls: typing.Optional[bool] =
|
|
25
|
+
use_blob_urls: typing.Optional[bool] = pydantic.Field(default=None)
|
|
26
26
|
"""
|
|
27
27
|
Interpret objects as BLOBs and generate URLs
|
|
28
28
|
"""
|
|
29
29
|
|
|
30
|
-
last_sync: typing.Optional[dt.datetime] =
|
|
30
|
+
last_sync: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
31
31
|
"""
|
|
32
32
|
Last sync finished time
|
|
33
33
|
"""
|
|
34
34
|
|
|
35
|
-
last_sync_count: typing.Optional[int] =
|
|
35
|
+
last_sync_count: typing.Optional[int] = pydantic.Field(default=None)
|
|
36
36
|
"""
|
|
37
37
|
Count of tasks synced last time
|
|
38
38
|
"""
|
|
39
39
|
|
|
40
|
-
last_sync_job: typing.Optional[str] =
|
|
40
|
+
last_sync_job: typing.Optional[str] = pydantic.Field(default=None)
|
|
41
41
|
"""
|
|
42
42
|
Last sync job ID
|
|
43
43
|
"""
|
|
44
44
|
|
|
45
45
|
status: typing.Optional[LocalFilesImportStorageStatus] = None
|
|
46
|
-
traceback: typing.Optional[str] =
|
|
46
|
+
traceback: typing.Optional[str] = pydantic.Field(default=None)
|
|
47
47
|
"""
|
|
48
48
|
Traceback report for the last failed sync
|
|
49
49
|
"""
|
|
50
50
|
|
|
51
|
-
meta: typing.Optional[typing.Dict[str, typing.Any]] =
|
|
51
|
+
meta: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
|
|
52
52
|
"""
|
|
53
53
|
Meta and debug information about storage processes
|
|
54
54
|
"""
|
|
55
55
|
|
|
56
|
-
title: typing.Optional[str] =
|
|
56
|
+
title: typing.Optional[str] = pydantic.Field(default=None)
|
|
57
57
|
"""
|
|
58
58
|
Cloud storage title
|
|
59
59
|
"""
|
|
60
60
|
|
|
61
|
-
description: typing.Optional[str] =
|
|
61
|
+
description: typing.Optional[str] = pydantic.Field(default=None)
|
|
62
62
|
"""
|
|
63
63
|
Cloud storage description
|
|
64
64
|
"""
|
|
65
65
|
|
|
66
|
-
created_at: typing.Optional[dt.datetime] =
|
|
66
|
+
created_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
67
67
|
"""
|
|
68
68
|
Creation time
|
|
69
69
|
"""
|
|
70
70
|
|
|
71
|
-
project: int =
|
|
71
|
+
project: int = pydantic.Field()
|
|
72
72
|
"""
|
|
73
73
|
A unique integer value identifying this project.
|
|
74
74
|
"""
|
|
75
75
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
|
|
81
|
-
kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
|
82
|
-
kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
|
|
83
|
-
|
|
84
|
-
return deep_union_pydantic_dicts(
|
|
85
|
-
super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
|
|
86
|
-
)
|
|
76
|
+
if IS_PYDANTIC_V2:
|
|
77
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
78
|
+
else:
|
|
87
79
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
json_encoders = {dt.datetime: serialize_datetime}
|
|
80
|
+
class Config:
|
|
81
|
+
frozen = True
|
|
82
|
+
smart_union = True
|
|
83
|
+
extra = pydantic.Extra.allow
|