wallaroo.wallaroo_ml_ops_api_client.api.model.models_upload_stream

  1from typing import Any, Dict, Optional, Union
  2
  3import httpx
  4
  5from ...client import Client
  6from ...models.models_upload_stream_response_200 import \
  7    ModelsUploadStreamResponse200
  8from ...models.models_upload_stream_response_400 import \
  9    ModelsUploadStreamResponse400
 10from ...models.models_upload_stream_response_401 import \
 11    ModelsUploadStreamResponse401
 12from ...models.models_upload_stream_response_500 import \
 13    ModelsUploadStreamResponse500
 14from ...models.models_upload_stream_visibility import \
 15    ModelsUploadStreamVisibility
 16from ...types import UNSET, Response
 17
 18
 19def _get_kwargs(
 20    *,
 21    client: Client,
 22    name: str,
 23    filename: str,
 24    visibility: ModelsUploadStreamVisibility,
 25    workspace_id: int,
 26
 27) -> Dict[str, Any]:
 28    url = "{}/v1/api/models/upload_stream".format(
 29        client.base_url)
 30
 31    headers: Dict[str, str] = client.get_headers()
 32    cookies: Dict[str, Any] = client.get_cookies()
 33
 34    
 35
 36    
 37
 38    params: Dict[str, Any] = {}
 39    params["name"] = name
 40
 41
 42    params["filename"] = filename
 43
 44
 45    json_visibility = visibility.value
 46
 47    params["visibility"] = json_visibility
 48
 49
 50    params["workspace_id"] = workspace_id
 51
 52
 53
 54    params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
 55
 56
 57    
 58
 59    
 60
 61    return {
 62	    "method": "post",
 63        "url": url,
 64        "headers": headers,
 65        "cookies": cookies,
 66        "timeout": client.get_timeout(),
 67        "params": params,
 68    }
 69
 70
 71def _parse_response(*, response: httpx.Response) -> Optional[Union[ModelsUploadStreamResponse200, ModelsUploadStreamResponse400, ModelsUploadStreamResponse401, ModelsUploadStreamResponse500]]:
 72    if response.status_code == 500:
 73        response_500 = ModelsUploadStreamResponse500.from_dict(response.json())
 74
 75
 76
 77        return response_500
 78    if response.status_code == 400:
 79        response_400 = ModelsUploadStreamResponse400.from_dict(response.json())
 80
 81
 82
 83        return response_400
 84    if response.status_code == 401:
 85        response_401 = ModelsUploadStreamResponse401.from_dict(response.json())
 86
 87
 88
 89        return response_401
 90    if response.status_code == 200:
 91        response_200 = ModelsUploadStreamResponse200.from_dict(response.json())
 92
 93
 94
 95        return response_200
 96    return None
 97
 98
 99def _build_response(*, response: httpx.Response) -> Response[Union[ModelsUploadStreamResponse200, ModelsUploadStreamResponse400, ModelsUploadStreamResponse401, ModelsUploadStreamResponse500]]:
100    return Response(
101        status_code=response.status_code,
102        content=response.content,
103        headers=response.headers,
104        parsed=_parse_response(response=response),
105    )
106
107
108def sync_detailed(
109    *,
110    client: Client,
111    name: str,
112    filename: str,
113    visibility: ModelsUploadStreamVisibility,
114    workspace_id: int,
115
116) -> Response[Union[ModelsUploadStreamResponse200, ModelsUploadStreamResponse400, ModelsUploadStreamResponse401, ModelsUploadStreamResponse500]]:
117    """Stream a large model directly into storage
118
119     Streams a potentially large model directly into storage.
120
121    Args:
122        name (str):  Name of the model in the workspace.
123        filename (str):  Model filename.
124        visibility (ModelsUploadStreamVisibility):  Desired model visibility.
125        workspace_id (int):  Workspace identifier.
126
127    Returns:
128        Response[Union[ModelsUploadStreamResponse200, ModelsUploadStreamResponse400, ModelsUploadStreamResponse401, ModelsUploadStreamResponse500]]
129    """
130
131
132    kwargs = _get_kwargs(
133        client=client,
134name=name,
135filename=filename,
136visibility=visibility,
137workspace_id=workspace_id,
138
139    )
140
141    response = httpx.request(
142        verify=client.verify_ssl,
143        **kwargs,
144    )
145
146    return _build_response(response=response)
147
148def sync(
149    *,
150    client: Client,
151    name: str,
152    filename: str,
153    visibility: ModelsUploadStreamVisibility,
154    workspace_id: int,
155
156) -> Optional[Union[ModelsUploadStreamResponse200, ModelsUploadStreamResponse400, ModelsUploadStreamResponse401, ModelsUploadStreamResponse500]]:
157    """Stream a large model directly into storage
158
159     Streams a potentially large model directly into storage.
160
161    Args:
162        name (str):  Name of the model in the workspace.
163        filename (str):  Model filename.
164        visibility (ModelsUploadStreamVisibility):  Desired model visibility.
165        workspace_id (int):  Workspace identifier.
166
167    Returns:
168        Response[Union[ModelsUploadStreamResponse200, ModelsUploadStreamResponse400, ModelsUploadStreamResponse401, ModelsUploadStreamResponse500]]
169    """
170
171
172    return sync_detailed(
173        client=client,
174name=name,
175filename=filename,
176visibility=visibility,
177workspace_id=workspace_id,
178
179    ).parsed
180
181async def asyncio_detailed(
182    *,
183    client: Client,
184    name: str,
185    filename: str,
186    visibility: ModelsUploadStreamVisibility,
187    workspace_id: int,
188
189) -> Response[Union[ModelsUploadStreamResponse200, ModelsUploadStreamResponse400, ModelsUploadStreamResponse401, ModelsUploadStreamResponse500]]:
190    """Stream a large model directly into storage
191
192     Streams a potentially large model directly into storage.
193
194    Args:
195        name (str):  Name of the model in the workspace.
196        filename (str):  Model filename.
197        visibility (ModelsUploadStreamVisibility):  Desired model visibility.
198        workspace_id (int):  Workspace identifier.
199
200    Returns:
201        Response[Union[ModelsUploadStreamResponse200, ModelsUploadStreamResponse400, ModelsUploadStreamResponse401, ModelsUploadStreamResponse500]]
202    """
203
204
205    kwargs = _get_kwargs(
206        client=client,
207name=name,
208filename=filename,
209visibility=visibility,
210workspace_id=workspace_id,
211
212    )
213
214    async with httpx.AsyncClient(verify=client.verify_ssl) as _client:
215        response = await _client.request(
216            **kwargs
217        )
218
219    return _build_response(response=response)
220
221async def asyncio(
222    *,
223    client: Client,
224    name: str,
225    filename: str,
226    visibility: ModelsUploadStreamVisibility,
227    workspace_id: int,
228
229) -> Optional[Union[ModelsUploadStreamResponse200, ModelsUploadStreamResponse400, ModelsUploadStreamResponse401, ModelsUploadStreamResponse500]]:
230    """Stream a large model directly into storage
231
232     Streams a potentially large model directly into storage.
233
234    Args:
235        name (str):  Name of the model in the workspace.
236        filename (str):  Model filename.
237        visibility (ModelsUploadStreamVisibility):  Desired model visibility.
238        workspace_id (int):  Workspace identifier.
239
240    Returns:
241        Response[Union[ModelsUploadStreamResponse200, ModelsUploadStreamResponse400, ModelsUploadStreamResponse401, ModelsUploadStreamResponse500]]
242    """
243
244
245    return (await asyncio_detailed(
246        client=client,
247name=name,
248filename=filename,
249visibility=visibility,
250workspace_id=workspace_id,
251
252    )).parsed
109def sync_detailed(
110    *,
111    client: Client,
112    name: str,
113    filename: str,
114    visibility: ModelsUploadStreamVisibility,
115    workspace_id: int,
116
117) -> Response[Union[ModelsUploadStreamResponse200, ModelsUploadStreamResponse400, ModelsUploadStreamResponse401, ModelsUploadStreamResponse500]]:
118    """Stream a large model directly into storage
119
120     Streams a potentially large model directly into storage.
121
122    Args:
123        name (str):  Name of the model in the workspace.
124        filename (str):  Model filename.
125        visibility (ModelsUploadStreamVisibility):  Desired model visibility.
126        workspace_id (int):  Workspace identifier.
127
128    Returns:
129        Response[Union[ModelsUploadStreamResponse200, ModelsUploadStreamResponse400, ModelsUploadStreamResponse401, ModelsUploadStreamResponse500]]
130    """
131
132
133    kwargs = _get_kwargs(
134        client=client,
135name=name,
136filename=filename,
137visibility=visibility,
138workspace_id=workspace_id,
139
140    )
141
142    response = httpx.request(
143        verify=client.verify_ssl,
144        **kwargs,
145    )
146
147    return _build_response(response=response)

Stream a large model directly into storage

Streams a potentially large model directly into storage.

Args: name (str): Name of the model in the workspace. filename (str): Model filename. visibility (ModelsUploadStreamVisibility): Desired model visibility. workspace_id (int): Workspace identifier.

Returns: Response[Union[ModelsUploadStreamResponse200, ModelsUploadStreamResponse400, ModelsUploadStreamResponse401, ModelsUploadStreamResponse500]]

149def sync(
150    *,
151    client: Client,
152    name: str,
153    filename: str,
154    visibility: ModelsUploadStreamVisibility,
155    workspace_id: int,
156
157) -> Optional[Union[ModelsUploadStreamResponse200, ModelsUploadStreamResponse400, ModelsUploadStreamResponse401, ModelsUploadStreamResponse500]]:
158    """Stream a large model directly into storage
159
160     Streams a potentially large model directly into storage.
161
162    Args:
163        name (str):  Name of the model in the workspace.
164        filename (str):  Model filename.
165        visibility (ModelsUploadStreamVisibility):  Desired model visibility.
166        workspace_id (int):  Workspace identifier.
167
168    Returns:
169        Response[Union[ModelsUploadStreamResponse200, ModelsUploadStreamResponse400, ModelsUploadStreamResponse401, ModelsUploadStreamResponse500]]
170    """
171
172
173    return sync_detailed(
174        client=client,
175name=name,
176filename=filename,
177visibility=visibility,
178workspace_id=workspace_id,
179
180    ).parsed

Stream a large model directly into storage

Streams a potentially large model directly into storage.

Args: name (str): Name of the model in the workspace. filename (str): Model filename. visibility (ModelsUploadStreamVisibility): Desired model visibility. workspace_id (int): Workspace identifier.

Returns: Response[Union[ModelsUploadStreamResponse200, ModelsUploadStreamResponse400, ModelsUploadStreamResponse401, ModelsUploadStreamResponse500]]

182async def asyncio_detailed(
183    *,
184    client: Client,
185    name: str,
186    filename: str,
187    visibility: ModelsUploadStreamVisibility,
188    workspace_id: int,
189
190) -> Response[Union[ModelsUploadStreamResponse200, ModelsUploadStreamResponse400, ModelsUploadStreamResponse401, ModelsUploadStreamResponse500]]:
191    """Stream a large model directly into storage
192
193     Streams a potentially large model directly into storage.
194
195    Args:
196        name (str):  Name of the model in the workspace.
197        filename (str):  Model filename.
198        visibility (ModelsUploadStreamVisibility):  Desired model visibility.
199        workspace_id (int):  Workspace identifier.
200
201    Returns:
202        Response[Union[ModelsUploadStreamResponse200, ModelsUploadStreamResponse400, ModelsUploadStreamResponse401, ModelsUploadStreamResponse500]]
203    """
204
205
206    kwargs = _get_kwargs(
207        client=client,
208name=name,
209filename=filename,
210visibility=visibility,
211workspace_id=workspace_id,
212
213    )
214
215    async with httpx.AsyncClient(verify=client.verify_ssl) as _client:
216        response = await _client.request(
217            **kwargs
218        )
219
220    return _build_response(response=response)

Stream a large model directly into storage

Streams a potentially large model directly into storage.

Args: name (str): Name of the model in the workspace. filename (str): Model filename. visibility (ModelsUploadStreamVisibility): Desired model visibility. workspace_id (int): Workspace identifier.

Returns: Response[Union[ModelsUploadStreamResponse200, ModelsUploadStreamResponse400, ModelsUploadStreamResponse401, ModelsUploadStreamResponse500]]

222async def asyncio(
223    *,
224    client: Client,
225    name: str,
226    filename: str,
227    visibility: ModelsUploadStreamVisibility,
228    workspace_id: int,
229
230) -> Optional[Union[ModelsUploadStreamResponse200, ModelsUploadStreamResponse400, ModelsUploadStreamResponse401, ModelsUploadStreamResponse500]]:
231    """Stream a large model directly into storage
232
233     Streams a potentially large model directly into storage.
234
235    Args:
236        name (str):  Name of the model in the workspace.
237        filename (str):  Model filename.
238        visibility (ModelsUploadStreamVisibility):  Desired model visibility.
239        workspace_id (int):  Workspace identifier.
240
241    Returns:
242        Response[Union[ModelsUploadStreamResponse200, ModelsUploadStreamResponse400, ModelsUploadStreamResponse401, ModelsUploadStreamResponse500]]
243    """
244
245
246    return (await asyncio_detailed(
247        client=client,
248name=name,
249filename=filename,
250visibility=visibility,
251workspace_id=workspace_id,
252
253    )).parsed

Stream a large model directly into storage

Streams a potentially large model directly into storage.

Args: name (str): Name of the model in the workspace. filename (str): Model filename. visibility (ModelsUploadStreamVisibility): Desired model visibility. workspace_id (int): Workspace identifier.

Returns: Response[Union[ModelsUploadStreamResponse200, ModelsUploadStreamResponse400, ModelsUploadStreamResponse401, ModelsUploadStreamResponse500]]