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,15 +1,16 @@
|
|
|
1
1
|
# This file was auto-generated by Fern from our API Definition.
|
|
2
2
|
|
|
3
3
|
import typing
|
|
4
|
+
from ..core.client_wrapper import SyncClientWrapper
|
|
5
|
+
from .members.client import MembersClient
|
|
6
|
+
from ..core.request_options import RequestOptions
|
|
7
|
+
from ..types.workspace import Workspace
|
|
8
|
+
from ..core.pydantic_utilities import parse_obj_as
|
|
4
9
|
from json.decoder import JSONDecodeError
|
|
5
|
-
|
|
6
10
|
from ..core.api_error import ApiError
|
|
7
|
-
from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
|
8
11
|
from ..core.jsonable_encoder import jsonable_encoder
|
|
9
|
-
from ..core.
|
|
10
|
-
from
|
|
11
|
-
from ..types.workspace import Workspace
|
|
12
|
-
from .members.client import AsyncMembersClient, MembersClient
|
|
12
|
+
from ..core.client_wrapper import AsyncClientWrapper
|
|
13
|
+
from .members.client import AsyncMembersClient
|
|
13
14
|
|
|
14
15
|
# this is used as the default value for optional parameters
|
|
15
16
|
OMIT = typing.cast(typing.Any, ...)
|
|
@@ -22,6 +23,7 @@ class WorkspacesClient:
|
|
|
22
23
|
|
|
23
24
|
def list(self, *, request_options: typing.Optional[RequestOptions] = None) -> typing.List[Workspace]:
|
|
24
25
|
"""
|
|
26
|
+
|
|
25
27
|
List all workspaces for your organization.
|
|
26
28
|
|
|
27
29
|
Workspaces in Label Studio let you organize your projects and users into separate spaces. This is useful for managing different teams, departments, or projects within your organization.
|
|
@@ -40,7 +42,7 @@ class WorkspacesClient:
|
|
|
40
42
|
|
|
41
43
|
Examples
|
|
42
44
|
--------
|
|
43
|
-
from label_studio_sdk
|
|
45
|
+
from label_studio_sdk import LabelStudio
|
|
44
46
|
|
|
45
47
|
client = LabelStudio(
|
|
46
48
|
api_key="YOUR_API_KEY",
|
|
@@ -48,11 +50,19 @@ class WorkspacesClient:
|
|
|
48
50
|
client.workspaces.list()
|
|
49
51
|
"""
|
|
50
52
|
_response = self._client_wrapper.httpx_client.request(
|
|
51
|
-
"api/workspaces",
|
|
53
|
+
"api/workspaces",
|
|
54
|
+
method="GET",
|
|
55
|
+
request_options=request_options,
|
|
52
56
|
)
|
|
53
57
|
try:
|
|
54
58
|
if 200 <= _response.status_code < 300:
|
|
55
|
-
return
|
|
59
|
+
return typing.cast(
|
|
60
|
+
typing.List[Workspace],
|
|
61
|
+
parse_obj_as(
|
|
62
|
+
type_=typing.List[Workspace], # type: ignore
|
|
63
|
+
object_=_response.json(),
|
|
64
|
+
),
|
|
65
|
+
)
|
|
56
66
|
_response_json = _response.json()
|
|
57
67
|
except JSONDecodeError:
|
|
58
68
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
@@ -70,6 +80,7 @@ class WorkspacesClient:
|
|
|
70
80
|
request_options: typing.Optional[RequestOptions] = None,
|
|
71
81
|
) -> Workspace:
|
|
72
82
|
"""
|
|
83
|
+
|
|
73
84
|
Create a new workspace.
|
|
74
85
|
|
|
75
86
|
Workspaces in Label Studio let you organize your projects and users into separate spaces. This is useful for managing different teams, departments, or projects within your organization.
|
|
@@ -106,7 +117,7 @@ class WorkspacesClient:
|
|
|
106
117
|
|
|
107
118
|
Examples
|
|
108
119
|
--------
|
|
109
|
-
from label_studio_sdk
|
|
120
|
+
from label_studio_sdk import LabelStudio
|
|
110
121
|
|
|
111
122
|
client = LabelStudio(
|
|
112
123
|
api_key="YOUR_API_KEY",
|
|
@@ -124,12 +135,21 @@ class WorkspacesClient:
|
|
|
124
135
|
"color": color,
|
|
125
136
|
"is_archived": is_archived,
|
|
126
137
|
},
|
|
138
|
+
headers={
|
|
139
|
+
"content-type": "application/json",
|
|
140
|
+
},
|
|
127
141
|
request_options=request_options,
|
|
128
142
|
omit=OMIT,
|
|
129
143
|
)
|
|
130
144
|
try:
|
|
131
145
|
if 200 <= _response.status_code < 300:
|
|
132
|
-
return
|
|
146
|
+
return typing.cast(
|
|
147
|
+
Workspace,
|
|
148
|
+
parse_obj_as(
|
|
149
|
+
type_=Workspace, # type: ignore
|
|
150
|
+
object_=_response.json(),
|
|
151
|
+
),
|
|
152
|
+
)
|
|
133
153
|
_response_json = _response.json()
|
|
134
154
|
except JSONDecodeError:
|
|
135
155
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
@@ -137,6 +157,7 @@ class WorkspacesClient:
|
|
|
137
157
|
|
|
138
158
|
def get(self, id: int, *, request_options: typing.Optional[RequestOptions] = None) -> Workspace:
|
|
139
159
|
"""
|
|
160
|
+
|
|
140
161
|
Get information about a specific workspace. You will need to provide the workspace ID. You can find this using [List workspaces](list).
|
|
141
162
|
|
|
142
163
|
Parameters
|
|
@@ -154,7 +175,7 @@ class WorkspacesClient:
|
|
|
154
175
|
|
|
155
176
|
Examples
|
|
156
177
|
--------
|
|
157
|
-
from label_studio_sdk
|
|
178
|
+
from label_studio_sdk import LabelStudio
|
|
158
179
|
|
|
159
180
|
client = LabelStudio(
|
|
160
181
|
api_key="YOUR_API_KEY",
|
|
@@ -164,11 +185,19 @@ class WorkspacesClient:
|
|
|
164
185
|
)
|
|
165
186
|
"""
|
|
166
187
|
_response = self._client_wrapper.httpx_client.request(
|
|
167
|
-
f"api/workspaces/{jsonable_encoder(id)}",
|
|
188
|
+
f"api/workspaces/{jsonable_encoder(id)}",
|
|
189
|
+
method="GET",
|
|
190
|
+
request_options=request_options,
|
|
168
191
|
)
|
|
169
192
|
try:
|
|
170
193
|
if 200 <= _response.status_code < 300:
|
|
171
|
-
return
|
|
194
|
+
return typing.cast(
|
|
195
|
+
Workspace,
|
|
196
|
+
parse_obj_as(
|
|
197
|
+
type_=Workspace, # type: ignore
|
|
198
|
+
object_=_response.json(),
|
|
199
|
+
),
|
|
200
|
+
)
|
|
172
201
|
_response_json = _response.json()
|
|
173
202
|
except JSONDecodeError:
|
|
174
203
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
@@ -176,6 +205,7 @@ class WorkspacesClient:
|
|
|
176
205
|
|
|
177
206
|
def delete(self, id: int, *, request_options: typing.Optional[RequestOptions] = None) -> None:
|
|
178
207
|
"""
|
|
208
|
+
|
|
179
209
|
Delete a specific workspace. You will need to provide the workspace ID. You can find this using [List workspaces](list).
|
|
180
210
|
|
|
181
211
|
Parameters
|
|
@@ -192,7 +222,7 @@ class WorkspacesClient:
|
|
|
192
222
|
|
|
193
223
|
Examples
|
|
194
224
|
--------
|
|
195
|
-
from label_studio_sdk
|
|
225
|
+
from label_studio_sdk import LabelStudio
|
|
196
226
|
|
|
197
227
|
client = LabelStudio(
|
|
198
228
|
api_key="YOUR_API_KEY",
|
|
@@ -202,7 +232,9 @@ class WorkspacesClient:
|
|
|
202
232
|
)
|
|
203
233
|
"""
|
|
204
234
|
_response = self._client_wrapper.httpx_client.request(
|
|
205
|
-
f"api/workspaces/{jsonable_encoder(id)}",
|
|
235
|
+
f"api/workspaces/{jsonable_encoder(id)}",
|
|
236
|
+
method="DELETE",
|
|
237
|
+
request_options=request_options,
|
|
206
238
|
)
|
|
207
239
|
try:
|
|
208
240
|
if 200 <= _response.status_code < 300:
|
|
@@ -225,6 +257,7 @@ class WorkspacesClient:
|
|
|
225
257
|
request_options: typing.Optional[RequestOptions] = None,
|
|
226
258
|
) -> Workspace:
|
|
227
259
|
"""
|
|
260
|
+
|
|
228
261
|
Update a specific workspace. You will need to provide the workspace ID. You can find this using [List workspaces](list).
|
|
229
262
|
|
|
230
263
|
Parameters
|
|
@@ -260,7 +293,7 @@ class WorkspacesClient:
|
|
|
260
293
|
|
|
261
294
|
Examples
|
|
262
295
|
--------
|
|
263
|
-
from label_studio_sdk
|
|
296
|
+
from label_studio_sdk import LabelStudio
|
|
264
297
|
|
|
265
298
|
client = LabelStudio(
|
|
266
299
|
api_key="YOUR_API_KEY",
|
|
@@ -280,12 +313,21 @@ class WorkspacesClient:
|
|
|
280
313
|
"color": color,
|
|
281
314
|
"is_archived": is_archived,
|
|
282
315
|
},
|
|
316
|
+
headers={
|
|
317
|
+
"content-type": "application/json",
|
|
318
|
+
},
|
|
283
319
|
request_options=request_options,
|
|
284
320
|
omit=OMIT,
|
|
285
321
|
)
|
|
286
322
|
try:
|
|
287
323
|
if 200 <= _response.status_code < 300:
|
|
288
|
-
return
|
|
324
|
+
return typing.cast(
|
|
325
|
+
Workspace,
|
|
326
|
+
parse_obj_as(
|
|
327
|
+
type_=Workspace, # type: ignore
|
|
328
|
+
object_=_response.json(),
|
|
329
|
+
),
|
|
330
|
+
)
|
|
289
331
|
_response_json = _response.json()
|
|
290
332
|
except JSONDecodeError:
|
|
291
333
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
@@ -299,6 +341,7 @@ class AsyncWorkspacesClient:
|
|
|
299
341
|
|
|
300
342
|
async def list(self, *, request_options: typing.Optional[RequestOptions] = None) -> typing.List[Workspace]:
|
|
301
343
|
"""
|
|
344
|
+
|
|
302
345
|
List all workspaces for your organization.
|
|
303
346
|
|
|
304
347
|
Workspaces in Label Studio let you organize your projects and users into separate spaces. This is useful for managing different teams, departments, or projects within your organization.
|
|
@@ -317,19 +360,35 @@ class AsyncWorkspacesClient:
|
|
|
317
360
|
|
|
318
361
|
Examples
|
|
319
362
|
--------
|
|
320
|
-
|
|
363
|
+
import asyncio
|
|
364
|
+
|
|
365
|
+
from label_studio_sdk import AsyncLabelStudio
|
|
321
366
|
|
|
322
367
|
client = AsyncLabelStudio(
|
|
323
368
|
api_key="YOUR_API_KEY",
|
|
324
369
|
)
|
|
325
|
-
|
|
370
|
+
|
|
371
|
+
|
|
372
|
+
async def main() -> None:
|
|
373
|
+
await client.workspaces.list()
|
|
374
|
+
|
|
375
|
+
|
|
376
|
+
asyncio.run(main())
|
|
326
377
|
"""
|
|
327
378
|
_response = await self._client_wrapper.httpx_client.request(
|
|
328
|
-
"api/workspaces",
|
|
379
|
+
"api/workspaces",
|
|
380
|
+
method="GET",
|
|
381
|
+
request_options=request_options,
|
|
329
382
|
)
|
|
330
383
|
try:
|
|
331
384
|
if 200 <= _response.status_code < 300:
|
|
332
|
-
return
|
|
385
|
+
return typing.cast(
|
|
386
|
+
typing.List[Workspace],
|
|
387
|
+
parse_obj_as(
|
|
388
|
+
type_=typing.List[Workspace], # type: ignore
|
|
389
|
+
object_=_response.json(),
|
|
390
|
+
),
|
|
391
|
+
)
|
|
333
392
|
_response_json = _response.json()
|
|
334
393
|
except JSONDecodeError:
|
|
335
394
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
@@ -347,6 +406,7 @@ class AsyncWorkspacesClient:
|
|
|
347
406
|
request_options: typing.Optional[RequestOptions] = None,
|
|
348
407
|
) -> Workspace:
|
|
349
408
|
"""
|
|
409
|
+
|
|
350
410
|
Create a new workspace.
|
|
351
411
|
|
|
352
412
|
Workspaces in Label Studio let you organize your projects and users into separate spaces. This is useful for managing different teams, departments, or projects within your organization.
|
|
@@ -383,12 +443,20 @@ class AsyncWorkspacesClient:
|
|
|
383
443
|
|
|
384
444
|
Examples
|
|
385
445
|
--------
|
|
386
|
-
|
|
446
|
+
import asyncio
|
|
447
|
+
|
|
448
|
+
from label_studio_sdk import AsyncLabelStudio
|
|
387
449
|
|
|
388
450
|
client = AsyncLabelStudio(
|
|
389
451
|
api_key="YOUR_API_KEY",
|
|
390
452
|
)
|
|
391
|
-
|
|
453
|
+
|
|
454
|
+
|
|
455
|
+
async def main() -> None:
|
|
456
|
+
await client.workspaces.create()
|
|
457
|
+
|
|
458
|
+
|
|
459
|
+
asyncio.run(main())
|
|
392
460
|
"""
|
|
393
461
|
_response = await self._client_wrapper.httpx_client.request(
|
|
394
462
|
"api/workspaces",
|
|
@@ -401,12 +469,21 @@ class AsyncWorkspacesClient:
|
|
|
401
469
|
"color": color,
|
|
402
470
|
"is_archived": is_archived,
|
|
403
471
|
},
|
|
472
|
+
headers={
|
|
473
|
+
"content-type": "application/json",
|
|
474
|
+
},
|
|
404
475
|
request_options=request_options,
|
|
405
476
|
omit=OMIT,
|
|
406
477
|
)
|
|
407
478
|
try:
|
|
408
479
|
if 200 <= _response.status_code < 300:
|
|
409
|
-
return
|
|
480
|
+
return typing.cast(
|
|
481
|
+
Workspace,
|
|
482
|
+
parse_obj_as(
|
|
483
|
+
type_=Workspace, # type: ignore
|
|
484
|
+
object_=_response.json(),
|
|
485
|
+
),
|
|
486
|
+
)
|
|
410
487
|
_response_json = _response.json()
|
|
411
488
|
except JSONDecodeError:
|
|
412
489
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
@@ -414,6 +491,7 @@ class AsyncWorkspacesClient:
|
|
|
414
491
|
|
|
415
492
|
async def get(self, id: int, *, request_options: typing.Optional[RequestOptions] = None) -> Workspace:
|
|
416
493
|
"""
|
|
494
|
+
|
|
417
495
|
Get information about a specific workspace. You will need to provide the workspace ID. You can find this using [List workspaces](list).
|
|
418
496
|
|
|
419
497
|
Parameters
|
|
@@ -431,21 +509,37 @@ class AsyncWorkspacesClient:
|
|
|
431
509
|
|
|
432
510
|
Examples
|
|
433
511
|
--------
|
|
434
|
-
|
|
512
|
+
import asyncio
|
|
513
|
+
|
|
514
|
+
from label_studio_sdk import AsyncLabelStudio
|
|
435
515
|
|
|
436
516
|
client = AsyncLabelStudio(
|
|
437
517
|
api_key="YOUR_API_KEY",
|
|
438
518
|
)
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
)
|
|
519
|
+
|
|
520
|
+
|
|
521
|
+
async def main() -> None:
|
|
522
|
+
await client.workspaces.get(
|
|
523
|
+
id=1,
|
|
524
|
+
)
|
|
525
|
+
|
|
526
|
+
|
|
527
|
+
asyncio.run(main())
|
|
442
528
|
"""
|
|
443
529
|
_response = await self._client_wrapper.httpx_client.request(
|
|
444
|
-
f"api/workspaces/{jsonable_encoder(id)}",
|
|
530
|
+
f"api/workspaces/{jsonable_encoder(id)}",
|
|
531
|
+
method="GET",
|
|
532
|
+
request_options=request_options,
|
|
445
533
|
)
|
|
446
534
|
try:
|
|
447
535
|
if 200 <= _response.status_code < 300:
|
|
448
|
-
return
|
|
536
|
+
return typing.cast(
|
|
537
|
+
Workspace,
|
|
538
|
+
parse_obj_as(
|
|
539
|
+
type_=Workspace, # type: ignore
|
|
540
|
+
object_=_response.json(),
|
|
541
|
+
),
|
|
542
|
+
)
|
|
449
543
|
_response_json = _response.json()
|
|
450
544
|
except JSONDecodeError:
|
|
451
545
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
|
@@ -453,6 +547,7 @@ class AsyncWorkspacesClient:
|
|
|
453
547
|
|
|
454
548
|
async def delete(self, id: int, *, request_options: typing.Optional[RequestOptions] = None) -> None:
|
|
455
549
|
"""
|
|
550
|
+
|
|
456
551
|
Delete a specific workspace. You will need to provide the workspace ID. You can find this using [List workspaces](list).
|
|
457
552
|
|
|
458
553
|
Parameters
|
|
@@ -469,17 +564,27 @@ class AsyncWorkspacesClient:
|
|
|
469
564
|
|
|
470
565
|
Examples
|
|
471
566
|
--------
|
|
472
|
-
|
|
567
|
+
import asyncio
|
|
568
|
+
|
|
569
|
+
from label_studio_sdk import AsyncLabelStudio
|
|
473
570
|
|
|
474
571
|
client = AsyncLabelStudio(
|
|
475
572
|
api_key="YOUR_API_KEY",
|
|
476
573
|
)
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
)
|
|
574
|
+
|
|
575
|
+
|
|
576
|
+
async def main() -> None:
|
|
577
|
+
await client.workspaces.delete(
|
|
578
|
+
id=1,
|
|
579
|
+
)
|
|
580
|
+
|
|
581
|
+
|
|
582
|
+
asyncio.run(main())
|
|
480
583
|
"""
|
|
481
584
|
_response = await self._client_wrapper.httpx_client.request(
|
|
482
|
-
f"api/workspaces/{jsonable_encoder(id)}",
|
|
585
|
+
f"api/workspaces/{jsonable_encoder(id)}",
|
|
586
|
+
method="DELETE",
|
|
587
|
+
request_options=request_options,
|
|
483
588
|
)
|
|
484
589
|
try:
|
|
485
590
|
if 200 <= _response.status_code < 300:
|
|
@@ -502,6 +607,7 @@ class AsyncWorkspacesClient:
|
|
|
502
607
|
request_options: typing.Optional[RequestOptions] = None,
|
|
503
608
|
) -> Workspace:
|
|
504
609
|
"""
|
|
610
|
+
|
|
505
611
|
Update a specific workspace. You will need to provide the workspace ID. You can find this using [List workspaces](list).
|
|
506
612
|
|
|
507
613
|
Parameters
|
|
@@ -537,14 +643,22 @@ class AsyncWorkspacesClient:
|
|
|
537
643
|
|
|
538
644
|
Examples
|
|
539
645
|
--------
|
|
540
|
-
|
|
646
|
+
import asyncio
|
|
647
|
+
|
|
648
|
+
from label_studio_sdk import AsyncLabelStudio
|
|
541
649
|
|
|
542
650
|
client = AsyncLabelStudio(
|
|
543
651
|
api_key="YOUR_API_KEY",
|
|
544
652
|
)
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
)
|
|
653
|
+
|
|
654
|
+
|
|
655
|
+
async def main() -> None:
|
|
656
|
+
await client.workspaces.update(
|
|
657
|
+
id=1,
|
|
658
|
+
)
|
|
659
|
+
|
|
660
|
+
|
|
661
|
+
asyncio.run(main())
|
|
548
662
|
"""
|
|
549
663
|
_response = await self._client_wrapper.httpx_client.request(
|
|
550
664
|
f"api/workspaces/{jsonable_encoder(id)}",
|
|
@@ -557,12 +671,21 @@ class AsyncWorkspacesClient:
|
|
|
557
671
|
"color": color,
|
|
558
672
|
"is_archived": is_archived,
|
|
559
673
|
},
|
|
674
|
+
headers={
|
|
675
|
+
"content-type": "application/json",
|
|
676
|
+
},
|
|
560
677
|
request_options=request_options,
|
|
561
678
|
omit=OMIT,
|
|
562
679
|
)
|
|
563
680
|
try:
|
|
564
681
|
if 200 <= _response.status_code < 300:
|
|
565
|
-
return
|
|
682
|
+
return typing.cast(
|
|
683
|
+
Workspace,
|
|
684
|
+
parse_obj_as(
|
|
685
|
+
type_=Workspace, # type: ignore
|
|
686
|
+
object_=_response.json(),
|
|
687
|
+
),
|
|
688
|
+
)
|
|
566
689
|
_response_json = _response.json()
|
|
567
690
|
except JSONDecodeError:
|
|
568
691
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|