beamlit 0.0.18__py3-none-any.whl → 0.0.20rc1__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.
- beamlit/api/agents/create_agent.py +14 -9
- beamlit/api/agents/get_agent_deployment.py +22 -1
- beamlit/api/agents/update_agent.py +14 -9
- beamlit/api/functions/create_function.py +14 -9
- beamlit/api/functions/update_function.py +14 -9
- beamlit/api/{authentication_providers/list_organizations_for_authentication_provider.py → integrations/create_integration_connection.py} +45 -41
- beamlit/api/integrations/delete_integration_connection.py +158 -0
- beamlit/api/integrations/get_integration.py +97 -0
- beamlit/api/integrations/get_integration_connection.py +154 -0
- beamlit/api/integrations/get_integration_connection_model.py +97 -0
- beamlit/api/integrations/get_integration_model.py +97 -0
- beamlit/api/integrations/list_integration_connection_models.py +97 -0
- beamlit/api/{authentication_providers/list_models_for_authentication_provider.py → integrations/list_integration_connections.py} +24 -48
- beamlit/api/integrations/list_integration_models.py +97 -0
- beamlit/api/integrations/update_integration_connection.py +180 -0
- beamlit/authentication/__init__.py +2 -1
- beamlit/authentication/authentication.py +3 -0
- beamlit/authentication/clientcredentials.py +99 -0
- beamlit/authentication/credentials.py +7 -1
- beamlit/authentication/device_mode.py +0 -2
- beamlit/common/generate.py +166 -0
- beamlit/common/logger.py +30 -0
- beamlit/common/settings.py +112 -0
- beamlit/common/utils.py +13 -0
- beamlit/models/__init__.py +50 -24
- beamlit/models/agent_deployment.py +117 -49
- beamlit/models/{agent_deployment_configuration.py → agent_deployment_configuration_type_0.py} +5 -5
- beamlit/models/agent_deployment_history.py +46 -13
- beamlit/models/agent_deployment_history_event.py +78 -22
- beamlit/models/{function_deployment_pod_template.py → agent_deployment_pod_template_type_0.py} +5 -5
- beamlit/models/agent_with_deployments.py +174 -0
- beamlit/models/deployment_configurations.py +19 -6
- beamlit/models/deployment_serverless_config_type_0.py +218 -0
- beamlit/models/environment_metrics.py +19 -0
- beamlit/models/function_deployment.py +110 -42
- beamlit/models/{function_deployment_configuration.py → function_deployment_configuration_type_0.py} +5 -5
- beamlit/models/{agent_deployment_pod_template.py → function_deployment_pod_template_type_0.py} +5 -5
- beamlit/models/function_with_deployments.py +174 -0
- beamlit/models/increase_and_rate_metric.py +102 -0
- beamlit/models/integration.py +196 -0
- beamlit/models/integration_config.py +43 -0
- beamlit/models/integration_connection.py +196 -0
- beamlit/models/integration_connection_config.py +43 -0
- beamlit/models/integration_connection_secret.py +59 -0
- beamlit/models/integration_model.py +142 -0
- beamlit/models/integration_secret.py +59 -0
- beamlit/models/metrics.py +61 -20
- beamlit/models/model_deployment.py +96 -64
- beamlit/models/{model_deployment_pod_template.py → model_deployment_pod_template_type_0.py} +5 -5
- beamlit/models/policy.py +8 -34
- beamlit/models/provider_config.py +0 -9
- beamlit/models/resource_deployment_metrics.py +231 -36
- beamlit/models/resource_deployment_metrics_inference_per_region_type_0.py +75 -0
- beamlit/models/{resource_deployment_metrics_inference_per_second_per_region.py → resource_deployment_metrics_inference_per_second_per_region_type_0.py} +5 -5
- beamlit/models/resource_deployment_metrics_query_per_region_per_code_type_0.py +73 -0
- beamlit/models/{resource_deployment_metrics_query_per_second_per_region_per_code.py → resource_deployment_metrics_query_per_second_per_region_per_code_type_0.py} +5 -5
- beamlit/models/resource_metrics.py +36 -0
- beamlit/models/runtime.py +29 -12
- beamlit/models/{runtime_readiness_probe.py → runtime_readiness_probe_type_0.py} +5 -5
- beamlit/models/store_agent.py +29 -13
- beamlit/models/{store_agent_labels.py → store_agent_labels_type_0.py} +5 -5
- beamlit/models/store_configuration.py +15 -4
- beamlit/models/store_configuration_option.py +18 -5
- beamlit/models/store_function.py +29 -13
- beamlit/models/{store_function_labels.py → store_function_labels_type_0.py} +5 -5
- beamlit/run.py +49 -0
- {beamlit-0.0.18.dist-info → beamlit-0.0.20rc1.dist-info}/METADATA +5 -2
- {beamlit-0.0.18.dist-info → beamlit-0.0.20rc1.dist-info}/RECORD +70 -46
- beamlit/api/authentication_providers/get_model_with_repo_for_authentication_provider.py +0 -184
- beamlit/models/deployment_serverless_config.py +0 -129
- beamlit/models/labels.py +0 -43
- /beamlit/api/{authentication_providers → integrations}/__init__.py +0 -0
- {beamlit-0.0.18.dist-info → beamlit-0.0.20rc1.dist-info}/WHEEL +0 -0
@@ -1,4 +1,4 @@
|
|
1
|
-
from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union
|
1
|
+
from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union, cast
|
2
2
|
|
3
3
|
from attrs import define as _attrs_define
|
4
4
|
from attrs import field as _attrs_field
|
@@ -8,11 +8,17 @@ from ..types import UNSET, Unset
|
|
8
8
|
if TYPE_CHECKING:
|
9
9
|
from ..models.metric import Metric
|
10
10
|
from ..models.qps import QPS
|
11
|
-
from ..models.
|
12
|
-
|
11
|
+
from ..models.resource_deployment_metrics_inference_per_region_type_0 import (
|
12
|
+
ResourceDeploymentMetricsInferencePerRegionType0,
|
13
13
|
)
|
14
|
-
from ..models.
|
15
|
-
|
14
|
+
from ..models.resource_deployment_metrics_inference_per_second_per_region_type_0 import (
|
15
|
+
ResourceDeploymentMetricsInferencePerSecondPerRegionType0,
|
16
|
+
)
|
17
|
+
from ..models.resource_deployment_metrics_query_per_region_per_code_type_0 import (
|
18
|
+
ResourceDeploymentMetricsQueryPerRegionPerCodeType0,
|
19
|
+
)
|
20
|
+
from ..models.resource_deployment_metrics_query_per_second_per_region_per_code_type_0 import (
|
21
|
+
ResourceDeploymentMetricsQueryPerSecondPerRegionPerCodeType0,
|
16
22
|
)
|
17
23
|
|
18
24
|
|
@@ -24,29 +30,75 @@ class ResourceDeploymentMetrics:
|
|
24
30
|
"""Metrics for a single resource deployment (eg. model deployment, function deployment)
|
25
31
|
|
26
32
|
Attributes:
|
33
|
+
inference_global (Union[Unset, List['Metric']]): Array of metrics
|
34
|
+
inference_per_region (Union['ResourceDeploymentMetricsInferencePerRegionType0', None, Unset]): Historical
|
35
|
+
requests (in last 24 hours) per location, for the model deployment
|
27
36
|
inference_per_second_global (Union[Unset, List['Metric']]): Array of metrics
|
28
|
-
inference_per_second_per_region (Union[
|
29
|
-
requests per second (RPS) per location, for the model deployment
|
37
|
+
inference_per_second_per_region (Union['ResourceDeploymentMetricsInferencePerSecondPerRegionType0', None,
|
38
|
+
Unset]): Historical requests per second (RPS) per location, for the model deployment
|
39
|
+
query_global (Union[Unset, float]): Number of requests done on the resource for the model deployment
|
40
|
+
query_per_code_global (Union[Unset, QPS]): Query per second per element, can be per response status code (e.g.
|
41
|
+
200, 400) or per location
|
42
|
+
query_per_region (Union[Unset, QPS]): Query per second per element, can be per response status code (e.g. 200,
|
43
|
+
400) or per location
|
44
|
+
query_per_region_per_code (Union['ResourceDeploymentMetricsQueryPerRegionPerCodeType0', None, Unset]): Number of
|
45
|
+
requests done on the resource for the model deployment
|
30
46
|
query_per_second_global (Union[Unset, float]): RPS value (in last 24 hours) for the model deployment globally
|
31
47
|
query_per_second_per_code_global (Union[Unset, QPS]): Query per second per element, can be per response status
|
32
48
|
code (e.g. 200, 400) or per location
|
33
49
|
query_per_second_per_region (Union[Unset, QPS]): Query per second per element, can be per response status code
|
34
50
|
(e.g. 200, 400) or per location
|
35
|
-
query_per_second_per_region_per_code (Union[
|
36
|
-
RPS value (in last 24 hours) per response status code per location, for the model deployment
|
51
|
+
query_per_second_per_region_per_code (Union['ResourceDeploymentMetricsQueryPerSecondPerRegionPerCodeType0',
|
52
|
+
None, Unset]): RPS value (in last 24 hours) per response status code per location, for the model deployment
|
37
53
|
"""
|
38
54
|
|
55
|
+
inference_global: Union[Unset, List["Metric"]] = UNSET
|
56
|
+
inference_per_region: Union["ResourceDeploymentMetricsInferencePerRegionType0", None, Unset] = UNSET
|
39
57
|
inference_per_second_global: Union[Unset, List["Metric"]] = UNSET
|
40
|
-
inference_per_second_per_region: Union[
|
58
|
+
inference_per_second_per_region: Union["ResourceDeploymentMetricsInferencePerSecondPerRegionType0", None, Unset] = (
|
59
|
+
UNSET
|
60
|
+
)
|
61
|
+
query_global: Union[Unset, float] = UNSET
|
62
|
+
query_per_code_global: Union[Unset, "QPS"] = UNSET
|
63
|
+
query_per_region: Union[Unset, "QPS"] = UNSET
|
64
|
+
query_per_region_per_code: Union["ResourceDeploymentMetricsQueryPerRegionPerCodeType0", None, Unset] = UNSET
|
41
65
|
query_per_second_global: Union[Unset, float] = UNSET
|
42
66
|
query_per_second_per_code_global: Union[Unset, "QPS"] = UNSET
|
43
67
|
query_per_second_per_region: Union[Unset, "QPS"] = UNSET
|
44
|
-
query_per_second_per_region_per_code: Union[
|
45
|
-
|
46
|
-
|
68
|
+
query_per_second_per_region_per_code: Union[
|
69
|
+
"ResourceDeploymentMetricsQueryPerSecondPerRegionPerCodeType0", None, Unset
|
70
|
+
] = UNSET
|
47
71
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
48
72
|
|
49
73
|
def to_dict(self) -> dict[str, Any]:
|
74
|
+
from ..models.resource_deployment_metrics_inference_per_region_type_0 import (
|
75
|
+
ResourceDeploymentMetricsInferencePerRegionType0,
|
76
|
+
)
|
77
|
+
from ..models.resource_deployment_metrics_inference_per_second_per_region_type_0 import (
|
78
|
+
ResourceDeploymentMetricsInferencePerSecondPerRegionType0,
|
79
|
+
)
|
80
|
+
from ..models.resource_deployment_metrics_query_per_region_per_code_type_0 import (
|
81
|
+
ResourceDeploymentMetricsQueryPerRegionPerCodeType0,
|
82
|
+
)
|
83
|
+
from ..models.resource_deployment_metrics_query_per_second_per_region_per_code_type_0 import (
|
84
|
+
ResourceDeploymentMetricsQueryPerSecondPerRegionPerCodeType0,
|
85
|
+
)
|
86
|
+
|
87
|
+
inference_global: Union[Unset, List[Dict[str, Any]]] = UNSET
|
88
|
+
if not isinstance(self.inference_global, Unset):
|
89
|
+
inference_global = []
|
90
|
+
for componentsschemas_array_metric_item_data in self.inference_global:
|
91
|
+
componentsschemas_array_metric_item = componentsschemas_array_metric_item_data.to_dict()
|
92
|
+
inference_global.append(componentsschemas_array_metric_item)
|
93
|
+
|
94
|
+
inference_per_region: Union[Dict[str, Any], None, Unset]
|
95
|
+
if isinstance(self.inference_per_region, Unset):
|
96
|
+
inference_per_region = UNSET
|
97
|
+
elif isinstance(self.inference_per_region, ResourceDeploymentMetricsInferencePerRegionType0):
|
98
|
+
inference_per_region = self.inference_per_region.to_dict()
|
99
|
+
else:
|
100
|
+
inference_per_region = self.inference_per_region
|
101
|
+
|
50
102
|
inference_per_second_global: Union[Unset, List[Dict[str, Any]]] = UNSET
|
51
103
|
if not isinstance(self.inference_per_second_global, Unset):
|
52
104
|
inference_per_second_global = []
|
@@ -54,9 +106,33 @@ class ResourceDeploymentMetrics:
|
|
54
106
|
componentsschemas_array_metric_item = componentsschemas_array_metric_item_data.to_dict()
|
55
107
|
inference_per_second_global.append(componentsschemas_array_metric_item)
|
56
108
|
|
57
|
-
inference_per_second_per_region: Union[
|
58
|
-
if
|
109
|
+
inference_per_second_per_region: Union[Dict[str, Any], None, Unset]
|
110
|
+
if isinstance(self.inference_per_second_per_region, Unset):
|
111
|
+
inference_per_second_per_region = UNSET
|
112
|
+
elif isinstance(
|
113
|
+
self.inference_per_second_per_region, ResourceDeploymentMetricsInferencePerSecondPerRegionType0
|
114
|
+
):
|
59
115
|
inference_per_second_per_region = self.inference_per_second_per_region.to_dict()
|
116
|
+
else:
|
117
|
+
inference_per_second_per_region = self.inference_per_second_per_region
|
118
|
+
|
119
|
+
query_global = self.query_global
|
120
|
+
|
121
|
+
query_per_code_global: Union[Unset, Dict[str, Any]] = UNSET
|
122
|
+
if not isinstance(self.query_per_code_global, Unset):
|
123
|
+
query_per_code_global = self.query_per_code_global.to_dict()
|
124
|
+
|
125
|
+
query_per_region: Union[Unset, Dict[str, Any]] = UNSET
|
126
|
+
if not isinstance(self.query_per_region, Unset):
|
127
|
+
query_per_region = self.query_per_region.to_dict()
|
128
|
+
|
129
|
+
query_per_region_per_code: Union[Dict[str, Any], None, Unset]
|
130
|
+
if isinstance(self.query_per_region_per_code, Unset):
|
131
|
+
query_per_region_per_code = UNSET
|
132
|
+
elif isinstance(self.query_per_region_per_code, ResourceDeploymentMetricsQueryPerRegionPerCodeType0):
|
133
|
+
query_per_region_per_code = self.query_per_region_per_code.to_dict()
|
134
|
+
else:
|
135
|
+
query_per_region_per_code = self.query_per_region_per_code
|
60
136
|
|
61
137
|
query_per_second_global = self.query_per_second_global
|
62
138
|
|
@@ -68,17 +144,35 @@ class ResourceDeploymentMetrics:
|
|
68
144
|
if not isinstance(self.query_per_second_per_region, Unset):
|
69
145
|
query_per_second_per_region = self.query_per_second_per_region.to_dict()
|
70
146
|
|
71
|
-
query_per_second_per_region_per_code: Union[
|
72
|
-
if
|
147
|
+
query_per_second_per_region_per_code: Union[Dict[str, Any], None, Unset]
|
148
|
+
if isinstance(self.query_per_second_per_region_per_code, Unset):
|
149
|
+
query_per_second_per_region_per_code = UNSET
|
150
|
+
elif isinstance(
|
151
|
+
self.query_per_second_per_region_per_code, ResourceDeploymentMetricsQueryPerSecondPerRegionPerCodeType0
|
152
|
+
):
|
73
153
|
query_per_second_per_region_per_code = self.query_per_second_per_region_per_code.to_dict()
|
154
|
+
else:
|
155
|
+
query_per_second_per_region_per_code = self.query_per_second_per_region_per_code
|
74
156
|
|
75
157
|
field_dict: dict[str, Any] = {}
|
76
158
|
field_dict.update(self.additional_properties)
|
77
159
|
field_dict.update({})
|
160
|
+
if inference_global is not UNSET:
|
161
|
+
field_dict["inference_global"] = inference_global
|
162
|
+
if inference_per_region is not UNSET:
|
163
|
+
field_dict["inference_per_region"] = inference_per_region
|
78
164
|
if inference_per_second_global is not UNSET:
|
79
165
|
field_dict["inference_per_second_global"] = inference_per_second_global
|
80
166
|
if inference_per_second_per_region is not UNSET:
|
81
167
|
field_dict["inference_per_second_per_region"] = inference_per_second_per_region
|
168
|
+
if query_global is not UNSET:
|
169
|
+
field_dict["query_global"] = query_global
|
170
|
+
if query_per_code_global is not UNSET:
|
171
|
+
field_dict["query_per_code_global"] = query_per_code_global
|
172
|
+
if query_per_region is not UNSET:
|
173
|
+
field_dict["query_per_region"] = query_per_region
|
174
|
+
if query_per_region_per_code is not UNSET:
|
175
|
+
field_dict["query_per_region_per_code"] = query_per_region_per_code
|
82
176
|
if query_per_second_global is not UNSET:
|
83
177
|
field_dict["query_per_second_global"] = query_per_second_global
|
84
178
|
if query_per_second_per_code_global is not UNSET:
|
@@ -94,14 +188,46 @@ class ResourceDeploymentMetrics:
|
|
94
188
|
def from_dict(cls: Type[T], src_dict: dict[str, Any]) -> T:
|
95
189
|
from ..models.metric import Metric
|
96
190
|
from ..models.qps import QPS
|
97
|
-
from ..models.
|
98
|
-
|
191
|
+
from ..models.resource_deployment_metrics_inference_per_region_type_0 import (
|
192
|
+
ResourceDeploymentMetricsInferencePerRegionType0,
|
193
|
+
)
|
194
|
+
from ..models.resource_deployment_metrics_inference_per_second_per_region_type_0 import (
|
195
|
+
ResourceDeploymentMetricsInferencePerSecondPerRegionType0,
|
196
|
+
)
|
197
|
+
from ..models.resource_deployment_metrics_query_per_region_per_code_type_0 import (
|
198
|
+
ResourceDeploymentMetricsQueryPerRegionPerCodeType0,
|
99
199
|
)
|
100
|
-
from ..models.
|
101
|
-
|
200
|
+
from ..models.resource_deployment_metrics_query_per_second_per_region_per_code_type_0 import (
|
201
|
+
ResourceDeploymentMetricsQueryPerSecondPerRegionPerCodeType0,
|
102
202
|
)
|
103
203
|
|
104
204
|
d = src_dict.copy()
|
205
|
+
inference_global = []
|
206
|
+
_inference_global = d.pop("inference_global", UNSET)
|
207
|
+
for componentsschemas_array_metric_item_data in _inference_global or []:
|
208
|
+
componentsschemas_array_metric_item = Metric.from_dict(componentsschemas_array_metric_item_data)
|
209
|
+
|
210
|
+
inference_global.append(componentsschemas_array_metric_item)
|
211
|
+
|
212
|
+
def _parse_inference_per_region(
|
213
|
+
data: object,
|
214
|
+
) -> Union["ResourceDeploymentMetricsInferencePerRegionType0", None, Unset]:
|
215
|
+
if data is None:
|
216
|
+
return data
|
217
|
+
if isinstance(data, Unset):
|
218
|
+
return data
|
219
|
+
try:
|
220
|
+
if not isinstance(data, dict):
|
221
|
+
raise TypeError()
|
222
|
+
inference_per_region_type_0 = ResourceDeploymentMetricsInferencePerRegionType0.from_dict(data)
|
223
|
+
|
224
|
+
return inference_per_region_type_0
|
225
|
+
except: # noqa: E722
|
226
|
+
pass
|
227
|
+
return cast(Union["ResourceDeploymentMetricsInferencePerRegionType0", None, Unset], data)
|
228
|
+
|
229
|
+
inference_per_region = _parse_inference_per_region(d.pop("inference_per_region", UNSET))
|
230
|
+
|
105
231
|
inference_per_second_global = []
|
106
232
|
_inference_per_second_global = d.pop("inference_per_second_global", UNSET)
|
107
233
|
for componentsschemas_array_metric_item_data in _inference_per_second_global or []:
|
@@ -109,14 +235,63 @@ class ResourceDeploymentMetrics:
|
|
109
235
|
|
110
236
|
inference_per_second_global.append(componentsschemas_array_metric_item)
|
111
237
|
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
238
|
+
def _parse_inference_per_second_per_region(
|
239
|
+
data: object,
|
240
|
+
) -> Union["ResourceDeploymentMetricsInferencePerSecondPerRegionType0", None, Unset]:
|
241
|
+
if data is None:
|
242
|
+
return data
|
243
|
+
if isinstance(data, Unset):
|
244
|
+
return data
|
245
|
+
try:
|
246
|
+
if not isinstance(data, dict):
|
247
|
+
raise TypeError()
|
248
|
+
inference_per_second_per_region_type_0 = (
|
249
|
+
ResourceDeploymentMetricsInferencePerSecondPerRegionType0.from_dict(data)
|
250
|
+
)
|
251
|
+
|
252
|
+
return inference_per_second_per_region_type_0
|
253
|
+
except: # noqa: E722
|
254
|
+
pass
|
255
|
+
return cast(Union["ResourceDeploymentMetricsInferencePerSecondPerRegionType0", None, Unset], data)
|
256
|
+
|
257
|
+
inference_per_second_per_region = _parse_inference_per_second_per_region(
|
258
|
+
d.pop("inference_per_second_per_region", UNSET)
|
259
|
+
)
|
260
|
+
|
261
|
+
query_global = d.pop("query_global", UNSET)
|
262
|
+
|
263
|
+
_query_per_code_global = d.pop("query_per_code_global", UNSET)
|
264
|
+
query_per_code_global: Union[Unset, QPS]
|
265
|
+
if isinstance(_query_per_code_global, Unset):
|
266
|
+
query_per_code_global = UNSET
|
116
267
|
else:
|
117
|
-
|
118
|
-
|
119
|
-
|
268
|
+
query_per_code_global = QPS.from_dict(_query_per_code_global)
|
269
|
+
|
270
|
+
_query_per_region = d.pop("query_per_region", UNSET)
|
271
|
+
query_per_region: Union[Unset, QPS]
|
272
|
+
if isinstance(_query_per_region, Unset):
|
273
|
+
query_per_region = UNSET
|
274
|
+
else:
|
275
|
+
query_per_region = QPS.from_dict(_query_per_region)
|
276
|
+
|
277
|
+
def _parse_query_per_region_per_code(
|
278
|
+
data: object,
|
279
|
+
) -> Union["ResourceDeploymentMetricsQueryPerRegionPerCodeType0", None, Unset]:
|
280
|
+
if data is None:
|
281
|
+
return data
|
282
|
+
if isinstance(data, Unset):
|
283
|
+
return data
|
284
|
+
try:
|
285
|
+
if not isinstance(data, dict):
|
286
|
+
raise TypeError()
|
287
|
+
query_per_region_per_code_type_0 = ResourceDeploymentMetricsQueryPerRegionPerCodeType0.from_dict(data)
|
288
|
+
|
289
|
+
return query_per_region_per_code_type_0
|
290
|
+
except: # noqa: E722
|
291
|
+
pass
|
292
|
+
return cast(Union["ResourceDeploymentMetricsQueryPerRegionPerCodeType0", None, Unset], data)
|
293
|
+
|
294
|
+
query_per_region_per_code = _parse_query_per_region_per_code(d.pop("query_per_region_per_code", UNSET))
|
120
295
|
|
121
296
|
query_per_second_global = d.pop("query_per_second_global", UNSET)
|
122
297
|
|
@@ -134,18 +309,38 @@ class ResourceDeploymentMetrics:
|
|
134
309
|
else:
|
135
310
|
query_per_second_per_region = QPS.from_dict(_query_per_second_per_region)
|
136
311
|
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
312
|
+
def _parse_query_per_second_per_region_per_code(
|
313
|
+
data: object,
|
314
|
+
) -> Union["ResourceDeploymentMetricsQueryPerSecondPerRegionPerCodeType0", None, Unset]:
|
315
|
+
if data is None:
|
316
|
+
return data
|
317
|
+
if isinstance(data, Unset):
|
318
|
+
return data
|
319
|
+
try:
|
320
|
+
if not isinstance(data, dict):
|
321
|
+
raise TypeError()
|
322
|
+
query_per_second_per_region_per_code_type_0 = (
|
323
|
+
ResourceDeploymentMetricsQueryPerSecondPerRegionPerCodeType0.from_dict(data)
|
324
|
+
)
|
325
|
+
|
326
|
+
return query_per_second_per_region_per_code_type_0
|
327
|
+
except: # noqa: E722
|
328
|
+
pass
|
329
|
+
return cast(Union["ResourceDeploymentMetricsQueryPerSecondPerRegionPerCodeType0", None, Unset], data)
|
330
|
+
|
331
|
+
query_per_second_per_region_per_code = _parse_query_per_second_per_region_per_code(
|
332
|
+
d.pop("query_per_second_per_region_per_code", UNSET)
|
333
|
+
)
|
145
334
|
|
146
335
|
resource_deployment_metrics = cls(
|
336
|
+
inference_global=inference_global,
|
337
|
+
inference_per_region=inference_per_region,
|
147
338
|
inference_per_second_global=inference_per_second_global,
|
148
339
|
inference_per_second_per_region=inference_per_second_per_region,
|
340
|
+
query_global=query_global,
|
341
|
+
query_per_code_global=query_per_code_global,
|
342
|
+
query_per_region=query_per_region,
|
343
|
+
query_per_region_per_code=query_per_region_per_code,
|
149
344
|
query_per_second_global=query_per_second_global,
|
150
345
|
query_per_second_per_code_global=query_per_second_per_code_global,
|
151
346
|
query_per_second_per_region=query_per_second_per_region,
|
@@ -0,0 +1,75 @@
|
|
1
|
+
from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union
|
2
|
+
|
3
|
+
from attrs import define as _attrs_define
|
4
|
+
from attrs import field as _attrs_field
|
5
|
+
|
6
|
+
from ..types import UNSET, Unset
|
7
|
+
|
8
|
+
if TYPE_CHECKING:
|
9
|
+
from ..models.metric import Metric
|
10
|
+
|
11
|
+
|
12
|
+
T = TypeVar("T", bound="ResourceDeploymentMetricsInferencePerRegionType0")
|
13
|
+
|
14
|
+
|
15
|
+
@_attrs_define
|
16
|
+
class ResourceDeploymentMetricsInferencePerRegionType0:
|
17
|
+
"""Historical requests (in last 24 hours) per location, for the model deployment
|
18
|
+
|
19
|
+
Attributes:
|
20
|
+
region (Union[Unset, List['Metric']]): Array of metrics
|
21
|
+
"""
|
22
|
+
|
23
|
+
region: Union[Unset, List["Metric"]] = UNSET
|
24
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
25
|
+
|
26
|
+
def to_dict(self) -> dict[str, Any]:
|
27
|
+
region: Union[Unset, List[Dict[str, Any]]] = UNSET
|
28
|
+
if not isinstance(self.region, Unset):
|
29
|
+
region = []
|
30
|
+
for componentsschemas_array_metric_item_data in self.region:
|
31
|
+
componentsschemas_array_metric_item = componentsschemas_array_metric_item_data.to_dict()
|
32
|
+
region.append(componentsschemas_array_metric_item)
|
33
|
+
|
34
|
+
field_dict: dict[str, Any] = {}
|
35
|
+
field_dict.update(self.additional_properties)
|
36
|
+
field_dict.update({})
|
37
|
+
if region is not UNSET:
|
38
|
+
field_dict["region"] = region
|
39
|
+
|
40
|
+
return field_dict
|
41
|
+
|
42
|
+
@classmethod
|
43
|
+
def from_dict(cls: Type[T], src_dict: dict[str, Any]) -> T:
|
44
|
+
from ..models.metric import Metric
|
45
|
+
|
46
|
+
d = src_dict.copy()
|
47
|
+
region = []
|
48
|
+
_region = d.pop("region", UNSET)
|
49
|
+
for componentsschemas_array_metric_item_data in _region or []:
|
50
|
+
componentsschemas_array_metric_item = Metric.from_dict(componentsschemas_array_metric_item_data)
|
51
|
+
|
52
|
+
region.append(componentsschemas_array_metric_item)
|
53
|
+
|
54
|
+
resource_deployment_metrics_inference_per_region_type_0 = cls(
|
55
|
+
region=region,
|
56
|
+
)
|
57
|
+
|
58
|
+
resource_deployment_metrics_inference_per_region_type_0.additional_properties = d
|
59
|
+
return resource_deployment_metrics_inference_per_region_type_0
|
60
|
+
|
61
|
+
@property
|
62
|
+
def additional_keys(self) -> list[str]:
|
63
|
+
return list(self.additional_properties.keys())
|
64
|
+
|
65
|
+
def __getitem__(self, key: str) -> Any:
|
66
|
+
return self.additional_properties[key]
|
67
|
+
|
68
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
69
|
+
self.additional_properties[key] = value
|
70
|
+
|
71
|
+
def __delitem__(self, key: str) -> None:
|
72
|
+
del self.additional_properties[key]
|
73
|
+
|
74
|
+
def __contains__(self, key: str) -> bool:
|
75
|
+
return key in self.additional_properties
|
@@ -9,11 +9,11 @@ if TYPE_CHECKING:
|
|
9
9
|
from ..models.metric import Metric
|
10
10
|
|
11
11
|
|
12
|
-
T = TypeVar("T", bound="
|
12
|
+
T = TypeVar("T", bound="ResourceDeploymentMetricsInferencePerSecondPerRegionType0")
|
13
13
|
|
14
14
|
|
15
15
|
@_attrs_define
|
16
|
-
class
|
16
|
+
class ResourceDeploymentMetricsInferencePerSecondPerRegionType0:
|
17
17
|
"""Historical requests per second (RPS) per location, for the model deployment
|
18
18
|
|
19
19
|
Attributes:
|
@@ -51,12 +51,12 @@ class ResourceDeploymentMetricsInferencePerSecondPerRegion:
|
|
51
51
|
|
52
52
|
region.append(componentsschemas_array_metric_item)
|
53
53
|
|
54
|
-
|
54
|
+
resource_deployment_metrics_inference_per_second_per_region_type_0 = cls(
|
55
55
|
region=region,
|
56
56
|
)
|
57
57
|
|
58
|
-
|
59
|
-
return
|
58
|
+
resource_deployment_metrics_inference_per_second_per_region_type_0.additional_properties = d
|
59
|
+
return resource_deployment_metrics_inference_per_second_per_region_type_0
|
60
60
|
|
61
61
|
@property
|
62
62
|
def additional_keys(self) -> list[str]:
|
@@ -0,0 +1,73 @@
|
|
1
|
+
from typing import TYPE_CHECKING, Any, Dict, Type, TypeVar, Union
|
2
|
+
|
3
|
+
from attrs import define as _attrs_define
|
4
|
+
from attrs import field as _attrs_field
|
5
|
+
|
6
|
+
from ..types import UNSET, Unset
|
7
|
+
|
8
|
+
if TYPE_CHECKING:
|
9
|
+
from ..models.qps import QPS
|
10
|
+
|
11
|
+
|
12
|
+
T = TypeVar("T", bound="ResourceDeploymentMetricsQueryPerRegionPerCodeType0")
|
13
|
+
|
14
|
+
|
15
|
+
@_attrs_define
|
16
|
+
class ResourceDeploymentMetricsQueryPerRegionPerCodeType0:
|
17
|
+
"""Number of requests done on the resource for the model deployment
|
18
|
+
|
19
|
+
Attributes:
|
20
|
+
region (Union[Unset, QPS]): Query per second per element, can be per response status code (e.g. 200, 400) or per
|
21
|
+
location
|
22
|
+
"""
|
23
|
+
|
24
|
+
region: Union[Unset, "QPS"] = UNSET
|
25
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
26
|
+
|
27
|
+
def to_dict(self) -> dict[str, Any]:
|
28
|
+
region: Union[Unset, Dict[str, Any]] = UNSET
|
29
|
+
if not isinstance(self.region, Unset):
|
30
|
+
region = self.region.to_dict()
|
31
|
+
|
32
|
+
field_dict: dict[str, Any] = {}
|
33
|
+
field_dict.update(self.additional_properties)
|
34
|
+
field_dict.update({})
|
35
|
+
if region is not UNSET:
|
36
|
+
field_dict["region"] = region
|
37
|
+
|
38
|
+
return field_dict
|
39
|
+
|
40
|
+
@classmethod
|
41
|
+
def from_dict(cls: Type[T], src_dict: dict[str, Any]) -> T:
|
42
|
+
from ..models.qps import QPS
|
43
|
+
|
44
|
+
d = src_dict.copy()
|
45
|
+
_region = d.pop("region", UNSET)
|
46
|
+
region: Union[Unset, QPS]
|
47
|
+
if isinstance(_region, Unset):
|
48
|
+
region = UNSET
|
49
|
+
else:
|
50
|
+
region = QPS.from_dict(_region)
|
51
|
+
|
52
|
+
resource_deployment_metrics_query_per_region_per_code_type_0 = cls(
|
53
|
+
region=region,
|
54
|
+
)
|
55
|
+
|
56
|
+
resource_deployment_metrics_query_per_region_per_code_type_0.additional_properties = d
|
57
|
+
return resource_deployment_metrics_query_per_region_per_code_type_0
|
58
|
+
|
59
|
+
@property
|
60
|
+
def additional_keys(self) -> list[str]:
|
61
|
+
return list(self.additional_properties.keys())
|
62
|
+
|
63
|
+
def __getitem__(self, key: str) -> Any:
|
64
|
+
return self.additional_properties[key]
|
65
|
+
|
66
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
67
|
+
self.additional_properties[key] = value
|
68
|
+
|
69
|
+
def __delitem__(self, key: str) -> None:
|
70
|
+
del self.additional_properties[key]
|
71
|
+
|
72
|
+
def __contains__(self, key: str) -> bool:
|
73
|
+
return key in self.additional_properties
|
@@ -9,11 +9,11 @@ if TYPE_CHECKING:
|
|
9
9
|
from ..models.qps import QPS
|
10
10
|
|
11
11
|
|
12
|
-
T = TypeVar("T", bound="
|
12
|
+
T = TypeVar("T", bound="ResourceDeploymentMetricsQueryPerSecondPerRegionPerCodeType0")
|
13
13
|
|
14
14
|
|
15
15
|
@_attrs_define
|
16
|
-
class
|
16
|
+
class ResourceDeploymentMetricsQueryPerSecondPerRegionPerCodeType0:
|
17
17
|
"""RPS value (in last 24 hours) per response status code per location, for the model deployment
|
18
18
|
|
19
19
|
Attributes:
|
@@ -49,12 +49,12 @@ class ResourceDeploymentMetricsQueryPerSecondPerRegionPerCode:
|
|
49
49
|
else:
|
50
50
|
region = QPS.from_dict(_region)
|
51
51
|
|
52
|
-
|
52
|
+
resource_deployment_metrics_query_per_second_per_region_per_code_type_0 = cls(
|
53
53
|
region=region,
|
54
54
|
)
|
55
55
|
|
56
|
-
|
57
|
-
return
|
56
|
+
resource_deployment_metrics_query_per_second_per_region_per_code_type_0.additional_properties = d
|
57
|
+
return resource_deployment_metrics_query_per_second_per_region_per_code_type_0
|
58
58
|
|
59
59
|
@property
|
60
60
|
def additional_keys(self) -> list[str]:
|
@@ -18,16 +18,28 @@ class ResourceMetrics:
|
|
18
18
|
"""Metrics for a single resource (eg. model, function)
|
19
19
|
|
20
20
|
Attributes:
|
21
|
+
inference_global (Union[Unset, List['Metric']]): Array of metrics
|
21
22
|
inference_per_second_global (Union[Unset, List['Metric']]): Array of metrics
|
23
|
+
query_per_region (Union[Unset, QPS]): Query per second per element, can be per response status code (e.g. 200,
|
24
|
+
400) or per location
|
22
25
|
query_per_second_per_region (Union[Unset, QPS]): Query per second per element, can be per response status code
|
23
26
|
(e.g. 200, 400) or per location
|
24
27
|
"""
|
25
28
|
|
29
|
+
inference_global: Union[Unset, List["Metric"]] = UNSET
|
26
30
|
inference_per_second_global: Union[Unset, List["Metric"]] = UNSET
|
31
|
+
query_per_region: Union[Unset, "QPS"] = UNSET
|
27
32
|
query_per_second_per_region: Union[Unset, "QPS"] = UNSET
|
28
33
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
29
34
|
|
30
35
|
def to_dict(self) -> dict[str, Any]:
|
36
|
+
inference_global: Union[Unset, List[Dict[str, Any]]] = UNSET
|
37
|
+
if not isinstance(self.inference_global, Unset):
|
38
|
+
inference_global = []
|
39
|
+
for componentsschemas_array_metric_item_data in self.inference_global:
|
40
|
+
componentsschemas_array_metric_item = componentsschemas_array_metric_item_data.to_dict()
|
41
|
+
inference_global.append(componentsschemas_array_metric_item)
|
42
|
+
|
31
43
|
inference_per_second_global: Union[Unset, List[Dict[str, Any]]] = UNSET
|
32
44
|
if not isinstance(self.inference_per_second_global, Unset):
|
33
45
|
inference_per_second_global = []
|
@@ -35,6 +47,10 @@ class ResourceMetrics:
|
|
35
47
|
componentsschemas_array_metric_item = componentsschemas_array_metric_item_data.to_dict()
|
36
48
|
inference_per_second_global.append(componentsschemas_array_metric_item)
|
37
49
|
|
50
|
+
query_per_region: Union[Unset, Dict[str, Any]] = UNSET
|
51
|
+
if not isinstance(self.query_per_region, Unset):
|
52
|
+
query_per_region = self.query_per_region.to_dict()
|
53
|
+
|
38
54
|
query_per_second_per_region: Union[Unset, Dict[str, Any]] = UNSET
|
39
55
|
if not isinstance(self.query_per_second_per_region, Unset):
|
40
56
|
query_per_second_per_region = self.query_per_second_per_region.to_dict()
|
@@ -42,8 +58,12 @@ class ResourceMetrics:
|
|
42
58
|
field_dict: dict[str, Any] = {}
|
43
59
|
field_dict.update(self.additional_properties)
|
44
60
|
field_dict.update({})
|
61
|
+
if inference_global is not UNSET:
|
62
|
+
field_dict["inference_global"] = inference_global
|
45
63
|
if inference_per_second_global is not UNSET:
|
46
64
|
field_dict["inference_per_second_global"] = inference_per_second_global
|
65
|
+
if query_per_region is not UNSET:
|
66
|
+
field_dict["query_per_region"] = query_per_region
|
47
67
|
if query_per_second_per_region is not UNSET:
|
48
68
|
field_dict["query_per_second_per_region"] = query_per_second_per_region
|
49
69
|
|
@@ -55,6 +75,13 @@ class ResourceMetrics:
|
|
55
75
|
from ..models.qps import QPS
|
56
76
|
|
57
77
|
d = src_dict.copy()
|
78
|
+
inference_global = []
|
79
|
+
_inference_global = d.pop("inference_global", UNSET)
|
80
|
+
for componentsschemas_array_metric_item_data in _inference_global or []:
|
81
|
+
componentsschemas_array_metric_item = Metric.from_dict(componentsschemas_array_metric_item_data)
|
82
|
+
|
83
|
+
inference_global.append(componentsschemas_array_metric_item)
|
84
|
+
|
58
85
|
inference_per_second_global = []
|
59
86
|
_inference_per_second_global = d.pop("inference_per_second_global", UNSET)
|
60
87
|
for componentsschemas_array_metric_item_data in _inference_per_second_global or []:
|
@@ -62,6 +89,13 @@ class ResourceMetrics:
|
|
62
89
|
|
63
90
|
inference_per_second_global.append(componentsschemas_array_metric_item)
|
64
91
|
|
92
|
+
_query_per_region = d.pop("query_per_region", UNSET)
|
93
|
+
query_per_region: Union[Unset, QPS]
|
94
|
+
if isinstance(_query_per_region, Unset):
|
95
|
+
query_per_region = UNSET
|
96
|
+
else:
|
97
|
+
query_per_region = QPS.from_dict(_query_per_region)
|
98
|
+
|
65
99
|
_query_per_second_per_region = d.pop("query_per_second_per_region", UNSET)
|
66
100
|
query_per_second_per_region: Union[Unset, QPS]
|
67
101
|
if isinstance(_query_per_second_per_region, Unset):
|
@@ -70,7 +104,9 @@ class ResourceMetrics:
|
|
70
104
|
query_per_second_per_region = QPS.from_dict(_query_per_second_per_region)
|
71
105
|
|
72
106
|
resource_metrics = cls(
|
107
|
+
inference_global=inference_global,
|
73
108
|
inference_per_second_global=inference_per_second_global,
|
109
|
+
query_per_region=query_per_region,
|
74
110
|
query_per_second_per_region=query_per_second_per_region,
|
75
111
|
)
|
76
112
|
|