lightning-sdk 0.1.36__py3-none-any.whl → 0.1.38__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 (71) hide show
  1. lightning_sdk/__init__.py +1 -1
  2. lightning_sdk/ai_hub.py +38 -31
  3. lightning_sdk/api/ai_hub_api.py +29 -4
  4. lightning_sdk/api/job_api.py +6 -2
  5. lightning_sdk/api/teamspace_api.py +18 -14
  6. lightning_sdk/api/utils.py +19 -0
  7. lightning_sdk/cli/ai_hub.py +1 -1
  8. lightning_sdk/cli/entrypoint.py +2 -2
  9. lightning_sdk/cli/models.py +45 -15
  10. lightning_sdk/cli/run.py +80 -0
  11. lightning_sdk/job/base.py +61 -20
  12. lightning_sdk/job/job.py +29 -11
  13. lightning_sdk/job/v1.py +14 -10
  14. lightning_sdk/job/v2.py +10 -6
  15. lightning_sdk/lightning_cloud/openapi/__init__.py +13 -2
  16. lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +5 -1
  17. lightning_sdk/lightning_cloud/openapi/api/jobs_service_api.py +680 -62
  18. lightning_sdk/lightning_cloud/openapi/models/__init__.py +13 -2
  19. lightning_sdk/lightning_cloud/openapi/models/create.py +6 -32
  20. lightning_sdk/lightning_cloud/openapi/models/create_deployment_request_defines_a_spec_for_the_job_that_allows_for_autoscaling_jobs.py +27 -1
  21. lightning_sdk/lightning_cloud/openapi/models/deployments_id_body.py +27 -1
  22. lightning_sdk/lightning_cloud/openapi/models/deploymenttemplates_id_body.py +32 -6
  23. lightning_sdk/lightning_cloud/openapi/models/externalv1_cloud_space_instance_status.py +27 -1
  24. lightning_sdk/lightning_cloud/openapi/models/multimachinejobs_id_body.py +123 -0
  25. lightning_sdk/lightning_cloud/openapi/models/project_id_agents_body.py +53 -1
  26. lightning_sdk/lightning_cloud/openapi/models/project_id_cloudspaces_body.py +27 -1
  27. lightning_sdk/lightning_cloud/openapi/models/project_id_multimachinejobs_body.py +201 -0
  28. lightning_sdk/lightning_cloud/openapi/models/update.py +6 -32
  29. lightning_sdk/lightning_cloud/openapi/models/v1_api_pricing_spec.py +149 -0
  30. lightning_sdk/lightning_cloud/openapi/models/v1_checkbox.py +29 -3
  31. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +27 -1
  32. lightning_sdk/lightning_cloud/openapi/models/v1_create_deployment_template_request.py +32 -6
  33. lightning_sdk/lightning_cloud/openapi/models/v1_data_connection.py +6 -32
  34. lightning_sdk/lightning_cloud/openapi/models/v1_delete_multi_machine_job_response.py +97 -0
  35. lightning_sdk/lightning_cloud/openapi/models/v1_deployment.py +27 -1
  36. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_metrics.py +43 -17
  37. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_performance.py +305 -0
  38. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_template.py +32 -6
  39. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_template_parameter.py +27 -1
  40. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_template_parameter_type.py +1 -0
  41. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_template_summary.py +27 -1
  42. lightning_sdk/lightning_cloud/openapi/models/{v1_efs_data_connection.py → v1_efs_config.py} +22 -22
  43. lightning_sdk/lightning_cloud/openapi/models/v1_get_model_files_response.py +27 -1
  44. lightning_sdk/lightning_cloud/openapi/models/v1_google_cloud_direct_v1.py +53 -27
  45. lightning_sdk/lightning_cloud/openapi/models/v1_input.py +29 -3
  46. lightning_sdk/lightning_cloud/openapi/models/v1_job.py +27 -1
  47. lightning_sdk/lightning_cloud/openapi/models/v1_lambda_labs_direct_v1.py +125 -0
  48. lightning_sdk/lightning_cloud/openapi/models/v1_list_multi_machine_jobs_response.py +123 -0
  49. lightning_sdk/lightning_cloud/openapi/models/v1_machines_selector.py +149 -0
  50. lightning_sdk/lightning_cloud/openapi/models/v1_message.py +6 -6
  51. lightning_sdk/lightning_cloud/openapi/models/v1_message_content.py +6 -6
  52. lightning_sdk/lightning_cloud/openapi/models/v1_message_content_type.py +103 -0
  53. lightning_sdk/lightning_cloud/openapi/models/v1_metrics_stream.py +53 -1
  54. lightning_sdk/lightning_cloud/openapi/models/v1_multi_machine_job.py +383 -0
  55. lightning_sdk/lightning_cloud/openapi/models/v1_multi_machine_job_state.py +108 -0
  56. lightning_sdk/lightning_cloud/openapi/models/v1_multi_machine_job_status.py +279 -0
  57. lightning_sdk/lightning_cloud/openapi/models/v1_rule_resource.py +2 -0
  58. lightning_sdk/lightning_cloud/openapi/models/v1_select.py +29 -3
  59. lightning_sdk/lightning_cloud/openapi/models/v1_system_info.py +27 -1
  60. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +131 -1
  61. lightning_sdk/lightning_cloud/openapi/models/v1_user_requested_compute_config.py +27 -1
  62. lightning_sdk/lightning_cloud/openapi/models/v1_validate_data_connection_response.py +6 -32
  63. lightning_sdk/lightning_cloud/openapi/models/validate.py +6 -32
  64. lightning_sdk/teamspace.py +5 -0
  65. {lightning_sdk-0.1.36.dist-info → lightning_sdk-0.1.38.dist-info}/METADATA +1 -1
  66. {lightning_sdk-0.1.36.dist-info → lightning_sdk-0.1.38.dist-info}/RECORD +70 -58
  67. lightning_sdk/lightning_cloud/openapi/models/v1_efs_folder_data_connection.py +0 -201
  68. {lightning_sdk-0.1.36.dist-info → lightning_sdk-0.1.38.dist-info}/LICENSE +0 -0
  69. {lightning_sdk-0.1.36.dist-info → lightning_sdk-0.1.38.dist-info}/WHEEL +0 -0
  70. {lightning_sdk-0.1.36.dist-info → lightning_sdk-0.1.38.dist-info}/entry_points.txt +0 -0
  71. {lightning_sdk-0.1.36.dist-info → lightning_sdk-0.1.38.dist-info}/top_level.txt +0 -0
@@ -44,6 +44,7 @@ class V1UserFeatures(object):
44
44
  'advanced_deployment_autoscaling': 'bool',
45
45
  'affiliate_links': 'bool',
46
46
  'agents_v2': 'bool',
47
+ 'ai_hub_monetization': 'bool',
47
48
  'auto_fast_load': 'bool',
48
49
  'auto_join_orgs': 'bool',
49
50
  'aws_trainium': 'bool',
@@ -64,8 +65,10 @@ class V1UserFeatures(object):
64
65
  'deployment_data_path': 'bool',
65
66
  'deployment_gallery': 'bool',
66
67
  'deployment_persistent_disk': 'bool',
68
+ 'deployment_version_visibility': 'bool',
67
69
  'docs_agent': 'bool',
68
70
  'drive_v2': 'bool',
71
+ 'dynamic_workload_scheduling': 'bool',
69
72
  'enable_crypto_crackdown': 'bool',
70
73
  'enable_efs': 'bool',
71
74
  'enable_storage_limits': 'bool',
@@ -110,10 +113,12 @@ class V1UserFeatures(object):
110
113
  'show_dev_admin': 'bool',
111
114
  'slurm': 'bool',
112
115
  'slurm_machine_selector': 'bool',
116
+ 'snapshotter_service': 'bool',
113
117
  'snowflake_connection': 'bool',
114
118
  'spot_v2': 'bool',
115
119
  'studio_config': 'bool',
116
120
  'studio_on_stop': 'bool',
121
+ 'studio_version_visibility': 'bool',
117
122
  'teamspace_storage_tab': 'bool',
118
123
  'use_rclone_mounts_only': 'bool',
119
124
  'writable_data_connections': 'bool'
@@ -123,6 +128,7 @@ class V1UserFeatures(object):
123
128
  'advanced_deployment_autoscaling': 'advancedDeploymentAutoscaling',
124
129
  'affiliate_links': 'affiliateLinks',
125
130
  'agents_v2': 'agentsV2',
131
+ 'ai_hub_monetization': 'aiHubMonetization',
126
132
  'auto_fast_load': 'autoFastLoad',
127
133
  'auto_join_orgs': 'autoJoinOrgs',
128
134
  'aws_trainium': 'awsTrainium',
@@ -143,8 +149,10 @@ class V1UserFeatures(object):
143
149
  'deployment_data_path': 'deploymentDataPath',
144
150
  'deployment_gallery': 'deploymentGallery',
145
151
  'deployment_persistent_disk': 'deploymentPersistentDisk',
152
+ 'deployment_version_visibility': 'deploymentVersionVisibility',
146
153
  'docs_agent': 'docsAgent',
147
154
  'drive_v2': 'driveV2',
155
+ 'dynamic_workload_scheduling': 'dynamicWorkloadScheduling',
148
156
  'enable_crypto_crackdown': 'enableCryptoCrackdown',
149
157
  'enable_efs': 'enableEfs',
150
158
  'enable_storage_limits': 'enableStorageLimits',
@@ -189,20 +197,23 @@ class V1UserFeatures(object):
189
197
  'show_dev_admin': 'showDevAdmin',
190
198
  'slurm': 'slurm',
191
199
  'slurm_machine_selector': 'slurmMachineSelector',
200
+ 'snapshotter_service': 'snapshotterService',
192
201
  'snowflake_connection': 'snowflakeConnection',
193
202
  'spot_v2': 'spotV2',
194
203
  'studio_config': 'studioConfig',
195
204
  'studio_on_stop': 'studioOnStop',
205
+ 'studio_version_visibility': 'studioVersionVisibility',
196
206
  'teamspace_storage_tab': 'teamspaceStorageTab',
197
207
  'use_rclone_mounts_only': 'useRcloneMountsOnly',
198
208
  'writable_data_connections': 'writableDataConnections'
199
209
  }
200
210
 
201
- def __init__(self, advanced_deployment_autoscaling: 'bool' =None, affiliate_links: 'bool' =None, agents_v2: 'bool' =None, auto_fast_load: 'bool' =None, auto_join_orgs: 'bool' =None, aws_trainium: 'bool' =None, b2c_experience: 'bool' =None, cap_add: 'list[str]' =None, cap_drop: 'list[str]' =None, capacity_reservation: 'bool' =None, capacity_reservation_dry_run: 'bool' =None, cluster_proxy: 'bool' =None, code_tab: 'bool' =None, collab_screen_sharing: 'bool' =None, cost_attribution_settings: 'bool' =None, crypto_monitoring: 'bool' =None, custom_app_domain: 'bool' =None, custom_instance_types: 'bool' =None, default_one_cluster: 'bool' =None, deployment_customize_api: 'bool' =None, deployment_data_path: 'bool' =None, deployment_gallery: 'bool' =None, deployment_persistent_disk: 'bool' =None, docs_agent: 'bool' =None, drive_v2: 'bool' =None, enable_crypto_crackdown: 'bool' =None, enable_efs: 'bool' =None, enable_storage_limits: 'bool' =None, featured_studios_admin: 'bool' =None, filesystem_optimisation: 'bool' =None, gcp: 'bool' =None, inference_job_deployment_plugin: 'bool' =None, jobs_init: 'bool' =None, jobs_v2: 'bool' =None, landing_studios: 'bool' =None, lightning_registry: 'bool' =None, lit_logger: 'bool' =None, lit_logger_storage_v2: 'bool' =None, mmt_fault_tolerance: 'bool' =None, mmt_strategy_selector: 'bool' =None, model_store: 'bool' =None, multiple_deployment_versions: 'bool' =None, multiple_studio_versions: 'bool' =None, org_level_member_permissions: 'bool' =None, plugin_biz_chat: 'bool' =None, plugin_distributed: 'bool' =None, plugin_fiftyone: 'bool' =None, plugin_inference: 'bool' =None, plugin_label_studio: 'bool' =None, plugin_langflow: 'bool' =None, plugin_lightning_apps: 'bool' =None, plugin_lightning_apps_distributed: 'bool' =None, plugin_mage_ai: 'bool' =None, plugin_milvus: 'bool' =None, plugin_python_profiler: 'bool' =None, plugin_react: 'bool' =None, plugin_service: 'bool' =None, plugin_sweeps: 'bool' =None, plugin_weviate: 'bool' =None, pricing_updates: 'bool' =None, product_generator: 'bool' =None, project_selector: 'bool' =None, restart_ide_on_hang: 'bool' =None, restartable_jobs: 'bool' =None, runnable_public_studio_page: 'bool' =None, s3_folders: 'bool' =None, show_dev_admin: 'bool' =None, slurm: 'bool' =None, slurm_machine_selector: 'bool' =None, snowflake_connection: 'bool' =None, spot_v2: 'bool' =None, studio_config: 'bool' =None, studio_on_stop: 'bool' =None, teamspace_storage_tab: 'bool' =None, use_rclone_mounts_only: 'bool' =None, writable_data_connections: 'bool' =None): # noqa: E501
211
+ def __init__(self, advanced_deployment_autoscaling: 'bool' =None, affiliate_links: 'bool' =None, agents_v2: 'bool' =None, ai_hub_monetization: 'bool' =None, auto_fast_load: 'bool' =None, auto_join_orgs: 'bool' =None, aws_trainium: 'bool' =None, b2c_experience: 'bool' =None, cap_add: 'list[str]' =None, cap_drop: 'list[str]' =None, capacity_reservation: 'bool' =None, capacity_reservation_dry_run: 'bool' =None, cluster_proxy: 'bool' =None, code_tab: 'bool' =None, collab_screen_sharing: 'bool' =None, cost_attribution_settings: 'bool' =None, crypto_monitoring: 'bool' =None, custom_app_domain: 'bool' =None, custom_instance_types: 'bool' =None, default_one_cluster: 'bool' =None, deployment_customize_api: 'bool' =None, deployment_data_path: 'bool' =None, deployment_gallery: 'bool' =None, deployment_persistent_disk: 'bool' =None, deployment_version_visibility: 'bool' =None, docs_agent: 'bool' =None, drive_v2: 'bool' =None, dynamic_workload_scheduling: 'bool' =None, enable_crypto_crackdown: 'bool' =None, enable_efs: 'bool' =None, enable_storage_limits: 'bool' =None, featured_studios_admin: 'bool' =None, filesystem_optimisation: 'bool' =None, gcp: 'bool' =None, inference_job_deployment_plugin: 'bool' =None, jobs_init: 'bool' =None, jobs_v2: 'bool' =None, landing_studios: 'bool' =None, lightning_registry: 'bool' =None, lit_logger: 'bool' =None, lit_logger_storage_v2: 'bool' =None, mmt_fault_tolerance: 'bool' =None, mmt_strategy_selector: 'bool' =None, model_store: 'bool' =None, multiple_deployment_versions: 'bool' =None, multiple_studio_versions: 'bool' =None, org_level_member_permissions: 'bool' =None, plugin_biz_chat: 'bool' =None, plugin_distributed: 'bool' =None, plugin_fiftyone: 'bool' =None, plugin_inference: 'bool' =None, plugin_label_studio: 'bool' =None, plugin_langflow: 'bool' =None, plugin_lightning_apps: 'bool' =None, plugin_lightning_apps_distributed: 'bool' =None, plugin_mage_ai: 'bool' =None, plugin_milvus: 'bool' =None, plugin_python_profiler: 'bool' =None, plugin_react: 'bool' =None, plugin_service: 'bool' =None, plugin_sweeps: 'bool' =None, plugin_weviate: 'bool' =None, pricing_updates: 'bool' =None, product_generator: 'bool' =None, project_selector: 'bool' =None, restart_ide_on_hang: 'bool' =None, restartable_jobs: 'bool' =None, runnable_public_studio_page: 'bool' =None, s3_folders: 'bool' =None, show_dev_admin: 'bool' =None, slurm: 'bool' =None, slurm_machine_selector: 'bool' =None, snapshotter_service: 'bool' =None, snowflake_connection: 'bool' =None, spot_v2: 'bool' =None, studio_config: 'bool' =None, studio_on_stop: 'bool' =None, studio_version_visibility: 'bool' =None, teamspace_storage_tab: 'bool' =None, use_rclone_mounts_only: 'bool' =None, writable_data_connections: 'bool' =None): # noqa: E501
202
212
  """V1UserFeatures - a model defined in Swagger""" # noqa: E501
203
213
  self._advanced_deployment_autoscaling = None
204
214
  self._affiliate_links = None
205
215
  self._agents_v2 = None
216
+ self._ai_hub_monetization = None
206
217
  self._auto_fast_load = None
207
218
  self._auto_join_orgs = None
208
219
  self._aws_trainium = None
@@ -223,8 +234,10 @@ class V1UserFeatures(object):
223
234
  self._deployment_data_path = None
224
235
  self._deployment_gallery = None
225
236
  self._deployment_persistent_disk = None
237
+ self._deployment_version_visibility = None
226
238
  self._docs_agent = None
227
239
  self._drive_v2 = None
240
+ self._dynamic_workload_scheduling = None
228
241
  self._enable_crypto_crackdown = None
229
242
  self._enable_efs = None
230
243
  self._enable_storage_limits = None
@@ -269,10 +282,12 @@ class V1UserFeatures(object):
269
282
  self._show_dev_admin = None
270
283
  self._slurm = None
271
284
  self._slurm_machine_selector = None
285
+ self._snapshotter_service = None
272
286
  self._snowflake_connection = None
273
287
  self._spot_v2 = None
274
288
  self._studio_config = None
275
289
  self._studio_on_stop = None
290
+ self._studio_version_visibility = None
276
291
  self._teamspace_storage_tab = None
277
292
  self._use_rclone_mounts_only = None
278
293
  self._writable_data_connections = None
@@ -283,6 +298,8 @@ class V1UserFeatures(object):
283
298
  self.affiliate_links = affiliate_links
284
299
  if agents_v2 is not None:
285
300
  self.agents_v2 = agents_v2
301
+ if ai_hub_monetization is not None:
302
+ self.ai_hub_monetization = ai_hub_monetization
286
303
  if auto_fast_load is not None:
287
304
  self.auto_fast_load = auto_fast_load
288
305
  if auto_join_orgs is not None:
@@ -323,10 +340,14 @@ class V1UserFeatures(object):
323
340
  self.deployment_gallery = deployment_gallery
324
341
  if deployment_persistent_disk is not None:
325
342
  self.deployment_persistent_disk = deployment_persistent_disk
343
+ if deployment_version_visibility is not None:
344
+ self.deployment_version_visibility = deployment_version_visibility
326
345
  if docs_agent is not None:
327
346
  self.docs_agent = docs_agent
328
347
  if drive_v2 is not None:
329
348
  self.drive_v2 = drive_v2
349
+ if dynamic_workload_scheduling is not None:
350
+ self.dynamic_workload_scheduling = dynamic_workload_scheduling
330
351
  if enable_crypto_crackdown is not None:
331
352
  self.enable_crypto_crackdown = enable_crypto_crackdown
332
353
  if enable_efs is not None:
@@ -415,6 +436,8 @@ class V1UserFeatures(object):
415
436
  self.slurm = slurm
416
437
  if slurm_machine_selector is not None:
417
438
  self.slurm_machine_selector = slurm_machine_selector
439
+ if snapshotter_service is not None:
440
+ self.snapshotter_service = snapshotter_service
418
441
  if snowflake_connection is not None:
419
442
  self.snowflake_connection = snowflake_connection
420
443
  if spot_v2 is not None:
@@ -423,6 +446,8 @@ class V1UserFeatures(object):
423
446
  self.studio_config = studio_config
424
447
  if studio_on_stop is not None:
425
448
  self.studio_on_stop = studio_on_stop
449
+ if studio_version_visibility is not None:
450
+ self.studio_version_visibility = studio_version_visibility
426
451
  if teamspace_storage_tab is not None:
427
452
  self.teamspace_storage_tab = teamspace_storage_tab
428
453
  if use_rclone_mounts_only is not None:
@@ -493,6 +518,27 @@ class V1UserFeatures(object):
493
518
 
494
519
  self._agents_v2 = agents_v2
495
520
 
521
+ @property
522
+ def ai_hub_monetization(self) -> 'bool':
523
+ """Gets the ai_hub_monetization of this V1UserFeatures. # noqa: E501
524
+
525
+
526
+ :return: The ai_hub_monetization of this V1UserFeatures. # noqa: E501
527
+ :rtype: bool
528
+ """
529
+ return self._ai_hub_monetization
530
+
531
+ @ai_hub_monetization.setter
532
+ def ai_hub_monetization(self, ai_hub_monetization: 'bool'):
533
+ """Sets the ai_hub_monetization of this V1UserFeatures.
534
+
535
+
536
+ :param ai_hub_monetization: The ai_hub_monetization of this V1UserFeatures. # noqa: E501
537
+ :type: bool
538
+ """
539
+
540
+ self._ai_hub_monetization = ai_hub_monetization
541
+
496
542
  @property
497
543
  def auto_fast_load(self) -> 'bool':
498
544
  """Gets the auto_fast_load of this V1UserFeatures. # noqa: E501
@@ -913,6 +959,27 @@ class V1UserFeatures(object):
913
959
 
914
960
  self._deployment_persistent_disk = deployment_persistent_disk
915
961
 
962
+ @property
963
+ def deployment_version_visibility(self) -> 'bool':
964
+ """Gets the deployment_version_visibility of this V1UserFeatures. # noqa: E501
965
+
966
+
967
+ :return: The deployment_version_visibility of this V1UserFeatures. # noqa: E501
968
+ :rtype: bool
969
+ """
970
+ return self._deployment_version_visibility
971
+
972
+ @deployment_version_visibility.setter
973
+ def deployment_version_visibility(self, deployment_version_visibility: 'bool'):
974
+ """Sets the deployment_version_visibility of this V1UserFeatures.
975
+
976
+
977
+ :param deployment_version_visibility: The deployment_version_visibility of this V1UserFeatures. # noqa: E501
978
+ :type: bool
979
+ """
980
+
981
+ self._deployment_version_visibility = deployment_version_visibility
982
+
916
983
  @property
917
984
  def docs_agent(self) -> 'bool':
918
985
  """Gets the docs_agent of this V1UserFeatures. # noqa: E501
@@ -955,6 +1022,27 @@ class V1UserFeatures(object):
955
1022
 
956
1023
  self._drive_v2 = drive_v2
957
1024
 
1025
+ @property
1026
+ def dynamic_workload_scheduling(self) -> 'bool':
1027
+ """Gets the dynamic_workload_scheduling of this V1UserFeatures. # noqa: E501
1028
+
1029
+
1030
+ :return: The dynamic_workload_scheduling of this V1UserFeatures. # noqa: E501
1031
+ :rtype: bool
1032
+ """
1033
+ return self._dynamic_workload_scheduling
1034
+
1035
+ @dynamic_workload_scheduling.setter
1036
+ def dynamic_workload_scheduling(self, dynamic_workload_scheduling: 'bool'):
1037
+ """Sets the dynamic_workload_scheduling of this V1UserFeatures.
1038
+
1039
+
1040
+ :param dynamic_workload_scheduling: The dynamic_workload_scheduling of this V1UserFeatures. # noqa: E501
1041
+ :type: bool
1042
+ """
1043
+
1044
+ self._dynamic_workload_scheduling = dynamic_workload_scheduling
1045
+
958
1046
  @property
959
1047
  def enable_crypto_crackdown(self) -> 'bool':
960
1048
  """Gets the enable_crypto_crackdown of this V1UserFeatures. # noqa: E501
@@ -1879,6 +1967,27 @@ class V1UserFeatures(object):
1879
1967
 
1880
1968
  self._slurm_machine_selector = slurm_machine_selector
1881
1969
 
1970
+ @property
1971
+ def snapshotter_service(self) -> 'bool':
1972
+ """Gets the snapshotter_service of this V1UserFeatures. # noqa: E501
1973
+
1974
+
1975
+ :return: The snapshotter_service of this V1UserFeatures. # noqa: E501
1976
+ :rtype: bool
1977
+ """
1978
+ return self._snapshotter_service
1979
+
1980
+ @snapshotter_service.setter
1981
+ def snapshotter_service(self, snapshotter_service: 'bool'):
1982
+ """Sets the snapshotter_service of this V1UserFeatures.
1983
+
1984
+
1985
+ :param snapshotter_service: The snapshotter_service of this V1UserFeatures. # noqa: E501
1986
+ :type: bool
1987
+ """
1988
+
1989
+ self._snapshotter_service = snapshotter_service
1990
+
1882
1991
  @property
1883
1992
  def snowflake_connection(self) -> 'bool':
1884
1993
  """Gets the snowflake_connection of this V1UserFeatures. # noqa: E501
@@ -1963,6 +2072,27 @@ class V1UserFeatures(object):
1963
2072
 
1964
2073
  self._studio_on_stop = studio_on_stop
1965
2074
 
2075
+ @property
2076
+ def studio_version_visibility(self) -> 'bool':
2077
+ """Gets the studio_version_visibility of this V1UserFeatures. # noqa: E501
2078
+
2079
+
2080
+ :return: The studio_version_visibility of this V1UserFeatures. # noqa: E501
2081
+ :rtype: bool
2082
+ """
2083
+ return self._studio_version_visibility
2084
+
2085
+ @studio_version_visibility.setter
2086
+ def studio_version_visibility(self, studio_version_visibility: 'bool'):
2087
+ """Sets the studio_version_visibility of this V1UserFeatures.
2088
+
2089
+
2090
+ :param studio_version_visibility: The studio_version_visibility of this V1UserFeatures. # noqa: E501
2091
+ :type: bool
2092
+ """
2093
+
2094
+ self._studio_version_visibility = studio_version_visibility
2095
+
1966
2096
  @property
1967
2097
  def teamspace_storage_tab(self) -> 'bool':
1968
2098
  """Gets the teamspace_storage_tab of this V1UserFeatures. # noqa: E501
@@ -48,6 +48,7 @@ class V1UserRequestedComputeConfig(object):
48
48
  'gpu_image_override': 'str',
49
49
  'id': 'str',
50
50
  'name': 'str',
51
+ 'requested_run_duration_seconds': 'str',
51
52
  'same_compute_on_resume': 'bool',
52
53
  'shm_size': 'int',
53
54
  'spot': 'bool'
@@ -61,12 +62,13 @@ class V1UserRequestedComputeConfig(object):
61
62
  'gpu_image_override': 'gpuImageOverride',
62
63
  'id': 'id',
63
64
  'name': 'name',
65
+ 'requested_run_duration_seconds': 'requestedRunDurationSeconds',
64
66
  'same_compute_on_resume': 'sameComputeOnResume',
65
67
  'shm_size': 'shmSize',
66
68
  'spot': 'spot'
67
69
  }
68
70
 
69
- def __init__(self, affinity_identifier: 'str' =None, count: 'int' =None, cpu_image_override: 'str' =None, disk_size: 'int' =None, gpu_image_override: 'str' =None, id: 'str' =None, name: 'str' =None, same_compute_on_resume: 'bool' =None, shm_size: 'int' =None, spot: 'bool' =None): # noqa: E501
71
+ def __init__(self, affinity_identifier: 'str' =None, count: 'int' =None, cpu_image_override: 'str' =None, disk_size: 'int' =None, gpu_image_override: 'str' =None, id: 'str' =None, name: 'str' =None, requested_run_duration_seconds: 'str' =None, same_compute_on_resume: 'bool' =None, shm_size: 'int' =None, spot: 'bool' =None): # noqa: E501
70
72
  """V1UserRequestedComputeConfig - a model defined in Swagger""" # noqa: E501
71
73
  self._affinity_identifier = None
72
74
  self._count = None
@@ -75,6 +77,7 @@ class V1UserRequestedComputeConfig(object):
75
77
  self._gpu_image_override = None
76
78
  self._id = None
77
79
  self._name = None
80
+ self._requested_run_duration_seconds = None
78
81
  self._same_compute_on_resume = None
79
82
  self._shm_size = None
80
83
  self._spot = None
@@ -93,6 +96,8 @@ class V1UserRequestedComputeConfig(object):
93
96
  self.id = id
94
97
  if name is not None:
95
98
  self.name = name
99
+ if requested_run_duration_seconds is not None:
100
+ self.requested_run_duration_seconds = requested_run_duration_seconds
96
101
  if same_compute_on_resume is not None:
97
102
  self.same_compute_on_resume = same_compute_on_resume
98
103
  if shm_size is not None:
@@ -253,6 +258,27 @@ class V1UserRequestedComputeConfig(object):
253
258
 
254
259
  self._name = name
255
260
 
261
+ @property
262
+ def requested_run_duration_seconds(self) -> 'str':
263
+ """Gets the requested_run_duration_seconds of this V1UserRequestedComputeConfig. # noqa: E501
264
+
265
+
266
+ :return: The requested_run_duration_seconds of this V1UserRequestedComputeConfig. # noqa: E501
267
+ :rtype: str
268
+ """
269
+ return self._requested_run_duration_seconds
270
+
271
+ @requested_run_duration_seconds.setter
272
+ def requested_run_duration_seconds(self, requested_run_duration_seconds: 'str'):
273
+ """Sets the requested_run_duration_seconds of this V1UserRequestedComputeConfig.
274
+
275
+
276
+ :param requested_run_duration_seconds: The requested_run_duration_seconds of this V1UserRequestedComputeConfig. # noqa: E501
277
+ :type: str
278
+ """
279
+
280
+ self._requested_run_duration_seconds = requested_run_duration_seconds
281
+
256
282
  @property
257
283
  def same_compute_on_resume(self) -> 'bool':
258
284
  """Gets the same_compute_on_resume of this V1UserRequestedComputeConfig. # noqa: E501
@@ -42,8 +42,7 @@ class V1ValidateDataConnectionResponse(object):
42
42
  """
43
43
  swagger_types = {
44
44
  'aws': 'V1AwsDataConnection',
45
- 'efs': 'V1EfsDataConnection',
46
- 'efs_folder': 'V1EFSFolderDataConnection',
45
+ 'efs': 'V1EfsConfig',
47
46
  'gcp': 'V1GcpDataConnection',
48
47
  'gcs_folder': 'V1GCSFolderDataConnection',
49
48
  's3_folder': 'V1S3FolderDataConnection'
@@ -52,17 +51,15 @@ class V1ValidateDataConnectionResponse(object):
52
51
  attribute_map = {
53
52
  'aws': 'aws',
54
53
  'efs': 'efs',
55
- 'efs_folder': 'efsFolder',
56
54
  'gcp': 'gcp',
57
55
  'gcs_folder': 'gcsFolder',
58
56
  's3_folder': 's3Folder'
59
57
  }
60
58
 
61
- def __init__(self, aws: 'V1AwsDataConnection' =None, efs: 'V1EfsDataConnection' =None, efs_folder: 'V1EFSFolderDataConnection' =None, gcp: 'V1GcpDataConnection' =None, gcs_folder: 'V1GCSFolderDataConnection' =None, s3_folder: 'V1S3FolderDataConnection' =None): # noqa: E501
59
+ def __init__(self, aws: 'V1AwsDataConnection' =None, efs: 'V1EfsConfig' =None, gcp: 'V1GcpDataConnection' =None, gcs_folder: 'V1GCSFolderDataConnection' =None, s3_folder: 'V1S3FolderDataConnection' =None): # noqa: E501
62
60
  """V1ValidateDataConnectionResponse - a model defined in Swagger""" # noqa: E501
63
61
  self._aws = None
64
62
  self._efs = None
65
- self._efs_folder = None
66
63
  self._gcp = None
67
64
  self._gcs_folder = None
68
65
  self._s3_folder = None
@@ -71,8 +68,6 @@ class V1ValidateDataConnectionResponse(object):
71
68
  self.aws = aws
72
69
  if efs is not None:
73
70
  self.efs = efs
74
- if efs_folder is not None:
75
- self.efs_folder = efs_folder
76
71
  if gcp is not None:
77
72
  self.gcp = gcp
78
73
  if gcs_folder is not None:
@@ -102,47 +97,26 @@ class V1ValidateDataConnectionResponse(object):
102
97
  self._aws = aws
103
98
 
104
99
  @property
105
- def efs(self) -> 'V1EfsDataConnection':
100
+ def efs(self) -> 'V1EfsConfig':
106
101
  """Gets the efs of this V1ValidateDataConnectionResponse. # noqa: E501
107
102
 
108
103
 
109
104
  :return: The efs of this V1ValidateDataConnectionResponse. # noqa: E501
110
- :rtype: V1EfsDataConnection
105
+ :rtype: V1EfsConfig
111
106
  """
112
107
  return self._efs
113
108
 
114
109
  @efs.setter
115
- def efs(self, efs: 'V1EfsDataConnection'):
110
+ def efs(self, efs: 'V1EfsConfig'):
116
111
  """Sets the efs of this V1ValidateDataConnectionResponse.
117
112
 
118
113
 
119
114
  :param efs: The efs of this V1ValidateDataConnectionResponse. # noqa: E501
120
- :type: V1EfsDataConnection
115
+ :type: V1EfsConfig
121
116
  """
122
117
 
123
118
  self._efs = efs
124
119
 
125
- @property
126
- def efs_folder(self) -> 'V1EFSFolderDataConnection':
127
- """Gets the efs_folder of this V1ValidateDataConnectionResponse. # noqa: E501
128
-
129
-
130
- :return: The efs_folder of this V1ValidateDataConnectionResponse. # noqa: E501
131
- :rtype: V1EFSFolderDataConnection
132
- """
133
- return self._efs_folder
134
-
135
- @efs_folder.setter
136
- def efs_folder(self, efs_folder: 'V1EFSFolderDataConnection'):
137
- """Sets the efs_folder of this V1ValidateDataConnectionResponse.
138
-
139
-
140
- :param efs_folder: The efs_folder of this V1ValidateDataConnectionResponse. # noqa: E501
141
- :type: V1EFSFolderDataConnection
142
- """
143
-
144
- self._efs_folder = efs_folder
145
-
146
120
  @property
147
121
  def gcp(self) -> 'V1GcpDataConnection':
148
122
  """Gets the gcp of this V1ValidateDataConnectionResponse. # noqa: E501
@@ -44,8 +44,7 @@ class Validate(object):
44
44
  'aws': 'V1AwsDataConnection',
45
45
  'check_is_public': 'bool',
46
46
  'cluster_ids': 'list[str]',
47
- 'efs': 'V1EfsDataConnection',
48
- 'efs_folder': 'V1EFSFolderDataConnection',
47
+ 'efs': 'V1EfsConfig',
49
48
  'gcp': 'V1GcpDataConnection',
50
49
  'gcs_folder': 'V1GCSFolderDataConnection',
51
50
  's3_folder': 'V1S3FolderDataConnection'
@@ -56,19 +55,17 @@ class Validate(object):
56
55
  'check_is_public': 'checkIsPublic',
57
56
  'cluster_ids': 'clusterIds',
58
57
  'efs': 'efs',
59
- 'efs_folder': 'efsFolder',
60
58
  'gcp': 'gcp',
61
59
  'gcs_folder': 'gcsFolder',
62
60
  's3_folder': 's3Folder'
63
61
  }
64
62
 
65
- def __init__(self, aws: 'V1AwsDataConnection' =None, check_is_public: 'bool' =None, cluster_ids: 'list[str]' =None, efs: 'V1EfsDataConnection' =None, efs_folder: 'V1EFSFolderDataConnection' =None, gcp: 'V1GcpDataConnection' =None, gcs_folder: 'V1GCSFolderDataConnection' =None, s3_folder: 'V1S3FolderDataConnection' =None): # noqa: E501
63
+ def __init__(self, aws: 'V1AwsDataConnection' =None, check_is_public: 'bool' =None, cluster_ids: 'list[str]' =None, efs: 'V1EfsConfig' =None, gcp: 'V1GcpDataConnection' =None, gcs_folder: 'V1GCSFolderDataConnection' =None, s3_folder: 'V1S3FolderDataConnection' =None): # noqa: E501
66
64
  """Validate - a model defined in Swagger""" # noqa: E501
67
65
  self._aws = None
68
66
  self._check_is_public = None
69
67
  self._cluster_ids = None
70
68
  self._efs = None
71
- self._efs_folder = None
72
69
  self._gcp = None
73
70
  self._gcs_folder = None
74
71
  self._s3_folder = None
@@ -81,8 +78,6 @@ class Validate(object):
81
78
  self.cluster_ids = cluster_ids
82
79
  if efs is not None:
83
80
  self.efs = efs
84
- if efs_folder is not None:
85
- self.efs_folder = efs_folder
86
81
  if gcp is not None:
87
82
  self.gcp = gcp
88
83
  if gcs_folder is not None:
@@ -154,47 +149,26 @@ class Validate(object):
154
149
  self._cluster_ids = cluster_ids
155
150
 
156
151
  @property
157
- def efs(self) -> 'V1EfsDataConnection':
152
+ def efs(self) -> 'V1EfsConfig':
158
153
  """Gets the efs of this Validate. # noqa: E501
159
154
 
160
155
 
161
156
  :return: The efs of this Validate. # noqa: E501
162
- :rtype: V1EfsDataConnection
157
+ :rtype: V1EfsConfig
163
158
  """
164
159
  return self._efs
165
160
 
166
161
  @efs.setter
167
- def efs(self, efs: 'V1EfsDataConnection'):
162
+ def efs(self, efs: 'V1EfsConfig'):
168
163
  """Sets the efs of this Validate.
169
164
 
170
165
 
171
166
  :param efs: The efs of this Validate. # noqa: E501
172
- :type: V1EfsDataConnection
167
+ :type: V1EfsConfig
173
168
  """
174
169
 
175
170
  self._efs = efs
176
171
 
177
- @property
178
- def efs_folder(self) -> 'V1EFSFolderDataConnection':
179
- """Gets the efs_folder of this Validate. # noqa: E501
180
-
181
-
182
- :return: The efs_folder of this Validate. # noqa: E501
183
- :rtype: V1EFSFolderDataConnection
184
- """
185
- return self._efs_folder
186
-
187
- @efs_folder.setter
188
- def efs_folder(self, efs_folder: 'V1EFSFolderDataConnection'):
189
- """Sets the efs_folder of this Validate.
190
-
191
-
192
- :param efs_folder: The efs_folder of this Validate. # noqa: E501
193
- :type: V1EFSFolderDataConnection
194
- """
195
-
196
- self._efs_folder = efs_folder
197
-
198
172
  @property
199
173
  def gcp(self) -> 'V1GcpDataConnection':
200
174
  """Gets the gcp of this Validate. # noqa: E501
@@ -245,6 +245,11 @@ class Teamspace:
245
245
  download_dir = Path(download_dir)
246
246
 
247
247
  name, version = _parse_model_and_version(name)
248
+ model_version = self._teamspace_api.get_model_version(name=name, version=version, teamspace_id=self.id)
249
+ if not model_version.upload_complete:
250
+ raise RuntimeError(
251
+ f"Model {name}:{version} is not fully uploaded yet. Please wait until the upload is complete."
252
+ )
248
253
  downloaded_files = self._teamspace_api.download_model_files(
249
254
  name=name,
250
255
  version=version,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lightning_sdk
3
- Version: 0.1.36
3
+ Version: 0.1.38
4
4
  Summary: SDK to develop using Lightning AI Studios
5
5
  Author-email: Lightning-AI <justus@lightning.ai>
6
6
  License: MIT License