lightning-sdk 2025.8.21__py3-none-any.whl → 2025.8.28__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.
- lightning_sdk/__init__.py +1 -1
- lightning_sdk/api/studio_api.py +69 -2
- lightning_sdk/api/teamspace_api.py +60 -30
- lightning_sdk/api/user_api.py +49 -1
- lightning_sdk/api/utils.py +1 -1
- lightning_sdk/cli/config/set.py +6 -18
- lightning_sdk/cli/legacy/create.py +3 -3
- lightning_sdk/cli/legacy/delete.py +3 -3
- lightning_sdk/cli/legacy/deploy/_auth.py +4 -4
- lightning_sdk/cli/legacy/download.py +7 -7
- lightning_sdk/cli/legacy/job_and_mmt_action.py +4 -4
- lightning_sdk/cli/legacy/list.py +9 -9
- lightning_sdk/cli/legacy/open.py +3 -3
- lightning_sdk/cli/legacy/upload.py +3 -3
- lightning_sdk/cli/studio/create.py +16 -24
- lightning_sdk/cli/studio/delete.py +28 -27
- lightning_sdk/cli/studio/list.py +29 -15
- lightning_sdk/cli/studio/ssh.py +19 -22
- lightning_sdk/cli/studio/start.py +25 -25
- lightning_sdk/cli/studio/stop.py +25 -28
- lightning_sdk/cli/studio/switch.py +21 -24
- lightning_sdk/cli/utils/resolve.py +1 -1
- lightning_sdk/cli/utils/richt_print.py +24 -0
- lightning_sdk/cli/utils/save_to_config.py +27 -0
- lightning_sdk/cli/utils/studio_selection.py +106 -0
- lightning_sdk/cli/utils/teamspace_selection.py +125 -0
- lightning_sdk/lightning_cloud/openapi/__init__.py +2 -0
- lightning_sdk/lightning_cloud/openapi/api/billing_service_api.py +85 -0
- lightning_sdk/lightning_cloud/openapi/api/k8_s_cluster_service_api.py +101 -0
- lightning_sdk/lightning_cloud/openapi/models/__init__.py +2 -0
- lightning_sdk/lightning_cloud/openapi/models/externalv1_user_status.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_cluster_metrics.py +270 -36
- lightning_sdk/lightning_cloud/openapi/models/v1_container_metrics.py +21 -21
- lightning_sdk/lightning_cloud/openapi/models/v1_list_cluster_metric_timestamps_response.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_namespace_metrics.py +11 -11
- lightning_sdk/lightning_cloud/openapi/models/v1_namespace_user_metrics.py +16 -16
- lightning_sdk/lightning_cloud/openapi/models/v1_node_metrics.py +156 -26
- lightning_sdk/lightning_cloud/openapi/models/v1_pod_metrics.py +145 -41
- lightning_sdk/lightning_cloud/openapi/models/v1_purchase_annual_upsell_response.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_storage_asset.py +107 -3
- lightning_sdk/llm/public_assistants.py +4 -0
- lightning_sdk/studio.py +54 -22
- lightning_sdk/teamspace.py +25 -2
- lightning_sdk/user.py +19 -1
- lightning_sdk/utils/config.py +6 -0
- lightning_sdk/utils/names.py +1179 -0
- lightning_sdk/utils/progress.py +2 -2
- lightning_sdk/utils/resolve.py +17 -6
- {lightning_sdk-2025.8.21.dist-info → lightning_sdk-2025.8.28.dist-info}/METADATA +1 -1
- {lightning_sdk-2025.8.21.dist-info → lightning_sdk-2025.8.28.dist-info}/RECORD +54 -48
- {lightning_sdk-2025.8.21.dist-info → lightning_sdk-2025.8.28.dist-info}/LICENSE +0 -0
- {lightning_sdk-2025.8.21.dist-info → lightning_sdk-2025.8.28.dist-info}/WHEEL +0 -0
- {lightning_sdk-2025.8.21.dist-info → lightning_sdk-2025.8.28.dist-info}/entry_points.txt +0 -0
- {lightning_sdk-2025.8.21.dist-info → lightning_sdk-2025.8.28.dist-info}/top_level.txt +0 -0
|
@@ -43,19 +43,23 @@ class V1PodMetrics(object):
|
|
|
43
43
|
swagger_types = {
|
|
44
44
|
'cpu_usage': 'float',
|
|
45
45
|
'labels': 'dict(str, str)',
|
|
46
|
-
'max_gpu_temp_recorded': '
|
|
47
|
-
'max_power_per_gpu': '
|
|
46
|
+
'max_gpu_temp_recorded': 'int',
|
|
47
|
+
'max_power_per_gpu': 'int',
|
|
48
48
|
'mem_usage': 'float',
|
|
49
49
|
'namespace': 'str',
|
|
50
50
|
'node_name': 'str',
|
|
51
|
-
'num_cpus_limit': '
|
|
52
|
-
'num_cpus_request': '
|
|
53
|
-
'num_gpus': '
|
|
54
|
-
'
|
|
55
|
-
'
|
|
51
|
+
'num_cpus_limit': 'int',
|
|
52
|
+
'num_cpus_request': 'int',
|
|
53
|
+
'num_gpus': 'int',
|
|
54
|
+
'nvlink_rx_gib': 'dict(str, float)',
|
|
55
|
+
'nvlink_tx_gib': 'dict(str, float)',
|
|
56
|
+
'pcie_rx_gib': 'dict(str, float)',
|
|
57
|
+
'pcie_tx_gib': 'dict(str, float)',
|
|
58
|
+
'per_gpu_mem_used': 'dict(str, int)',
|
|
59
|
+
'per_gpu_power_usage_watts': 'dict(str, int)',
|
|
56
60
|
'per_gpu_sm_active': 'dict(str, float)',
|
|
57
61
|
'per_gpu_sm_occupancy': 'dict(str, float)',
|
|
58
|
-
'per_gpu_temperature_c': 'dict(str,
|
|
62
|
+
'per_gpu_temperature_c': 'dict(str, int)',
|
|
59
63
|
'per_gpu_util': 'dict(str, float)',
|
|
60
64
|
'phase': 'str',
|
|
61
65
|
'pod_id': 'str',
|
|
@@ -75,6 +79,10 @@ class V1PodMetrics(object):
|
|
|
75
79
|
'num_cpus_limit': 'numCpusLimit',
|
|
76
80
|
'num_cpus_request': 'numCpusRequest',
|
|
77
81
|
'num_gpus': 'numGpus',
|
|
82
|
+
'nvlink_rx_gib': 'nvlinkRxGib',
|
|
83
|
+
'nvlink_tx_gib': 'nvlinkTxGib',
|
|
84
|
+
'pcie_rx_gib': 'pcieRxGib',
|
|
85
|
+
'pcie_tx_gib': 'pcieTxGib',
|
|
78
86
|
'per_gpu_mem_used': 'perGpuMemUsed',
|
|
79
87
|
'per_gpu_power_usage_watts': 'perGpuPowerUsageWatts',
|
|
80
88
|
'per_gpu_sm_active': 'perGpuSmActive',
|
|
@@ -88,7 +96,7 @@ class V1PodMetrics(object):
|
|
|
88
96
|
'user_id': 'userId'
|
|
89
97
|
}
|
|
90
98
|
|
|
91
|
-
def __init__(self, cpu_usage: 'float' =None, labels: 'dict(str, str)' =None, max_gpu_temp_recorded: '
|
|
99
|
+
def __init__(self, cpu_usage: 'float' =None, labels: 'dict(str, str)' =None, max_gpu_temp_recorded: 'int' =None, max_power_per_gpu: 'int' =None, mem_usage: 'float' =None, namespace: 'str' =None, node_name: 'str' =None, num_cpus_limit: 'int' =None, num_cpus_request: 'int' =None, num_gpus: 'int' =None, nvlink_rx_gib: 'dict(str, float)' =None, nvlink_tx_gib: 'dict(str, float)' =None, pcie_rx_gib: 'dict(str, float)' =None, pcie_tx_gib: 'dict(str, float)' =None, per_gpu_mem_used: 'dict(str, int)' =None, per_gpu_power_usage_watts: 'dict(str, int)' =None, per_gpu_sm_active: 'dict(str, float)' =None, per_gpu_sm_occupancy: 'dict(str, float)' =None, per_gpu_temperature_c: 'dict(str, int)' =None, per_gpu_util: 'dict(str, float)' =None, phase: 'str' =None, pod_id: 'str' =None, pod_name: 'str' =None, timestamp: 'datetime' =None, user_id: 'str' =None): # noqa: E501
|
|
92
100
|
"""V1PodMetrics - a model defined in Swagger""" # noqa: E501
|
|
93
101
|
self._cpu_usage = None
|
|
94
102
|
self._labels = None
|
|
@@ -100,6 +108,10 @@ class V1PodMetrics(object):
|
|
|
100
108
|
self._num_cpus_limit = None
|
|
101
109
|
self._num_cpus_request = None
|
|
102
110
|
self._num_gpus = None
|
|
111
|
+
self._nvlink_rx_gib = None
|
|
112
|
+
self._nvlink_tx_gib = None
|
|
113
|
+
self._pcie_rx_gib = None
|
|
114
|
+
self._pcie_tx_gib = None
|
|
103
115
|
self._per_gpu_mem_used = None
|
|
104
116
|
self._per_gpu_power_usage_watts = None
|
|
105
117
|
self._per_gpu_sm_active = None
|
|
@@ -132,6 +144,14 @@ class V1PodMetrics(object):
|
|
|
132
144
|
self.num_cpus_request = num_cpus_request
|
|
133
145
|
if num_gpus is not None:
|
|
134
146
|
self.num_gpus = num_gpus
|
|
147
|
+
if nvlink_rx_gib is not None:
|
|
148
|
+
self.nvlink_rx_gib = nvlink_rx_gib
|
|
149
|
+
if nvlink_tx_gib is not None:
|
|
150
|
+
self.nvlink_tx_gib = nvlink_tx_gib
|
|
151
|
+
if pcie_rx_gib is not None:
|
|
152
|
+
self.pcie_rx_gib = pcie_rx_gib
|
|
153
|
+
if pcie_tx_gib is not None:
|
|
154
|
+
self.pcie_tx_gib = pcie_tx_gib
|
|
135
155
|
if per_gpu_mem_used is not None:
|
|
136
156
|
self.per_gpu_mem_used = per_gpu_mem_used
|
|
137
157
|
if per_gpu_power_usage_watts is not None:
|
|
@@ -198,43 +218,43 @@ class V1PodMetrics(object):
|
|
|
198
218
|
self._labels = labels
|
|
199
219
|
|
|
200
220
|
@property
|
|
201
|
-
def max_gpu_temp_recorded(self) -> '
|
|
221
|
+
def max_gpu_temp_recorded(self) -> 'int':
|
|
202
222
|
"""Gets the max_gpu_temp_recorded of this V1PodMetrics. # noqa: E501
|
|
203
223
|
|
|
204
224
|
|
|
205
225
|
:return: The max_gpu_temp_recorded of this V1PodMetrics. # noqa: E501
|
|
206
|
-
:rtype:
|
|
226
|
+
:rtype: int
|
|
207
227
|
"""
|
|
208
228
|
return self._max_gpu_temp_recorded
|
|
209
229
|
|
|
210
230
|
@max_gpu_temp_recorded.setter
|
|
211
|
-
def max_gpu_temp_recorded(self, max_gpu_temp_recorded: '
|
|
231
|
+
def max_gpu_temp_recorded(self, max_gpu_temp_recorded: 'int'):
|
|
212
232
|
"""Sets the max_gpu_temp_recorded of this V1PodMetrics.
|
|
213
233
|
|
|
214
234
|
|
|
215
235
|
:param max_gpu_temp_recorded: The max_gpu_temp_recorded of this V1PodMetrics. # noqa: E501
|
|
216
|
-
:type:
|
|
236
|
+
:type: int
|
|
217
237
|
"""
|
|
218
238
|
|
|
219
239
|
self._max_gpu_temp_recorded = max_gpu_temp_recorded
|
|
220
240
|
|
|
221
241
|
@property
|
|
222
|
-
def max_power_per_gpu(self) -> '
|
|
242
|
+
def max_power_per_gpu(self) -> 'int':
|
|
223
243
|
"""Gets the max_power_per_gpu of this V1PodMetrics. # noqa: E501
|
|
224
244
|
|
|
225
245
|
|
|
226
246
|
:return: The max_power_per_gpu of this V1PodMetrics. # noqa: E501
|
|
227
|
-
:rtype:
|
|
247
|
+
:rtype: int
|
|
228
248
|
"""
|
|
229
249
|
return self._max_power_per_gpu
|
|
230
250
|
|
|
231
251
|
@max_power_per_gpu.setter
|
|
232
|
-
def max_power_per_gpu(self, max_power_per_gpu: '
|
|
252
|
+
def max_power_per_gpu(self, max_power_per_gpu: 'int'):
|
|
233
253
|
"""Sets the max_power_per_gpu of this V1PodMetrics.
|
|
234
254
|
|
|
235
255
|
|
|
236
256
|
:param max_power_per_gpu: The max_power_per_gpu of this V1PodMetrics. # noqa: E501
|
|
237
|
-
:type:
|
|
257
|
+
:type: int
|
|
238
258
|
"""
|
|
239
259
|
|
|
240
260
|
self._max_power_per_gpu = max_power_per_gpu
|
|
@@ -303,106 +323,190 @@ class V1PodMetrics(object):
|
|
|
303
323
|
self._node_name = node_name
|
|
304
324
|
|
|
305
325
|
@property
|
|
306
|
-
def num_cpus_limit(self) -> '
|
|
326
|
+
def num_cpus_limit(self) -> 'int':
|
|
307
327
|
"""Gets the num_cpus_limit of this V1PodMetrics. # noqa: E501
|
|
308
328
|
|
|
309
329
|
|
|
310
330
|
:return: The num_cpus_limit of this V1PodMetrics. # noqa: E501
|
|
311
|
-
:rtype:
|
|
331
|
+
:rtype: int
|
|
312
332
|
"""
|
|
313
333
|
return self._num_cpus_limit
|
|
314
334
|
|
|
315
335
|
@num_cpus_limit.setter
|
|
316
|
-
def num_cpus_limit(self, num_cpus_limit: '
|
|
336
|
+
def num_cpus_limit(self, num_cpus_limit: 'int'):
|
|
317
337
|
"""Sets the num_cpus_limit of this V1PodMetrics.
|
|
318
338
|
|
|
319
339
|
|
|
320
340
|
:param num_cpus_limit: The num_cpus_limit of this V1PodMetrics. # noqa: E501
|
|
321
|
-
:type:
|
|
341
|
+
:type: int
|
|
322
342
|
"""
|
|
323
343
|
|
|
324
344
|
self._num_cpus_limit = num_cpus_limit
|
|
325
345
|
|
|
326
346
|
@property
|
|
327
|
-
def num_cpus_request(self) -> '
|
|
347
|
+
def num_cpus_request(self) -> 'int':
|
|
328
348
|
"""Gets the num_cpus_request of this V1PodMetrics. # noqa: E501
|
|
329
349
|
|
|
330
350
|
|
|
331
351
|
:return: The num_cpus_request of this V1PodMetrics. # noqa: E501
|
|
332
|
-
:rtype:
|
|
352
|
+
:rtype: int
|
|
333
353
|
"""
|
|
334
354
|
return self._num_cpus_request
|
|
335
355
|
|
|
336
356
|
@num_cpus_request.setter
|
|
337
|
-
def num_cpus_request(self, num_cpus_request: '
|
|
357
|
+
def num_cpus_request(self, num_cpus_request: 'int'):
|
|
338
358
|
"""Sets the num_cpus_request of this V1PodMetrics.
|
|
339
359
|
|
|
340
360
|
|
|
341
361
|
:param num_cpus_request: The num_cpus_request of this V1PodMetrics. # noqa: E501
|
|
342
|
-
:type:
|
|
362
|
+
:type: int
|
|
343
363
|
"""
|
|
344
364
|
|
|
345
365
|
self._num_cpus_request = num_cpus_request
|
|
346
366
|
|
|
347
367
|
@property
|
|
348
|
-
def num_gpus(self) -> '
|
|
368
|
+
def num_gpus(self) -> 'int':
|
|
349
369
|
"""Gets the num_gpus of this V1PodMetrics. # noqa: E501
|
|
350
370
|
|
|
351
371
|
|
|
352
372
|
:return: The num_gpus of this V1PodMetrics. # noqa: E501
|
|
353
|
-
:rtype:
|
|
373
|
+
:rtype: int
|
|
354
374
|
"""
|
|
355
375
|
return self._num_gpus
|
|
356
376
|
|
|
357
377
|
@num_gpus.setter
|
|
358
|
-
def num_gpus(self, num_gpus: '
|
|
378
|
+
def num_gpus(self, num_gpus: 'int'):
|
|
359
379
|
"""Sets the num_gpus of this V1PodMetrics.
|
|
360
380
|
|
|
361
381
|
|
|
362
382
|
:param num_gpus: The num_gpus of this V1PodMetrics. # noqa: E501
|
|
363
|
-
:type:
|
|
383
|
+
:type: int
|
|
364
384
|
"""
|
|
365
385
|
|
|
366
386
|
self._num_gpus = num_gpus
|
|
367
387
|
|
|
368
388
|
@property
|
|
369
|
-
def
|
|
389
|
+
def nvlink_rx_gib(self) -> 'dict(str, float)':
|
|
390
|
+
"""Gets the nvlink_rx_gib of this V1PodMetrics. # noqa: E501
|
|
391
|
+
|
|
392
|
+
|
|
393
|
+
:return: The nvlink_rx_gib of this V1PodMetrics. # noqa: E501
|
|
394
|
+
:rtype: dict(str, float)
|
|
395
|
+
"""
|
|
396
|
+
return self._nvlink_rx_gib
|
|
397
|
+
|
|
398
|
+
@nvlink_rx_gib.setter
|
|
399
|
+
def nvlink_rx_gib(self, nvlink_rx_gib: 'dict(str, float)'):
|
|
400
|
+
"""Sets the nvlink_rx_gib of this V1PodMetrics.
|
|
401
|
+
|
|
402
|
+
|
|
403
|
+
:param nvlink_rx_gib: The nvlink_rx_gib of this V1PodMetrics. # noqa: E501
|
|
404
|
+
:type: dict(str, float)
|
|
405
|
+
"""
|
|
406
|
+
|
|
407
|
+
self._nvlink_rx_gib = nvlink_rx_gib
|
|
408
|
+
|
|
409
|
+
@property
|
|
410
|
+
def nvlink_tx_gib(self) -> 'dict(str, float)':
|
|
411
|
+
"""Gets the nvlink_tx_gib of this V1PodMetrics. # noqa: E501
|
|
412
|
+
|
|
413
|
+
|
|
414
|
+
:return: The nvlink_tx_gib of this V1PodMetrics. # noqa: E501
|
|
415
|
+
:rtype: dict(str, float)
|
|
416
|
+
"""
|
|
417
|
+
return self._nvlink_tx_gib
|
|
418
|
+
|
|
419
|
+
@nvlink_tx_gib.setter
|
|
420
|
+
def nvlink_tx_gib(self, nvlink_tx_gib: 'dict(str, float)'):
|
|
421
|
+
"""Sets the nvlink_tx_gib of this V1PodMetrics.
|
|
422
|
+
|
|
423
|
+
|
|
424
|
+
:param nvlink_tx_gib: The nvlink_tx_gib of this V1PodMetrics. # noqa: E501
|
|
425
|
+
:type: dict(str, float)
|
|
426
|
+
"""
|
|
427
|
+
|
|
428
|
+
self._nvlink_tx_gib = nvlink_tx_gib
|
|
429
|
+
|
|
430
|
+
@property
|
|
431
|
+
def pcie_rx_gib(self) -> 'dict(str, float)':
|
|
432
|
+
"""Gets the pcie_rx_gib of this V1PodMetrics. # noqa: E501
|
|
433
|
+
|
|
434
|
+
|
|
435
|
+
:return: The pcie_rx_gib of this V1PodMetrics. # noqa: E501
|
|
436
|
+
:rtype: dict(str, float)
|
|
437
|
+
"""
|
|
438
|
+
return self._pcie_rx_gib
|
|
439
|
+
|
|
440
|
+
@pcie_rx_gib.setter
|
|
441
|
+
def pcie_rx_gib(self, pcie_rx_gib: 'dict(str, float)'):
|
|
442
|
+
"""Sets the pcie_rx_gib of this V1PodMetrics.
|
|
443
|
+
|
|
444
|
+
|
|
445
|
+
:param pcie_rx_gib: The pcie_rx_gib of this V1PodMetrics. # noqa: E501
|
|
446
|
+
:type: dict(str, float)
|
|
447
|
+
"""
|
|
448
|
+
|
|
449
|
+
self._pcie_rx_gib = pcie_rx_gib
|
|
450
|
+
|
|
451
|
+
@property
|
|
452
|
+
def pcie_tx_gib(self) -> 'dict(str, float)':
|
|
453
|
+
"""Gets the pcie_tx_gib of this V1PodMetrics. # noqa: E501
|
|
454
|
+
|
|
455
|
+
|
|
456
|
+
:return: The pcie_tx_gib of this V1PodMetrics. # noqa: E501
|
|
457
|
+
:rtype: dict(str, float)
|
|
458
|
+
"""
|
|
459
|
+
return self._pcie_tx_gib
|
|
460
|
+
|
|
461
|
+
@pcie_tx_gib.setter
|
|
462
|
+
def pcie_tx_gib(self, pcie_tx_gib: 'dict(str, float)'):
|
|
463
|
+
"""Sets the pcie_tx_gib of this V1PodMetrics.
|
|
464
|
+
|
|
465
|
+
|
|
466
|
+
:param pcie_tx_gib: The pcie_tx_gib of this V1PodMetrics. # noqa: E501
|
|
467
|
+
:type: dict(str, float)
|
|
468
|
+
"""
|
|
469
|
+
|
|
470
|
+
self._pcie_tx_gib = pcie_tx_gib
|
|
471
|
+
|
|
472
|
+
@property
|
|
473
|
+
def per_gpu_mem_used(self) -> 'dict(str, int)':
|
|
370
474
|
"""Gets the per_gpu_mem_used of this V1PodMetrics. # noqa: E501
|
|
371
475
|
|
|
372
476
|
|
|
373
477
|
:return: The per_gpu_mem_used of this V1PodMetrics. # noqa: E501
|
|
374
|
-
:rtype: dict(str,
|
|
478
|
+
:rtype: dict(str, int)
|
|
375
479
|
"""
|
|
376
480
|
return self._per_gpu_mem_used
|
|
377
481
|
|
|
378
482
|
@per_gpu_mem_used.setter
|
|
379
|
-
def per_gpu_mem_used(self, per_gpu_mem_used: 'dict(str,
|
|
483
|
+
def per_gpu_mem_used(self, per_gpu_mem_used: 'dict(str, int)'):
|
|
380
484
|
"""Sets the per_gpu_mem_used of this V1PodMetrics.
|
|
381
485
|
|
|
382
486
|
|
|
383
487
|
:param per_gpu_mem_used: The per_gpu_mem_used of this V1PodMetrics. # noqa: E501
|
|
384
|
-
:type: dict(str,
|
|
488
|
+
:type: dict(str, int)
|
|
385
489
|
"""
|
|
386
490
|
|
|
387
491
|
self._per_gpu_mem_used = per_gpu_mem_used
|
|
388
492
|
|
|
389
493
|
@property
|
|
390
|
-
def per_gpu_power_usage_watts(self) -> 'dict(str,
|
|
494
|
+
def per_gpu_power_usage_watts(self) -> 'dict(str, int)':
|
|
391
495
|
"""Gets the per_gpu_power_usage_watts of this V1PodMetrics. # noqa: E501
|
|
392
496
|
|
|
393
497
|
|
|
394
498
|
:return: The per_gpu_power_usage_watts of this V1PodMetrics. # noqa: E501
|
|
395
|
-
:rtype: dict(str,
|
|
499
|
+
:rtype: dict(str, int)
|
|
396
500
|
"""
|
|
397
501
|
return self._per_gpu_power_usage_watts
|
|
398
502
|
|
|
399
503
|
@per_gpu_power_usage_watts.setter
|
|
400
|
-
def per_gpu_power_usage_watts(self, per_gpu_power_usage_watts: 'dict(str,
|
|
504
|
+
def per_gpu_power_usage_watts(self, per_gpu_power_usage_watts: 'dict(str, int)'):
|
|
401
505
|
"""Sets the per_gpu_power_usage_watts of this V1PodMetrics.
|
|
402
506
|
|
|
403
507
|
|
|
404
508
|
:param per_gpu_power_usage_watts: The per_gpu_power_usage_watts of this V1PodMetrics. # noqa: E501
|
|
405
|
-
:type: dict(str,
|
|
509
|
+
:type: dict(str, int)
|
|
406
510
|
"""
|
|
407
511
|
|
|
408
512
|
self._per_gpu_power_usage_watts = per_gpu_power_usage_watts
|
|
@@ -450,22 +554,22 @@ class V1PodMetrics(object):
|
|
|
450
554
|
self._per_gpu_sm_occupancy = per_gpu_sm_occupancy
|
|
451
555
|
|
|
452
556
|
@property
|
|
453
|
-
def per_gpu_temperature_c(self) -> 'dict(str,
|
|
557
|
+
def per_gpu_temperature_c(self) -> 'dict(str, int)':
|
|
454
558
|
"""Gets the per_gpu_temperature_c of this V1PodMetrics. # noqa: E501
|
|
455
559
|
|
|
456
560
|
|
|
457
561
|
:return: The per_gpu_temperature_c of this V1PodMetrics. # noqa: E501
|
|
458
|
-
:rtype: dict(str,
|
|
562
|
+
:rtype: dict(str, int)
|
|
459
563
|
"""
|
|
460
564
|
return self._per_gpu_temperature_c
|
|
461
565
|
|
|
462
566
|
@per_gpu_temperature_c.setter
|
|
463
|
-
def per_gpu_temperature_c(self, per_gpu_temperature_c: 'dict(str,
|
|
567
|
+
def per_gpu_temperature_c(self, per_gpu_temperature_c: 'dict(str, int)'):
|
|
464
568
|
"""Sets the per_gpu_temperature_c of this V1PodMetrics.
|
|
465
569
|
|
|
466
570
|
|
|
467
571
|
:param per_gpu_temperature_c: The per_gpu_temperature_c of this V1PodMetrics. # noqa: E501
|
|
468
|
-
:type: dict(str,
|
|
572
|
+
:type: dict(str, int)
|
|
469
573
|
"""
|
|
470
574
|
|
|
471
575
|
self._per_gpu_temperature_c = per_gpu_temperature_c
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
external/v1/auth_service.proto
|
|
5
|
+
|
|
6
|
+
No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501
|
|
7
|
+
|
|
8
|
+
OpenAPI spec version: version not set
|
|
9
|
+
|
|
10
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
|
11
|
+
|
|
12
|
+
NOTE
|
|
13
|
+
----
|
|
14
|
+
standard swagger-codegen-cli for this python client has been modified
|
|
15
|
+
by custom templates. The purpose of these templates is to include
|
|
16
|
+
typing information in the API and Model code. Please refer to the
|
|
17
|
+
main grid repository for more info
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
import pprint
|
|
21
|
+
import re # noqa: F401
|
|
22
|
+
|
|
23
|
+
from typing import TYPE_CHECKING
|
|
24
|
+
|
|
25
|
+
import six
|
|
26
|
+
|
|
27
|
+
if TYPE_CHECKING:
|
|
28
|
+
from datetime import datetime
|
|
29
|
+
from lightning_sdk.lightning_cloud.openapi.models import *
|
|
30
|
+
|
|
31
|
+
class V1PurchaseAnnualUpsellResponse(object):
|
|
32
|
+
"""NOTE: This class is auto generated by the swagger code generator program.
|
|
33
|
+
|
|
34
|
+
Do not edit the class manually.
|
|
35
|
+
"""
|
|
36
|
+
"""
|
|
37
|
+
Attributes:
|
|
38
|
+
swagger_types (dict): The key is attribute name
|
|
39
|
+
and the value is attribute type.
|
|
40
|
+
attribute_map (dict): The key is attribute name
|
|
41
|
+
and the value is json key in definition.
|
|
42
|
+
"""
|
|
43
|
+
swagger_types = {
|
|
44
|
+
'payment_succeeded': 'bool'
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
attribute_map = {
|
|
48
|
+
'payment_succeeded': 'paymentSucceeded'
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
def __init__(self, payment_succeeded: 'bool' =None): # noqa: E501
|
|
52
|
+
"""V1PurchaseAnnualUpsellResponse - a model defined in Swagger""" # noqa: E501
|
|
53
|
+
self._payment_succeeded = None
|
|
54
|
+
self.discriminator = None
|
|
55
|
+
if payment_succeeded is not None:
|
|
56
|
+
self.payment_succeeded = payment_succeeded
|
|
57
|
+
|
|
58
|
+
@property
|
|
59
|
+
def payment_succeeded(self) -> 'bool':
|
|
60
|
+
"""Gets the payment_succeeded of this V1PurchaseAnnualUpsellResponse. # noqa: E501
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
:return: The payment_succeeded of this V1PurchaseAnnualUpsellResponse. # noqa: E501
|
|
64
|
+
:rtype: bool
|
|
65
|
+
"""
|
|
66
|
+
return self._payment_succeeded
|
|
67
|
+
|
|
68
|
+
@payment_succeeded.setter
|
|
69
|
+
def payment_succeeded(self, payment_succeeded: 'bool'):
|
|
70
|
+
"""Sets the payment_succeeded of this V1PurchaseAnnualUpsellResponse.
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
:param payment_succeeded: The payment_succeeded of this V1PurchaseAnnualUpsellResponse. # noqa: E501
|
|
74
|
+
:type: bool
|
|
75
|
+
"""
|
|
76
|
+
|
|
77
|
+
self._payment_succeeded = payment_succeeded
|
|
78
|
+
|
|
79
|
+
def to_dict(self) -> dict:
|
|
80
|
+
"""Returns the model properties as a dict"""
|
|
81
|
+
result = {}
|
|
82
|
+
|
|
83
|
+
for attr, _ in six.iteritems(self.swagger_types):
|
|
84
|
+
value = getattr(self, attr)
|
|
85
|
+
if isinstance(value, list):
|
|
86
|
+
result[attr] = list(map(
|
|
87
|
+
lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
|
|
88
|
+
value
|
|
89
|
+
))
|
|
90
|
+
elif hasattr(value, "to_dict"):
|
|
91
|
+
result[attr] = value.to_dict()
|
|
92
|
+
elif isinstance(value, dict):
|
|
93
|
+
result[attr] = dict(map(
|
|
94
|
+
lambda item: (item[0], item[1].to_dict())
|
|
95
|
+
if hasattr(item[1], "to_dict") else item,
|
|
96
|
+
value.items()
|
|
97
|
+
))
|
|
98
|
+
else:
|
|
99
|
+
result[attr] = value
|
|
100
|
+
if issubclass(V1PurchaseAnnualUpsellResponse, dict):
|
|
101
|
+
for key, value in self.items():
|
|
102
|
+
result[key] = value
|
|
103
|
+
|
|
104
|
+
return result
|
|
105
|
+
|
|
106
|
+
def to_str(self) -> str:
|
|
107
|
+
"""Returns the string representation of the model"""
|
|
108
|
+
return pprint.pformat(self.to_dict())
|
|
109
|
+
|
|
110
|
+
def __repr__(self) -> str:
|
|
111
|
+
"""For `print` and `pprint`"""
|
|
112
|
+
return self.to_str()
|
|
113
|
+
|
|
114
|
+
def __eq__(self, other: 'V1PurchaseAnnualUpsellResponse') -> bool:
|
|
115
|
+
"""Returns true if both objects are equal"""
|
|
116
|
+
if not isinstance(other, V1PurchaseAnnualUpsellResponse):
|
|
117
|
+
return False
|
|
118
|
+
|
|
119
|
+
return self.__dict__ == other.__dict__
|
|
120
|
+
|
|
121
|
+
def __ne__(self, other: 'V1PurchaseAnnualUpsellResponse') -> bool:
|
|
122
|
+
"""Returns true if both objects are not equal"""
|
|
123
|
+
return not self == other
|
|
@@ -45,10 +45,14 @@ class V1StorageAsset(object):
|
|
|
45
45
|
'created_by': 'str',
|
|
46
46
|
'id': 'str',
|
|
47
47
|
'name': 'str',
|
|
48
|
+
'read_cost_daily': 'float',
|
|
48
49
|
'storage_bytes': 'str',
|
|
49
50
|
'storage_cost_daily': 'float',
|
|
50
51
|
'sub_type': 'str',
|
|
51
|
-
'
|
|
52
|
+
'total_daily_read_bytes': 'str',
|
|
53
|
+
'total_daily_write_bytes': 'str',
|
|
54
|
+
'type': 'V1StorageAssetType',
|
|
55
|
+
'write_cost_daily': 'float'
|
|
52
56
|
}
|
|
53
57
|
|
|
54
58
|
attribute_map = {
|
|
@@ -56,22 +60,30 @@ class V1StorageAsset(object):
|
|
|
56
60
|
'created_by': 'createdBy',
|
|
57
61
|
'id': 'id',
|
|
58
62
|
'name': 'name',
|
|
63
|
+
'read_cost_daily': 'readCostDaily',
|
|
59
64
|
'storage_bytes': 'storageBytes',
|
|
60
65
|
'storage_cost_daily': 'storageCostDaily',
|
|
61
66
|
'sub_type': 'subType',
|
|
62
|
-
'
|
|
67
|
+
'total_daily_read_bytes': 'totalDailyReadBytes',
|
|
68
|
+
'total_daily_write_bytes': 'totalDailyWriteBytes',
|
|
69
|
+
'type': 'type',
|
|
70
|
+
'write_cost_daily': 'writeCostDaily'
|
|
63
71
|
}
|
|
64
72
|
|
|
65
|
-
def __init__(self, created_at: 'datetime' =None, created_by: 'str' =None, id: 'str' =None, name: 'str' =None, storage_bytes: 'str' =None, storage_cost_daily: 'float' =None, sub_type: 'str' =None, type: 'V1StorageAssetType' =None): # noqa: E501
|
|
73
|
+
def __init__(self, created_at: 'datetime' =None, created_by: 'str' =None, id: 'str' =None, name: 'str' =None, read_cost_daily: 'float' =None, storage_bytes: 'str' =None, storage_cost_daily: 'float' =None, sub_type: 'str' =None, total_daily_read_bytes: 'str' =None, total_daily_write_bytes: 'str' =None, type: 'V1StorageAssetType' =None, write_cost_daily: 'float' =None): # noqa: E501
|
|
66
74
|
"""V1StorageAsset - a model defined in Swagger""" # noqa: E501
|
|
67
75
|
self._created_at = None
|
|
68
76
|
self._created_by = None
|
|
69
77
|
self._id = None
|
|
70
78
|
self._name = None
|
|
79
|
+
self._read_cost_daily = None
|
|
71
80
|
self._storage_bytes = None
|
|
72
81
|
self._storage_cost_daily = None
|
|
73
82
|
self._sub_type = None
|
|
83
|
+
self._total_daily_read_bytes = None
|
|
84
|
+
self._total_daily_write_bytes = None
|
|
74
85
|
self._type = None
|
|
86
|
+
self._write_cost_daily = None
|
|
75
87
|
self.discriminator = None
|
|
76
88
|
if created_at is not None:
|
|
77
89
|
self.created_at = created_at
|
|
@@ -81,14 +93,22 @@ class V1StorageAsset(object):
|
|
|
81
93
|
self.id = id
|
|
82
94
|
if name is not None:
|
|
83
95
|
self.name = name
|
|
96
|
+
if read_cost_daily is not None:
|
|
97
|
+
self.read_cost_daily = read_cost_daily
|
|
84
98
|
if storage_bytes is not None:
|
|
85
99
|
self.storage_bytes = storage_bytes
|
|
86
100
|
if storage_cost_daily is not None:
|
|
87
101
|
self.storage_cost_daily = storage_cost_daily
|
|
88
102
|
if sub_type is not None:
|
|
89
103
|
self.sub_type = sub_type
|
|
104
|
+
if total_daily_read_bytes is not None:
|
|
105
|
+
self.total_daily_read_bytes = total_daily_read_bytes
|
|
106
|
+
if total_daily_write_bytes is not None:
|
|
107
|
+
self.total_daily_write_bytes = total_daily_write_bytes
|
|
90
108
|
if type is not None:
|
|
91
109
|
self.type = type
|
|
110
|
+
if write_cost_daily is not None:
|
|
111
|
+
self.write_cost_daily = write_cost_daily
|
|
92
112
|
|
|
93
113
|
@property
|
|
94
114
|
def created_at(self) -> 'datetime':
|
|
@@ -174,6 +194,27 @@ class V1StorageAsset(object):
|
|
|
174
194
|
|
|
175
195
|
self._name = name
|
|
176
196
|
|
|
197
|
+
@property
|
|
198
|
+
def read_cost_daily(self) -> 'float':
|
|
199
|
+
"""Gets the read_cost_daily of this V1StorageAsset. # noqa: E501
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
:return: The read_cost_daily of this V1StorageAsset. # noqa: E501
|
|
203
|
+
:rtype: float
|
|
204
|
+
"""
|
|
205
|
+
return self._read_cost_daily
|
|
206
|
+
|
|
207
|
+
@read_cost_daily.setter
|
|
208
|
+
def read_cost_daily(self, read_cost_daily: 'float'):
|
|
209
|
+
"""Sets the read_cost_daily of this V1StorageAsset.
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
:param read_cost_daily: The read_cost_daily of this V1StorageAsset. # noqa: E501
|
|
213
|
+
:type: float
|
|
214
|
+
"""
|
|
215
|
+
|
|
216
|
+
self._read_cost_daily = read_cost_daily
|
|
217
|
+
|
|
177
218
|
@property
|
|
178
219
|
def storage_bytes(self) -> 'str':
|
|
179
220
|
"""Gets the storage_bytes of this V1StorageAsset. # noqa: E501
|
|
@@ -237,6 +278,48 @@ class V1StorageAsset(object):
|
|
|
237
278
|
|
|
238
279
|
self._sub_type = sub_type
|
|
239
280
|
|
|
281
|
+
@property
|
|
282
|
+
def total_daily_read_bytes(self) -> 'str':
|
|
283
|
+
"""Gets the total_daily_read_bytes of this V1StorageAsset. # noqa: E501
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
:return: The total_daily_read_bytes of this V1StorageAsset. # noqa: E501
|
|
287
|
+
:rtype: str
|
|
288
|
+
"""
|
|
289
|
+
return self._total_daily_read_bytes
|
|
290
|
+
|
|
291
|
+
@total_daily_read_bytes.setter
|
|
292
|
+
def total_daily_read_bytes(self, total_daily_read_bytes: 'str'):
|
|
293
|
+
"""Sets the total_daily_read_bytes of this V1StorageAsset.
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
:param total_daily_read_bytes: The total_daily_read_bytes of this V1StorageAsset. # noqa: E501
|
|
297
|
+
:type: str
|
|
298
|
+
"""
|
|
299
|
+
|
|
300
|
+
self._total_daily_read_bytes = total_daily_read_bytes
|
|
301
|
+
|
|
302
|
+
@property
|
|
303
|
+
def total_daily_write_bytes(self) -> 'str':
|
|
304
|
+
"""Gets the total_daily_write_bytes of this V1StorageAsset. # noqa: E501
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
:return: The total_daily_write_bytes of this V1StorageAsset. # noqa: E501
|
|
308
|
+
:rtype: str
|
|
309
|
+
"""
|
|
310
|
+
return self._total_daily_write_bytes
|
|
311
|
+
|
|
312
|
+
@total_daily_write_bytes.setter
|
|
313
|
+
def total_daily_write_bytes(self, total_daily_write_bytes: 'str'):
|
|
314
|
+
"""Sets the total_daily_write_bytes of this V1StorageAsset.
|
|
315
|
+
|
|
316
|
+
|
|
317
|
+
:param total_daily_write_bytes: The total_daily_write_bytes of this V1StorageAsset. # noqa: E501
|
|
318
|
+
:type: str
|
|
319
|
+
"""
|
|
320
|
+
|
|
321
|
+
self._total_daily_write_bytes = total_daily_write_bytes
|
|
322
|
+
|
|
240
323
|
@property
|
|
241
324
|
def type(self) -> 'V1StorageAssetType':
|
|
242
325
|
"""Gets the type of this V1StorageAsset. # noqa: E501
|
|
@@ -258,6 +341,27 @@ class V1StorageAsset(object):
|
|
|
258
341
|
|
|
259
342
|
self._type = type
|
|
260
343
|
|
|
344
|
+
@property
|
|
345
|
+
def write_cost_daily(self) -> 'float':
|
|
346
|
+
"""Gets the write_cost_daily of this V1StorageAsset. # noqa: E501
|
|
347
|
+
|
|
348
|
+
|
|
349
|
+
:return: The write_cost_daily of this V1StorageAsset. # noqa: E501
|
|
350
|
+
:rtype: float
|
|
351
|
+
"""
|
|
352
|
+
return self._write_cost_daily
|
|
353
|
+
|
|
354
|
+
@write_cost_daily.setter
|
|
355
|
+
def write_cost_daily(self, write_cost_daily: 'float'):
|
|
356
|
+
"""Sets the write_cost_daily of this V1StorageAsset.
|
|
357
|
+
|
|
358
|
+
|
|
359
|
+
:param write_cost_daily: The write_cost_daily of this V1StorageAsset. # noqa: E501
|
|
360
|
+
:type: float
|
|
361
|
+
"""
|
|
362
|
+
|
|
363
|
+
self._write_cost_daily = write_cost_daily
|
|
364
|
+
|
|
261
365
|
def to_dict(self) -> dict:
|
|
262
366
|
"""Returns the model properties as a dict"""
|
|
263
367
|
result = {}
|
|
@@ -27,6 +27,10 @@ PUBLIC_MODELS = {
|
|
|
27
27
|
"id": "ast_01jz3thxskg4fcdk4xhkjkym5b",
|
|
28
28
|
"context_length": 8000
|
|
29
29
|
},
|
|
30
|
+
"lightning-ai/DeepSeek-V3.1": {
|
|
31
|
+
"id": "ast_01k378z15k0msktaxjpfrfwqqh",
|
|
32
|
+
"context_length": 163840
|
|
33
|
+
},
|
|
30
34
|
"lightning-ai/gpt-oss-20b": {
|
|
31
35
|
"id": "ast_01k1y2ywfh9zzexjzrva6y96ms",
|
|
32
36
|
"context_length": 128000,
|