blaxel 0.2.34__py3-none-any.whl → 0.2.35__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.
Files changed (276) hide show
  1. blaxel/__init__.py +2 -2
  2. blaxel/core/client/api/agents/create_agent.py +64 -19
  3. blaxel/core/client/api/agents/delete_agent.py +44 -15
  4. blaxel/core/client/api/agents/get_agent.py +43 -14
  5. blaxel/core/client/api/agents/list_agents.py +40 -11
  6. blaxel/core/client/api/agents/update_agent.py +60 -19
  7. blaxel/core/client/api/compute/create_sandbox.py +60 -23
  8. blaxel/core/client/api/compute/delete_sandbox.py +40 -19
  9. blaxel/core/client/api/compute/get_sandbox.py +39 -18
  10. blaxel/core/client/api/compute/list_sandboxes.py +40 -19
  11. blaxel/core/client/api/compute/update_sandbox.py +56 -23
  12. blaxel/core/client/api/configurations/get_configuration.py +16 -4
  13. blaxel/core/client/api/customdomains/create_custom_domain.py +12 -0
  14. blaxel/core/client/api/customdomains/list_custom_domains.py +16 -4
  15. blaxel/core/client/api/default/get_template.py +8 -4
  16. blaxel/core/client/api/functions/create_function.py +62 -19
  17. blaxel/core/client/api/functions/delete_function.py +46 -15
  18. blaxel/core/client/api/functions/get_function.py +45 -14
  19. blaxel/core/client/api/functions/list_functions.py +44 -15
  20. blaxel/core/client/api/functions/update_function.py +62 -19
  21. blaxel/core/client/api/images/cleanup_images.py +12 -12
  22. blaxel/core/client/api/images/delete_image.py +12 -8
  23. blaxel/core/client/api/images/delete_image_tag.py +12 -8
  24. blaxel/core/client/api/images/get_image.py +12 -8
  25. blaxel/core/client/api/images/list_images.py +12 -8
  26. blaxel/core/client/api/integrations/create_integration_connection.py +56 -23
  27. blaxel/core/client/api/integrations/delete_integration_connection.py +48 -19
  28. blaxel/core/client/api/integrations/get_integration.py +12 -8
  29. blaxel/core/client/api/integrations/get_integration_connection.py +44 -19
  30. blaxel/core/client/api/integrations/get_integration_connection_model.py +2 -2
  31. blaxel/core/client/api/integrations/list_integration_connections.py +36 -19
  32. blaxel/core/client/api/integrations/update_integration_connection.py +52 -19
  33. blaxel/core/client/api/jobs/create_job.py +20 -12
  34. blaxel/core/client/api/jobs/create_job_execution.py +22 -16
  35. blaxel/core/client/api/jobs/delete_job.py +12 -8
  36. blaxel/core/client/api/jobs/delete_job_execution.py +12 -8
  37. blaxel/core/client/api/jobs/get_job.py +24 -20
  38. blaxel/core/client/api/jobs/get_job_execution.py +8 -4
  39. blaxel/core/client/api/jobs/list_job_executions.py +8 -4
  40. blaxel/core/client/api/jobs/list_jobs.py +12 -8
  41. blaxel/core/client/api/jobs/update_job.py +20 -12
  42. blaxel/core/client/api/locations/list_locations.py +12 -8
  43. blaxel/core/client/api/{default → mcphub}/list_mcp_hub_definitions.py +20 -4
  44. blaxel/core/client/api/models/create_model.py +52 -23
  45. blaxel/core/client/api/models/delete_model.py +40 -19
  46. blaxel/core/client/api/models/get_model.py +40 -19
  47. blaxel/core/client/api/models/list_models.py +40 -19
  48. blaxel/core/client/api/models/update_model.py +52 -23
  49. blaxel/core/client/api/policies/create_policy.py +12 -8
  50. blaxel/core/client/api/policies/delete_policy.py +12 -8
  51. blaxel/core/client/api/policies/get_policy.py +12 -8
  52. blaxel/core/client/api/policies/list_policies.py +12 -8
  53. blaxel/core/client/api/policies/update_policy.py +12 -8
  54. blaxel/core/client/api/public_ipslist/list_public_ips.py +37 -5
  55. blaxel/core/client/api/sandboxhub/__init__.py +0 -0
  56. blaxel/core/client/api/{default → sandboxhub}/list_sandbox_hub_definitions.py +20 -4
  57. blaxel/core/client/api/service_accounts/create_api_key_for_service_account.py +12 -8
  58. blaxel/core/client/api/service_accounts/create_workspace_service_account.py +12 -8
  59. blaxel/core/client/api/service_accounts/delete_api_key_for_service_account.py +6 -4
  60. blaxel/core/client/api/service_accounts/delete_workspace_service_account.py +12 -8
  61. blaxel/core/client/api/service_accounts/get_workspace_service_accounts.py +12 -8
  62. blaxel/core/client/api/service_accounts/list_api_keys_for_service_account.py +12 -8
  63. blaxel/core/client/api/service_accounts/update_workspace_service_account.py +8 -8
  64. blaxel/core/client/api/templates/list_templates.py +12 -8
  65. blaxel/core/client/api/volume_templates/create_volume_template.py +8 -4
  66. blaxel/core/client/api/volume_templates/list_volume_templates.py +8 -4
  67. blaxel/core/client/api/volumes/create_volume.py +56 -23
  68. blaxel/core/client/api/volumes/delete_volume.py +44 -19
  69. blaxel/core/client/api/volumes/get_volume.py +40 -19
  70. blaxel/core/client/api/volumes/list_volumes.py +40 -19
  71. blaxel/core/client/api/workspaces/create_workspace.py +54 -23
  72. blaxel/core/client/api/workspaces/delete_workspace.py +42 -19
  73. blaxel/core/client/api/workspaces/get_workspace.py +42 -19
  74. blaxel/core/client/api/workspaces/invite_workspace_user.py +8 -4
  75. blaxel/core/client/api/workspaces/list_workspace_users.py +12 -8
  76. blaxel/core/client/api/workspaces/list_workspaces.py +36 -19
  77. blaxel/core/client/api/workspaces/update_workspace.py +50 -19
  78. blaxel/core/client/models/__init__.py +76 -146
  79. blaxel/core/client/models/agent.py +43 -47
  80. blaxel/core/client/models/agent_runtime.py +139 -0
  81. blaxel/core/client/models/agent_runtime_generation.py +18 -0
  82. blaxel/core/client/models/agent_spec.py +33 -110
  83. blaxel/core/client/models/api_key.py +5 -4
  84. blaxel/core/client/models/core_event.py +5 -5
  85. blaxel/core/client/models/create_api_key_for_service_account_body.py +2 -1
  86. blaxel/core/client/models/create_job_execution_request.py +1 -1
  87. blaxel/core/client/models/create_job_execution_response.py +13 -9
  88. blaxel/core/client/models/custom_domain.py +19 -36
  89. blaxel/core/client/models/custom_domain_metadata.py +4 -3
  90. blaxel/core/client/models/custom_domain_spec.py +14 -5
  91. blaxel/core/client/models/custom_domain_spec_status.py +19 -0
  92. blaxel/core/client/models/entrypoint.py +39 -13
  93. blaxel/core/client/models/{workspace_labels.py → entrypoint_args_item.py} +6 -6
  94. blaxel/core/client/models/entrypoint_env.py +3 -3
  95. blaxel/core/client/models/{job_metrics_executions_total.py → entrypoint_super_gateway_args_item.py} +6 -6
  96. blaxel/core/client/models/{spec_configuration.py → env.py} +17 -8
  97. blaxel/core/{sandbox/client/models/welcome_response.py → client/models/error.py} +26 -23
  98. blaxel/core/client/models/expiration_policy.py +30 -11
  99. blaxel/core/client/models/expiration_policy_action.py +17 -0
  100. blaxel/core/client/models/expiration_policy_type.py +19 -0
  101. blaxel/core/client/models/flavor.py +13 -5
  102. blaxel/core/client/models/flavor_type.py +18 -0
  103. blaxel/core/client/models/form.py +6 -6
  104. blaxel/core/client/models/function.py +43 -47
  105. blaxel/core/client/models/function_runtime.py +138 -0
  106. blaxel/core/client/models/function_runtime_generation.py +18 -0
  107. blaxel/core/client/models/function_spec.py +27 -73
  108. blaxel/core/client/models/function_spec_transport.py +18 -0
  109. blaxel/core/client/models/image.py +19 -36
  110. blaxel/core/client/models/integration_connection.py +25 -39
  111. blaxel/core/client/models/integration_connection_spec.py +8 -5
  112. blaxel/core/client/models/integration_connection_spec_config.py +1 -1
  113. blaxel/core/client/models/integration_connection_spec_secret.py +1 -1
  114. blaxel/core/client/models/integration_endpoint.py +41 -11
  115. blaxel/core/client/models/integration_endpoint_ignore_models_item.py +45 -0
  116. blaxel/core/client/models/{mcp_definition_entrypoint.py → integration_endpoint_models_item.py} +6 -6
  117. blaxel/core/client/models/job.py +43 -47
  118. blaxel/core/client/models/job_execution.py +30 -37
  119. blaxel/core/client/models/job_execution_metadata.py +3 -3
  120. blaxel/core/client/models/job_execution_spec.py +2 -2
  121. blaxel/core/client/models/job_execution_stats.py +5 -5
  122. blaxel/core/client/models/job_execution_status.py +24 -0
  123. blaxel/core/client/models/job_execution_task.py +12 -4
  124. blaxel/core/client/models/job_execution_task_metadata.py +1 -1
  125. blaxel/core/client/models/job_execution_task_spec.py +2 -2
  126. blaxel/core/client/models/job_execution_task_status.py +23 -0
  127. blaxel/core/client/models/job_runtime.py +172 -0
  128. blaxel/core/client/models/job_runtime_generation.py +18 -0
  129. blaxel/core/client/models/job_spec.py +20 -88
  130. blaxel/core/client/models/location_response.py +5 -5
  131. blaxel/core/client/models/mcp_definition.py +30 -17
  132. blaxel/core/client/models/{job_metrics_tasks_total.py → mcp_definition_categories_item.py} +6 -6
  133. blaxel/core/client/models/metadata.py +23 -17
  134. blaxel/core/client/models/metadata_labels.py +4 -1
  135. blaxel/core/client/models/model.py +43 -47
  136. blaxel/core/client/models/model_runtime.py +99 -0
  137. blaxel/core/client/models/model_runtime_type.py +34 -0
  138. blaxel/core/client/models/model_spec.py +12 -58
  139. blaxel/core/client/models/o_auth.py +23 -6
  140. blaxel/core/client/models/{form_oauth.py → o_auth_scope_item.py} +6 -6
  141. blaxel/core/client/models/pending_invitation_accept.py +2 -1
  142. blaxel/core/client/models/pending_invitation_workspace_details.py +27 -6
  143. blaxel/core/client/models/{metrics_request_total_per_code.py → pending_invitation_workspace_details_emails_item.py} +6 -6
  144. blaxel/core/client/models/policy.py +20 -36
  145. blaxel/core/client/models/policy_location.py +13 -5
  146. blaxel/core/client/models/policy_location_type.py +19 -0
  147. blaxel/core/client/models/policy_max_tokens.py +6 -6
  148. blaxel/core/client/models/policy_resource_type.py +20 -0
  149. blaxel/core/client/models/policy_spec.py +31 -10
  150. blaxel/core/client/models/policy_spec_type.py +19 -0
  151. blaxel/core/client/models/port.py +25 -15
  152. blaxel/core/client/models/port_protocol.py +19 -0
  153. blaxel/core/client/models/preview.py +19 -36
  154. blaxel/core/client/models/preview_metadata.py +12 -10
  155. blaxel/core/client/models/preview_token.py +19 -36
  156. blaxel/core/client/models/preview_token_metadata.py +8 -6
  157. blaxel/core/client/models/repository.py +2 -2
  158. blaxel/core/client/models/revision_configuration.py +3 -3
  159. blaxel/core/client/models/sandbox.py +45 -58
  160. blaxel/core/client/models/sandbox_definition.py +37 -22
  161. blaxel/core/client/models/sandbox_definition_categories_item.py +45 -0
  162. blaxel/core/client/models/sandbox_error.py +148 -0
  163. blaxel/core/client/models/sandbox_error_details.py +45 -0
  164. blaxel/core/client/models/sandbox_lifecycle.py +3 -2
  165. blaxel/core/client/models/sandbox_runtime.py +145 -0
  166. blaxel/core/client/models/sandbox_spec.py +33 -134
  167. blaxel/core/client/models/status.py +25 -0
  168. blaxel/core/client/models/template.py +8 -7
  169. blaxel/core/client/models/template_variable.py +5 -5
  170. blaxel/core/client/models/trigger.py +14 -6
  171. blaxel/core/client/models/trigger_configuration.py +7 -6
  172. blaxel/core/client/models/trigger_type.py +19 -0
  173. blaxel/core/client/models/volume.py +35 -47
  174. blaxel/core/client/models/volume_attachment.py +6 -4
  175. blaxel/core/client/models/volume_spec.py +7 -4
  176. blaxel/core/client/models/volume_state.py +3 -3
  177. blaxel/core/client/models/volume_template.py +19 -33
  178. blaxel/core/client/models/volume_template_state.py +12 -4
  179. blaxel/core/client/models/volume_template_state_status.py +19 -0
  180. blaxel/core/client/models/volume_template_version.py +12 -4
  181. blaxel/core/client/models/volume_template_version_status.py +19 -0
  182. blaxel/core/client/models/workspace.py +35 -25
  183. blaxel/core/client/models/workspace_runtime.py +3 -2
  184. blaxel/core/client/models/workspace_status.py +22 -0
  185. blaxel/core/common/__init__.py +1 -1
  186. blaxel/core/jobs/__init__.py +0 -1
  187. blaxel/core/sandbox/__init__.py +2 -0
  188. blaxel/core/sandbox/client/api/process/post_process.py +8 -4
  189. blaxel/core/sandbox/client/models/__init__.py +0 -2
  190. blaxel/core/sandbox/client/models/process_response.py +16 -0
  191. blaxel/core/sandbox/client/models/process_response_status.py +9 -0
  192. blaxel/core/sandbox/default/__init__.py +2 -0
  193. blaxel/core/sandbox/default/interpreter.py +5 -1
  194. blaxel/core/sandbox/default/preview.py +3 -1
  195. blaxel/core/sandbox/default/sandbox.py +51 -16
  196. blaxel/core/sandbox/sync/process.py +2 -1
  197. blaxel/core/sandbox/sync/sandbox.py +34 -13
  198. blaxel/core/tools/common.py +16 -2
  199. blaxel/core/volume/__init__.py +2 -2
  200. blaxel/core/volume/volume.py +32 -10
  201. blaxel/langgraph/tools.py +34 -2
  202. blaxel/openai/tools.py +33 -1
  203. {blaxel-0.2.34.dist-info → blaxel-0.2.35.dist-info}/METADATA +3 -3
  204. {blaxel-0.2.34.dist-info → blaxel-0.2.35.dist-info}/RECORD +207 -246
  205. blaxel/core/client/models/acl.py +0 -133
  206. blaxel/core/client/models/billable_time_metric.py +0 -89
  207. blaxel/core/client/models/core_spec.py +0 -194
  208. blaxel/core/client/models/core_spec_configurations.py +0 -77
  209. blaxel/core/client/models/histogram_bucket.py +0 -79
  210. blaxel/core/client/models/histogram_stats.py +0 -88
  211. blaxel/core/client/models/integration_model.py +0 -162
  212. blaxel/core/client/models/job_execution_config.py +0 -79
  213. blaxel/core/client/models/job_metrics.py +0 -262
  214. blaxel/core/client/models/jobs_chart_value.py +0 -70
  215. blaxel/core/client/models/jobs_network_chart.py +0 -102
  216. blaxel/core/client/models/jobs_success_failed_chart.py +0 -147
  217. blaxel/core/client/models/jobs_total.py +0 -88
  218. blaxel/core/client/models/last_n_requests_metric.py +0 -97
  219. blaxel/core/client/models/latency_metric.py +0 -148
  220. blaxel/core/client/models/logs_response.py +0 -63
  221. blaxel/core/client/models/logs_response_data.py +0 -99
  222. blaxel/core/client/models/mcp_definition_form.py +0 -45
  223. blaxel/core/client/models/memory_allocation_by_name.py +0 -70
  224. blaxel/core/client/models/memory_allocation_metric.py +0 -61
  225. blaxel/core/client/models/metric.py +0 -79
  226. blaxel/core/client/models/metrics.py +0 -273
  227. blaxel/core/client/models/metrics_models.py +0 -45
  228. blaxel/core/client/models/metrics_rps_per_code.py +0 -45
  229. blaxel/core/client/models/pod_template_spec.py +0 -45
  230. blaxel/core/client/models/request_duration_over_time_metric.py +0 -97
  231. blaxel/core/client/models/request_duration_over_time_metrics.py +0 -84
  232. blaxel/core/client/models/request_total_by_origin_metric.py +0 -129
  233. blaxel/core/client/models/request_total_by_origin_metric_request_total_by_origin.py +0 -45
  234. blaxel/core/client/models/request_total_by_origin_metric_request_total_by_origin_and_code.py +0 -45
  235. blaxel/core/client/models/request_total_metric.py +0 -155
  236. blaxel/core/client/models/request_total_metric_request_total_per_code.py +0 -45
  237. blaxel/core/client/models/request_total_metric_rps_per_code.py +0 -45
  238. blaxel/core/client/models/request_total_response_data.py +0 -97
  239. blaxel/core/client/models/resource.py +0 -99
  240. blaxel/core/client/models/resource_log.py +0 -88
  241. blaxel/core/client/models/resource_log_chart.py +0 -133
  242. blaxel/core/client/models/resource_log_response.py +0 -83
  243. blaxel/core/client/models/resource_metrics.py +0 -618
  244. blaxel/core/client/models/resource_metrics_request_total_per_code.py +0 -45
  245. blaxel/core/client/models/resource_metrics_request_total_per_code_previous.py +0 -45
  246. blaxel/core/client/models/resource_metrics_rps_per_code.py +0 -45
  247. blaxel/core/client/models/resource_metrics_rps_per_code_previous.py +0 -45
  248. blaxel/core/client/models/resource_trace.py +0 -97
  249. blaxel/core/client/models/runtime.py +0 -317
  250. blaxel/core/client/models/runtime_configuration.py +0 -45
  251. blaxel/core/client/models/runtime_startup_probe.py +0 -45
  252. blaxel/core/client/models/sandbox_metrics.py +0 -88
  253. blaxel/core/client/models/serverless_config.py +0 -117
  254. blaxel/core/client/models/serverless_config_configuration.py +0 -45
  255. blaxel/core/client/models/start_sandbox.py +0 -98
  256. blaxel/core/client/models/stop_sandbox.py +0 -98
  257. blaxel/core/client/models/store_agent.py +0 -181
  258. blaxel/core/client/models/store_agent_labels.py +0 -45
  259. blaxel/core/client/models/store_configuration.py +0 -156
  260. blaxel/core/client/models/store_configuration_option.py +0 -79
  261. blaxel/core/client/models/time_to_first_token_over_time_metrics.py +0 -87
  262. blaxel/core/client/models/token_rate_metric.py +0 -106
  263. blaxel/core/client/models/token_rate_metrics.py +0 -124
  264. blaxel/core/client/models/token_total_metric.py +0 -112
  265. blaxel/core/client/models/trace_ids_response.py +0 -45
  266. blaxel/core/client/models/websocket_channel.py +0 -97
  267. blaxel/core/client/models/websocket_message.py +0 -106
  268. blaxel/core/sandbox/client/api/root/delete.py +0 -130
  269. blaxel/core/sandbox/client/api/root/get.py +0 -130
  270. blaxel/core/sandbox/client/api/root/options.py +0 -130
  271. blaxel/core/sandbox/client/api/root/patch.py +0 -130
  272. blaxel/core/sandbox/client/api/root/post.py +0 -130
  273. blaxel/core/sandbox/client/api/root/put.py +0 -130
  274. /blaxel/core/{sandbox/client/api/root → client/api/mcphub}/__init__.py +0 -0
  275. {blaxel-0.2.34.dist-info → blaxel-0.2.35.dist-info}/WHEEL +0 -0
  276. {blaxel-0.2.34.dist-info → blaxel-0.2.35.dist-info}/licenses/LICENSE +0 -0
@@ -1,618 +0,0 @@
1
- from typing import TYPE_CHECKING, Any, 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.billable_time_metric import BillableTimeMetric
10
- from ..models.jobs_chart_value import JobsChartValue
11
- from ..models.last_n_requests_metric import LastNRequestsMetric
12
- from ..models.latency_metric import LatencyMetric
13
- from ..models.memory_allocation_metric import MemoryAllocationMetric
14
- from ..models.metric import Metric
15
- from ..models.request_duration_over_time_metrics import RequestDurationOverTimeMetrics
16
- from ..models.request_total_by_origin_metric import RequestTotalByOriginMetric
17
- from ..models.resource_metrics_request_total_per_code import ResourceMetricsRequestTotalPerCode
18
- from ..models.resource_metrics_request_total_per_code_previous import (
19
- ResourceMetricsRequestTotalPerCodePrevious,
20
- )
21
- from ..models.resource_metrics_rps_per_code import ResourceMetricsRpsPerCode
22
- from ..models.resource_metrics_rps_per_code_previous import ResourceMetricsRpsPerCodePrevious
23
- from ..models.sandbox_metrics import SandboxMetrics
24
- from ..models.time_to_first_token_over_time_metrics import TimeToFirstTokenOverTimeMetrics
25
- from ..models.token_rate_metrics import TokenRateMetrics
26
- from ..models.token_total_metric import TokenTotalMetric
27
-
28
-
29
- T = TypeVar("T", bound="ResourceMetrics")
30
-
31
-
32
- @_attrs_define
33
- class ResourceMetrics:
34
- """Metrics for a single resource deployment (eg. model deployment, function deployment)
35
-
36
- Attributes:
37
- billable_time (Union[Unset, BillableTimeMetric]): Billable time metric
38
- inference_errors_global (Union[Unset, list['Metric']]): Array of metrics
39
- inference_global (Union[Unset, list['Metric']]): Array of metrics
40
- last_n_requests (Union[Unset, list['LastNRequestsMetric']]): Historical requests (in last 24 hours) for the
41
- model deployment globally
42
- latency (Union[Unset, LatencyMetric]): Latency metrics
43
- latency_previous (Union[Unset, LatencyMetric]): Latency metrics
44
- memory_allocation (Union[Unset, MemoryAllocationMetric]): Metrics for memory allocation
45
- model_ttft (Union[Unset, LatencyMetric]): Latency metrics
46
- model_ttft_over_time (Union[Unset, TimeToFirstTokenOverTimeMetrics]): Time to first token over time metrics
47
- request_duration_over_time (Union[Unset, RequestDurationOverTimeMetrics]): Request duration over time metrics
48
- request_total (Union[Unset, float]): Number of requests for the resource globally
49
- request_total_by_origin (Union[Unset, RequestTotalByOriginMetric]): Request total by origin metric
50
- request_total_by_origin_previous (Union[Unset, RequestTotalByOriginMetric]): Request total by origin metric
51
- request_total_per_code (Union[Unset, ResourceMetricsRequestTotalPerCode]): Number of requests for the resource
52
- globally per code
53
- request_total_per_code_previous (Union[Unset, ResourceMetricsRequestTotalPerCodePrevious]): Number of requests
54
- for the resource globally per code for the previous period
55
- request_total_previous (Union[Unset, float]): Number of requests for the resource globally for the previous
56
- period
57
- rps (Union[Unset, float]): Number of requests per second for the resource globally
58
- rps_per_code (Union[Unset, ResourceMetricsRpsPerCode]): Number of requests per second for the resource globally
59
- per code
60
- rps_per_code_previous (Union[Unset, ResourceMetricsRpsPerCodePrevious]): Number of requests per second for the
61
- resource globally per code for the previous period
62
- rps_previous (Union[Unset, float]): Number of requests per second for the resource globally for the previous
63
- period
64
- sandboxes_cpu_usage (Union[Unset, list['JobsChartValue']]): CPU usage over time for sandboxes
65
- sandboxes_ram_usage (Union[Unset, list['SandboxMetrics']]): RAM usage over time for sandboxes with memory,
66
- value, and percent metrics
67
- token_rate (Union[Unset, TokenRateMetrics]): Token rate metrics
68
- token_total (Union[Unset, TokenTotalMetric]): Token total metric
69
- """
70
-
71
- billable_time: Union[Unset, "BillableTimeMetric"] = UNSET
72
- inference_errors_global: Union[Unset, list["Metric"]] = UNSET
73
- inference_global: Union[Unset, list["Metric"]] = UNSET
74
- last_n_requests: Union[Unset, list["LastNRequestsMetric"]] = UNSET
75
- latency: Union[Unset, "LatencyMetric"] = UNSET
76
- latency_previous: Union[Unset, "LatencyMetric"] = UNSET
77
- memory_allocation: Union[Unset, "MemoryAllocationMetric"] = UNSET
78
- model_ttft: Union[Unset, "LatencyMetric"] = UNSET
79
- model_ttft_over_time: Union[Unset, "TimeToFirstTokenOverTimeMetrics"] = UNSET
80
- request_duration_over_time: Union[Unset, "RequestDurationOverTimeMetrics"] = UNSET
81
- request_total: Union[Unset, float] = UNSET
82
- request_total_by_origin: Union[Unset, "RequestTotalByOriginMetric"] = UNSET
83
- request_total_by_origin_previous: Union[Unset, "RequestTotalByOriginMetric"] = UNSET
84
- request_total_per_code: Union[Unset, "ResourceMetricsRequestTotalPerCode"] = UNSET
85
- request_total_per_code_previous: Union[Unset, "ResourceMetricsRequestTotalPerCodePrevious"] = (
86
- UNSET
87
- )
88
- request_total_previous: Union[Unset, float] = UNSET
89
- rps: Union[Unset, float] = UNSET
90
- rps_per_code: Union[Unset, "ResourceMetricsRpsPerCode"] = UNSET
91
- rps_per_code_previous: Union[Unset, "ResourceMetricsRpsPerCodePrevious"] = UNSET
92
- rps_previous: Union[Unset, float] = UNSET
93
- sandboxes_cpu_usage: Union[Unset, list["JobsChartValue"]] = UNSET
94
- sandboxes_ram_usage: Union[Unset, list["SandboxMetrics"]] = UNSET
95
- token_rate: Union[Unset, "TokenRateMetrics"] = UNSET
96
- token_total: Union[Unset, "TokenTotalMetric"] = UNSET
97
- additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
98
-
99
- def to_dict(self) -> dict[str, Any]:
100
- billable_time: Union[Unset, dict[str, Any]] = UNSET
101
- if (
102
- self.billable_time
103
- and not isinstance(self.billable_time, Unset)
104
- and not isinstance(self.billable_time, dict)
105
- ):
106
- billable_time = self.billable_time.to_dict()
107
- elif self.billable_time and isinstance(self.billable_time, dict):
108
- billable_time = self.billable_time
109
-
110
- inference_errors_global: Union[Unset, list[dict[str, Any]]] = UNSET
111
- if not isinstance(self.inference_errors_global, Unset):
112
- inference_errors_global = []
113
- for componentsschemas_array_metric_item_data in self.inference_errors_global:
114
- if type(componentsschemas_array_metric_item_data) is dict:
115
- componentsschemas_array_metric_item = componentsschemas_array_metric_item_data
116
- else:
117
- componentsschemas_array_metric_item = (
118
- componentsschemas_array_metric_item_data.to_dict()
119
- )
120
- inference_errors_global.append(componentsschemas_array_metric_item)
121
-
122
- inference_global: Union[Unset, list[dict[str, Any]]] = UNSET
123
- if not isinstance(self.inference_global, Unset):
124
- inference_global = []
125
- for componentsschemas_array_metric_item_data in self.inference_global:
126
- if type(componentsschemas_array_metric_item_data) is dict:
127
- componentsschemas_array_metric_item = componentsschemas_array_metric_item_data
128
- else:
129
- componentsschemas_array_metric_item = (
130
- componentsschemas_array_metric_item_data.to_dict()
131
- )
132
- inference_global.append(componentsschemas_array_metric_item)
133
-
134
- last_n_requests: Union[Unset, list[dict[str, Any]]] = UNSET
135
- if not isinstance(self.last_n_requests, Unset):
136
- last_n_requests = []
137
- for last_n_requests_item_data in self.last_n_requests:
138
- if type(last_n_requests_item_data) is dict:
139
- last_n_requests_item = last_n_requests_item_data
140
- else:
141
- last_n_requests_item = last_n_requests_item_data.to_dict()
142
- last_n_requests.append(last_n_requests_item)
143
-
144
- latency: Union[Unset, dict[str, Any]] = UNSET
145
- if (
146
- self.latency
147
- and not isinstance(self.latency, Unset)
148
- and not isinstance(self.latency, dict)
149
- ):
150
- latency = self.latency.to_dict()
151
- elif self.latency and isinstance(self.latency, dict):
152
- latency = self.latency
153
-
154
- latency_previous: Union[Unset, dict[str, Any]] = UNSET
155
- if (
156
- self.latency_previous
157
- and not isinstance(self.latency_previous, Unset)
158
- and not isinstance(self.latency_previous, dict)
159
- ):
160
- latency_previous = self.latency_previous.to_dict()
161
- elif self.latency_previous and isinstance(self.latency_previous, dict):
162
- latency_previous = self.latency_previous
163
-
164
- memory_allocation: Union[Unset, dict[str, Any]] = UNSET
165
- if (
166
- self.memory_allocation
167
- and not isinstance(self.memory_allocation, Unset)
168
- and not isinstance(self.memory_allocation, dict)
169
- ):
170
- memory_allocation = self.memory_allocation.to_dict()
171
- elif self.memory_allocation and isinstance(self.memory_allocation, dict):
172
- memory_allocation = self.memory_allocation
173
-
174
- model_ttft: Union[Unset, dict[str, Any]] = UNSET
175
- if (
176
- self.model_ttft
177
- and not isinstance(self.model_ttft, Unset)
178
- and not isinstance(self.model_ttft, dict)
179
- ):
180
- model_ttft = self.model_ttft.to_dict()
181
- elif self.model_ttft and isinstance(self.model_ttft, dict):
182
- model_ttft = self.model_ttft
183
-
184
- model_ttft_over_time: Union[Unset, dict[str, Any]] = UNSET
185
- if (
186
- self.model_ttft_over_time
187
- and not isinstance(self.model_ttft_over_time, Unset)
188
- and not isinstance(self.model_ttft_over_time, dict)
189
- ):
190
- model_ttft_over_time = self.model_ttft_over_time.to_dict()
191
- elif self.model_ttft_over_time and isinstance(self.model_ttft_over_time, dict):
192
- model_ttft_over_time = self.model_ttft_over_time
193
-
194
- request_duration_over_time: Union[Unset, dict[str, Any]] = UNSET
195
- if (
196
- self.request_duration_over_time
197
- and not isinstance(self.request_duration_over_time, Unset)
198
- and not isinstance(self.request_duration_over_time, dict)
199
- ):
200
- request_duration_over_time = self.request_duration_over_time.to_dict()
201
- elif self.request_duration_over_time and isinstance(self.request_duration_over_time, dict):
202
- request_duration_over_time = self.request_duration_over_time
203
-
204
- request_total = self.request_total
205
-
206
- request_total_by_origin: Union[Unset, dict[str, Any]] = UNSET
207
- if (
208
- self.request_total_by_origin
209
- and not isinstance(self.request_total_by_origin, Unset)
210
- and not isinstance(self.request_total_by_origin, dict)
211
- ):
212
- request_total_by_origin = self.request_total_by_origin.to_dict()
213
- elif self.request_total_by_origin and isinstance(self.request_total_by_origin, dict):
214
- request_total_by_origin = self.request_total_by_origin
215
-
216
- request_total_by_origin_previous: Union[Unset, dict[str, Any]] = UNSET
217
- if (
218
- self.request_total_by_origin_previous
219
- and not isinstance(self.request_total_by_origin_previous, Unset)
220
- and not isinstance(self.request_total_by_origin_previous, dict)
221
- ):
222
- request_total_by_origin_previous = self.request_total_by_origin_previous.to_dict()
223
- elif self.request_total_by_origin_previous and isinstance(
224
- self.request_total_by_origin_previous, dict
225
- ):
226
- request_total_by_origin_previous = self.request_total_by_origin_previous
227
-
228
- request_total_per_code: Union[Unset, dict[str, Any]] = UNSET
229
- if (
230
- self.request_total_per_code
231
- and not isinstance(self.request_total_per_code, Unset)
232
- and not isinstance(self.request_total_per_code, dict)
233
- ):
234
- request_total_per_code = self.request_total_per_code.to_dict()
235
- elif self.request_total_per_code and isinstance(self.request_total_per_code, dict):
236
- request_total_per_code = self.request_total_per_code
237
-
238
- request_total_per_code_previous: Union[Unset, dict[str, Any]] = UNSET
239
- if (
240
- self.request_total_per_code_previous
241
- and not isinstance(self.request_total_per_code_previous, Unset)
242
- and not isinstance(self.request_total_per_code_previous, dict)
243
- ):
244
- request_total_per_code_previous = self.request_total_per_code_previous.to_dict()
245
- elif self.request_total_per_code_previous and isinstance(
246
- self.request_total_per_code_previous, dict
247
- ):
248
- request_total_per_code_previous = self.request_total_per_code_previous
249
-
250
- request_total_previous = self.request_total_previous
251
-
252
- rps = self.rps
253
-
254
- rps_per_code: Union[Unset, dict[str, Any]] = UNSET
255
- if (
256
- self.rps_per_code
257
- and not isinstance(self.rps_per_code, Unset)
258
- and not isinstance(self.rps_per_code, dict)
259
- ):
260
- rps_per_code = self.rps_per_code.to_dict()
261
- elif self.rps_per_code and isinstance(self.rps_per_code, dict):
262
- rps_per_code = self.rps_per_code
263
-
264
- rps_per_code_previous: Union[Unset, dict[str, Any]] = UNSET
265
- if (
266
- self.rps_per_code_previous
267
- and not isinstance(self.rps_per_code_previous, Unset)
268
- and not isinstance(self.rps_per_code_previous, dict)
269
- ):
270
- rps_per_code_previous = self.rps_per_code_previous.to_dict()
271
- elif self.rps_per_code_previous and isinstance(self.rps_per_code_previous, dict):
272
- rps_per_code_previous = self.rps_per_code_previous
273
-
274
- rps_previous = self.rps_previous
275
-
276
- sandboxes_cpu_usage: Union[Unset, list[dict[str, Any]]] = UNSET
277
- if not isinstance(self.sandboxes_cpu_usage, Unset):
278
- sandboxes_cpu_usage = []
279
- for sandboxes_cpu_usage_item_data in self.sandboxes_cpu_usage:
280
- if type(sandboxes_cpu_usage_item_data) is dict:
281
- sandboxes_cpu_usage_item = sandboxes_cpu_usage_item_data
282
- else:
283
- sandboxes_cpu_usage_item = sandboxes_cpu_usage_item_data.to_dict()
284
- sandboxes_cpu_usage.append(sandboxes_cpu_usage_item)
285
-
286
- sandboxes_ram_usage: Union[Unset, list[dict[str, Any]]] = UNSET
287
- if not isinstance(self.sandboxes_ram_usage, Unset):
288
- sandboxes_ram_usage = []
289
- for sandboxes_ram_usage_item_data in self.sandboxes_ram_usage:
290
- if type(sandboxes_ram_usage_item_data) is dict:
291
- sandboxes_ram_usage_item = sandboxes_ram_usage_item_data
292
- else:
293
- sandboxes_ram_usage_item = sandboxes_ram_usage_item_data.to_dict()
294
- sandboxes_ram_usage.append(sandboxes_ram_usage_item)
295
-
296
- token_rate: Union[Unset, dict[str, Any]] = UNSET
297
- if (
298
- self.token_rate
299
- and not isinstance(self.token_rate, Unset)
300
- and not isinstance(self.token_rate, dict)
301
- ):
302
- token_rate = self.token_rate.to_dict()
303
- elif self.token_rate and isinstance(self.token_rate, dict):
304
- token_rate = self.token_rate
305
-
306
- token_total: Union[Unset, dict[str, Any]] = UNSET
307
- if (
308
- self.token_total
309
- and not isinstance(self.token_total, Unset)
310
- and not isinstance(self.token_total, dict)
311
- ):
312
- token_total = self.token_total.to_dict()
313
- elif self.token_total and isinstance(self.token_total, dict):
314
- token_total = self.token_total
315
-
316
- field_dict: dict[str, Any] = {}
317
- field_dict.update(self.additional_properties)
318
- field_dict.update({})
319
- if billable_time is not UNSET:
320
- field_dict["billableTime"] = billable_time
321
- if inference_errors_global is not UNSET:
322
- field_dict["inferenceErrorsGlobal"] = inference_errors_global
323
- if inference_global is not UNSET:
324
- field_dict["inferenceGlobal"] = inference_global
325
- if last_n_requests is not UNSET:
326
- field_dict["lastNRequests"] = last_n_requests
327
- if latency is not UNSET:
328
- field_dict["latency"] = latency
329
- if latency_previous is not UNSET:
330
- field_dict["latencyPrevious"] = latency_previous
331
- if memory_allocation is not UNSET:
332
- field_dict["memoryAllocation"] = memory_allocation
333
- if model_ttft is not UNSET:
334
- field_dict["modelTtft"] = model_ttft
335
- if model_ttft_over_time is not UNSET:
336
- field_dict["modelTtftOverTime"] = model_ttft_over_time
337
- if request_duration_over_time is not UNSET:
338
- field_dict["requestDurationOverTime"] = request_duration_over_time
339
- if request_total is not UNSET:
340
- field_dict["requestTotal"] = request_total
341
- if request_total_by_origin is not UNSET:
342
- field_dict["requestTotalByOrigin"] = request_total_by_origin
343
- if request_total_by_origin_previous is not UNSET:
344
- field_dict["requestTotalByOriginPrevious"] = request_total_by_origin_previous
345
- if request_total_per_code is not UNSET:
346
- field_dict["requestTotalPerCode"] = request_total_per_code
347
- if request_total_per_code_previous is not UNSET:
348
- field_dict["requestTotalPerCodePrevious"] = request_total_per_code_previous
349
- if request_total_previous is not UNSET:
350
- field_dict["requestTotalPrevious"] = request_total_previous
351
- if rps is not UNSET:
352
- field_dict["rps"] = rps
353
- if rps_per_code is not UNSET:
354
- field_dict["rpsPerCode"] = rps_per_code
355
- if rps_per_code_previous is not UNSET:
356
- field_dict["rpsPerCodePrevious"] = rps_per_code_previous
357
- if rps_previous is not UNSET:
358
- field_dict["rpsPrevious"] = rps_previous
359
- if sandboxes_cpu_usage is not UNSET:
360
- field_dict["sandboxesCpuUsage"] = sandboxes_cpu_usage
361
- if sandboxes_ram_usage is not UNSET:
362
- field_dict["sandboxesRamUsage"] = sandboxes_ram_usage
363
- if token_rate is not UNSET:
364
- field_dict["tokenRate"] = token_rate
365
- if token_total is not UNSET:
366
- field_dict["tokenTotal"] = token_total
367
-
368
- return field_dict
369
-
370
- @classmethod
371
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
372
- from ..models.billable_time_metric import BillableTimeMetric
373
- from ..models.jobs_chart_value import JobsChartValue
374
- from ..models.last_n_requests_metric import LastNRequestsMetric
375
- from ..models.latency_metric import LatencyMetric
376
- from ..models.memory_allocation_metric import MemoryAllocationMetric
377
- from ..models.metric import Metric
378
- from ..models.request_duration_over_time_metrics import RequestDurationOverTimeMetrics
379
- from ..models.request_total_by_origin_metric import RequestTotalByOriginMetric
380
- from ..models.resource_metrics_request_total_per_code import (
381
- ResourceMetricsRequestTotalPerCode,
382
- )
383
- from ..models.resource_metrics_request_total_per_code_previous import (
384
- ResourceMetricsRequestTotalPerCodePrevious,
385
- )
386
- from ..models.resource_metrics_rps_per_code import ResourceMetricsRpsPerCode
387
- from ..models.resource_metrics_rps_per_code_previous import (
388
- ResourceMetricsRpsPerCodePrevious,
389
- )
390
- from ..models.sandbox_metrics import SandboxMetrics
391
- from ..models.time_to_first_token_over_time_metrics import TimeToFirstTokenOverTimeMetrics
392
- from ..models.token_rate_metrics import TokenRateMetrics
393
- from ..models.token_total_metric import TokenTotalMetric
394
-
395
- if not src_dict:
396
- return None
397
- d = src_dict.copy()
398
- _billable_time = d.pop("billableTime", d.pop("billable_time", UNSET))
399
- billable_time: Union[Unset, BillableTimeMetric]
400
- if isinstance(_billable_time, Unset):
401
- billable_time = UNSET
402
- else:
403
- billable_time = BillableTimeMetric.from_dict(_billable_time)
404
-
405
- inference_errors_global = []
406
- _inference_errors_global = d.pop(
407
- "inferenceErrorsGlobal", d.pop("inference_errors_global", UNSET)
408
- )
409
- for componentsschemas_array_metric_item_data in _inference_errors_global or []:
410
- componentsschemas_array_metric_item = Metric.from_dict(
411
- componentsschemas_array_metric_item_data
412
- )
413
-
414
- inference_errors_global.append(componentsschemas_array_metric_item)
415
-
416
- inference_global = []
417
- _inference_global = d.pop("inferenceGlobal", d.pop("inference_global", UNSET))
418
- for componentsschemas_array_metric_item_data in _inference_global or []:
419
- componentsschemas_array_metric_item = Metric.from_dict(
420
- componentsschemas_array_metric_item_data
421
- )
422
-
423
- inference_global.append(componentsschemas_array_metric_item)
424
-
425
- last_n_requests = []
426
- _last_n_requests = d.pop("lastNRequests", d.pop("last_n_requests", UNSET))
427
- for last_n_requests_item_data in _last_n_requests or []:
428
- last_n_requests_item = LastNRequestsMetric.from_dict(last_n_requests_item_data)
429
-
430
- last_n_requests.append(last_n_requests_item)
431
-
432
- _latency = d.pop("latency", UNSET)
433
- latency: Union[Unset, LatencyMetric]
434
- if isinstance(_latency, Unset):
435
- latency = UNSET
436
- else:
437
- latency = LatencyMetric.from_dict(_latency)
438
-
439
- _latency_previous = d.pop("latencyPrevious", d.pop("latency_previous", UNSET))
440
- latency_previous: Union[Unset, LatencyMetric]
441
- if isinstance(_latency_previous, Unset):
442
- latency_previous = UNSET
443
- else:
444
- latency_previous = LatencyMetric.from_dict(_latency_previous)
445
-
446
- _memory_allocation = d.pop("memoryAllocation", d.pop("memory_allocation", UNSET))
447
- memory_allocation: Union[Unset, MemoryAllocationMetric]
448
- if isinstance(_memory_allocation, Unset):
449
- memory_allocation = UNSET
450
- else:
451
- memory_allocation = MemoryAllocationMetric.from_dict(_memory_allocation)
452
-
453
- _model_ttft = d.pop("modelTtft", d.pop("model_ttft", UNSET))
454
- model_ttft: Union[Unset, LatencyMetric]
455
- if isinstance(_model_ttft, Unset):
456
- model_ttft = UNSET
457
- else:
458
- model_ttft = LatencyMetric.from_dict(_model_ttft)
459
-
460
- _model_ttft_over_time = d.pop("modelTtftOverTime", d.pop("model_ttft_over_time", UNSET))
461
- model_ttft_over_time: Union[Unset, TimeToFirstTokenOverTimeMetrics]
462
- if isinstance(_model_ttft_over_time, Unset):
463
- model_ttft_over_time = UNSET
464
- else:
465
- model_ttft_over_time = TimeToFirstTokenOverTimeMetrics.from_dict(_model_ttft_over_time)
466
-
467
- _request_duration_over_time = d.pop(
468
- "requestDurationOverTime", d.pop("request_duration_over_time", UNSET)
469
- )
470
- request_duration_over_time: Union[Unset, RequestDurationOverTimeMetrics]
471
- if isinstance(_request_duration_over_time, Unset):
472
- request_duration_over_time = UNSET
473
- else:
474
- request_duration_over_time = RequestDurationOverTimeMetrics.from_dict(
475
- _request_duration_over_time
476
- )
477
-
478
- request_total = d.pop("requestTotal", d.pop("request_total", UNSET))
479
-
480
- _request_total_by_origin = d.pop(
481
- "requestTotalByOrigin", d.pop("request_total_by_origin", UNSET)
482
- )
483
- request_total_by_origin: Union[Unset, RequestTotalByOriginMetric]
484
- if isinstance(_request_total_by_origin, Unset):
485
- request_total_by_origin = UNSET
486
- else:
487
- request_total_by_origin = RequestTotalByOriginMetric.from_dict(_request_total_by_origin)
488
-
489
- _request_total_by_origin_previous = d.pop(
490
- "requestTotalByOriginPrevious", d.pop("request_total_by_origin_previous", UNSET)
491
- )
492
- request_total_by_origin_previous: Union[Unset, RequestTotalByOriginMetric]
493
- if isinstance(_request_total_by_origin_previous, Unset):
494
- request_total_by_origin_previous = UNSET
495
- else:
496
- request_total_by_origin_previous = RequestTotalByOriginMetric.from_dict(
497
- _request_total_by_origin_previous
498
- )
499
-
500
- _request_total_per_code = d.pop(
501
- "requestTotalPerCode", d.pop("request_total_per_code", UNSET)
502
- )
503
- request_total_per_code: Union[Unset, ResourceMetricsRequestTotalPerCode]
504
- if isinstance(_request_total_per_code, Unset):
505
- request_total_per_code = UNSET
506
- else:
507
- request_total_per_code = ResourceMetricsRequestTotalPerCode.from_dict(
508
- _request_total_per_code
509
- )
510
-
511
- _request_total_per_code_previous = d.pop(
512
- "requestTotalPerCodePrevious", d.pop("request_total_per_code_previous", UNSET)
513
- )
514
- request_total_per_code_previous: Union[Unset, ResourceMetricsRequestTotalPerCodePrevious]
515
- if isinstance(_request_total_per_code_previous, Unset):
516
- request_total_per_code_previous = UNSET
517
- else:
518
- request_total_per_code_previous = ResourceMetricsRequestTotalPerCodePrevious.from_dict(
519
- _request_total_per_code_previous
520
- )
521
-
522
- request_total_previous = d.pop(
523
- "requestTotalPrevious", d.pop("request_total_previous", UNSET)
524
- )
525
-
526
- rps = d.pop("rps", UNSET)
527
-
528
- _rps_per_code = d.pop("rpsPerCode", d.pop("rps_per_code", UNSET))
529
- rps_per_code: Union[Unset, ResourceMetricsRpsPerCode]
530
- if isinstance(_rps_per_code, Unset):
531
- rps_per_code = UNSET
532
- else:
533
- rps_per_code = ResourceMetricsRpsPerCode.from_dict(_rps_per_code)
534
-
535
- _rps_per_code_previous = d.pop("rpsPerCodePrevious", d.pop("rps_per_code_previous", UNSET))
536
- rps_per_code_previous: Union[Unset, ResourceMetricsRpsPerCodePrevious]
537
- if isinstance(_rps_per_code_previous, Unset):
538
- rps_per_code_previous = UNSET
539
- else:
540
- rps_per_code_previous = ResourceMetricsRpsPerCodePrevious.from_dict(
541
- _rps_per_code_previous
542
- )
543
-
544
- rps_previous = d.pop("rpsPrevious", d.pop("rps_previous", UNSET))
545
-
546
- sandboxes_cpu_usage = []
547
- _sandboxes_cpu_usage = d.pop("sandboxesCpuUsage", d.pop("sandboxes_cpu_usage", UNSET))
548
- for sandboxes_cpu_usage_item_data in _sandboxes_cpu_usage or []:
549
- sandboxes_cpu_usage_item = JobsChartValue.from_dict(sandboxes_cpu_usage_item_data)
550
-
551
- sandboxes_cpu_usage.append(sandboxes_cpu_usage_item)
552
-
553
- sandboxes_ram_usage = []
554
- _sandboxes_ram_usage = d.pop("sandboxesRamUsage", d.pop("sandboxes_ram_usage", UNSET))
555
- for sandboxes_ram_usage_item_data in _sandboxes_ram_usage or []:
556
- sandboxes_ram_usage_item = SandboxMetrics.from_dict(sandboxes_ram_usage_item_data)
557
-
558
- sandboxes_ram_usage.append(sandboxes_ram_usage_item)
559
-
560
- _token_rate = d.pop("tokenRate", d.pop("token_rate", UNSET))
561
- token_rate: Union[Unset, TokenRateMetrics]
562
- if isinstance(_token_rate, Unset):
563
- token_rate = UNSET
564
- else:
565
- token_rate = TokenRateMetrics.from_dict(_token_rate)
566
-
567
- _token_total = d.pop("tokenTotal", d.pop("token_total", UNSET))
568
- token_total: Union[Unset, TokenTotalMetric]
569
- if isinstance(_token_total, Unset):
570
- token_total = UNSET
571
- else:
572
- token_total = TokenTotalMetric.from_dict(_token_total)
573
-
574
- resource_metrics = cls(
575
- billable_time=billable_time,
576
- inference_errors_global=inference_errors_global,
577
- inference_global=inference_global,
578
- last_n_requests=last_n_requests,
579
- latency=latency,
580
- latency_previous=latency_previous,
581
- memory_allocation=memory_allocation,
582
- model_ttft=model_ttft,
583
- model_ttft_over_time=model_ttft_over_time,
584
- request_duration_over_time=request_duration_over_time,
585
- request_total=request_total,
586
- request_total_by_origin=request_total_by_origin,
587
- request_total_by_origin_previous=request_total_by_origin_previous,
588
- request_total_per_code=request_total_per_code,
589
- request_total_per_code_previous=request_total_per_code_previous,
590
- request_total_previous=request_total_previous,
591
- rps=rps,
592
- rps_per_code=rps_per_code,
593
- rps_per_code_previous=rps_per_code_previous,
594
- rps_previous=rps_previous,
595
- sandboxes_cpu_usage=sandboxes_cpu_usage,
596
- sandboxes_ram_usage=sandboxes_ram_usage,
597
- token_rate=token_rate,
598
- token_total=token_total,
599
- )
600
-
601
- resource_metrics.additional_properties = d
602
- return resource_metrics
603
-
604
- @property
605
- def additional_keys(self) -> list[str]:
606
- return list(self.additional_properties.keys())
607
-
608
- def __getitem__(self, key: str) -> Any:
609
- return self.additional_properties[key]
610
-
611
- def __setitem__(self, key: str, value: Any) -> None:
612
- self.additional_properties[key] = value
613
-
614
- def __delitem__(self, key: str) -> None:
615
- del self.additional_properties[key]
616
-
617
- def __contains__(self, key: str) -> bool:
618
- return key in self.additional_properties
@@ -1,45 +0,0 @@
1
- from typing import Any, TypeVar
2
-
3
- from attrs import define as _attrs_define
4
- from attrs import field as _attrs_field
5
-
6
- T = TypeVar("T", bound="ResourceMetricsRequestTotalPerCode")
7
-
8
-
9
- @_attrs_define
10
- class ResourceMetricsRequestTotalPerCode:
11
- """Number of requests for the resource globally per code"""
12
-
13
- additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
14
-
15
- def to_dict(self) -> dict[str, Any]:
16
- field_dict: dict[str, Any] = {}
17
- field_dict.update(self.additional_properties)
18
-
19
- return field_dict
20
-
21
- @classmethod
22
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
23
- if not src_dict:
24
- return None
25
- d = src_dict.copy()
26
- resource_metrics_request_total_per_code = cls()
27
-
28
- resource_metrics_request_total_per_code.additional_properties = d
29
- return resource_metrics_request_total_per_code
30
-
31
- @property
32
- def additional_keys(self) -> list[str]:
33
- return list(self.additional_properties.keys())
34
-
35
- def __getitem__(self, key: str) -> Any:
36
- return self.additional_properties[key]
37
-
38
- def __setitem__(self, key: str, value: Any) -> None:
39
- self.additional_properties[key] = value
40
-
41
- def __delitem__(self, key: str) -> None:
42
- del self.additional_properties[key]
43
-
44
- def __contains__(self, key: str) -> bool:
45
- return key in self.additional_properties