platform-api-python-client 4.9.7__py3-none-any.whl → 4.13.0__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.
@@ -90,7 +90,7 @@ class ApiClient:
90
90
  self.default_headers[header_name] = header_value
91
91
  self.cookie = cookie
92
92
  # Set default User-Agent.
93
- self.user_agent = 'OpenAPI-Generator/4.9.7/python'
93
+ self.user_agent = 'OpenAPI-Generator/4.13.0/python'
94
94
  self.client_side_validation = configuration.client_side_validation
95
95
 
96
96
  def __enter__(self):
@@ -392,7 +392,7 @@ class Configuration:
392
392
  "OS: {env}\n"\
393
393
  "Python Version: {pyversion}\n"\
394
394
  "Version of the API: 0.1.0\n"\
395
- "SDK Package Version: 4.9.7".\
395
+ "SDK Package Version: 4.13.0".\
396
396
  format(env=sys.platform, pyversion=sys.version)
397
397
 
398
398
  def get_host_settings(self):
@@ -14,8 +14,6 @@
14
14
 
15
15
 
16
16
  # import models into model package
17
- from platform_api_python_client.models.api_key_request import APIKeyRequest
18
- from platform_api_python_client.models.api_key_response import APIKeyResponse
19
17
  from platform_api_python_client.models.backend_protocol import BackendProtocol
20
18
  from platform_api_python_client.models.c_serve_recipe_perf import CServeRecipePerf
21
19
  from platform_api_python_client.models.c_serve_recipe_response import CServeRecipeResponse
@@ -63,7 +61,6 @@ from platform_api_python_client.models.http_validation_error import HTTPValidati
63
61
  from platform_api_python_client.models.hardware_instance_response import HardwareInstanceResponse
64
62
  from platform_api_python_client.models.image_pull_secret_credentials import ImagePullSecretCredentials
65
63
  from platform_api_python_client.models.invite_user_request import InviteUserRequest
66
- from platform_api_python_client.models.list_api_key_response import ListAPIKeyResponse
67
64
  from platform_api_python_client.models.list_c_serve_recipe_response import ListCServeRecipeResponse
68
65
  from platform_api_python_client.models.list_cluster_capacity_response import ListClusterCapacityResponse
69
66
  from platform_api_python_client.models.list_daily_bill_response import ListDailyBillResponse
@@ -74,6 +71,7 @@ from platform_api_python_client.models.list_hardware_instance_response import Li
74
71
  from platform_api_python_client.models.list_prebuilt_image_response import ListPrebuiltImageResponse
75
72
  from platform_api_python_client.models.list_user_vault_items_response import ListUserVaultItemsResponse
76
73
  from platform_api_python_client.models.metric import Metric
74
+ from platform_api_python_client.models.metrics_config import MetricsConfig
77
75
  from platform_api_python_client.models.pod_details import PodDetails
78
76
  from platform_api_python_client.models.pod_status import PodStatus
79
77
  from platform_api_python_client.models.prebuilt_image_response import PrebuiltImageResponse
@@ -23,6 +23,7 @@ from typing_extensions import Annotated
23
23
  from platform_api_python_client.models.backend_protocol import BackendProtocol
24
24
  from platform_api_python_client.models.config_file_mount import ConfigFileMount
25
25
  from platform_api_python_client.models.image_pull_secret_credentials import ImagePullSecretCredentials
26
+ from platform_api_python_client.models.metrics_config import MetricsConfig
26
27
  from typing import Optional, Set
27
28
  from typing_extensions import Self
28
29
 
@@ -52,9 +53,11 @@ class CreateInferenceV3DeploymentRequest(BaseModel):
52
53
  hf_token: Optional[StrictStr] = None
53
54
  backend_protocol: Optional[BackendProtocol] = None
54
55
  enable_logging: Optional[StrictBool] = False
56
+ enable_node_model_cache: Optional[StrictBool] = False
55
57
  session_affinity: Optional[StrictBool] = Field(default=False, description="Enable best-effort sticky routing via the `X-Session-Id` request header. Requests carrying the same header value land on the same pod, improving KV cache reuse for agentic workloads. Requests without the header are routed at random. Affinity is NOT durable: scaling, rollouts, restarts, or readiness-probe transitions will remap sessions to different pods. Do not use for irreplaceable in-pod state.")
56
58
  config_file: Optional[ConfigFileMount] = None
57
- __properties: ClassVar[List[str]] = ["max_surge", "max_unavailable", "name", "cluster_id", "hardware_instance_id", "user_annotations", "image_url", "image_pull_secret_credentials", "port", "min_replicas", "max_replicas", "initial_replicas", "concurrency", "cooldown_period", "healthcheck", "env_vars", "command", "endpoint_bearer_token", "endpoint_certificate_authority", "hf_token", "backend_protocol", "enable_logging", "session_affinity", "config_file"]
59
+ metrics: Optional[MetricsConfig] = None
60
+ __properties: ClassVar[List[str]] = ["max_surge", "max_unavailable", "name", "cluster_id", "hardware_instance_id", "user_annotations", "image_url", "image_pull_secret_credentials", "port", "min_replicas", "max_replicas", "initial_replicas", "concurrency", "cooldown_period", "healthcheck", "env_vars", "command", "endpoint_bearer_token", "endpoint_certificate_authority", "hf_token", "backend_protocol", "enable_logging", "enable_node_model_cache", "session_affinity", "config_file", "metrics"]
58
61
 
59
62
  @field_validator('name')
60
63
  def name_validate_regular_expression(cls, value):
@@ -108,6 +111,9 @@ class CreateInferenceV3DeploymentRequest(BaseModel):
108
111
  # override the default output from pydantic by calling `to_dict()` of config_file
109
112
  if self.config_file:
110
113
  _dict['config_file'] = self.config_file.to_dict()
114
+ # override the default output from pydantic by calling `to_dict()` of metrics
115
+ if self.metrics:
116
+ _dict['metrics'] = self.metrics.to_dict()
111
117
  # set to None if max_surge (nullable) is None
112
118
  # and model_fields_set contains the field
113
119
  if self.max_surge is None and "max_surge" in self.model_fields_set:
@@ -178,6 +184,11 @@ class CreateInferenceV3DeploymentRequest(BaseModel):
178
184
  if self.config_file is None and "config_file" in self.model_fields_set:
179
185
  _dict['config_file'] = None
180
186
 
187
+ # set to None if metrics (nullable) is None
188
+ # and model_fields_set contains the field
189
+ if self.metrics is None and "metrics" in self.model_fields_set:
190
+ _dict['metrics'] = None
191
+
181
192
  return _dict
182
193
 
183
194
  @classmethod
@@ -212,8 +223,10 @@ class CreateInferenceV3DeploymentRequest(BaseModel):
212
223
  "hf_token": obj.get("hf_token"),
213
224
  "backend_protocol": obj.get("backend_protocol"),
214
225
  "enable_logging": obj.get("enable_logging") if obj.get("enable_logging") is not None else False,
226
+ "enable_node_model_cache": obj.get("enable_node_model_cache") if obj.get("enable_node_model_cache") is not None else False,
215
227
  "session_affinity": obj.get("session_affinity") if obj.get("session_affinity") is not None else False,
216
- "config_file": ConfigFileMount.from_dict(obj["config_file"]) if obj.get("config_file") is not None else None
228
+ "config_file": ConfigFileMount.from_dict(obj["config_file"]) if obj.get("config_file") is not None else None,
229
+ "metrics": MetricsConfig.from_dict(obj["metrics"]) if obj.get("metrics") is not None else None
217
230
  })
218
231
  return _obj
219
232
 
@@ -38,8 +38,10 @@ class CreateJobDeploymentRequest(BaseModel):
38
38
  command: Optional[StrictStr] = None
39
39
  completions: Optional[StrictInt] = 1
40
40
  parallelism: Optional[StrictInt] = 1
41
+ backoff_limit: Optional[StrictInt] = 3
42
+ active_deadline_seconds: Optional[StrictInt] = None
41
43
  enable_logging: Optional[StrictBool] = True
42
- __properties: ClassVar[List[str]] = ["name", "cluster_id", "hardware_instance_id", "user_annotations", "image_url", "image_pull_secret_credentials", "env_vars", "command", "completions", "parallelism", "enable_logging"]
44
+ __properties: ClassVar[List[str]] = ["name", "cluster_id", "hardware_instance_id", "user_annotations", "image_url", "image_pull_secret_credentials", "env_vars", "command", "completions", "parallelism", "backoff_limit", "active_deadline_seconds", "enable_logging"]
43
45
 
44
46
  @field_validator('name')
45
47
  def name_validate_regular_expression(cls, value):
@@ -110,6 +112,11 @@ class CreateJobDeploymentRequest(BaseModel):
110
112
  if self.command is None and "command" in self.model_fields_set:
111
113
  _dict['command'] = None
112
114
 
115
+ # set to None if active_deadline_seconds (nullable) is None
116
+ # and model_fields_set contains the field
117
+ if self.active_deadline_seconds is None and "active_deadline_seconds" in self.model_fields_set:
118
+ _dict['active_deadline_seconds'] = None
119
+
113
120
  return _dict
114
121
 
115
122
  @classmethod
@@ -132,6 +139,8 @@ class CreateJobDeploymentRequest(BaseModel):
132
139
  "command": obj.get("command"),
133
140
  "completions": obj.get("completions") if obj.get("completions") is not None else 1,
134
141
  "parallelism": obj.get("parallelism") if obj.get("parallelism") is not None else 1,
142
+ "backoff_limit": obj.get("backoff_limit") if obj.get("backoff_limit") is not None else 3,
143
+ "active_deadline_seconds": obj.get("active_deadline_seconds"),
135
144
  "enable_logging": obj.get("enable_logging") if obj.get("enable_logging") is not None else True
136
145
  })
137
146
  return _obj
@@ -25,6 +25,7 @@ from platform_api_python_client.models.config_file_mount import ConfigFileMount
25
25
  from platform_api_python_client.models.deployment_status import DeploymentStatus
26
26
  from platform_api_python_client.models.deployment_type import DeploymentType
27
27
  from platform_api_python_client.models.image_pull_secret_credentials import ImagePullSecretCredentials
28
+ from platform_api_python_client.models.metrics_config import MetricsConfig
28
29
  from typing import Optional, Set
29
30
  from typing_extensions import Self
30
31
 
@@ -60,9 +61,11 @@ class GetInferenceV3DeploymentResponse(BaseModel):
60
61
  image_pull_secret_credentials: Optional[ImagePullSecretCredentials] = None
61
62
  backend_protocol: Optional[BackendProtocol] = None
62
63
  enable_logging: Optional[StrictBool] = True
64
+ enable_node_model_cache: Optional[StrictBool] = False
63
65
  session_affinity: Optional[StrictBool] = Field(default=False, description="Enable best-effort sticky routing via the `X-Session-Id` request header. Requests carrying the same header value land on the same pod, improving KV cache reuse for agentic workloads. Requests without the header are routed at random. Affinity is NOT durable: scaling, rollouts, restarts, or readiness-probe transitions will remap sessions to different pods. Do not use for irreplaceable in-pod state.")
64
66
  config_file: Optional[ConfigFileMount] = None
65
- __properties: ClassVar[List[str]] = ["creator_email", "cluster_id", "id", "name", "endpoint_url", "image_url", "type", "status", "created_at", "hardware_instance_id", "revision_number", "user_annotations", "container_port", "min_replicas", "max_replicas", "initial_replicas", "concurrency", "cooldown_period", "healthcheck", "endpoint_certificate_authority", "endpoint_bearer_token", "env_vars", "command", "command_args", "original_command", "image_pull_secret_credentials", "backend_protocol", "enable_logging", "session_affinity", "config_file"]
67
+ metrics: Optional[MetricsConfig] = None
68
+ __properties: ClassVar[List[str]] = ["creator_email", "cluster_id", "id", "name", "endpoint_url", "image_url", "type", "status", "created_at", "hardware_instance_id", "revision_number", "user_annotations", "container_port", "min_replicas", "max_replicas", "initial_replicas", "concurrency", "cooldown_period", "healthcheck", "endpoint_certificate_authority", "endpoint_bearer_token", "env_vars", "command", "command_args", "original_command", "image_pull_secret_credentials", "backend_protocol", "enable_logging", "enable_node_model_cache", "session_affinity", "config_file", "metrics"]
66
69
 
67
70
  model_config = ConfigDict(
68
71
  populate_by_name=True,
@@ -109,6 +112,9 @@ class GetInferenceV3DeploymentResponse(BaseModel):
109
112
  # override the default output from pydantic by calling `to_dict()` of config_file
110
113
  if self.config_file:
111
114
  _dict['config_file'] = self.config_file.to_dict()
115
+ # override the default output from pydantic by calling `to_dict()` of metrics
116
+ if self.metrics:
117
+ _dict['metrics'] = self.metrics.to_dict()
112
118
  # set to None if image_url (nullable) is None
113
119
  # and model_fields_set contains the field
114
120
  if self.image_url is None and "image_url" in self.model_fields_set:
@@ -174,6 +180,11 @@ class GetInferenceV3DeploymentResponse(BaseModel):
174
180
  if self.config_file is None and "config_file" in self.model_fields_set:
175
181
  _dict['config_file'] = None
176
182
 
183
+ # set to None if metrics (nullable) is None
184
+ # and model_fields_set contains the field
185
+ if self.metrics is None and "metrics" in self.model_fields_set:
186
+ _dict['metrics'] = None
187
+
177
188
  return _dict
178
189
 
179
190
  @classmethod
@@ -214,8 +225,10 @@ class GetInferenceV3DeploymentResponse(BaseModel):
214
225
  "image_pull_secret_credentials": ImagePullSecretCredentials.from_dict(obj["image_pull_secret_credentials"]) if obj.get("image_pull_secret_credentials") is not None else None,
215
226
  "backend_protocol": obj.get("backend_protocol"),
216
227
  "enable_logging": obj.get("enable_logging") if obj.get("enable_logging") is not None else True,
228
+ "enable_node_model_cache": obj.get("enable_node_model_cache") if obj.get("enable_node_model_cache") is not None else False,
217
229
  "session_affinity": obj.get("session_affinity") if obj.get("session_affinity") is not None else False,
218
- "config_file": ConfigFileMount.from_dict(obj["config_file"]) if obj.get("config_file") is not None else None
230
+ "config_file": ConfigFileMount.from_dict(obj["config_file"]) if obj.get("config_file") is not None else None,
231
+ "metrics": MetricsConfig.from_dict(obj["metrics"]) if obj.get("metrics") is not None else None
219
232
  })
220
233
  return _obj
221
234
 
@@ -45,11 +45,14 @@ class GetJobDeploymentResponse(BaseModel):
45
45
  env_vars: Optional[Dict[str, StrictStr]] = None
46
46
  command: Optional[List[StrictStr]] = None
47
47
  args: Optional[List[StrictStr]] = None
48
+ original_command: Optional[StrictStr] = None
48
49
  completions: Optional[StrictInt] = 1
49
50
  parallelism: Optional[StrictInt] = 1
51
+ backoff_limit: Optional[StrictInt] = 3
52
+ active_deadline_seconds: Optional[StrictInt] = None
50
53
  image_pull_secret_credentials: Optional[ImagePullSecretCredentials] = None
51
54
  enable_logging: Optional[StrictBool] = True
52
- __properties: ClassVar[List[str]] = ["creator_email", "cluster_id", "id", "name", "endpoint_url", "image_url", "type", "status", "created_at", "hardware_instance_id", "revision_number", "user_annotations", "env_vars", "command", "args", "completions", "parallelism", "image_pull_secret_credentials", "enable_logging"]
55
+ __properties: ClassVar[List[str]] = ["creator_email", "cluster_id", "id", "name", "endpoint_url", "image_url", "type", "status", "created_at", "hardware_instance_id", "revision_number", "user_annotations", "env_vars", "command", "args", "original_command", "completions", "parallelism", "backoff_limit", "active_deadline_seconds", "image_pull_secret_credentials", "enable_logging"]
53
56
 
54
57
  model_config = ConfigDict(
55
58
  populate_by_name=True,
@@ -118,6 +121,16 @@ class GetJobDeploymentResponse(BaseModel):
118
121
  if self.args is None and "args" in self.model_fields_set:
119
122
  _dict['args'] = None
120
123
 
124
+ # set to None if original_command (nullable) is None
125
+ # and model_fields_set contains the field
126
+ if self.original_command is None and "original_command" in self.model_fields_set:
127
+ _dict['original_command'] = None
128
+
129
+ # set to None if active_deadline_seconds (nullable) is None
130
+ # and model_fields_set contains the field
131
+ if self.active_deadline_seconds is None and "active_deadline_seconds" in self.model_fields_set:
132
+ _dict['active_deadline_seconds'] = None
133
+
121
134
  # set to None if image_pull_secret_credentials (nullable) is None
122
135
  # and model_fields_set contains the field
123
136
  if self.image_pull_secret_credentials is None and "image_pull_secret_credentials" in self.model_fields_set:
@@ -150,8 +163,11 @@ class GetJobDeploymentResponse(BaseModel):
150
163
  "env_vars": obj.get("env_vars"),
151
164
  "command": obj.get("command"),
152
165
  "args": obj.get("args"),
166
+ "original_command": obj.get("original_command"),
153
167
  "completions": obj.get("completions") if obj.get("completions") is not None else 1,
154
168
  "parallelism": obj.get("parallelism") if obj.get("parallelism") is not None else 1,
169
+ "backoff_limit": obj.get("backoff_limit") if obj.get("backoff_limit") is not None else 3,
170
+ "active_deadline_seconds": obj.get("active_deadline_seconds"),
155
171
  "image_pull_secret_credentials": ImagePullSecretCredentials.from_dict(obj["image_pull_secret_credentials"]) if obj.get("image_pull_secret_credentials") is not None else None,
156
172
  "enable_logging": obj.get("enable_logging") if obj.get("enable_logging") is not None else True
157
173
  })
@@ -34,10 +34,8 @@ class HardwareInstanceResponse(BaseModel):
34
34
  memory: StrictInt
35
35
  cost_per_hr: StrictInt
36
36
  cluster_id: StrictInt
37
- provider: Optional[StrictStr] = None
38
- num_accelerators: Optional[StrictInt] = None
39
37
  accelerator_memory: Optional[StrictInt] = None
40
- __properties: ClassVar[List[str]] = ["id", "name", "gpu_type", "num_gpu", "cpu", "memory", "cost_per_hr", "cluster_id", "provider", "num_accelerators", "accelerator_memory"]
38
+ __properties: ClassVar[List[str]] = ["id", "name", "gpu_type", "num_gpu", "cpu", "memory", "cost_per_hr", "cluster_id", "accelerator_memory"]
41
39
 
42
40
  model_config = ConfigDict(
43
41
  populate_by_name=True,
@@ -78,16 +76,6 @@ class HardwareInstanceResponse(BaseModel):
78
76
  exclude=excluded_fields,
79
77
  exclude_none=True,
80
78
  )
81
- # set to None if provider (nullable) is None
82
- # and model_fields_set contains the field
83
- if self.provider is None and "provider" in self.model_fields_set:
84
- _dict['provider'] = None
85
-
86
- # set to None if num_accelerators (nullable) is None
87
- # and model_fields_set contains the field
88
- if self.num_accelerators is None and "num_accelerators" in self.model_fields_set:
89
- _dict['num_accelerators'] = None
90
-
91
79
  # set to None if accelerator_memory (nullable) is None
92
80
  # and model_fields_set contains the field
93
81
  if self.accelerator_memory is None and "accelerator_memory" in self.model_fields_set:
@@ -113,8 +101,6 @@ class HardwareInstanceResponse(BaseModel):
113
101
  "memory": obj.get("memory"),
114
102
  "cost_per_hr": obj.get("cost_per_hr"),
115
103
  "cluster_id": obj.get("cluster_id"),
116
- "provider": obj.get("provider"),
117
- "num_accelerators": obj.get("num_accelerators"),
118
104
  "accelerator_memory": obj.get("accelerator_memory")
119
105
  })
120
106
  return _obj
@@ -29,6 +29,7 @@ class Metric(str, Enum):
29
29
  CPU = 'cpu'
30
30
  MEMORY = 'memory'
31
31
  GPU = 'gpu'
32
+ GPU_MEMORY = 'gpu_memory'
32
33
  HTTP_REQUESTS = 'http_requests'
33
34
  HTTP_REQUESTS_BY_STATUS = 'http_requests_by_status'
34
35
  ERROR_CODE = 'error_code'
@@ -17,17 +17,26 @@ import pprint
17
17
  import re # noqa: F401
18
18
  import json
19
19
 
20
- from pydantic import BaseModel, ConfigDict, StrictStr
20
+ from pydantic import BaseModel, ConfigDict, Field, field_validator
21
21
  from typing import Any, ClassVar, Dict, List
22
+ from typing_extensions import Annotated
22
23
  from typing import Optional, Set
23
24
  from typing_extensions import Self
24
25
 
25
- class APIKeyRequest(BaseModel):
26
+ class MetricsConfig(BaseModel):
26
27
  """
27
- APIKeyRequest
28
+ User-application Prometheus metrics endpoint. Atomic: both `port` and `path` must be supplied together. To omit the endpoint entirely, leave the parent request's `metrics` field unset — `CreateInferenceV3DeploymentRequest.fill_metrics_defaults` substitutes a `container_port` + `/metrics` bundle before persistence.
28
29
  """ # noqa: E501
29
- name: StrictStr
30
- __properties: ClassVar[List[str]] = ["name"]
30
+ port: Annotated[int, Field(le=65535, strict=True, ge=1)]
31
+ path: Annotated[str, Field(strict=True)]
32
+ __properties: ClassVar[List[str]] = ["port", "path"]
33
+
34
+ @field_validator('path')
35
+ def path_validate_regular_expression(cls, value):
36
+ """Validates the regular expression"""
37
+ if not re.match(r"^\/[^\s?#]*$", value):
38
+ raise ValueError(r"must validate the regular expression /^\/[^\s?#]*$/")
39
+ return value
31
40
 
32
41
  model_config = ConfigDict(
33
42
  populate_by_name=True,
@@ -47,7 +56,7 @@ class APIKeyRequest(BaseModel):
47
56
 
48
57
  @classmethod
49
58
  def from_json(cls, json_str: str) -> Optional[Self]:
50
- """Create an instance of APIKeyRequest from a JSON string"""
59
+ """Create an instance of MetricsConfig from a JSON string"""
51
60
  return cls.from_dict(json.loads(json_str))
52
61
 
53
62
  def to_dict(self) -> Dict[str, Any]:
@@ -72,7 +81,7 @@ class APIKeyRequest(BaseModel):
72
81
 
73
82
  @classmethod
74
83
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
75
- """Create an instance of APIKeyRequest from a dict"""
84
+ """Create an instance of MetricsConfig from a dict"""
76
85
  if obj is None:
77
86
  return None
78
87
 
@@ -80,7 +89,8 @@ class APIKeyRequest(BaseModel):
80
89
  return cls.model_validate(obj)
81
90
 
82
91
  _obj = cls.model_validate({
83
- "name": obj.get("name")
92
+ "port": obj.get("port"),
93
+ "path": obj.get("path")
84
94
  })
85
95
  return _obj
86
96
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: platform-api-python-client
3
- Version: 4.9.7
3
+ Version: 4.13.0
4
4
  Summary: Platform External API
5
5
  Home-page:
6
6
  Author: OpenAPI Generator community
@@ -1,15 +1,13 @@
1
- platform_api_python_client/__init__.py,sha256=uajg21IusG6sQrdRU_ES3-VRxCn4IwgbzFd9RxzrmIM,8080
2
- platform_api_python_client/api_client.py,sha256=n-mlNjX_ckv2RFk6r0gnSfED_6kGbPG-d0dEDfxw09k,27553
1
+ platform_api_python_client/__init__.py,sha256=jOofejouPkiLQMYuUHgQPLUNhSoJVN2WFbgyZn0J6kw,7915
2
+ platform_api_python_client/api_client.py,sha256=liNLfrKcOCuEAChtw3vZg3ISOZGQX18jHr6qwQJxHR4,27554
3
3
  platform_api_python_client/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
4
- platform_api_python_client/configuration.py,sha256=03YocFdOW2P7Q2uJTTVW4PcHZPmIbJZlgpjgAIELcXI,15335
4
+ platform_api_python_client/configuration.py,sha256=bxq19g3BoVflPnXoWrvbYYmESoYBqCSvdvic2CgWk58,15336
5
5
  platform_api_python_client/exceptions.py,sha256=SgBMBmRBD5JyEJj5ZiSQRbiOs4IVPOFZMGKX_fhPd58,5986
6
6
  platform_api_python_client/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
7
  platform_api_python_client/rest.py,sha256=U514C8b2RXn4u0w7VpOFXeSaArP6_wuMCf8-G5xCbyk,9438
8
8
  platform_api_python_client/api/__init__.py,sha256=8FSPlQzadbgpFR5KYbpbN0DgPRWqOZkfooMstj2XcHg,116
9
- platform_api_python_client/api/external_api.py,sha256=0TRHSgW4ky6ZytkCTWCkqVwKOLNWvIfvhROdsMCQ6qo,508649
10
- platform_api_python_client/models/__init__.py,sha256=-X99VH0or9CNJny0BmSx4yLyZzi-37G72Dsq1POWuuI,7360
11
- platform_api_python_client/models/api_key_request.py,sha256=p4bkyCVMkcyyx72ZQnfRMC65wwb2DT4qT6QKYaaO7rA,2482
12
- platform_api_python_client/models/api_key_response.py,sha256=7yr2p-Y_KAMZ9RomPR7AlOJK20RlZz4IZJHBKyrI3ww,2661
9
+ platform_api_python_client/api/external_api.py,sha256=tE-texLfKTffLvuMA2dKFH0XKAlOjoMwDijHMsjm4FU,478745
10
+ platform_api_python_client/models/__init__.py,sha256=BYGiblGUzZDS5FAYzDz1n0CIDpsyl4Z4OQFdpcFjso8,7194
13
11
  platform_api_python_client/models/backend_protocol.py,sha256=o0t9wUHBBCBHB_Dvqcossc9X9gT_7yjikvAA6NBHnjs,764
14
12
  platform_api_python_client/models/c_serve_recipe_perf.py,sha256=x23e783A-Pj-2socL4mlN2RgjHPtbJB_fJYhVmn9z08,3262
15
13
  platform_api_python_client/models/c_serve_recipe_response.py,sha256=NUAnNbshCSnpru8e7AzSAGOQhJpj4BXSNT964oDBYa0,3584
@@ -24,8 +22,8 @@ platform_api_python_client/models/create_compute_deployment_request.py,sha256=yO
24
22
  platform_api_python_client/models/create_compute_deployment_response.py,sha256=RZLbCr7WpiMufWX7xmka1HNjBXnOi2GUE4gPuc5zpak,3200
25
23
  platform_api_python_client/models/create_inference_deployment_request.py,sha256=YNPRKEeYOiXdZdwR7AAu7ZAnw8DypiqOTtdu9OaLrqE,6481
26
24
  platform_api_python_client/models/create_inference_deployment_response.py,sha256=iYHJMG7ke5DJqvmaBsrPDYa1CwBNBnACwYEo2-0wVyE,2780
27
- platform_api_python_client/models/create_inference_v3_deployment_request.py,sha256=dJHVJaKOcv3_s_obGWh4SgAFBZxl568elqGlW8yioLg,10557
28
- platform_api_python_client/models/create_job_deployment_request.py,sha256=z4HfQkdWSEX39tGeZMqfuewg6gdk4fWnAsFKa4lg6Lc,5733
25
+ platform_api_python_client/models/create_inference_v3_deployment_request.py,sha256=49glKM3KoaSFtY5ovWohFN6k0g-fSL7ZVyX3XIRHloQ,11392
26
+ platform_api_python_client/models/create_job_deployment_request.py,sha256=Z2QROjdPM6b2tjyt0CJeFgaV-sn6saKl8jvxmrPjhJg,6328
29
27
  platform_api_python_client/models/create_job_deployment_response.py,sha256=1ObJIUdA4IR2ztQws8NMF3T9G8BfTEvqj7t9abtmIro,2756
30
28
  platform_api_python_client/models/create_organization_request.py,sha256=2p0TnpMk_mOfMkhUL-k6ShZMoC146QFBdY8l47bx4i8,2530
31
29
  platform_api_python_client/models/create_organization_response.py,sha256=a0jU9v0OiuB2oWbS9eTRFOtXtIxNLHDIcaLY88GNEb8,2591
@@ -50,14 +48,13 @@ platform_api_python_client/models/get_deployment_response.py,sha256=ubyD-CAgKZk4
50
48
  platform_api_python_client/models/get_deployment_revision_response.py,sha256=jTx_G8JCeKbgwmbylM3uiPNtGoCPpwjN5KMkFuC9BS8,3778
51
49
  platform_api_python_client/models/get_deployment_usage_response.py,sha256=RnEJqDaIFVjuHVU26EScvLICK9tDVFj6hQh_U0yMBdg,3031
52
50
  platform_api_python_client/models/get_inference_deployment_response.py,sha256=_Lz_hJS8Cw_NDeR5KD_o3nBcUG4X3_OiXGiT9cn0tJ0,7482
53
- platform_api_python_client/models/get_inference_v3_deployment_response.py,sha256=9foxK5nYW54mj64rHpcHXqQyongYFWMBKFyCyoCHIYQ,10746
54
- platform_api_python_client/models/get_job_deployment_response.py,sha256=3ggV_AtQ6hL3t66kF4gtPXIF28C6U8rrdVftm-Egg9o,6630
51
+ platform_api_python_client/models/get_inference_v3_deployment_response.py,sha256=NzRT_gez5Pra5GiV5HCoqReQUfitXJr_TaESPZSFqmo,11581
52
+ platform_api_python_client/models/get_job_deployment_response.py,sha256=oWh9DN9HUH-VS_QyivD4FSx1KTjZNDHuJJMyaLgZYRs,7602
55
53
  platform_api_python_client/models/gpu_type_capacity.py,sha256=KdNy4RJB8JIstVTiB4qsY-MAK7nHsKVTGe-kTMwz_XA,3101
56
- platform_api_python_client/models/hardware_instance_response.py,sha256=89qNY1wVusuUYSymYFJxo-64cCwtkaHcBYZzL4JeyLo,4161
54
+ platform_api_python_client/models/hardware_instance_response.py,sha256=e4KF3_MZJjDbFB5hNytaoW3Qws3-dfqwi1uSg8nA6ig,3471
57
55
  platform_api_python_client/models/http_validation_error.py,sha256=LCSb4Ct_DLOMGFoHLmzwRqUE0jeprHfuTeFgIEF0guk,3030
58
56
  platform_api_python_client/models/image_pull_secret_credentials.py,sha256=WYekYs3xTZj63EmKSw25ThkDzq9I7fgAnTdw5q1Gciw,2631
59
57
  platform_api_python_client/models/invite_user_request.py,sha256=uiFLP5GClTnf-p_z3OaH1-f5FUB3FX2tLtf4-pZkeoY,2502
60
- platform_api_python_client/models/list_api_key_response.py,sha256=tXUlTP-SBqJS41nbpOELwhO3klgCZTe3NIB2Gw0sK5g,3008
61
58
  platform_api_python_client/models/list_c_serve_recipe_response.py,sha256=nqObDS3naOIcLZCBtD4Ff2nm94S-iwoLulySmWx1zRw,3057
62
59
  platform_api_python_client/models/list_cluster_capacity_response.py,sha256=BuTYR-9rXVPIp2PaHqkLlzytyiwk9ULDU-GJ8lIMC-4,3122
63
60
  platform_api_python_client/models/list_daily_bill_response.py,sha256=52uvjXcTVt3wV9pptL2dAs7RsgmAlZTFj6GZ0YKcw8I,3032
@@ -67,7 +64,8 @@ platform_api_python_client/models/list_get_deployment_response.py,sha256=sS8uE7L
67
64
  platform_api_python_client/models/list_hardware_instance_response.py,sha256=26BbCJvHhzX-YY1PDfk7vNVaWTladJ_F7xnhSfHuobY,3088
68
65
  platform_api_python_client/models/list_prebuilt_image_response.py,sha256=o7W89S1KPn74b4Hbeo6eRmQBqMqSMfytwOpogZ7o3Iw,3064
69
66
  platform_api_python_client/models/list_user_vault_items_response.py,sha256=7lQ1fBnERqv4mI_RcIBe42MDvYwon_LjRRFTzD-HsMQ,3036
70
- platform_api_python_client/models/metric.py,sha256=KPW0qVKNxddN6NQIs2870AxgnS1g99mlJvMAXHkMDKQ,1225
67
+ platform_api_python_client/models/metric.py,sha256=83HrRBZwnepSCyjbx0S61_geYb2HiImWlfzaZS-1xF8,1255
68
+ platform_api_python_client/models/metrics_config.py,sha256=ssB0yIfMIj2wWUnYgYw9vWfi12Z_BhkvXwNGTg2IHfE,3257
71
69
  platform_api_python_client/models/pod_details.py,sha256=JRNnE3fpCdmrMfbsFxEYtYo17McX040hNU99EZ2f90o,3569
72
70
  platform_api_python_client/models/pod_status.py,sha256=KKYclyyn66pHrk56D8JD698qqM_j7V6SVPcuTSIfS88,1120
73
71
  platform_api_python_client/models/prebuilt_image_response.py,sha256=dnvVsxrLNOpQhQgT8YePMwXmMx-8lEpImVK2oU4dsUk,3248
@@ -82,7 +80,7 @@ platform_api_python_client/models/user_vault_type.py,sha256=omgXu7ipt_j_0IK1mCIb
82
80
  platform_api_python_client/models/validation_error.py,sha256=bAAvyr7kxTVi7Xo-A-7sY64959W_7PISLgJjWBc_Q3k,3122
83
81
  platform_api_python_client/models/validation_error_loc_inner.py,sha256=_ossVs2HphEeptkKNGz_38WRQBvVHRPg00bhnE6imfs,4899
84
82
  platform_api_python_client/models/vault_scope.py,sha256=n_B1F_wYcabdVaW35o-kF8evyzEqMMMD3nWxRArYGAM,747
85
- platform_api_python_client-4.9.7.dist-info/METADATA,sha256=4zY4nAFxTGmd3GTlVvuVkj-D8I2gg8jo8_StAg68TnA,694
86
- platform_api_python_client-4.9.7.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
87
- platform_api_python_client-4.9.7.dist-info/top_level.txt,sha256=yy_3qpZ0HjJKg8tednSa1a2fNj8p5CIw_sAR71ZZz2Q,27
88
- platform_api_python_client-4.9.7.dist-info/RECORD,,
83
+ platform_api_python_client-4.13.0.dist-info/METADATA,sha256=hTznlq01K6VkoO0JYvLXnEZqzJt39tsn8X9is9He-tk,695
84
+ platform_api_python_client-4.13.0.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
85
+ platform_api_python_client-4.13.0.dist-info/top_level.txt,sha256=yy_3qpZ0HjJKg8tednSa1a2fNj8p5CIw_sAR71ZZz2Q,27
86
+ platform_api_python_client-4.13.0.dist-info/RECORD,,
@@ -1,92 +0,0 @@
1
- # coding: utf-8
2
-
3
- """
4
- Platform External API
5
-
6
- No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
-
8
- The version of the OpenAPI document: 0.1.0
9
- Generated by OpenAPI Generator (https://openapi-generator.tech)
10
-
11
- Do not edit the class manually.
12
- """ # noqa: E501
13
-
14
-
15
- from __future__ import annotations
16
- import pprint
17
- import re # noqa: F401
18
- import json
19
-
20
- from datetime import datetime
21
- from pydantic import BaseModel, ConfigDict, StrictStr
22
- from typing import Any, ClassVar, Dict, List
23
- from typing import Optional, Set
24
- from typing_extensions import Self
25
-
26
- class APIKeyResponse(BaseModel):
27
- """
28
- APIKeyResponse
29
- """ # noqa: E501
30
- name: StrictStr
31
- id: StrictStr
32
- created_at: datetime
33
- __properties: ClassVar[List[str]] = ["name", "id", "created_at"]
34
-
35
- model_config = ConfigDict(
36
- populate_by_name=True,
37
- validate_assignment=True,
38
- protected_namespaces=(),
39
- )
40
-
41
-
42
- def to_str(self) -> str:
43
- """Returns the string representation of the model using alias"""
44
- return pprint.pformat(self.model_dump(by_alias=True))
45
-
46
- def to_json(self) -> str:
47
- """Returns the JSON representation of the model using alias"""
48
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
49
- return json.dumps(self.to_dict())
50
-
51
- @classmethod
52
- def from_json(cls, json_str: str) -> Optional[Self]:
53
- """Create an instance of APIKeyResponse from a JSON string"""
54
- return cls.from_dict(json.loads(json_str))
55
-
56
- def to_dict(self) -> Dict[str, Any]:
57
- """Return the dictionary representation of the model using alias.
58
-
59
- This has the following differences from calling pydantic's
60
- `self.model_dump(by_alias=True)`:
61
-
62
- * `None` is only added to the output dict for nullable fields that
63
- were set at model initialization. Other fields with value `None`
64
- are ignored.
65
- """
66
- excluded_fields: Set[str] = set([
67
- ])
68
-
69
- _dict = self.model_dump(
70
- by_alias=True,
71
- exclude=excluded_fields,
72
- exclude_none=True,
73
- )
74
- return _dict
75
-
76
- @classmethod
77
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
78
- """Create an instance of APIKeyResponse from a dict"""
79
- if obj is None:
80
- return None
81
-
82
- if not isinstance(obj, dict):
83
- return cls.model_validate(obj)
84
-
85
- _obj = cls.model_validate({
86
- "name": obj.get("name"),
87
- "id": obj.get("id"),
88
- "created_at": obj.get("created_at")
89
- })
90
- return _obj
91
-
92
-
@@ -1,95 +0,0 @@
1
- # coding: utf-8
2
-
3
- """
4
- Platform External API
5
-
6
- No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
-
8
- The version of the OpenAPI document: 0.1.0
9
- Generated by OpenAPI Generator (https://openapi-generator.tech)
10
-
11
- Do not edit the class manually.
12
- """ # noqa: E501
13
-
14
-
15
- from __future__ import annotations
16
- import pprint
17
- import re # noqa: F401
18
- import json
19
-
20
- from pydantic import BaseModel, ConfigDict
21
- from typing import Any, ClassVar, Dict, List
22
- from platform_api_python_client.models.api_key_response import APIKeyResponse
23
- from typing import Optional, Set
24
- from typing_extensions import Self
25
-
26
- class ListAPIKeyResponse(BaseModel):
27
- """
28
- ListAPIKeyResponse
29
- """ # noqa: E501
30
- results: List[APIKeyResponse]
31
- __properties: ClassVar[List[str]] = ["results"]
32
-
33
- model_config = ConfigDict(
34
- populate_by_name=True,
35
- validate_assignment=True,
36
- protected_namespaces=(),
37
- )
38
-
39
-
40
- def to_str(self) -> str:
41
- """Returns the string representation of the model using alias"""
42
- return pprint.pformat(self.model_dump(by_alias=True))
43
-
44
- def to_json(self) -> str:
45
- """Returns the JSON representation of the model using alias"""
46
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
47
- return json.dumps(self.to_dict())
48
-
49
- @classmethod
50
- def from_json(cls, json_str: str) -> Optional[Self]:
51
- """Create an instance of ListAPIKeyResponse from a JSON string"""
52
- return cls.from_dict(json.loads(json_str))
53
-
54
- def to_dict(self) -> Dict[str, Any]:
55
- """Return the dictionary representation of the model using alias.
56
-
57
- This has the following differences from calling pydantic's
58
- `self.model_dump(by_alias=True)`:
59
-
60
- * `None` is only added to the output dict for nullable fields that
61
- were set at model initialization. Other fields with value `None`
62
- are ignored.
63
- """
64
- excluded_fields: Set[str] = set([
65
- ])
66
-
67
- _dict = self.model_dump(
68
- by_alias=True,
69
- exclude=excluded_fields,
70
- exclude_none=True,
71
- )
72
- # override the default output from pydantic by calling `to_dict()` of each item in results (list)
73
- _items = []
74
- if self.results:
75
- for _item_results in self.results:
76
- if _item_results:
77
- _items.append(_item_results.to_dict())
78
- _dict['results'] = _items
79
- return _dict
80
-
81
- @classmethod
82
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
83
- """Create an instance of ListAPIKeyResponse from a dict"""
84
- if obj is None:
85
- return None
86
-
87
- if not isinstance(obj, dict):
88
- return cls.model_validate(obj)
89
-
90
- _obj = cls.model_validate({
91
- "results": [APIKeyResponse.from_dict(_item) for _item in obj["results"]] if obj.get("results") is not None else None
92
- })
93
- return _obj
94
-
95
-