-
Notifications
You must be signed in to change notification settings - Fork 84
/
Copy pathclient.py
140 lines (118 loc) · 4.98 KB
/
client.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
# This file was auto-generated by Fern from our API Definition.
from ..core.client_wrapper import SyncClientWrapper
from .azure.client import AzureClient
from .gcs.client import GcsClient
from .local.client import LocalClient
from .redis.client import RedisClient
from .s3.client import S3Client
from .s3s.client import S3SClient
import typing
from ..core.request_options import RequestOptions
from .types.import_storage_list_types_response_item import ImportStorageListTypesResponseItem
from ..core.pydantic_utilities import parse_obj_as
from json.decoder import JSONDecodeError
from ..core.api_error import ApiError
from ..core.client_wrapper import AsyncClientWrapper
from .azure.client import AsyncAzureClient
from .gcs.client import AsyncGcsClient
from .local.client import AsyncLocalClient
from .redis.client import AsyncRedisClient
from .s3.client import AsyncS3Client
from .s3s.client import AsyncS3SClient
class ImportStorageClient:
def __init__(self, *, client_wrapper: SyncClientWrapper):
self._client_wrapper = client_wrapper
self.azure = AzureClient(client_wrapper=self._client_wrapper)
self.gcs = GcsClient(client_wrapper=self._client_wrapper)
self.local = LocalClient(client_wrapper=self._client_wrapper)
self.redis = RedisClient(client_wrapper=self._client_wrapper)
self.s3 = S3Client(client_wrapper=self._client_wrapper)
self.s3s = S3SClient(client_wrapper=self._client_wrapper)
def list_types(
self, *, request_options: typing.Optional[RequestOptions] = None
) -> typing.List[ImportStorageListTypesResponseItem]:
"""
Retrieve a list of the import storages types.
Parameters
----------
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
Returns
-------
typing.List[ImportStorageListTypesResponseItem]
Examples
--------
from label_studio_sdk import LabelStudio
client = LabelStudio(
api_key="YOUR_API_KEY",
)
client.import_storage.list_types()
"""
_response = self._client_wrapper.httpx_client.request(
"api/storages/types",
method="GET",
request_options=request_options,
)
try:
if 200 <= _response.status_code < 300:
return typing.cast(
typing.List[ImportStorageListTypesResponseItem],
parse_obj_as(
type_=typing.List[ImportStorageListTypesResponseItem], # type: ignore
object_=_response.json(),
),
)
_response_json = _response.json()
except JSONDecodeError:
raise ApiError(status_code=_response.status_code, body=_response.text)
raise ApiError(status_code=_response.status_code, body=_response_json)
class AsyncImportStorageClient:
def __init__(self, *, client_wrapper: AsyncClientWrapper):
self._client_wrapper = client_wrapper
self.azure = AsyncAzureClient(client_wrapper=self._client_wrapper)
self.gcs = AsyncGcsClient(client_wrapper=self._client_wrapper)
self.local = AsyncLocalClient(client_wrapper=self._client_wrapper)
self.redis = AsyncRedisClient(client_wrapper=self._client_wrapper)
self.s3 = AsyncS3Client(client_wrapper=self._client_wrapper)
self.s3s = AsyncS3SClient(client_wrapper=self._client_wrapper)
async def list_types(
self, *, request_options: typing.Optional[RequestOptions] = None
) -> typing.List[ImportStorageListTypesResponseItem]:
"""
Retrieve a list of the import storages types.
Parameters
----------
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
Returns
-------
typing.List[ImportStorageListTypesResponseItem]
Examples
--------
import asyncio
from label_studio_sdk import AsyncLabelStudio
client = AsyncLabelStudio(
api_key="YOUR_API_KEY",
)
async def main() -> None:
await client.import_storage.list_types()
asyncio.run(main())
"""
_response = await self._client_wrapper.httpx_client.request(
"api/storages/types",
method="GET",
request_options=request_options,
)
try:
if 200 <= _response.status_code < 300:
return typing.cast(
typing.List[ImportStorageListTypesResponseItem],
parse_obj_as(
type_=typing.List[ImportStorageListTypesResponseItem], # type: ignore
object_=_response.json(),
),
)
_response_json = _response.json()
except JSONDecodeError:
raise ApiError(status_code=_response.status_code, body=_response.text)
raise ApiError(status_code=_response.status_code, body=_response_json)