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,78 +1,68 @@
|
|
|
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
|
|
5
|
+
import pydantic
|
|
8
6
|
from .ml_create_response_auth_method import MlCreateResponseAuthMethod
|
|
7
|
+
from ...core.pydantic_utilities import IS_PYDANTIC_V2
|
|
9
8
|
|
|
10
9
|
|
|
11
|
-
class MlCreateResponse(
|
|
12
|
-
url: typing.Optional[str] =
|
|
10
|
+
class MlCreateResponse(UniversalBaseModel):
|
|
11
|
+
url: typing.Optional[str] = pydantic.Field(default=None)
|
|
13
12
|
"""
|
|
14
13
|
ML backend URL
|
|
15
14
|
"""
|
|
16
15
|
|
|
17
|
-
project: typing.Optional[int] =
|
|
16
|
+
project: typing.Optional[int] = pydantic.Field(default=None)
|
|
18
17
|
"""
|
|
19
18
|
Project ID
|
|
20
19
|
"""
|
|
21
20
|
|
|
22
|
-
is_interactive: typing.Optional[bool] =
|
|
21
|
+
is_interactive: typing.Optional[bool] = pydantic.Field(default=None)
|
|
23
22
|
"""
|
|
24
23
|
Is interactive
|
|
25
24
|
"""
|
|
26
25
|
|
|
27
|
-
title: typing.Optional[str] =
|
|
26
|
+
title: typing.Optional[str] = pydantic.Field(default=None)
|
|
28
27
|
"""
|
|
29
28
|
Title
|
|
30
29
|
"""
|
|
31
30
|
|
|
32
|
-
description: typing.Optional[str] =
|
|
31
|
+
description: typing.Optional[str] = pydantic.Field(default=None)
|
|
33
32
|
"""
|
|
34
33
|
Description
|
|
35
34
|
"""
|
|
36
35
|
|
|
37
|
-
auth_method: typing.Optional[MlCreateResponseAuthMethod] =
|
|
36
|
+
auth_method: typing.Optional[MlCreateResponseAuthMethod] = pydantic.Field(default=None)
|
|
38
37
|
"""
|
|
39
38
|
Auth method
|
|
40
39
|
"""
|
|
41
40
|
|
|
42
|
-
basic_auth_user: typing.Optional[str] =
|
|
41
|
+
basic_auth_user: typing.Optional[str] = pydantic.Field(default=None)
|
|
43
42
|
"""
|
|
44
43
|
Basic auth user
|
|
45
44
|
"""
|
|
46
45
|
|
|
47
|
-
basic_auth_pass: typing.Optional[str] =
|
|
46
|
+
basic_auth_pass: typing.Optional[str] = pydantic.Field(default=None)
|
|
48
47
|
"""
|
|
49
48
|
Basic auth password
|
|
50
49
|
"""
|
|
51
50
|
|
|
52
|
-
extra_params: typing.Optional[typing.Dict[str, typing.Any]] =
|
|
51
|
+
extra_params: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
|
|
53
52
|
"""
|
|
54
53
|
Extra parameters
|
|
55
54
|
"""
|
|
56
55
|
|
|
57
|
-
timeout: typing.Optional[int] =
|
|
56
|
+
timeout: typing.Optional[int] = pydantic.Field(default=None)
|
|
58
57
|
"""
|
|
59
58
|
Response model timeout
|
|
60
59
|
"""
|
|
61
60
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
|
|
67
|
-
kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
|
68
|
-
kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
|
|
69
|
-
|
|
70
|
-
return deep_union_pydantic_dicts(
|
|
71
|
-
super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
|
|
72
|
-
)
|
|
61
|
+
if IS_PYDANTIC_V2:
|
|
62
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
63
|
+
else:
|
|
73
64
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
json_encoders = {dt.datetime: serialize_datetime}
|
|
65
|
+
class Config:
|
|
66
|
+
frozen = True
|
|
67
|
+
smart_union = True
|
|
68
|
+
extra = pydantic.Extra.allow
|
|
@@ -1,78 +1,68 @@
|
|
|
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
|
|
5
|
+
import pydantic
|
|
8
6
|
from .ml_update_response_auth_method import MlUpdateResponseAuthMethod
|
|
7
|
+
from ...core.pydantic_utilities import IS_PYDANTIC_V2
|
|
9
8
|
|
|
10
9
|
|
|
11
|
-
class MlUpdateResponse(
|
|
12
|
-
url: typing.Optional[str] =
|
|
10
|
+
class MlUpdateResponse(UniversalBaseModel):
|
|
11
|
+
url: typing.Optional[str] = pydantic.Field(default=None)
|
|
13
12
|
"""
|
|
14
13
|
ML backend URL
|
|
15
14
|
"""
|
|
16
15
|
|
|
17
|
-
project: typing.Optional[int] =
|
|
16
|
+
project: typing.Optional[int] = pydantic.Field(default=None)
|
|
18
17
|
"""
|
|
19
18
|
Project ID
|
|
20
19
|
"""
|
|
21
20
|
|
|
22
|
-
is_interactive: typing.Optional[bool] =
|
|
21
|
+
is_interactive: typing.Optional[bool] = pydantic.Field(default=None)
|
|
23
22
|
"""
|
|
24
23
|
Is interactive
|
|
25
24
|
"""
|
|
26
25
|
|
|
27
|
-
title: typing.Optional[str] =
|
|
26
|
+
title: typing.Optional[str] = pydantic.Field(default=None)
|
|
28
27
|
"""
|
|
29
28
|
Title
|
|
30
29
|
"""
|
|
31
30
|
|
|
32
|
-
description: typing.Optional[str] =
|
|
31
|
+
description: typing.Optional[str] = pydantic.Field(default=None)
|
|
33
32
|
"""
|
|
34
33
|
Description
|
|
35
34
|
"""
|
|
36
35
|
|
|
37
|
-
auth_method: typing.Optional[MlUpdateResponseAuthMethod] =
|
|
36
|
+
auth_method: typing.Optional[MlUpdateResponseAuthMethod] = pydantic.Field(default=None)
|
|
38
37
|
"""
|
|
39
38
|
Auth method
|
|
40
39
|
"""
|
|
41
40
|
|
|
42
|
-
basic_auth_user: typing.Optional[str] =
|
|
41
|
+
basic_auth_user: typing.Optional[str] = pydantic.Field(default=None)
|
|
43
42
|
"""
|
|
44
43
|
Basic auth user
|
|
45
44
|
"""
|
|
46
45
|
|
|
47
|
-
basic_auth_pass: typing.Optional[str] =
|
|
46
|
+
basic_auth_pass: typing.Optional[str] = pydantic.Field(default=None)
|
|
48
47
|
"""
|
|
49
48
|
Basic auth password
|
|
50
49
|
"""
|
|
51
50
|
|
|
52
|
-
extra_params: typing.Optional[typing.Dict[str, typing.Any]] =
|
|
51
|
+
extra_params: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
|
|
53
52
|
"""
|
|
54
53
|
Extra parameters
|
|
55
54
|
"""
|
|
56
55
|
|
|
57
|
-
timeout: typing.Optional[int] =
|
|
56
|
+
timeout: typing.Optional[int] = pydantic.Field(default=None)
|
|
58
57
|
"""
|
|
59
58
|
Response model timeout
|
|
60
59
|
"""
|
|
61
60
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
|
|
67
|
-
kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
|
68
|
-
kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
|
|
69
|
-
|
|
70
|
-
return deep_union_pydantic_dicts(
|
|
71
|
-
super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
|
|
72
|
-
)
|
|
61
|
+
if IS_PYDANTIC_V2:
|
|
62
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
63
|
+
else:
|
|
73
64
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
json_encoders = {dt.datetime: serialize_datetime}
|
|
65
|
+
class Config:
|
|
66
|
+
frozen = True
|
|
67
|
+
smart_union = True
|
|
68
|
+
extra = pydantic.Extra.allow
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
# This file was auto-generated by Fern from our API Definition.
|
|
2
2
|
|
|
3
|
-
import datetime as dt
|
|
4
3
|
import typing
|
|
5
|
-
from
|
|
6
|
-
|
|
7
|
-
from ..core.api_error import ApiError
|
|
8
|
-
from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
|
9
|
-
from ..core.jsonable_encoder import jsonable_encoder
|
|
10
|
-
from ..core.pydantic_utilities import pydantic_v1
|
|
4
|
+
from ..core.client_wrapper import SyncClientWrapper
|
|
11
5
|
from ..core.request_options import RequestOptions
|
|
12
6
|
from ..types.model_provider_connection import ModelProviderConnection
|
|
13
|
-
from ..
|
|
14
|
-
from
|
|
15
|
-
from ..
|
|
7
|
+
from ..core.pydantic_utilities import parse_obj_as
|
|
8
|
+
from json.decoder import JSONDecodeError
|
|
9
|
+
from ..core.api_error import ApiError
|
|
16
10
|
from ..types.model_provider_connection_provider import ModelProviderConnectionProvider
|
|
17
11
|
from ..types.model_provider_connection_scope import ModelProviderConnectionScope
|
|
12
|
+
from ..types.model_provider_connection_organization import ModelProviderConnectionOrganization
|
|
13
|
+
from ..types.model_provider_connection_created_by import ModelProviderConnectionCreatedBy
|
|
14
|
+
import datetime as dt
|
|
15
|
+
from ..types.model_provider_connection_budget_reset_period import ModelProviderConnectionBudgetResetPeriod
|
|
16
|
+
from ..core.serialization import convert_and_respect_annotation_metadata
|
|
17
|
+
from ..core.jsonable_encoder import jsonable_encoder
|
|
18
|
+
from ..core.client_wrapper import AsyncClientWrapper
|
|
18
19
|
|
|
19
20
|
# this is used as the default value for optional parameters
|
|
20
21
|
OMIT = typing.cast(typing.Any, ...)
|
|
@@ -40,7 +41,7 @@ class ModelProvidersClient:
|
|
|
40
41
|
|
|
41
42
|
Examples
|
|
42
43
|
--------
|
|
43
|
-
from label_studio_sdk
|
|
44
|
+
from label_studio_sdk import LabelStudio
|
|
44
45
|
|
|
45
46
|
client = LabelStudio(
|
|
46
47
|
api_key="YOUR_API_KEY",
|
|
@@ -48,11 +49,19 @@ class ModelProvidersClient:
|
|
|
48
49
|
client.model_providers.list()
|
|
49
50
|
"""
|
|
50
51
|
_response = self._client_wrapper.httpx_client.request(
|
|
51
|
-
"api/model-provider-connections/",
|
|
52
|
+
"api/model-provider-connections/",
|
|
53
|
+
method="GET",
|
|
54
|
+
request_options=request_options,
|
|
52
55
|
)
|
|
53
56
|
try:
|
|
54
57
|
if 200 <= _response.status_code < 300:
|
|
55
|
-
return
|
|
58
|
+
return typing.cast(
|
|
59
|
+
typing.List[ModelProviderConnection],
|
|
60
|
+
parse_obj_as(
|
|
61
|
+
type_=typing.List[ModelProviderConnection], # type: ignore
|
|
62
|
+
object_=_response.json(),
|
|
63
|
+
),
|
|
64
|
+
)
|
|
56
65
|
_response_json = _response.json()
|
|
57
66
|
except JSONDecodeError:
|
|
58
67
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
@@ -129,7 +138,7 @@ class ModelProvidersClient:
|
|
|
129
138
|
|
|
130
139
|
Examples
|
|
131
140
|
--------
|
|
132
|
-
from label_studio_sdk
|
|
141
|
+
from label_studio_sdk import LabelStudio
|
|
133
142
|
|
|
134
143
|
client = LabelStudio(
|
|
135
144
|
api_key="YOUR_API_KEY",
|
|
@@ -147,8 +156,12 @@ class ModelProvidersClient:
|
|
|
147
156
|
"deployment_name": deployment_name,
|
|
148
157
|
"endpoint": endpoint,
|
|
149
158
|
"scope": scope,
|
|
150
|
-
"organization":
|
|
151
|
-
|
|
159
|
+
"organization": convert_and_respect_annotation_metadata(
|
|
160
|
+
object_=organization, annotation=ModelProviderConnectionOrganization, direction="write"
|
|
161
|
+
),
|
|
162
|
+
"created_by": convert_and_respect_annotation_metadata(
|
|
163
|
+
object_=created_by, annotation=ModelProviderConnectionCreatedBy, direction="write"
|
|
164
|
+
),
|
|
152
165
|
"created_at": created_at,
|
|
153
166
|
"updated_at": updated_at,
|
|
154
167
|
"is_internal": is_internal,
|
|
@@ -163,7 +176,13 @@ class ModelProvidersClient:
|
|
|
163
176
|
)
|
|
164
177
|
try:
|
|
165
178
|
if 200 <= _response.status_code < 300:
|
|
166
|
-
return
|
|
179
|
+
return typing.cast(
|
|
180
|
+
ModelProviderConnection,
|
|
181
|
+
parse_obj_as(
|
|
182
|
+
type_=ModelProviderConnection, # type: ignore
|
|
183
|
+
object_=_response.json(),
|
|
184
|
+
),
|
|
185
|
+
)
|
|
167
186
|
_response_json = _response.json()
|
|
168
187
|
except JSONDecodeError:
|
|
169
188
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
@@ -188,7 +207,7 @@ class ModelProvidersClient:
|
|
|
188
207
|
|
|
189
208
|
Examples
|
|
190
209
|
--------
|
|
191
|
-
from label_studio_sdk
|
|
210
|
+
from label_studio_sdk import LabelStudio
|
|
192
211
|
|
|
193
212
|
client = LabelStudio(
|
|
194
213
|
api_key="YOUR_API_KEY",
|
|
@@ -198,11 +217,19 @@ class ModelProvidersClient:
|
|
|
198
217
|
)
|
|
199
218
|
"""
|
|
200
219
|
_response = self._client_wrapper.httpx_client.request(
|
|
201
|
-
f"api/model-provider-connections/{jsonable_encoder(pk)}",
|
|
220
|
+
f"api/model-provider-connections/{jsonable_encoder(pk)}",
|
|
221
|
+
method="GET",
|
|
222
|
+
request_options=request_options,
|
|
202
223
|
)
|
|
203
224
|
try:
|
|
204
225
|
if 200 <= _response.status_code < 300:
|
|
205
|
-
return
|
|
226
|
+
return typing.cast(
|
|
227
|
+
ModelProviderConnection,
|
|
228
|
+
parse_obj_as(
|
|
229
|
+
type_=ModelProviderConnection, # type: ignore
|
|
230
|
+
object_=_response.json(),
|
|
231
|
+
),
|
|
232
|
+
)
|
|
206
233
|
_response_json = _response.json()
|
|
207
234
|
except JSONDecodeError:
|
|
208
235
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
@@ -226,7 +253,7 @@ class ModelProvidersClient:
|
|
|
226
253
|
|
|
227
254
|
Examples
|
|
228
255
|
--------
|
|
229
|
-
from label_studio_sdk
|
|
256
|
+
from label_studio_sdk import LabelStudio
|
|
230
257
|
|
|
231
258
|
client = LabelStudio(
|
|
232
259
|
api_key="YOUR_API_KEY",
|
|
@@ -236,7 +263,9 @@ class ModelProvidersClient:
|
|
|
236
263
|
)
|
|
237
264
|
"""
|
|
238
265
|
_response = self._client_wrapper.httpx_client.request(
|
|
239
|
-
f"api/model-provider-connections/{jsonable_encoder(pk)}",
|
|
266
|
+
f"api/model-provider-connections/{jsonable_encoder(pk)}",
|
|
267
|
+
method="DELETE",
|
|
268
|
+
request_options=request_options,
|
|
240
269
|
)
|
|
241
270
|
try:
|
|
242
271
|
if 200 <= _response.status_code < 300:
|
|
@@ -321,7 +350,7 @@ class ModelProvidersClient:
|
|
|
321
350
|
|
|
322
351
|
Examples
|
|
323
352
|
--------
|
|
324
|
-
from label_studio_sdk
|
|
353
|
+
from label_studio_sdk import LabelStudio
|
|
325
354
|
|
|
326
355
|
client = LabelStudio(
|
|
327
356
|
api_key="YOUR_API_KEY",
|
|
@@ -340,8 +369,12 @@ class ModelProvidersClient:
|
|
|
340
369
|
"deployment_name": deployment_name,
|
|
341
370
|
"endpoint": endpoint,
|
|
342
371
|
"scope": scope,
|
|
343
|
-
"organization":
|
|
344
|
-
|
|
372
|
+
"organization": convert_and_respect_annotation_metadata(
|
|
373
|
+
object_=organization, annotation=ModelProviderConnectionOrganization, direction="write"
|
|
374
|
+
),
|
|
375
|
+
"created_by": convert_and_respect_annotation_metadata(
|
|
376
|
+
object_=created_by, annotation=ModelProviderConnectionCreatedBy, direction="write"
|
|
377
|
+
),
|
|
345
378
|
"created_at": created_at,
|
|
346
379
|
"updated_at": updated_at,
|
|
347
380
|
"is_internal": is_internal,
|
|
@@ -356,7 +389,13 @@ class ModelProvidersClient:
|
|
|
356
389
|
)
|
|
357
390
|
try:
|
|
358
391
|
if 200 <= _response.status_code < 300:
|
|
359
|
-
return
|
|
392
|
+
return typing.cast(
|
|
393
|
+
ModelProviderConnection,
|
|
394
|
+
parse_obj_as(
|
|
395
|
+
type_=ModelProviderConnection, # type: ignore
|
|
396
|
+
object_=_response.json(),
|
|
397
|
+
),
|
|
398
|
+
)
|
|
360
399
|
_response_json = _response.json()
|
|
361
400
|
except JSONDecodeError:
|
|
362
401
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
@@ -385,19 +424,35 @@ class AsyncModelProvidersClient:
|
|
|
385
424
|
|
|
386
425
|
Examples
|
|
387
426
|
--------
|
|
388
|
-
|
|
427
|
+
import asyncio
|
|
428
|
+
|
|
429
|
+
from label_studio_sdk import AsyncLabelStudio
|
|
389
430
|
|
|
390
431
|
client = AsyncLabelStudio(
|
|
391
432
|
api_key="YOUR_API_KEY",
|
|
392
433
|
)
|
|
393
|
-
|
|
434
|
+
|
|
435
|
+
|
|
436
|
+
async def main() -> None:
|
|
437
|
+
await client.model_providers.list()
|
|
438
|
+
|
|
439
|
+
|
|
440
|
+
asyncio.run(main())
|
|
394
441
|
"""
|
|
395
442
|
_response = await self._client_wrapper.httpx_client.request(
|
|
396
|
-
"api/model-provider-connections/",
|
|
443
|
+
"api/model-provider-connections/",
|
|
444
|
+
method="GET",
|
|
445
|
+
request_options=request_options,
|
|
397
446
|
)
|
|
398
447
|
try:
|
|
399
448
|
if 200 <= _response.status_code < 300:
|
|
400
|
-
return
|
|
449
|
+
return typing.cast(
|
|
450
|
+
typing.List[ModelProviderConnection],
|
|
451
|
+
parse_obj_as(
|
|
452
|
+
type_=typing.List[ModelProviderConnection], # type: ignore
|
|
453
|
+
object_=_response.json(),
|
|
454
|
+
),
|
|
455
|
+
)
|
|
401
456
|
_response_json = _response.json()
|
|
402
457
|
except JSONDecodeError:
|
|
403
458
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
@@ -474,14 +529,22 @@ class AsyncModelProvidersClient:
|
|
|
474
529
|
|
|
475
530
|
Examples
|
|
476
531
|
--------
|
|
477
|
-
|
|
532
|
+
import asyncio
|
|
533
|
+
|
|
534
|
+
from label_studio_sdk import AsyncLabelStudio
|
|
478
535
|
|
|
479
536
|
client = AsyncLabelStudio(
|
|
480
537
|
api_key="YOUR_API_KEY",
|
|
481
538
|
)
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
)
|
|
539
|
+
|
|
540
|
+
|
|
541
|
+
async def main() -> None:
|
|
542
|
+
await client.model_providers.create(
|
|
543
|
+
provider="OpenAI",
|
|
544
|
+
)
|
|
545
|
+
|
|
546
|
+
|
|
547
|
+
asyncio.run(main())
|
|
485
548
|
"""
|
|
486
549
|
_response = await self._client_wrapper.httpx_client.request(
|
|
487
550
|
"api/model-provider-connections/",
|
|
@@ -492,8 +555,12 @@ class AsyncModelProvidersClient:
|
|
|
492
555
|
"deployment_name": deployment_name,
|
|
493
556
|
"endpoint": endpoint,
|
|
494
557
|
"scope": scope,
|
|
495
|
-
"organization":
|
|
496
|
-
|
|
558
|
+
"organization": convert_and_respect_annotation_metadata(
|
|
559
|
+
object_=organization, annotation=ModelProviderConnectionOrganization, direction="write"
|
|
560
|
+
),
|
|
561
|
+
"created_by": convert_and_respect_annotation_metadata(
|
|
562
|
+
object_=created_by, annotation=ModelProviderConnectionCreatedBy, direction="write"
|
|
563
|
+
),
|
|
497
564
|
"created_at": created_at,
|
|
498
565
|
"updated_at": updated_at,
|
|
499
566
|
"is_internal": is_internal,
|
|
@@ -508,7 +575,13 @@ class AsyncModelProvidersClient:
|
|
|
508
575
|
)
|
|
509
576
|
try:
|
|
510
577
|
if 200 <= _response.status_code < 300:
|
|
511
|
-
return
|
|
578
|
+
return typing.cast(
|
|
579
|
+
ModelProviderConnection,
|
|
580
|
+
parse_obj_as(
|
|
581
|
+
type_=ModelProviderConnection, # type: ignore
|
|
582
|
+
object_=_response.json(),
|
|
583
|
+
),
|
|
584
|
+
)
|
|
512
585
|
_response_json = _response.json()
|
|
513
586
|
except JSONDecodeError:
|
|
514
587
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
@@ -533,21 +606,37 @@ class AsyncModelProvidersClient:
|
|
|
533
606
|
|
|
534
607
|
Examples
|
|
535
608
|
--------
|
|
536
|
-
|
|
609
|
+
import asyncio
|
|
610
|
+
|
|
611
|
+
from label_studio_sdk import AsyncLabelStudio
|
|
537
612
|
|
|
538
613
|
client = AsyncLabelStudio(
|
|
539
614
|
api_key="YOUR_API_KEY",
|
|
540
615
|
)
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
)
|
|
616
|
+
|
|
617
|
+
|
|
618
|
+
async def main() -> None:
|
|
619
|
+
await client.model_providers.get(
|
|
620
|
+
pk=1,
|
|
621
|
+
)
|
|
622
|
+
|
|
623
|
+
|
|
624
|
+
asyncio.run(main())
|
|
544
625
|
"""
|
|
545
626
|
_response = await self._client_wrapper.httpx_client.request(
|
|
546
|
-
f"api/model-provider-connections/{jsonable_encoder(pk)}",
|
|
627
|
+
f"api/model-provider-connections/{jsonable_encoder(pk)}",
|
|
628
|
+
method="GET",
|
|
629
|
+
request_options=request_options,
|
|
547
630
|
)
|
|
548
631
|
try:
|
|
549
632
|
if 200 <= _response.status_code < 300:
|
|
550
|
-
return
|
|
633
|
+
return typing.cast(
|
|
634
|
+
ModelProviderConnection,
|
|
635
|
+
parse_obj_as(
|
|
636
|
+
type_=ModelProviderConnection, # type: ignore
|
|
637
|
+
object_=_response.json(),
|
|
638
|
+
),
|
|
639
|
+
)
|
|
551
640
|
_response_json = _response.json()
|
|
552
641
|
except JSONDecodeError:
|
|
553
642
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
@@ -571,17 +660,27 @@ class AsyncModelProvidersClient:
|
|
|
571
660
|
|
|
572
661
|
Examples
|
|
573
662
|
--------
|
|
574
|
-
|
|
663
|
+
import asyncio
|
|
664
|
+
|
|
665
|
+
from label_studio_sdk import AsyncLabelStudio
|
|
575
666
|
|
|
576
667
|
client = AsyncLabelStudio(
|
|
577
668
|
api_key="YOUR_API_KEY",
|
|
578
669
|
)
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
)
|
|
670
|
+
|
|
671
|
+
|
|
672
|
+
async def main() -> None:
|
|
673
|
+
await client.model_providers.delete(
|
|
674
|
+
pk=1,
|
|
675
|
+
)
|
|
676
|
+
|
|
677
|
+
|
|
678
|
+
asyncio.run(main())
|
|
582
679
|
"""
|
|
583
680
|
_response = await self._client_wrapper.httpx_client.request(
|
|
584
|
-
f"api/model-provider-connections/{jsonable_encoder(pk)}",
|
|
681
|
+
f"api/model-provider-connections/{jsonable_encoder(pk)}",
|
|
682
|
+
method="DELETE",
|
|
683
|
+
request_options=request_options,
|
|
585
684
|
)
|
|
586
685
|
try:
|
|
587
686
|
if 200 <= _response.status_code < 300:
|
|
@@ -666,15 +765,23 @@ class AsyncModelProvidersClient:
|
|
|
666
765
|
|
|
667
766
|
Examples
|
|
668
767
|
--------
|
|
669
|
-
|
|
768
|
+
import asyncio
|
|
769
|
+
|
|
770
|
+
from label_studio_sdk import AsyncLabelStudio
|
|
670
771
|
|
|
671
772
|
client = AsyncLabelStudio(
|
|
672
773
|
api_key="YOUR_API_KEY",
|
|
673
774
|
)
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
775
|
+
|
|
776
|
+
|
|
777
|
+
async def main() -> None:
|
|
778
|
+
await client.model_providers.update(
|
|
779
|
+
pk=1,
|
|
780
|
+
provider="OpenAI",
|
|
781
|
+
)
|
|
782
|
+
|
|
783
|
+
|
|
784
|
+
asyncio.run(main())
|
|
678
785
|
"""
|
|
679
786
|
_response = await self._client_wrapper.httpx_client.request(
|
|
680
787
|
f"api/model-provider-connections/{jsonable_encoder(pk)}",
|
|
@@ -685,8 +792,12 @@ class AsyncModelProvidersClient:
|
|
|
685
792
|
"deployment_name": deployment_name,
|
|
686
793
|
"endpoint": endpoint,
|
|
687
794
|
"scope": scope,
|
|
688
|
-
"organization":
|
|
689
|
-
|
|
795
|
+
"organization": convert_and_respect_annotation_metadata(
|
|
796
|
+
object_=organization, annotation=ModelProviderConnectionOrganization, direction="write"
|
|
797
|
+
),
|
|
798
|
+
"created_by": convert_and_respect_annotation_metadata(
|
|
799
|
+
object_=created_by, annotation=ModelProviderConnectionCreatedBy, direction="write"
|
|
800
|
+
),
|
|
690
801
|
"created_at": created_at,
|
|
691
802
|
"updated_at": updated_at,
|
|
692
803
|
"is_internal": is_internal,
|
|
@@ -701,7 +812,13 @@ class AsyncModelProvidersClient:
|
|
|
701
812
|
)
|
|
702
813
|
try:
|
|
703
814
|
if 200 <= _response.status_code < 300:
|
|
704
|
-
return
|
|
815
|
+
return typing.cast(
|
|
816
|
+
ModelProviderConnection,
|
|
817
|
+
parse_obj_as(
|
|
818
|
+
type_=ModelProviderConnection, # type: ignore
|
|
819
|
+
object_=_response.json(),
|
|
820
|
+
),
|
|
821
|
+
)
|
|
705
822
|
_response_json = _response.json()
|
|
706
823
|
except JSONDecodeError:
|
|
707
824
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|