together 2.0.0a16__py3-none-any.whl → 2.0.0a18__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 (60) hide show
  1. together/_base_client.py +5 -2
  2. together/_client.py +1 -39
  3. together/_compat.py +3 -3
  4. together/_utils/_json.py +35 -0
  5. together/_version.py +1 -1
  6. together/lib/cli/api/endpoints/create.py +14 -8
  7. together/lib/cli/api/endpoints/hardware.py +37 -6
  8. together/lib/cli/api/models/list.py +18 -14
  9. together/lib/cli/api/models/upload.py +5 -1
  10. together/resources/__init__.py +0 -14
  11. together/resources/beta/__init__.py +14 -0
  12. together/resources/beta/beta.py +32 -0
  13. together/resources/beta/clusters/clusters.py +12 -12
  14. together/resources/beta/clusters/storage.py +10 -10
  15. together/resources/beta/jig/__init__.py +61 -0
  16. together/resources/beta/jig/jig.py +1024 -0
  17. together/resources/beta/jig/queue.py +482 -0
  18. together/resources/beta/jig/secrets.py +548 -0
  19. together/resources/beta/jig/volumes.py +514 -0
  20. together/resources/chat/completions.py +10 -0
  21. together/resources/endpoints.py +2 -2
  22. together/resources/models/__init__.py +33 -0
  23. together/resources/{models.py → models/models.py} +41 -9
  24. together/resources/models/uploads.py +163 -0
  25. together/types/__init__.py +0 -2
  26. together/types/beta/__init__.py +6 -0
  27. together/types/beta/deployment.py +261 -0
  28. together/types/beta/deployment_logs.py +11 -0
  29. together/types/beta/jig/__init__.py +20 -0
  30. together/types/beta/jig/queue_cancel_params.py +13 -0
  31. together/types/beta/jig/queue_cancel_response.py +11 -0
  32. together/types/beta/jig/queue_metrics_params.py +12 -0
  33. together/types/beta/jig/queue_metrics_response.py +8 -0
  34. together/types/beta/jig/queue_retrieve_params.py +15 -0
  35. together/types/beta/jig/queue_retrieve_response.py +35 -0
  36. together/types/beta/jig/queue_submit_params.py +19 -0
  37. together/types/beta/jig/queue_submit_response.py +25 -0
  38. together/types/beta/jig/secret.py +33 -0
  39. together/types/beta/jig/secret_create_params.py +34 -0
  40. together/types/beta/jig/secret_list_response.py +16 -0
  41. together/types/beta/jig/secret_update_params.py +34 -0
  42. together/types/beta/jig/volume.py +47 -0
  43. together/types/beta/jig/volume_create_params.py +34 -0
  44. together/types/beta/jig/volume_list_response.py +16 -0
  45. together/types/beta/jig/volume_update_params.py +34 -0
  46. together/types/beta/jig_deploy_params.py +150 -0
  47. together/types/beta/jig_list_response.py +16 -0
  48. together/types/beta/jig_retrieve_logs_params.py +15 -0
  49. together/types/beta/jig_update_params.py +141 -0
  50. together/types/chat/completion_create_params.py +11 -0
  51. together/types/endpoint_create_params.py +1 -1
  52. together/types/models/__init__.py +5 -0
  53. together/types/{job_retrieve_response.py → models/upload_status_response.py} +3 -3
  54. {together-2.0.0a16.dist-info → together-2.0.0a18.dist-info}/METADATA +11 -14
  55. {together-2.0.0a16.dist-info → together-2.0.0a18.dist-info}/RECORD +58 -28
  56. together/resources/jobs.py +0 -214
  57. together/types/job_list_response.py +0 -47
  58. {together-2.0.0a16.dist-info → together-2.0.0a18.dist-info}/WHEEL +0 -0
  59. {together-2.0.0a16.dist-info → together-2.0.0a18.dist-info}/entry_points.txt +0 -0
  60. {together-2.0.0a16.dist-info → together-2.0.0a18.dist-info}/licenses/LICENSE +0 -0
@@ -6,25 +6,37 @@ from typing_extensions import Literal
6
6
 
7
7
  import httpx
8
8
 
9
- from ..types import model_list_params, model_upload_params
10
- from .._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
11
- from .._utils import maybe_transform, async_maybe_transform
12
- from .._compat import cached_property
13
- from .._resource import SyncAPIResource, AsyncAPIResource
14
- from .._response import (
9
+ from ...types import model_list_params, model_upload_params
10
+ from .uploads import (
11
+ UploadsResource,
12
+ AsyncUploadsResource,
13
+ UploadsResourceWithRawResponse,
14
+ AsyncUploadsResourceWithRawResponse,
15
+ UploadsResourceWithStreamingResponse,
16
+ AsyncUploadsResourceWithStreamingResponse,
17
+ )
18
+ from ..._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
19
+ from ..._utils import maybe_transform, async_maybe_transform
20
+ from ..._compat import cached_property
21
+ from ..._resource import SyncAPIResource, AsyncAPIResource
22
+ from ..._response import (
15
23
  to_raw_response_wrapper,
16
24
  to_streamed_response_wrapper,
17
25
  async_to_raw_response_wrapper,
18
26
  async_to_streamed_response_wrapper,
19
27
  )
20
- from .._base_client import make_request_options
21
- from ..types.model_list_response import ModelListResponse
22
- from ..types.model_upload_response import ModelUploadResponse
28
+ from ..._base_client import make_request_options
29
+ from ...types.model_list_response import ModelListResponse
30
+ from ...types.model_upload_response import ModelUploadResponse
23
31
 
24
32
  __all__ = ["ModelsResource", "AsyncModelsResource"]
25
33
 
26
34
 
27
35
  class ModelsResource(SyncAPIResource):
36
+ @cached_property
37
+ def uploads(self) -> UploadsResource:
38
+ return UploadsResource(self._client)
39
+
28
40
  @cached_property
29
41
  def with_raw_response(self) -> ModelsResourceWithRawResponse:
30
42
  """
@@ -148,6 +160,10 @@ class ModelsResource(SyncAPIResource):
148
160
 
149
161
 
150
162
  class AsyncModelsResource(AsyncAPIResource):
163
+ @cached_property
164
+ def uploads(self) -> AsyncUploadsResource:
165
+ return AsyncUploadsResource(self._client)
166
+
151
167
  @cached_property
152
168
  def with_raw_response(self) -> AsyncModelsResourceWithRawResponse:
153
169
  """
@@ -281,6 +297,10 @@ class ModelsResourceWithRawResponse:
281
297
  models.upload,
282
298
  )
283
299
 
300
+ @cached_property
301
+ def uploads(self) -> UploadsResourceWithRawResponse:
302
+ return UploadsResourceWithRawResponse(self._models.uploads)
303
+
284
304
 
285
305
  class AsyncModelsResourceWithRawResponse:
286
306
  def __init__(self, models: AsyncModelsResource) -> None:
@@ -293,6 +313,10 @@ class AsyncModelsResourceWithRawResponse:
293
313
  models.upload,
294
314
  )
295
315
 
316
+ @cached_property
317
+ def uploads(self) -> AsyncUploadsResourceWithRawResponse:
318
+ return AsyncUploadsResourceWithRawResponse(self._models.uploads)
319
+
296
320
 
297
321
  class ModelsResourceWithStreamingResponse:
298
322
  def __init__(self, models: ModelsResource) -> None:
@@ -305,6 +329,10 @@ class ModelsResourceWithStreamingResponse:
305
329
  models.upload,
306
330
  )
307
331
 
332
+ @cached_property
333
+ def uploads(self) -> UploadsResourceWithStreamingResponse:
334
+ return UploadsResourceWithStreamingResponse(self._models.uploads)
335
+
308
336
 
309
337
  class AsyncModelsResourceWithStreamingResponse:
310
338
  def __init__(self, models: AsyncModelsResource) -> None:
@@ -316,3 +344,7 @@ class AsyncModelsResourceWithStreamingResponse:
316
344
  self.upload = async_to_streamed_response_wrapper(
317
345
  models.upload,
318
346
  )
347
+
348
+ @cached_property
349
+ def uploads(self) -> AsyncUploadsResourceWithStreamingResponse:
350
+ return AsyncUploadsResourceWithStreamingResponse(self._models.uploads)
@@ -0,0 +1,163 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ import httpx
6
+
7
+ from ..._types import Body, Query, Headers, NotGiven, not_given
8
+ from ..._compat import cached_property
9
+ from ..._resource import SyncAPIResource, AsyncAPIResource
10
+ from ..._response import (
11
+ to_raw_response_wrapper,
12
+ to_streamed_response_wrapper,
13
+ async_to_raw_response_wrapper,
14
+ async_to_streamed_response_wrapper,
15
+ )
16
+ from ..._base_client import make_request_options
17
+ from ...types.models.upload_status_response import UploadStatusResponse
18
+
19
+ __all__ = ["UploadsResource", "AsyncUploadsResource"]
20
+
21
+
22
+ class UploadsResource(SyncAPIResource):
23
+ @cached_property
24
+ def with_raw_response(self) -> UploadsResourceWithRawResponse:
25
+ """
26
+ This property can be used as a prefix for any HTTP method call to return
27
+ the raw response object instead of the parsed content.
28
+
29
+ For more information, see https://www.github.com/togethercomputer/together-py#accessing-raw-response-data-eg-headers
30
+ """
31
+ return UploadsResourceWithRawResponse(self)
32
+
33
+ @cached_property
34
+ def with_streaming_response(self) -> UploadsResourceWithStreamingResponse:
35
+ """
36
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
37
+
38
+ For more information, see https://www.github.com/togethercomputer/together-py#with_streaming_response
39
+ """
40
+ return UploadsResourceWithStreamingResponse(self)
41
+
42
+ def status(
43
+ self,
44
+ job_id: str,
45
+ *,
46
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
47
+ # The extra values given here take precedence over values defined on the client or passed to this method.
48
+ extra_headers: Headers | None = None,
49
+ extra_query: Query | None = None,
50
+ extra_body: Body | None = None,
51
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
52
+ ) -> UploadStatusResponse:
53
+ """
54
+ Get the status of a specific job
55
+
56
+ Args:
57
+ extra_headers: Send extra headers
58
+
59
+ extra_query: Add additional query parameters to the request
60
+
61
+ extra_body: Add additional JSON properties to the request
62
+
63
+ timeout: Override the client-level default timeout for this request, in seconds
64
+ """
65
+ if not job_id:
66
+ raise ValueError(f"Expected a non-empty value for `job_id` but received {job_id!r}")
67
+ return self._get(
68
+ f"/jobs/{job_id}",
69
+ options=make_request_options(
70
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
71
+ ),
72
+ cast_to=UploadStatusResponse,
73
+ )
74
+
75
+
76
+ class AsyncUploadsResource(AsyncAPIResource):
77
+ @cached_property
78
+ def with_raw_response(self) -> AsyncUploadsResourceWithRawResponse:
79
+ """
80
+ This property can be used as a prefix for any HTTP method call to return
81
+ the raw response object instead of the parsed content.
82
+
83
+ For more information, see https://www.github.com/togethercomputer/together-py#accessing-raw-response-data-eg-headers
84
+ """
85
+ return AsyncUploadsResourceWithRawResponse(self)
86
+
87
+ @cached_property
88
+ def with_streaming_response(self) -> AsyncUploadsResourceWithStreamingResponse:
89
+ """
90
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
91
+
92
+ For more information, see https://www.github.com/togethercomputer/together-py#with_streaming_response
93
+ """
94
+ return AsyncUploadsResourceWithStreamingResponse(self)
95
+
96
+ async def status(
97
+ self,
98
+ job_id: str,
99
+ *,
100
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
101
+ # The extra values given here take precedence over values defined on the client or passed to this method.
102
+ extra_headers: Headers | None = None,
103
+ extra_query: Query | None = None,
104
+ extra_body: Body | None = None,
105
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
106
+ ) -> UploadStatusResponse:
107
+ """
108
+ Get the status of a specific job
109
+
110
+ Args:
111
+ extra_headers: Send extra headers
112
+
113
+ extra_query: Add additional query parameters to the request
114
+
115
+ extra_body: Add additional JSON properties to the request
116
+
117
+ timeout: Override the client-level default timeout for this request, in seconds
118
+ """
119
+ if not job_id:
120
+ raise ValueError(f"Expected a non-empty value for `job_id` but received {job_id!r}")
121
+ return await self._get(
122
+ f"/jobs/{job_id}",
123
+ options=make_request_options(
124
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
125
+ ),
126
+ cast_to=UploadStatusResponse,
127
+ )
128
+
129
+
130
+ class UploadsResourceWithRawResponse:
131
+ def __init__(self, uploads: UploadsResource) -> None:
132
+ self._uploads = uploads
133
+
134
+ self.status = to_raw_response_wrapper(
135
+ uploads.status,
136
+ )
137
+
138
+
139
+ class AsyncUploadsResourceWithRawResponse:
140
+ def __init__(self, uploads: AsyncUploadsResource) -> None:
141
+ self._uploads = uploads
142
+
143
+ self.status = async_to_raw_response_wrapper(
144
+ uploads.status,
145
+ )
146
+
147
+
148
+ class UploadsResourceWithStreamingResponse:
149
+ def __init__(self, uploads: UploadsResource) -> None:
150
+ self._uploads = uploads
151
+
152
+ self.status = to_streamed_response_wrapper(
153
+ uploads.status,
154
+ )
155
+
156
+
157
+ class AsyncUploadsResourceWithStreamingResponse:
158
+ def __init__(self, uploads: AsyncUploadsResource) -> None:
159
+ self._uploads = uploads
160
+
161
+ self.status = async_to_streamed_response_wrapper(
162
+ uploads.status,
163
+ )
@@ -25,7 +25,6 @@ from .eval_list_params import EvalListParams as EvalListParams
25
25
  from .execute_response import ExecuteResponse as ExecuteResponse
26
26
  from .autoscaling_param import AutoscalingParam as AutoscalingParam
27
27
  from .finetune_response import FinetuneResponse as FinetuneResponse
28
- from .job_list_response import JobListResponse as JobListResponse
29
28
  from .model_list_params import ModelListParams as ModelListParams
30
29
  from .tool_choice_param import ToolChoiceParam as ToolChoiceParam
31
30
  from .dedicated_endpoint import DedicatedEndpoint as DedicatedEndpoint
@@ -45,7 +44,6 @@ from .hardware_list_params import HardwareListParams as HardwareListParams
45
44
  from .rerank_create_params import RerankCreateParams as RerankCreateParams
46
45
  from .batch_create_response import BatchCreateResponse as BatchCreateResponse
47
46
  from .image_generate_params import ImageGenerateParams as ImageGenerateParams
48
- from .job_retrieve_response import JobRetrieveResponse as JobRetrieveResponse
49
47
  from .model_upload_response import ModelUploadResponse as ModelUploadResponse
50
48
  from .endpoint_create_params import EndpointCreateParams as EndpointCreateParams
51
49
  from .endpoint_list_response import EndpointListResponse as EndpointListResponse
@@ -3,8 +3,14 @@
3
3
  from __future__ import annotations
4
4
 
5
5
  from .cluster import Cluster as Cluster
6
+ from .deployment import Deployment as Deployment
7
+ from .deployment_logs import DeploymentLogs as DeploymentLogs
8
+ from .jig_deploy_params import JigDeployParams as JigDeployParams
9
+ from .jig_list_response import JigListResponse as JigListResponse
10
+ from .jig_update_params import JigUpdateParams as JigUpdateParams
6
11
  from .cluster_create_params import ClusterCreateParams as ClusterCreateParams
7
12
  from .cluster_list_response import ClusterListResponse as ClusterListResponse
8
13
  from .cluster_update_params import ClusterUpdateParams as ClusterUpdateParams
9
14
  from .cluster_delete_response import ClusterDeleteResponse as ClusterDeleteResponse
15
+ from .jig_retrieve_logs_params import JigRetrieveLogsParams as JigRetrieveLogsParams
10
16
  from .cluster_list_regions_response import ClusterListRegionsResponse as ClusterListRegionsResponse
@@ -0,0 +1,261 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Dict, List, Optional
4
+ from typing_extensions import Literal
5
+
6
+ from pydantic import Field as FieldInfo
7
+
8
+ from ..._models import BaseModel
9
+
10
+ __all__ = [
11
+ "Deployment",
12
+ "EnvironmentVariable",
13
+ "ReplicaEvents",
14
+ "ReplicaEventsContainerStatus",
15
+ "ReplicaEventsEvent",
16
+ "Volume",
17
+ ]
18
+
19
+
20
+ class EnvironmentVariable(BaseModel):
21
+ name: str
22
+ """Name is the environment variable name (e.g., "DATABASE_URL").
23
+
24
+ Must start with a letter or underscore, followed by letters, numbers, or
25
+ underscores
26
+ """
27
+
28
+ value: Optional[str] = None
29
+ """Value is the plain text value for the environment variable.
30
+
31
+ Use this for non-sensitive values. Either Value or ValueFromSecret must be set,
32
+ but not both
33
+ """
34
+
35
+ value_from_secret: Optional[str] = None
36
+ """ValueFromSecret references a secret by name or ID to use as the value.
37
+
38
+ Use this for sensitive values like API keys or passwords. Either Value or
39
+ ValueFromSecret must be set, but not both
40
+ """
41
+
42
+
43
+ class ReplicaEventsContainerStatus(BaseModel):
44
+ """
45
+ ContainerStatus provides detailed status information about the container within this replica
46
+ """
47
+
48
+ finished_at: Optional[str] = FieldInfo(alias="finishedAt", default=None)
49
+ """
50
+ FinishedAt is the timestamp when the container finished execution (if
51
+ terminated)
52
+ """
53
+
54
+ message: Optional[str] = None
55
+ """
56
+ Message provides a human-readable message with details about the container's
57
+ status
58
+ """
59
+
60
+ name: Optional[str] = None
61
+ """Name is the name of the container"""
62
+
63
+ reason: Optional[str] = None
64
+ """
65
+ Reason provides a brief machine-readable reason for the container's current
66
+ status
67
+ """
68
+
69
+ started_at: Optional[str] = FieldInfo(alias="startedAt", default=None)
70
+ """StartedAt is the timestamp when the container started execution"""
71
+
72
+ status: Optional[str] = None
73
+ """
74
+ Status is the current state of the container (e.g., "Running", "Terminated",
75
+ "Waiting")
76
+ """
77
+
78
+
79
+ class ReplicaEventsEvent(BaseModel):
80
+ action: Optional[str] = None
81
+ """Action is the action taken or reported by this event"""
82
+
83
+ count: Optional[int] = None
84
+ """Count is the number of times this event has occurred"""
85
+
86
+ first_seen: Optional[str] = None
87
+ """FirstSeen is the timestamp when this event was first observed"""
88
+
89
+ last_seen: Optional[str] = None
90
+ """LastSeen is the timestamp when this event was last observed"""
91
+
92
+ message: Optional[str] = None
93
+ """Message is a human-readable description of the event"""
94
+
95
+ reason: Optional[str] = None
96
+ """
97
+ Reason is a brief machine-readable reason for this event (e.g., "Pulling",
98
+ "Started", "Failed")
99
+ """
100
+
101
+
102
+ class ReplicaEvents(BaseModel):
103
+ container_status: Optional[ReplicaEventsContainerStatus] = None
104
+ """
105
+ ContainerStatus provides detailed status information about the container within
106
+ this replica
107
+ """
108
+
109
+ events: Optional[List[ReplicaEventsEvent]] = None
110
+ """
111
+ Events is a list of Kubernetes events related to this replica for
112
+ troubleshooting
113
+ """
114
+
115
+ replica_completed_at: Optional[str] = None
116
+ """ReplicaCompletedAt is the timestamp when the replica finished execution"""
117
+
118
+ replica_marked_for_termination_at: Optional[str] = None
119
+ """
120
+ ReplicaMarkedForTerminationAt is the timestamp when the replica was marked for
121
+ termination
122
+ """
123
+
124
+ replica_ready_since: Optional[str] = None
125
+ """
126
+ ReplicaReadySince is the timestamp when the replica became ready to serve
127
+ traffic
128
+ """
129
+
130
+ replica_running_since: Optional[str] = None
131
+ """ReplicaRunningSince is the timestamp when the replica entered the running state"""
132
+
133
+ replica_started_at: Optional[str] = None
134
+ """ReplicaStartedAt is the timestamp when the replica was created"""
135
+
136
+ replica_status: Optional[str] = None
137
+ """
138
+ ReplicaStatus is the current status of the replica (e.g., "Running", "Pending",
139
+ "Failed")
140
+ """
141
+
142
+ replica_status_message: Optional[str] = None
143
+ """
144
+ ReplicaStatusMessage provides a human-readable message explaining the replica's
145
+ status
146
+ """
147
+
148
+ replica_status_reason: Optional[str] = None
149
+ """
150
+ ReplicaStatusReason provides a brief machine-readable reason for the replica's
151
+ status
152
+ """
153
+
154
+ scheduled_on_cluster: Optional[str] = None
155
+ """ScheduledOnCluster identifies which cluster this replica is scheduled on"""
156
+
157
+
158
+ class Volume(BaseModel):
159
+ mount_path: str
160
+ """
161
+ MountPath is the path in the container where the volume will be mounted (e.g.,
162
+ "/data")
163
+ """
164
+
165
+ name: str
166
+ """Name is the name of the volume to mount.
167
+
168
+ Must reference an existing volume by name or ID
169
+ """
170
+
171
+
172
+ class Deployment(BaseModel):
173
+ id: Optional[str] = None
174
+ """ID is the unique identifier of the deployment"""
175
+
176
+ args: Optional[List[str]] = None
177
+ """Args are the arguments passed to the container's command"""
178
+
179
+ autoscaling: Optional[Dict[str, str]] = None
180
+ """Autoscaling contains autoscaling configuration parameters for this deployment"""
181
+
182
+ command: Optional[List[str]] = None
183
+ """Command is the entrypoint command run in the container"""
184
+
185
+ cpu: Optional[float] = None
186
+ """
187
+ CPU is the amount of CPU resource allocated to each replica in cores (fractional
188
+ value is allowed)
189
+ """
190
+
191
+ created_at: Optional[str] = None
192
+ """CreatedAt is the ISO8601 timestamp when this deployment was created"""
193
+
194
+ description: Optional[str] = None
195
+ """
196
+ Description provides a human-readable explanation of the deployment's purpose or
197
+ content
198
+ """
199
+
200
+ desired_replicas: Optional[int] = None
201
+ """DesiredReplicas is the number of replicas that the orchestrator is targeting"""
202
+
203
+ environment_variables: Optional[List[EnvironmentVariable]] = None
204
+ """EnvironmentVariables is a list of environment variables set in the container"""
205
+
206
+ gpu_count: Optional[int] = None
207
+ """GPUCount is the number of GPUs allocated to each replica in this deployment"""
208
+
209
+ gpu_type: Optional[Literal["h100-80gb", " a100-80gb"]] = None
210
+ """GPUType specifies the type of GPU requested (if any) for this deployment"""
211
+
212
+ health_check_path: Optional[str] = None
213
+ """HealthCheckPath is the HTTP path used for health checks of the application"""
214
+
215
+ image: Optional[str] = None
216
+ """Image specifies the container image used for this deployment"""
217
+
218
+ max_replicas: Optional[int] = None
219
+ """MaxReplicas is the maximum number of replicas to run for this deployment"""
220
+
221
+ memory: Optional[float] = None
222
+ """
223
+ Memory is the amount of memory allocated to each replica in GiB (fractional
224
+ value is allowed)
225
+ """
226
+
227
+ min_replicas: Optional[int] = None
228
+ """MinReplicas is the minimum number of replicas to run for this deployment"""
229
+
230
+ name: Optional[str] = None
231
+ """Name is the name of the deployment"""
232
+
233
+ object: Optional[str] = None
234
+ """Object is the type identifier for this response (always "deployment")"""
235
+
236
+ port: Optional[int] = None
237
+ """Port is the container port that the deployment exposes"""
238
+
239
+ ready_replicas: Optional[int] = None
240
+ """ReadyReplicas is the current number of replicas that are in the Ready state"""
241
+
242
+ replica_events: Optional[Dict[str, ReplicaEvents]] = None
243
+ """ReplicaEvents is a mapping of replica names or IDs to their status events"""
244
+
245
+ status: Optional[Literal["Updating", "Scaling", "Ready", "Failed"]] = None
246
+ """
247
+ Status represents the overall status of the deployment (e.g., Updating, Scaling,
248
+ Ready, Failed)
249
+ """
250
+
251
+ storage: Optional[int] = None
252
+ """
253
+ Storage is the amount of storage (in MB or units as defined by the platform)
254
+ allocated to each replica
255
+ """
256
+
257
+ updated_at: Optional[str] = None
258
+ """UpdatedAt is the ISO8601 timestamp when this deployment was last updated"""
259
+
260
+ volumes: Optional[List[Volume]] = None
261
+ """Volumes is a list of volume mounts for this deployment"""
@@ -0,0 +1,11 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+
5
+ from ..._models import BaseModel
6
+
7
+ __all__ = ["DeploymentLogs"]
8
+
9
+
10
+ class DeploymentLogs(BaseModel):
11
+ lines: Optional[List[str]] = None
@@ -0,0 +1,20 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from .secret import Secret as Secret
6
+ from .volume import Volume as Volume
7
+ from .queue_cancel_params import QueueCancelParams as QueueCancelParams
8
+ from .queue_submit_params import QueueSubmitParams as QueueSubmitParams
9
+ from .queue_metrics_params import QueueMetricsParams as QueueMetricsParams
10
+ from .secret_create_params import SecretCreateParams as SecretCreateParams
11
+ from .secret_list_response import SecretListResponse as SecretListResponse
12
+ from .secret_update_params import SecretUpdateParams as SecretUpdateParams
13
+ from .volume_create_params import VolumeCreateParams as VolumeCreateParams
14
+ from .volume_list_response import VolumeListResponse as VolumeListResponse
15
+ from .volume_update_params import VolumeUpdateParams as VolumeUpdateParams
16
+ from .queue_cancel_response import QueueCancelResponse as QueueCancelResponse
17
+ from .queue_retrieve_params import QueueRetrieveParams as QueueRetrieveParams
18
+ from .queue_submit_response import QueueSubmitResponse as QueueSubmitResponse
19
+ from .queue_metrics_response import QueueMetricsResponse as QueueMetricsResponse
20
+ from .queue_retrieve_response import QueueRetrieveResponse as QueueRetrieveResponse
@@ -0,0 +1,13 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Required, TypedDict
6
+
7
+ __all__ = ["QueueCancelParams"]
8
+
9
+
10
+ class QueueCancelParams(TypedDict, total=False):
11
+ model: Required[str]
12
+
13
+ request_id: Required[str]
@@ -0,0 +1,11 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+
5
+ from ...._models import BaseModel
6
+
7
+ __all__ = ["QueueCancelResponse"]
8
+
9
+
10
+ class QueueCancelResponse(BaseModel):
11
+ status: Optional[str] = None
@@ -0,0 +1,12 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Required, TypedDict
6
+
7
+ __all__ = ["QueueMetricsParams"]
8
+
9
+
10
+ class QueueMetricsParams(TypedDict, total=False):
11
+ model: Required[str]
12
+ """Model name to get metrics for"""
@@ -0,0 +1,8 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Dict
4
+ from typing_extensions import TypeAlias
5
+
6
+ __all__ = ["QueueMetricsResponse"]
7
+
8
+ QueueMetricsResponse: TypeAlias = Dict[str, object]
@@ -0,0 +1,15 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Required, TypedDict
6
+
7
+ __all__ = ["QueueRetrieveParams"]
8
+
9
+
10
+ class QueueRetrieveParams(TypedDict, total=False):
11
+ model: Required[str]
12
+ """Model name"""
13
+
14
+ request_id: Required[str]
15
+ """Request ID"""