lightning-sdk 0.1.49__py3-none-any.whl → 2025.11.5__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 (669) hide show
  1. lightning_sdk/__init__.py +19 -9
  2. lightning_sdk/__version__.py +3 -0
  3. lightning_sdk/agents.py +2 -1
  4. lightning_sdk/ai_hub.py +43 -38
  5. lightning_sdk/api/__init__.py +2 -0
  6. lightning_sdk/api/ai_hub_api.py +49 -6
  7. lightning_sdk/api/base_studio_api.py +90 -0
  8. lightning_sdk/api/cloud_account_api.py +225 -0
  9. lightning_sdk/api/deployment_api.py +133 -27
  10. lightning_sdk/api/job_api.py +147 -34
  11. lightning_sdk/api/license_api.py +37 -0
  12. lightning_sdk/api/lit_container_api.py +231 -19
  13. lightning_sdk/api/llm_api.py +306 -0
  14. lightning_sdk/api/mmt_api.py +112 -28
  15. lightning_sdk/api/pipeline_api.py +120 -0
  16. lightning_sdk/api/studio_api.py +440 -89
  17. lightning_sdk/api/teamspace_api.py +269 -31
  18. lightning_sdk/api/user_api.py +56 -2
  19. lightning_sdk/api/utils.py +185 -52
  20. lightning_sdk/base_studio.py +123 -0
  21. lightning_sdk/cli/__init__.py +1 -0
  22. lightning_sdk/cli/base_studio/__init__.py +10 -0
  23. lightning_sdk/cli/base_studio/list.py +43 -0
  24. lightning_sdk/cli/config/__init__.py +14 -0
  25. lightning_sdk/cli/config/get.py +57 -0
  26. lightning_sdk/cli/config/set.py +92 -0
  27. lightning_sdk/cli/config/show.py +9 -0
  28. lightning_sdk/cli/entrypoint.py +98 -56
  29. lightning_sdk/cli/groups.py +56 -0
  30. lightning_sdk/cli/job/__init__.py +7 -0
  31. lightning_sdk/cli/legacy/__init__.py +0 -0
  32. lightning_sdk/cli/legacy/ai_hub.py +65 -0
  33. lightning_sdk/cli/legacy/clusters_menu.py +49 -0
  34. lightning_sdk/cli/legacy/configure.py +129 -0
  35. lightning_sdk/cli/legacy/connect.py +34 -0
  36. lightning_sdk/cli/legacy/create.py +115 -0
  37. lightning_sdk/cli/legacy/delete.py +131 -0
  38. lightning_sdk/cli/legacy/deploy/__init__.py +0 -0
  39. lightning_sdk/cli/legacy/deploy/_auth.py +196 -0
  40. lightning_sdk/cli/legacy/deploy/devbox.py +163 -0
  41. lightning_sdk/cli/legacy/deploy/serve.py +452 -0
  42. lightning_sdk/cli/legacy/docker_cli.py +22 -0
  43. lightning_sdk/cli/legacy/download.py +322 -0
  44. lightning_sdk/cli/legacy/entrypoint.py +110 -0
  45. lightning_sdk/cli/legacy/generate.py +52 -0
  46. lightning_sdk/cli/legacy/inspection.py +45 -0
  47. lightning_sdk/cli/{job_and_mmt_action.py → legacy/job_and_mmt_action.py} +6 -6
  48. lightning_sdk/cli/{jobs_menu.py → legacy/jobs_menu.py} +3 -2
  49. lightning_sdk/cli/legacy/list.py +326 -0
  50. lightning_sdk/cli/{mmts_menu.py → legacy/mmts_menu.py} +3 -2
  51. lightning_sdk/cli/legacy/open.py +81 -0
  52. lightning_sdk/cli/legacy/run.py +443 -0
  53. lightning_sdk/cli/legacy/start.py +107 -0
  54. lightning_sdk/cli/legacy/stop.py +107 -0
  55. lightning_sdk/cli/{studios_menu.py → legacy/studios_menu.py} +24 -1
  56. lightning_sdk/cli/legacy/switch.py +63 -0
  57. lightning_sdk/cli/{teamspace_menu.py → legacy/teamspace_menu.py} +12 -3
  58. lightning_sdk/cli/legacy/upload.py +382 -0
  59. lightning_sdk/cli/license/__init__.py +14 -0
  60. lightning_sdk/cli/license/get.py +15 -0
  61. lightning_sdk/cli/license/list.py +45 -0
  62. lightning_sdk/cli/license/set.py +13 -0
  63. lightning_sdk/cli/mmt/__init__.py +7 -0
  64. lightning_sdk/cli/studio/__init__.py +24 -0
  65. lightning_sdk/cli/studio/connect.py +139 -0
  66. lightning_sdk/cli/studio/create.py +96 -0
  67. lightning_sdk/cli/studio/delete.py +49 -0
  68. lightning_sdk/cli/studio/list.py +85 -0
  69. lightning_sdk/cli/studio/ssh.py +64 -0
  70. lightning_sdk/cli/studio/start.py +115 -0
  71. lightning_sdk/cli/studio/stop.py +45 -0
  72. lightning_sdk/cli/studio/switch.py +66 -0
  73. lightning_sdk/cli/utils/__init__.py +7 -0
  74. lightning_sdk/cli/utils/cloud_account_map.py +10 -0
  75. lightning_sdk/cli/utils/coloring.py +60 -0
  76. lightning_sdk/cli/utils/get_base_studio.py +24 -0
  77. lightning_sdk/cli/utils/handle_machine_and_gpus_args.py +69 -0
  78. lightning_sdk/cli/utils/logging.py +122 -0
  79. lightning_sdk/cli/utils/owner_selection.py +110 -0
  80. lightning_sdk/cli/utils/resolve.py +28 -0
  81. lightning_sdk/cli/utils/richt_print.py +35 -0
  82. lightning_sdk/cli/utils/save_to_config.py +27 -0
  83. lightning_sdk/cli/utils/ssh_connection.py +59 -0
  84. lightning_sdk/cli/utils/studio_selection.py +113 -0
  85. lightning_sdk/cli/utils/teamspace_selection.py +125 -0
  86. lightning_sdk/cli/vm/__init__.py +20 -0
  87. lightning_sdk/cli/vm/create.py +33 -0
  88. lightning_sdk/cli/vm/delete.py +25 -0
  89. lightning_sdk/cli/vm/list.py +30 -0
  90. lightning_sdk/cli/vm/ssh.py +31 -0
  91. lightning_sdk/cli/vm/start.py +60 -0
  92. lightning_sdk/cli/vm/stop.py +25 -0
  93. lightning_sdk/cli/vm/switch.py +38 -0
  94. lightning_sdk/constants.py +1 -0
  95. lightning_sdk/deployment/__init__.py +4 -0
  96. lightning_sdk/deployment/deployment.py +208 -28
  97. lightning_sdk/helpers.py +73 -34
  98. lightning_sdk/job/base.py +112 -12
  99. lightning_sdk/job/job.py +73 -44
  100. lightning_sdk/job/v1.py +28 -35
  101. lightning_sdk/job/v2.py +54 -17
  102. lightning_sdk/job/work.py +7 -3
  103. lightning_sdk/lightning_cloud/login.py +325 -18
  104. lightning_sdk/lightning_cloud/openapi/__init__.py +346 -26
  105. lightning_sdk/lightning_cloud/openapi/api/__init__.py +14 -0
  106. lightning_sdk/lightning_cloud/openapi/api/assistants_service_api.py +1801 -384
  107. lightning_sdk/lightning_cloud/openapi/api/auth_service_api.py +376 -0
  108. lightning_sdk/lightning_cloud/openapi/api/billing_service_api.py +414 -2
  109. lightning_sdk/lightning_cloud/openapi/api/blog_posts_service_api.py +533 -0
  110. lightning_sdk/lightning_cloud/openapi/api/cloud_space_environment_template_service_api.py +638 -0
  111. lightning_sdk/lightning_cloud/openapi/api/cloud_space_service_api.py +2563 -866
  112. lightning_sdk/lightning_cloud/openapi/api/cloudy_service_api.py +327 -0
  113. lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +1720 -347
  114. lightning_sdk/lightning_cloud/openapi/api/data_connection_service_api.py +210 -4
  115. lightning_sdk/lightning_cloud/openapi/api/endpoint_service_api.py +126 -2119
  116. lightning_sdk/lightning_cloud/openapi/api/file_system_service_api.py +283 -0
  117. lightning_sdk/lightning_cloud/openapi/api/git_credentials_service_api.py +497 -0
  118. lightning_sdk/lightning_cloud/openapi/api/incidents_service_api.py +1058 -0
  119. lightning_sdk/lightning_cloud/openapi/api/jobs_service_api.py +2326 -492
  120. lightning_sdk/lightning_cloud/openapi/api/k8_s_cluster_service_api.py +2273 -0
  121. lightning_sdk/lightning_cloud/openapi/api/lit_dataset_service_api.py +1973 -0
  122. lightning_sdk/lightning_cloud/openapi/api/lit_logger_service_api.py +17 -5
  123. lightning_sdk/lightning_cloud/openapi/api/lit_registry_service_api.py +473 -5
  124. lightning_sdk/lightning_cloud/openapi/api/markets_service_api.py +145 -0
  125. lightning_sdk/lightning_cloud/openapi/api/models_store_api.py +24 -24
  126. lightning_sdk/lightning_cloud/openapi/api/organizations_service_api.py +105 -0
  127. lightning_sdk/lightning_cloud/openapi/api/pipeline_templates_service_api.py +339 -0
  128. lightning_sdk/lightning_cloud/openapi/api/pipelines_service_api.py +795 -0
  129. lightning_sdk/lightning_cloud/openapi/api/product_license_service_api.py +525 -0
  130. lightning_sdk/lightning_cloud/openapi/api/projects_service_api.py +106 -5
  131. lightning_sdk/lightning_cloud/openapi/api/schedules_service_api.py +924 -0
  132. lightning_sdk/lightning_cloud/openapi/api/sdk_command_history_service_api.py +141 -0
  133. lightning_sdk/lightning_cloud/openapi/api/slurm_jobs_user_service_api.py +202 -0
  134. lightning_sdk/lightning_cloud/openapi/api/storage_service_api.py +1508 -251
  135. lightning_sdk/lightning_cloud/openapi/api/user_service_api.py +121 -97
  136. lightning_sdk/lightning_cloud/openapi/api/volume_service_api.py +258 -0
  137. lightning_sdk/lightning_cloud/openapi/configuration.py +4 -20
  138. lightning_sdk/lightning_cloud/openapi/models/__init__.py +332 -26
  139. lightning_sdk/lightning_cloud/openapi/models/agentmanagedendpoints_id_body.py +27 -1
  140. lightning_sdk/lightning_cloud/openapi/models/agents_id_body.py +79 -1
  141. lightning_sdk/lightning_cloud/openapi/models/alertingevents_id_body.py +409 -0
  142. lightning_sdk/lightning_cloud/openapi/models/alerts_config_billing.py +175 -0
  143. lightning_sdk/lightning_cloud/openapi/models/alerts_config_studios.py +149 -0
  144. lightning_sdk/lightning_cloud/openapi/models/assistant_id_conversations_body.py +303 -17
  145. lightning_sdk/lightning_cloud/openapi/models/blogposts_id_body.py +305 -0
  146. lightning_sdk/lightning_cloud/openapi/models/cloudspace_id_systemmetrics_body.py +149 -0
  147. lightning_sdk/lightning_cloud/openapi/models/cloudspace_id_visibility_body.py +149 -0
  148. lightning_sdk/lightning_cloud/openapi/models/cloudspaces_id_body.py +53 -1
  149. lightning_sdk/lightning_cloud/openapi/models/cluster_id_capacityblock_body.py +15 -15
  150. lightning_sdk/lightning_cloud/openapi/models/cluster_id_capacityreservations_body.py +81 -3
  151. lightning_sdk/lightning_cloud/openapi/models/cluster_id_kubernetestemplates_body.py +201 -0
  152. lightning_sdk/lightning_cloud/openapi/models/cluster_id_metrics_body.py +305 -0
  153. lightning_sdk/lightning_cloud/openapi/models/cluster_id_slurmusers_body.py +201 -0
  154. lightning_sdk/lightning_cloud/openapi/models/cluster_id_usagerestrictions_body.py +201 -0
  155. lightning_sdk/lightning_cloud/openapi/models/conversations_id_body1.py +123 -0
  156. lightning_sdk/lightning_cloud/openapi/models/create.py +105 -1
  157. lightning_sdk/lightning_cloud/openapi/models/create_deployment_request_defines_a_spec_for_the_job_that_allows_for_autoscaling_jobs.py +131 -1
  158. lightning_sdk/lightning_cloud/openapi/models/create_machine_request_represents_the_request_to_create_a_machine.py +461 -0
  159. lightning_sdk/lightning_cloud/openapi/models/credits_autoreplenish_body.py +175 -0
  160. lightning_sdk/lightning_cloud/openapi/models/credits_autoreplenish_body1.py +175 -0
  161. lightning_sdk/lightning_cloud/openapi/models/dataset_id_versions_body.py +149 -0
  162. lightning_sdk/lightning_cloud/openapi/models/dataset_id_visibility_body.py +149 -0
  163. lightning_sdk/lightning_cloud/openapi/models/deployment_id_alertingpolicies_body.py +357 -0
  164. lightning_sdk/lightning_cloud/openapi/models/deployment_id_alertingpolicies_body1.py +331 -0
  165. lightning_sdk/lightning_cloud/openapi/models/deployments_id_body.py +315 -3
  166. lightning_sdk/lightning_cloud/openapi/models/endpoints_id_body.py +27 -1
  167. lightning_sdk/lightning_cloud/openapi/models/externalv1_cloud_space_instance_status.py +199 -69
  168. lightning_sdk/lightning_cloud/openapi/models/externalv1_cluster.py +27 -1
  169. lightning_sdk/lightning_cloud/openapi/models/externalv1_user_status.py +79 -1
  170. lightning_sdk/lightning_cloud/openapi/models/id_codeconfig_body.py +1 -53
  171. lightning_sdk/lightning_cloud/openapi/models/id_contactowner_body.py +149 -0
  172. lightning_sdk/lightning_cloud/openapi/models/id_fork_body1.py +27 -1
  173. lightning_sdk/lightning_cloud/openapi/models/id_render_body.py +123 -0
  174. lightning_sdk/lightning_cloud/openapi/models/id_reportrestarttimings_body.py +123 -0
  175. lightning_sdk/lightning_cloud/openapi/models/id_sleepconfig_body.py +175 -0
  176. lightning_sdk/lightning_cloud/openapi/models/id_transfer_body.py +175 -0
  177. lightning_sdk/lightning_cloud/openapi/models/id_visibility_body1.py +123 -0
  178. lightning_sdk/lightning_cloud/openapi/models/id_visibility_body2.py +149 -0
  179. lightning_sdk/lightning_cloud/openapi/models/incident_id_messages_body.py +123 -0
  180. lightning_sdk/lightning_cloud/openapi/models/incidents_id_body.py +279 -0
  181. lightning_sdk/lightning_cloud/openapi/models/{v1_list_service_executions_response.py → job_id_reportroutingtelemetry_body.py} +23 -23
  182. lightning_sdk/lightning_cloud/openapi/models/kubernetestemplates_id_body.py +201 -0
  183. lightning_sdk/lightning_cloud/openapi/models/license_key_validate_body.py +123 -0
  184. lightning_sdk/lightning_cloud/openapi/models/litdatasets_dataset_id_body.py +149 -0
  185. lightning_sdk/lightning_cloud/openapi/models/litregistry_lit_repo_name_body.py +123 -0
  186. lightning_sdk/lightning_cloud/openapi/models/message_id_actions_body.py +201 -0
  187. lightning_sdk/lightning_cloud/openapi/models/messages_id_body.py +123 -0
  188. lightning_sdk/lightning_cloud/openapi/models/messages_message_id_body.py +123 -0
  189. lightning_sdk/lightning_cloud/openapi/models/metricsstream_create_body.py +79 -1
  190. lightning_sdk/lightning_cloud/openapi/models/metricsstream_id_body.py +27 -1
  191. lightning_sdk/lightning_cloud/openapi/models/model_id_versions_body.py +27 -1
  192. lightning_sdk/lightning_cloud/openapi/models/model_id_visibility_body.py +27 -1
  193. lightning_sdk/lightning_cloud/openapi/models/models_id_body.py +123 -0
  194. lightning_sdk/lightning_cloud/openapi/models/models_model_id_body.py +109 -31
  195. lightning_sdk/lightning_cloud/openapi/models/models_model_id_body1.py +149 -0
  196. lightning_sdk/lightning_cloud/openapi/models/org_id_memberships_body.py +27 -1
  197. lightning_sdk/lightning_cloud/openapi/models/orgs_id_body.py +627 -3
  198. lightning_sdk/lightning_cloud/openapi/models/pipelines_id_body.py +539 -0
  199. lightning_sdk/lightning_cloud/openapi/models/pipelines_id_body1.py +123 -0
  200. lightning_sdk/lightning_cloud/openapi/models/pipelinetemplates_id_body.py +331 -0
  201. lightning_sdk/lightning_cloud/openapi/models/project_id_agents_body.py +27 -1
  202. lightning_sdk/lightning_cloud/openapi/models/project_id_cloudspaces_body.py +131 -1
  203. lightning_sdk/lightning_cloud/openapi/models/project_id_litdatasets_body.py +227 -0
  204. lightning_sdk/lightning_cloud/openapi/models/project_id_litregistry_body.py +2 -0
  205. lightning_sdk/lightning_cloud/openapi/models/project_id_pipelines_body.py +253 -0
  206. lightning_sdk/lightning_cloud/openapi/models/project_id_schedules_body.py +331 -0
  207. lightning_sdk/lightning_cloud/openapi/models/project_id_storage_body.py +27 -1
  208. lightning_sdk/lightning_cloud/openapi/models/project_id_storagetransfers_body.py +175 -0
  209. lightning_sdk/lightning_cloud/openapi/models/project_tab_management_messages.py +123 -0
  210. lightning_sdk/lightning_cloud/openapi/models/projects_id_body.py +523 -3
  211. lightning_sdk/lightning_cloud/openapi/models/{service_artifact_artifact_kind.py → protobuf_null_value.py} +7 -9
  212. lightning_sdk/lightning_cloud/openapi/models/schedules_id_body.py +513 -0
  213. lightning_sdk/lightning_cloud/openapi/models/server_id_alerts_body.py +201 -0
  214. lightning_sdk/lightning_cloud/openapi/models/setup.py +149 -0
  215. lightning_sdk/lightning_cloud/openapi/models/slurm_jobs_body.py +93 -15
  216. lightning_sdk/lightning_cloud/openapi/models/storage_complete_body.py +41 -15
  217. lightning_sdk/lightning_cloud/openapi/models/storagetransfers_validate_body.py +149 -0
  218. lightning_sdk/lightning_cloud/openapi/models/update.py +233 -129
  219. lightning_sdk/lightning_cloud/openapi/models/update1.py +383 -0
  220. lightning_sdk/lightning_cloud/openapi/models/upload_id_complete_body1.py +149 -0
  221. lightning_sdk/lightning_cloud/openapi/models/upload_id_parts_body1.py +149 -0
  222. lightning_sdk/lightning_cloud/openapi/models/uploads_upload_id_body.py +1 -27
  223. lightning_sdk/lightning_cloud/openapi/models/uploads_upload_id_body1.py +201 -0
  224. lightning_sdk/lightning_cloud/openapi/models/usagerestrictions_id_body.py +201 -0
  225. lightning_sdk/lightning_cloud/openapi/models/user_id_affiliatelinks_body.py +107 -3
  226. lightning_sdk/lightning_cloud/openapi/models/user_id_upgradetrigger_body.py +201 -0
  227. lightning_sdk/lightning_cloud/openapi/models/user_user_id_body.py +201 -0
  228. lightning_sdk/lightning_cloud/openapi/models/v1_abort_storage_transfer_response.py +97 -0
  229. lightning_sdk/lightning_cloud/openapi/models/v1_agent_job.py +188 -6
  230. lightning_sdk/lightning_cloud/openapi/models/v1_aggregated_pod_metrics.py +799 -0
  231. lightning_sdk/lightning_cloud/openapi/models/v1_ai_pod_v1.py +175 -0
  232. lightning_sdk/lightning_cloud/openapi/models/v1_alert_method.py +102 -0
  233. lightning_sdk/lightning_cloud/openapi/models/v1_alerts_config.py +149 -0
  234. lightning_sdk/lightning_cloud/openapi/models/v1_artifact.py +27 -1
  235. lightning_sdk/lightning_cloud/openapi/models/v1_assistant.py +79 -1
  236. lightning_sdk/lightning_cloud/openapi/models/v1_assistant_model_status.py +6 -0
  237. lightning_sdk/lightning_cloud/openapi/models/v1_assistant_session_daily_aggregated.py +383 -0
  238. lightning_sdk/lightning_cloud/openapi/models/v1_author.py +201 -0
  239. lightning_sdk/lightning_cloud/openapi/models/v1_aws_direct_v1.py +53 -1
  240. lightning_sdk/lightning_cloud/openapi/models/v1_billing_subscription.py +27 -1
  241. lightning_sdk/lightning_cloud/openapi/models/v1_billing_tier.py +1 -0
  242. lightning_sdk/lightning_cloud/openapi/models/v1_blog_post.py +435 -0
  243. lightning_sdk/lightning_cloud/openapi/models/v1_cancel_running_cloud_space_instance_transfer_response.py +97 -0
  244. lightning_sdk/lightning_cloud/openapi/models/v1_capacity_block_offering.py +27 -1
  245. lightning_sdk/lightning_cloud/openapi/models/v1_check_cluster_name_availability_request.py +123 -0
  246. lightning_sdk/lightning_cloud/openapi/models/v1_check_cluster_name_availability_response.py +123 -0
  247. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_provider.py +117 -0
  248. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space.py +313 -1
  249. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_artifact_event.py +149 -0
  250. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_artifact_event_type.py +103 -0
  251. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_cold_start_metrics.py +669 -0
  252. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_cold_start_metrics_stats.py +357 -0
  253. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_environment_config.py +149 -0
  254. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_environment_template.py +409 -0
  255. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_environment_template_config.py +331 -0
  256. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_environment_type.py +105 -0
  257. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_session.py +29 -3
  258. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_source_type.py +103 -0
  259. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_specialized_view.py +105 -0
  260. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_state.py +1 -0
  261. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_transfer_metadata.py +331 -0
  262. lightning_sdk/lightning_cloud/openapi/models/v1_cloudflare_v1.py +227 -0
  263. lightning_sdk/lightning_cloud/openapi/models/v1_cloudy_expert.py +279 -0
  264. lightning_sdk/lightning_cloud/openapi/models/v1_cloudy_settings.py +227 -0
  265. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_accelerator.py +445 -3
  266. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_capacity_reservation.py +211 -3
  267. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_deletion_options.py +27 -1
  268. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_metrics.py +1527 -0
  269. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_security_options.py +209 -1
  270. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +521 -1
  271. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_status.py +27 -1
  272. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_tagging_options.py +55 -3
  273. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_type.py +2 -0
  274. lightning_sdk/lightning_cloud/openapi/models/{v1_upload_service_execution_artifact_response.py → v1_cluster_upload.py} +34 -34
  275. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_usage_restriction.py +227 -0
  276. lightning_sdk/lightning_cloud/openapi/models/v1_complete_lit_dataset_multi_part_upload_response.py +97 -0
  277. lightning_sdk/lightning_cloud/openapi/models/v1_complete_lit_dataset_upload_response.py +97 -0
  278. lightning_sdk/lightning_cloud/openapi/models/v1_complete_running_cloud_space_instance_transfer_response.py +97 -0
  279. lightning_sdk/lightning_cloud/openapi/models/{id_complete_body.py → v1_complete_upload_temporary_artifact_request.py} +29 -29
  280. lightning_sdk/lightning_cloud/openapi/models/v1_contact_assistant_owner_reason.py +102 -0
  281. lightning_sdk/lightning_cloud/openapi/models/v1_contact_assistant_owner_response.py +97 -0
  282. lightning_sdk/lightning_cloud/openapi/models/v1_container_metrics.py +461 -0
  283. lightning_sdk/lightning_cloud/openapi/models/v1_conversation.py +53 -1
  284. lightning_sdk/lightning_cloud/openapi/models/v1_conversation_response_chunk.py +107 -3
  285. lightning_sdk/lightning_cloud/openapi/models/v1_create_billing_upgrade_trigger_record_response.py +97 -0
  286. lightning_sdk/lightning_cloud/openapi/models/v1_create_blog_post_request.py +305 -0
  287. lightning_sdk/lightning_cloud/openapi/models/v1_create_checkout_session_request.py +27 -1
  288. lightning_sdk/lightning_cloud/openapi/models/v1_create_cloud_space_environment_template_request.py +409 -0
  289. lightning_sdk/lightning_cloud/openapi/models/v1_create_cluster_capacity_reservation_response.py +27 -1
  290. lightning_sdk/lightning_cloud/openapi/models/v1_create_deployment_request.py +539 -0
  291. lightning_sdk/lightning_cloud/openapi/models/v1_create_deployment_template_request.py +27 -1
  292. lightning_sdk/lightning_cloud/openapi/models/v1_create_git_credentials_request.py +175 -0
  293. lightning_sdk/lightning_cloud/openapi/models/v1_create_incident_request.py +305 -0
  294. lightning_sdk/lightning_cloud/openapi/models/v1_create_job_request.py +201 -0
  295. lightning_sdk/lightning_cloud/openapi/models/v1_create_license_request.py +175 -0
  296. lightning_sdk/lightning_cloud/openapi/models/v1_create_lit_dataset_multi_part_upload_response.py +123 -0
  297. lightning_sdk/lightning_cloud/openapi/models/v1_create_machine_response.py +123 -0
  298. lightning_sdk/lightning_cloud/openapi/models/v1_create_managed_endpoint_response.py +149 -0
  299. lightning_sdk/lightning_cloud/openapi/models/v1_create_model_metrics_response.py +97 -0
  300. lightning_sdk/lightning_cloud/openapi/models/v1_create_multi_machine_job_request.py +253 -0
  301. lightning_sdk/lightning_cloud/openapi/models/v1_create_organization_request.py +105 -1
  302. lightning_sdk/lightning_cloud/openapi/models/v1_create_pipeline_template_request.py +383 -0
  303. lightning_sdk/lightning_cloud/openapi/models/v1_create_project_request.py +209 -1
  304. lightning_sdk/lightning_cloud/openapi/models/v1_create_sdk_command_history_request.py +253 -0
  305. lightning_sdk/lightning_cloud/openapi/models/v1_create_sdk_command_history_response.py +97 -0
  306. lightning_sdk/lightning_cloud/openapi/models/v1_create_server_alert_response.py +97 -0
  307. lightning_sdk/lightning_cloud/openapi/models/v1_create_subscription_checkout_session_request.py +55 -3
  308. lightning_sdk/lightning_cloud/openapi/models/v1_daily_model_metrics.py +149 -0
  309. lightning_sdk/lightning_cloud/openapi/models/v1_daily_usage.py +81 -3
  310. lightning_sdk/lightning_cloud/openapi/models/v1_data_connection.py +261 -1
  311. lightning_sdk/lightning_cloud/openapi/models/v1_data_connection_tier.py +103 -0
  312. lightning_sdk/lightning_cloud/openapi/models/v1_delete_blog_post_response.py +123 -0
  313. lightning_sdk/lightning_cloud/openapi/models/v1_delete_cloud_space_environment_template_response.py +97 -0
  314. lightning_sdk/lightning_cloud/openapi/models/v1_delete_cluster_usage_restriction_response.py +97 -0
  315. lightning_sdk/lightning_cloud/openapi/models/v1_delete_deployment_alerting_policy_response.py +175 -0
  316. lightning_sdk/lightning_cloud/openapi/models/v1_delete_git_credentials_response.py +97 -0
  317. lightning_sdk/lightning_cloud/openapi/models/v1_delete_incident_message_response.py +97 -0
  318. lightning_sdk/lightning_cloud/openapi/models/v1_delete_incident_response.py +97 -0
  319. lightning_sdk/lightning_cloud/openapi/models/v1_delete_kubernetes_template_response.py +97 -0
  320. lightning_sdk/lightning_cloud/openapi/models/v1_delete_license_response.py +97 -0
  321. lightning_sdk/lightning_cloud/openapi/models/v1_delete_lit_dataset_response.py +97 -0
  322. lightning_sdk/lightning_cloud/openapi/models/v1_delete_lit_dataset_version_response.py +97 -0
  323. lightning_sdk/lightning_cloud/openapi/models/v1_delete_lit_registry_repository_image_artifact_version_by_digest_response.py +97 -0
  324. lightning_sdk/lightning_cloud/openapi/models/v1_delete_machine_response.py +97 -0
  325. lightning_sdk/lightning_cloud/openapi/models/{v1_delete_file_endpoint_response.py → v1_delete_pipeline_response.py} +25 -25
  326. lightning_sdk/lightning_cloud/openapi/models/v1_delete_schedule_response.py +175 -0
  327. lightning_sdk/lightning_cloud/openapi/models/v1_deployment.py +315 -3
  328. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_alerting_event.py +487 -0
  329. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_alerting_policy.py +409 -0
  330. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_alerting_policy_frequency.py +105 -0
  331. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_alerting_policy_operation.py +105 -0
  332. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_alerting_policy_severity.py +106 -0
  333. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_alerting_policy_type.py +112 -0
  334. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_alerting_recipients.py +175 -0
  335. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_api.py +79 -1
  336. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_details.py +175 -0
  337. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_state.py +4 -2
  338. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_status.py +47 -21
  339. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_template.py +53 -1
  340. lightning_sdk/lightning_cloud/openapi/models/v1_endpoint.py +27 -1
  341. lightning_sdk/lightning_cloud/openapi/models/v1_external_cluster.py +253 -0
  342. lightning_sdk/lightning_cloud/openapi/models/v1_external_cluster_spec.py +931 -0
  343. lightning_sdk/lightning_cloud/openapi/models/v1_external_search_user.py +53 -1
  344. lightning_sdk/lightning_cloud/openapi/models/v1_filestore_data_connection.py +253 -0
  345. lightning_sdk/lightning_cloud/openapi/models/v1_filesystem_job.py +53 -1
  346. lightning_sdk/lightning_cloud/openapi/models/v1_filesystem_metric.py +201 -0
  347. lightning_sdk/lightning_cloud/openapi/models/v1_filesystem_metrics.py +227 -0
  348. lightning_sdk/lightning_cloud/openapi/models/v1_filesystem_mmt.py +227 -0
  349. lightning_sdk/lightning_cloud/openapi/models/v1_find_capacity_block_offering_response.py +29 -3
  350. lightning_sdk/lightning_cloud/openapi/models/{id_uploads_body1.py → v1_firewall_rule.py} +53 -53
  351. lightning_sdk/lightning_cloud/openapi/models/v1_function_call.py +149 -0
  352. lightning_sdk/lightning_cloud/openapi/models/v1_function_tool.py +175 -0
  353. lightning_sdk/lightning_cloud/openapi/models/{v1_list_file_endpoints_response.py → v1_gcp_data_connection_setup.py} +23 -23
  354. lightning_sdk/lightning_cloud/openapi/models/v1_gcp_direct_vpc.py +149 -0
  355. lightning_sdk/lightning_cloud/openapi/models/v1_ge_list_deployment_routing_telemetry_response.py +123 -0
  356. lightning_sdk/lightning_cloud/openapi/models/v1_get_artifacts_page_response.py +29 -3
  357. lightning_sdk/lightning_cloud/openapi/models/v1_get_assistant_session_daily_aggregated_response.py +201 -0
  358. lightning_sdk/lightning_cloud/openapi/models/v1_get_cloud_space_cold_start_metrics_stats_response.py +123 -0
  359. lightning_sdk/lightning_cloud/openapi/models/v1_get_cloud_space_instance_open_ports_response.py +123 -0
  360. lightning_sdk/lightning_cloud/openapi/models/v1_get_cloud_space_instance_system_metrics_aggregate_response.py +123 -0
  361. lightning_sdk/lightning_cloud/openapi/models/v1_get_cloud_space_required_balance_status_response.py +149 -0
  362. lightning_sdk/lightning_cloud/openapi/models/v1_get_cloud_space_size_response.py +79 -1
  363. lightning_sdk/lightning_cloud/openapi/models/v1_get_cloud_space_transfer_estimate_response.py +149 -0
  364. lightning_sdk/lightning_cloud/openapi/models/v1_get_cluster_accelerator_demand_response.py +123 -0
  365. lightning_sdk/lightning_cloud/openapi/models/v1_get_cluster_health_response.py +149 -0
  366. lightning_sdk/lightning_cloud/openapi/models/v1_get_deployment_routing_telemetry_content_response.py +123 -0
  367. lightning_sdk/lightning_cloud/openapi/models/v1_get_job_stats_response.py +105 -1
  368. lightning_sdk/lightning_cloud/openapi/models/v1_get_latest_model_metrics_response.py +123 -0
  369. lightning_sdk/lightning_cloud/openapi/models/{v1_upload_service_execution_artifact_parts_response.py → v1_get_lit_dataset_file_upload_urls_response.py} +16 -16
  370. lightning_sdk/lightning_cloud/openapi/models/v1_get_lit_dataset_files_url_response.py +149 -0
  371. lightning_sdk/lightning_cloud/openapi/models/v1_get_machine_response.py +123 -0
  372. lightning_sdk/lightning_cloud/openapi/models/v1_get_market_pricing_response.py +201 -0
  373. lightning_sdk/lightning_cloud/openapi/models/v1_get_model_metrics_response.py +123 -0
  374. lightning_sdk/lightning_cloud/openapi/models/v1_get_organization_storage_metadata_response.py +487 -0
  375. lightning_sdk/lightning_cloud/openapi/models/v1_get_project_balance_response.py +1 -27
  376. lightning_sdk/lightning_cloud/openapi/models/v1_get_project_storage_metadata_response.py +263 -3
  377. lightning_sdk/lightning_cloud/openapi/models/v1_get_temp_bucket_credentials_response.py +201 -0
  378. lightning_sdk/lightning_cloud/openapi/models/v1_get_user_response.py +235 -1
  379. lightning_sdk/lightning_cloud/openapi/models/v1_get_user_storage_breakdown_response.py +105 -1
  380. lightning_sdk/lightning_cloud/openapi/models/v1_get_volume_response.py +123 -0
  381. lightning_sdk/lightning_cloud/openapi/models/v1_git_credentials.py +227 -0
  382. lightning_sdk/lightning_cloud/openapi/models/v1_google_cloud_direct_v1.py +185 -3
  383. lightning_sdk/lightning_cloud/openapi/models/v1_group_node_metrics.py +1215 -0
  384. lightning_sdk/lightning_cloud/openapi/models/v1_group_pod_metrics.py +1241 -0
  385. lightning_sdk/lightning_cloud/openapi/models/v1_guest_login_request.py +177 -0
  386. lightning_sdk/lightning_cloud/openapi/models/v1_guest_login_response.py +149 -0
  387. lightning_sdk/lightning_cloud/openapi/models/{v1_service_artifact.py → v1_guest_user.py} +60 -60
  388. lightning_sdk/lightning_cloud/openapi/models/v1_incident.py +565 -0
  389. lightning_sdk/lightning_cloud/openapi/models/v1_incident_detail.py +149 -0
  390. lightning_sdk/lightning_cloud/openapi/models/v1_incident_event.py +591 -0
  391. lightning_sdk/lightning_cloud/openapi/models/v1_incident_message.py +253 -0
  392. lightning_sdk/lightning_cloud/openapi/models/v1_incident_severity.py +105 -0
  393. lightning_sdk/lightning_cloud/openapi/models/v1_incident_type.py +108 -0
  394. lightning_sdk/lightning_cloud/openapi/models/v1_instance_overprovisioning_spec.py +95 -41
  395. lightning_sdk/lightning_cloud/openapi/models/v1_job.py +237 -3
  396. lightning_sdk/lightning_cloud/openapi/models/v1_job_artifacts_type.py +103 -0
  397. lightning_sdk/lightning_cloud/openapi/models/v1_job_resource.py +279 -0
  398. lightning_sdk/lightning_cloud/openapi/models/v1_job_spec.py +209 -1
  399. lightning_sdk/lightning_cloud/openapi/models/v1_job_timing.py +27 -1
  400. lightning_sdk/lightning_cloud/openapi/models/v1_job_type.py +109 -0
  401. lightning_sdk/lightning_cloud/openapi/models/v1_k8s_incident_indexes.py +149 -0
  402. lightning_sdk/lightning_cloud/openapi/models/v1_kai_scheduler_queue_metrics.py +627 -0
  403. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_aws_config.py +279 -0
  404. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_settings_v1.py +253 -0
  405. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_v1.py +357 -0
  406. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_v1_status.py +149 -0
  407. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_template.py +357 -0
  408. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_template_property.py +227 -0
  409. lightning_sdk/lightning_cloud/openapi/models/v1_lambda_labs_direct_v1.py +67 -17
  410. lightning_sdk/lightning_cloud/openapi/models/v1_license.py +227 -0
  411. lightning_sdk/lightning_cloud/openapi/models/v1_lightning_elastic_cluster_v1.py +97 -0
  412. lightning_sdk/lightning_cloud/openapi/models/v1_lightning_run.py +53 -1
  413. lightning_sdk/lightning_cloud/openapi/models/v1_lightningapp_instance_artifact.py +27 -1
  414. lightning_sdk/lightning_cloud/openapi/models/v1_like_status.py +104 -0
  415. lightning_sdk/lightning_cloud/openapi/models/v1_list_aggregated_pod_metrics_response.py +123 -0
  416. lightning_sdk/lightning_cloud/openapi/models/{v1_download_service_execution_artifact_response.py → v1_list_blog_posts_response.py} +41 -41
  417. lightning_sdk/lightning_cloud/openapi/models/v1_list_cloud_space_cold_start_metrics_response.py +123 -0
  418. lightning_sdk/lightning_cloud/openapi/models/v1_list_cloud_space_environment_templates_response.py +123 -0
  419. lightning_sdk/lightning_cloud/openapi/models/v1_list_cloudy_experts_response.py +123 -0
  420. lightning_sdk/lightning_cloud/openapi/models/v1_list_cluster_metric_timestamps_response.py +123 -0
  421. lightning_sdk/lightning_cloud/openapi/models/v1_list_cluster_metrics_response.py +123 -0
  422. lightning_sdk/lightning_cloud/openapi/models/v1_list_cluster_namespace_metrics_response.py +123 -0
  423. lightning_sdk/lightning_cloud/openapi/models/v1_list_cluster_namespace_user_metrics_response.py +123 -0
  424. lightning_sdk/lightning_cloud/openapi/models/v1_list_cluster_usage_restrictions_response.py +123 -0
  425. lightning_sdk/lightning_cloud/openapi/models/v1_list_clusters_response.py +6 -6
  426. lightning_sdk/lightning_cloud/openapi/models/v1_list_container_metrics_response.py +123 -0
  427. lightning_sdk/lightning_cloud/openapi/models/v1_list_conversation_message_actions_response.py +123 -0
  428. lightning_sdk/lightning_cloud/openapi/models/v1_list_deployment_alerting_events_response.py +123 -0
  429. lightning_sdk/lightning_cloud/openapi/models/v1_list_deployment_alerting_policies_response.py +175 -0
  430. lightning_sdk/lightning_cloud/openapi/models/v1_list_filesystem_metrics_response.py +123 -0
  431. lightning_sdk/lightning_cloud/openapi/models/v1_list_filesystem_mm_ts_response.py +123 -0
  432. lightning_sdk/lightning_cloud/openapi/models/v1_list_git_credentials_response.py +123 -0
  433. lightning_sdk/lightning_cloud/openapi/models/v1_list_group_pod_metrics_response.py +123 -0
  434. lightning_sdk/lightning_cloud/openapi/models/v1_list_incident_events_response.py +123 -0
  435. lightning_sdk/lightning_cloud/openapi/models/v1_list_incident_messages_response.py +149 -0
  436. lightning_sdk/lightning_cloud/openapi/models/v1_list_incidents_response.py +149 -0
  437. lightning_sdk/lightning_cloud/openapi/models/v1_list_job_resources_response.py +123 -0
  438. lightning_sdk/lightning_cloud/openapi/models/v1_list_kai_scheduler_queues_metrics_response.py +123 -0
  439. lightning_sdk/lightning_cloud/openapi/models/v1_list_kubernetes_templates_response.py +123 -0
  440. lightning_sdk/lightning_cloud/openapi/models/v1_list_license_response.py +123 -0
  441. lightning_sdk/lightning_cloud/openapi/models/v1_list_lit_dataset_versions_response.py +123 -0
  442. lightning_sdk/lightning_cloud/openapi/models/v1_list_lit_datasets_response.py +123 -0
  443. lightning_sdk/lightning_cloud/openapi/models/v1_list_lit_registry_repository_image_artifact_versions_response.py +257 -0
  444. lightning_sdk/lightning_cloud/openapi/models/v1_list_machines_response.py +149 -0
  445. lightning_sdk/lightning_cloud/openapi/models/v1_list_node_file_system_metrics_response.py +97 -0
  446. lightning_sdk/lightning_cloud/openapi/models/v1_list_node_metrics_response.py +123 -0
  447. lightning_sdk/lightning_cloud/openapi/models/v1_list_notification_dialogs_response.py +149 -0
  448. lightning_sdk/lightning_cloud/openapi/models/v1_list_pipelines_response.py +123 -0
  449. lightning_sdk/lightning_cloud/openapi/models/v1_list_platform_notifications_response.py +123 -0
  450. lightning_sdk/lightning_cloud/openapi/models/v1_list_pod_metrics_response.py +123 -0
  451. lightning_sdk/lightning_cloud/openapi/models/v1_list_project_clusters_response.py +6 -6
  452. lightning_sdk/lightning_cloud/openapi/models/v1_list_published_managed_endpoints_response.py +123 -0
  453. lightning_sdk/lightning_cloud/openapi/models/v1_list_schedule_runs_response.py +123 -0
  454. lightning_sdk/lightning_cloud/openapi/models/v1_list_schedules_response.py +123 -0
  455. lightning_sdk/lightning_cloud/openapi/models/v1_list_slurm_cluster_users_response.py +123 -0
  456. lightning_sdk/lightning_cloud/openapi/models/v1_list_storage_transfers_response.py +123 -0
  457. lightning_sdk/lightning_cloud/openapi/models/v1_lit_dataset.py +539 -0
  458. lightning_sdk/lightning_cloud/openapi/models/{id_storage_body.py → v1_lit_dataset_file.py} +49 -49
  459. lightning_sdk/lightning_cloud/openapi/models/v1_lit_dataset_version_archive.py +435 -0
  460. lightning_sdk/lightning_cloud/openapi/models/v1_lit_registry_artifact.py +305 -0
  461. lightning_sdk/lightning_cloud/openapi/models/v1_lit_registry_project.py +35 -1
  462. lightning_sdk/lightning_cloud/openapi/models/v1_lit_repository.py +81 -1
  463. lightning_sdk/lightning_cloud/openapi/models/v1_lite_published_cloud_space_response.py +513 -0
  464. lightning_sdk/lightning_cloud/openapi/models/v1_lustre_data_connection.py +149 -0
  465. lightning_sdk/lightning_cloud/openapi/models/v1_machine.py +617 -0
  466. lightning_sdk/lightning_cloud/openapi/models/v1_machine_direct_v1.py +123 -0
  467. lightning_sdk/lightning_cloud/openapi/models/v1_magic_link_login_response.py +53 -1
  468. lightning_sdk/lightning_cloud/openapi/models/v1_managed_endpoint.py +27 -1
  469. lightning_sdk/lightning_cloud/openapi/models/v1_managed_model.py +341 -3
  470. lightning_sdk/lightning_cloud/openapi/models/v1_market_price.py +149 -0
  471. lightning_sdk/lightning_cloud/openapi/models/v1_membership.py +121 -17
  472. lightning_sdk/lightning_cloud/openapi/models/v1_message.py +159 -3
  473. lightning_sdk/lightning_cloud/openapi/models/v1_message_action.py +279 -0
  474. lightning_sdk/lightning_cloud/openapi/models/v1_metadata.py +27 -1
  475. lightning_sdk/lightning_cloud/openapi/models/v1_metrics_stream.py +79 -1
  476. lightning_sdk/lightning_cloud/openapi/models/v1_model.py +27 -1
  477. lightning_sdk/lightning_cloud/openapi/models/v1_model_metrics.py +175 -0
  478. lightning_sdk/lightning_cloud/openapi/models/{v1_delete_service_execution_response.py → v1_modify_filesystem_volume_response.py} +6 -6
  479. lightning_sdk/lightning_cloud/openapi/models/v1_multi_machine_job.py +27 -1
  480. lightning_sdk/lightning_cloud/openapi/models/v1_multi_machine_job_state.py +2 -0
  481. lightning_sdk/lightning_cloud/openapi/models/v1_namespace_metrics.py +591 -0
  482. lightning_sdk/lightning_cloud/openapi/models/v1_namespace_user_metrics.py +435 -0
  483. lightning_sdk/lightning_cloud/openapi/models/v1_nebius_direct_v1.py +175 -0
  484. lightning_sdk/lightning_cloud/openapi/models/v1_node_metrics.py +695 -0
  485. lightning_sdk/lightning_cloud/openapi/models/v1_notification_type.py +2 -0
  486. lightning_sdk/lightning_cloud/openapi/models/v1_organization.py +837 -3
  487. lightning_sdk/lightning_cloud/openapi/models/v1_path_mapping.py +175 -0
  488. lightning_sdk/lightning_cloud/openapi/models/v1_pause_storage_transfer_response.py +97 -0
  489. lightning_sdk/lightning_cloud/openapi/models/v1_pipeline.py +591 -0
  490. lightning_sdk/lightning_cloud/openapi/models/v1_pipeline_parameter.py +435 -0
  491. lightning_sdk/lightning_cloud/openapi/models/v1_pipeline_parameter_placement.py +149 -0
  492. lightning_sdk/lightning_cloud/openapi/models/v1_pipeline_parameter_placement_type.py +106 -0
  493. lightning_sdk/lightning_cloud/openapi/models/v1_pipeline_parameter_type.py +106 -0
  494. lightning_sdk/lightning_cloud/openapi/models/v1_pipeline_state.py +111 -0
  495. lightning_sdk/lightning_cloud/openapi/models/v1_pipeline_step.py +253 -0
  496. lightning_sdk/lightning_cloud/openapi/models/v1_pipeline_step_status.py +331 -0
  497. lightning_sdk/lightning_cloud/openapi/models/v1_pipeline_step_type.py +104 -0
  498. lightning_sdk/lightning_cloud/openapi/models/v1_pipeline_template.py +513 -0
  499. lightning_sdk/lightning_cloud/openapi/models/v1_pipeline_template_visibility_type.py +105 -0
  500. lightning_sdk/lightning_cloud/openapi/models/v1_platform_notification.py +279 -0
  501. lightning_sdk/lightning_cloud/openapi/models/v1_pod_metrics.py +747 -0
  502. lightning_sdk/lightning_cloud/openapi/models/v1_post_cloud_space_artifact_events_response.py +97 -0
  503. lightning_sdk/lightning_cloud/openapi/models/v1_project.py +105 -1
  504. lightning_sdk/lightning_cloud/openapi/models/v1_project_cluster_binding.py +53 -1
  505. lightning_sdk/lightning_cloud/openapi/models/v1_project_membership.py +121 -17
  506. lightning_sdk/lightning_cloud/openapi/models/v1_project_settings.py +525 -3
  507. lightning_sdk/lightning_cloud/openapi/models/v1_project_storage.py +235 -1
  508. lightning_sdk/lightning_cloud/openapi/models/v1_project_tab.py +149 -0
  509. lightning_sdk/lightning_cloud/openapi/models/v1_purchase_annual_upsell_request.py +123 -0
  510. lightning_sdk/lightning_cloud/openapi/models/v1_purchase_annual_upsell_response.py +123 -0
  511. lightning_sdk/lightning_cloud/openapi/models/v1_quote_annual_upsell_response.py +227 -0
  512. lightning_sdk/lightning_cloud/openapi/models/v1_quote_subscription_response.py +27 -1
  513. lightning_sdk/lightning_cloud/openapi/models/v1_r2_data_connection.py +305 -0
  514. lightning_sdk/lightning_cloud/openapi/models/v1_render_kubernetes_template_response.py +123 -0
  515. lightning_sdk/lightning_cloud/openapi/models/v1_report_cloud_space_instance_stop_at_response.py +97 -0
  516. lightning_sdk/lightning_cloud/openapi/models/v1_report_cloud_space_instance_system_metrics_response.py +97 -0
  517. lightning_sdk/lightning_cloud/openapi/models/v1_report_deployment_routing_telemetry_response.py +97 -0
  518. lightning_sdk/lightning_cloud/openapi/models/v1_report_k8s_cluster_metrics_response.py +97 -0
  519. lightning_sdk/lightning_cloud/openapi/models/v1_report_restart_timings_response.py +97 -0
  520. lightning_sdk/lightning_cloud/openapi/models/v1_request_cloud_space_access_response.py +97 -0
  521. lightning_sdk/lightning_cloud/openapi/models/v1_required_balance_reason.py +107 -0
  522. lightning_sdk/lightning_cloud/openapi/models/v1_reservation_details.py +201 -0
  523. lightning_sdk/lightning_cloud/openapi/models/v1_reset_api_key_request.py +97 -0
  524. lightning_sdk/lightning_cloud/openapi/models/v1_reset_api_key_response.py +123 -0
  525. lightning_sdk/lightning_cloud/openapi/models/v1_resource_visibility.py +27 -1
  526. lightning_sdk/lightning_cloud/openapi/models/v1_resources.py +55 -3
  527. lightning_sdk/lightning_cloud/openapi/models/v1_response_choice.py +29 -3
  528. lightning_sdk/lightning_cloud/openapi/models/v1_restart_timing.py +201 -0
  529. lightning_sdk/lightning_cloud/openapi/models/v1_resume_storage_transfer_response.py +97 -0
  530. lightning_sdk/lightning_cloud/openapi/models/v1_routing_telemetry.py +357 -0
  531. lightning_sdk/lightning_cloud/openapi/models/v1_rule_resource.py +5 -0
  532. lightning_sdk/lightning_cloud/openapi/models/v1_schedule.py +565 -0
  533. lightning_sdk/lightning_cloud/openapi/models/{command_argument_command_argument_type.py → v1_schedule_action_type.py} +9 -8
  534. lightning_sdk/lightning_cloud/openapi/models/v1_schedule_resource_type.py +104 -0
  535. lightning_sdk/lightning_cloud/openapi/models/v1_schedule_run.py +357 -0
  536. lightning_sdk/lightning_cloud/openapi/models/v1_sdk_command_history_severity.py +104 -0
  537. lightning_sdk/lightning_cloud/openapi/models/v1_sdk_command_history_type.py +104 -0
  538. lightning_sdk/lightning_cloud/openapi/models/v1_secret_type.py +2 -0
  539. lightning_sdk/lightning_cloud/openapi/models/{v1_get_service_execution_status_response.py → v1_server_alert.py} +74 -48
  540. lightning_sdk/lightning_cloud/openapi/models/v1_server_alert_phase.py +105 -0
  541. lightning_sdk/lightning_cloud/openapi/models/v1_server_alert_severity.py +103 -0
  542. lightning_sdk/lightning_cloud/openapi/models/v1_server_alert_type.py +108 -0
  543. lightning_sdk/lightning_cloud/openapi/models/v1_service_health.py +27 -1
  544. lightning_sdk/lightning_cloud/openapi/models/v1_setup_data_connection_response.py +123 -0
  545. lightning_sdk/lightning_cloud/openapi/models/v1_shared_filesystem.py +331 -0
  546. lightning_sdk/lightning_cloud/openapi/models/v1_slack_notifier.py +201 -0
  547. lightning_sdk/lightning_cloud/openapi/models/v1_slack_notifier_type.py +105 -0
  548. lightning_sdk/lightning_cloud/openapi/models/v1_sleep_server_response.py +97 -0
  549. lightning_sdk/lightning_cloud/openapi/models/v1_slurm_cluster_user.py +227 -0
  550. lightning_sdk/lightning_cloud/openapi/models/v1_slurm_job.py +84 -6
  551. lightning_sdk/lightning_cloud/openapi/models/v1_slurm_node.py +31 -291
  552. lightning_sdk/lightning_cloud/openapi/models/v1_slurm_v1.py +79 -1
  553. lightning_sdk/lightning_cloud/openapi/models/v1_slurm_v1_status.py +79 -1
  554. lightning_sdk/lightning_cloud/openapi/models/v1_storage_asset.py +159 -3
  555. lightning_sdk/lightning_cloud/openapi/models/v1_storage_asset_type.py +4 -0
  556. lightning_sdk/lightning_cloud/openapi/models/v1_storage_transfer.py +435 -0
  557. lightning_sdk/lightning_cloud/openapi/models/v1_storage_transfer_status.py +108 -0
  558. lightning_sdk/lightning_cloud/openapi/models/v1_subnet_spec.py +149 -0
  559. lightning_sdk/lightning_cloud/openapi/models/v1_system_metrics_aggregated.py +227 -0
  560. lightning_sdk/lightning_cloud/openapi/models/v1_token_login_request.py +123 -0
  561. lightning_sdk/lightning_cloud/openapi/models/v1_token_login_response.py +123 -0
  562. lightning_sdk/lightning_cloud/openapi/models/v1_token_owner_type.py +104 -0
  563. lightning_sdk/lightning_cloud/openapi/models/v1_token_usage.py +175 -0
  564. lightning_sdk/lightning_cloud/openapi/models/v1_tool.py +149 -0
  565. lightning_sdk/lightning_cloud/openapi/models/v1_tool_call.py +175 -0
  566. lightning_sdk/lightning_cloud/openapi/models/v1_transaction.py +27 -1
  567. lightning_sdk/lightning_cloud/openapi/models/v1_transfer_cloud_space_response.py +97 -0
  568. lightning_sdk/lightning_cloud/openapi/models/v1_trigger_filesystem_upgrade_response.py +123 -0
  569. lightning_sdk/lightning_cloud/openapi/models/v1_update_cloud_space_instance_config_request.py +253 -0
  570. lightning_sdk/lightning_cloud/openapi/models/v1_update_cloud_space_visibility_response.py +97 -0
  571. lightning_sdk/lightning_cloud/openapi/models/v1_update_conversation_like_response.py +149 -0
  572. lightning_sdk/lightning_cloud/openapi/models/v1_update_conversation_message_like_response.py +149 -0
  573. lightning_sdk/lightning_cloud/openapi/models/v1_update_deployment_visibility_response.py +97 -0
  574. lightning_sdk/lightning_cloud/openapi/models/v1_update_job_visibility_response.py +97 -0
  575. lightning_sdk/lightning_cloud/openapi/models/v1_update_lit_dataset_visibility_response.py +123 -0
  576. lightning_sdk/lightning_cloud/openapi/models/v1_update_lit_repository_response.py +97 -0
  577. lightning_sdk/lightning_cloud/openapi/models/v1_update_metrics_stream_visibility_response.py +27 -1
  578. lightning_sdk/lightning_cloud/openapi/models/v1_update_model_visibility_response.py +27 -1
  579. lightning_sdk/lightning_cloud/openapi/models/{v1_complete_upload_service_execution_artifact_response.py → v1_update_organization_credits_auto_replenish_response.py} +6 -6
  580. lightning_sdk/lightning_cloud/openapi/models/v1_update_project_tab_order_response.py +123 -0
  581. lightning_sdk/lightning_cloud/openapi/models/v1_update_user_credits_auto_replenish_response.py +97 -0
  582. lightning_sdk/lightning_cloud/openapi/models/v1_update_user_request.py +131 -1
  583. lightning_sdk/lightning_cloud/openapi/models/v1_update_volume_response.py +123 -0
  584. lightning_sdk/lightning_cloud/openapi/models/v1_upload_project_artifact_response.py +27 -1
  585. lightning_sdk/lightning_cloud/openapi/models/{v1_list_new_features_for_user_response.py → v1_upload_temporary_artifact_request.py} +23 -23
  586. lightning_sdk/lightning_cloud/openapi/models/v1_usage.py +105 -1
  587. lightning_sdk/lightning_cloud/openapi/models/v1_usage_report.py +79 -1
  588. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +894 -842
  589. lightning_sdk/lightning_cloud/openapi/models/v1_user_requested_compute_config.py +27 -1
  590. lightning_sdk/lightning_cloud/openapi/models/v1_validate_data_connection_response.py +27 -1
  591. lightning_sdk/lightning_cloud/openapi/models/v1_validate_deployment_image_request.py +27 -1
  592. lightning_sdk/lightning_cloud/openapi/models/v1_validate_license_response.py +123 -0
  593. lightning_sdk/lightning_cloud/openapi/models/v1_validate_managed_endpoint_response.py +27 -1
  594. lightning_sdk/lightning_cloud/openapi/models/v1_validate_storage_transfer_response.py +123 -0
  595. lightning_sdk/lightning_cloud/openapi/models/v1_voltage_park_direct_v1.py +229 -0
  596. lightning_sdk/lightning_cloud/openapi/models/v1_volume.py +513 -45
  597. lightning_sdk/lightning_cloud/openapi/models/v1_volume_state.py +105 -0
  598. lightning_sdk/lightning_cloud/openapi/models/v1_vultr_direct_v1.py +1 -27
  599. lightning_sdk/lightning_cloud/openapi/models/v1_weka_data_connection.py +201 -0
  600. lightning_sdk/lightning_cloud/openapi/models/validate.py +53 -1
  601. lightning_sdk/lightning_cloud/openapi/models/version_default_body.py +29 -29
  602. lightning_sdk/lightning_cloud/openapi/models/version_default_body1.py +149 -0
  603. lightning_sdk/lightning_cloud/openapi/models/version_uploads_body1.py +123 -0
  604. lightning_sdk/lightning_cloud/openapi/models/versions_version_body1.py +123 -0
  605. lightning_sdk/lightning_cloud/openapi/models/volumes_id_body.py +123 -0
  606. lightning_sdk/lightning_cloud/rest_client.py +61 -48
  607. lightning_sdk/lightning_cloud/source_code/logs_socket_api.py +8 -3
  608. lightning_sdk/lightning_cloud/utils/data_connection.py +234 -7
  609. lightning_sdk/lit_container.py +68 -9
  610. lightning_sdk/llm/__init__.py +3 -0
  611. lightning_sdk/llm/llm.py +497 -0
  612. lightning_sdk/llm/public_assistants.py +54 -0
  613. lightning_sdk/machine.py +221 -30
  614. lightning_sdk/mmt/base.py +67 -32
  615. lightning_sdk/mmt/mmt.py +68 -50
  616. lightning_sdk/mmt/v1.py +16 -32
  617. lightning_sdk/mmt/v2.py +47 -18
  618. lightning_sdk/models.py +74 -24
  619. lightning_sdk/organization.py +4 -0
  620. lightning_sdk/owner.py +2 -1
  621. lightning_sdk/pipeline/__init__.py +14 -0
  622. lightning_sdk/pipeline/pipeline.py +163 -0
  623. lightning_sdk/pipeline/printer.py +124 -0
  624. lightning_sdk/pipeline/schedule.py +859 -0
  625. lightning_sdk/pipeline/steps.py +365 -0
  626. lightning_sdk/pipeline/utils.py +116 -0
  627. lightning_sdk/plugin.py +39 -20
  628. lightning_sdk/sandbox.py +160 -0
  629. lightning_sdk/serve.py +309 -0
  630. lightning_sdk/services/__init__.py +1 -1
  631. lightning_sdk/services/file_endpoint.py +3 -4
  632. lightning_sdk/services/utilities.py +16 -2
  633. lightning_sdk/studio.py +515 -41
  634. lightning_sdk/teamspace.py +335 -30
  635. lightning_sdk/user.py +19 -1
  636. lightning_sdk/utils/config.py +179 -0
  637. lightning_sdk/utils/license.py +13 -0
  638. lightning_sdk/utils/logging.py +79 -0
  639. lightning_sdk/utils/names.py +1179 -0
  640. lightning_sdk/utils/progress.py +283 -0
  641. lightning_sdk/utils/resolve.py +149 -13
  642. {lightning_sdk-0.1.49.dist-info → lightning_sdk-2025.11.5.dist-info}/METADATA +14 -11
  643. {lightning_sdk-0.1.49.dist-info → lightning_sdk-2025.11.5.dist-info}/RECORD +649 -250
  644. {lightning_sdk-0.1.49.dist-info → lightning_sdk-2025.11.5.dist-info}/WHEEL +1 -1
  645. {lightning_sdk-0.1.49.dist-info → lightning_sdk-2025.11.5.dist-info}/entry_points.txt +1 -0
  646. lightning_sdk/cli/ai_hub.py +0 -49
  647. lightning_sdk/cli/delete.py +0 -58
  648. lightning_sdk/cli/download.py +0 -132
  649. lightning_sdk/cli/inspect.py +0 -31
  650. lightning_sdk/cli/legacy.py +0 -135
  651. lightning_sdk/cli/list.py +0 -112
  652. lightning_sdk/cli/run.py +0 -225
  653. lightning_sdk/cli/serve.py +0 -218
  654. lightning_sdk/cli/stop.py +0 -37
  655. lightning_sdk/cli/upload.py +0 -255
  656. lightning_sdk/lightning_cloud/openapi/models/fileendpoints_id_body.py +0 -409
  657. lightning_sdk/lightning_cloud/openapi/models/project_id_fileendpoints_body.py +0 -357
  658. lightning_sdk/lightning_cloud/openapi/models/project_id_serviceexecution_body.py +0 -175
  659. lightning_sdk/lightning_cloud/openapi/models/serviceexecution_id_body.py +0 -331
  660. lightning_sdk/lightning_cloud/openapi/models/v1_command_argument.py +0 -305
  661. lightning_sdk/lightning_cloud/openapi/models/v1_ebs.py +0 -279
  662. lightning_sdk/lightning_cloud/openapi/models/v1_file_endpoint.py +0 -461
  663. lightning_sdk/lightning_cloud/openapi/models/v1_get_user_storage_response.py +0 -201
  664. lightning_sdk/lightning_cloud/openapi/models/v1_list_service_execution_lightningapp_instances_response.py +0 -175
  665. lightning_sdk/lightning_cloud/openapi/models/v1_service_execution.py +0 -383
  666. /lightning_sdk/cli/{exceptions.py → legacy/exceptions.py} +0 -0
  667. /lightning_sdk/services/{finetune/__init__.py → finetune_llm.py} +0 -0
  668. {lightning_sdk-0.1.49.dist-info → lightning_sdk-2025.11.5.dist-info}/LICENSE +0 -0
  669. {lightning_sdk-0.1.49.dist-info → lightning_sdk-2025.11.5.dist-info}/top_level.txt +0 -0
@@ -1,11 +1,10 @@
1
1
  import os
2
2
  from time import sleep, time
3
3
  from lightning_sdk.lightning_cloud import rest_client
4
- from lightning_sdk.lightning_cloud.openapi import Create, V1AwsDataConnection, V1S3FolderDataConnection, V1EfsConfig
4
+ from lightning_sdk.lightning_cloud.openapi import Create, V1AwsDataConnection, V1S3FolderDataConnection, V1EfsConfig, V1GcpDataConnection, V1FilestoreDataConnection, V1DataConnectionTier, V1R2DataConnection
5
5
  from lightning_sdk.lightning_cloud.openapi.rest import ApiException
6
6
  import urllib3
7
7
 
8
-
9
8
  def add_s3_connection(bucket_name: str, region: str = "us-east-1", create_timeout: int = 15) -> None:
10
9
  """Utility to add a data connection."""
11
10
  client = rest_client.LightningClient(retry=False)
@@ -26,7 +25,7 @@ def add_s3_connection(bucket_name: str, region: str = "us-east-1", create_timeou
26
25
  aws=V1AwsDataConnection(
27
26
  source=f"s3://{bucket_name}",
28
27
  region=region
29
- ))
28
+ ))
30
29
  try:
31
30
  client.data_connection_service_create_data_connection(body, project_id)
32
31
  except (ApiException, urllib3.exceptions.HTTPError) as ex:
@@ -44,7 +43,7 @@ def add_s3_connection(bucket_name: str, region: str = "us-east-1", create_timeou
44
43
 
45
44
  while not os.path.isdir(f"/teamspace/s3_connections/{bucket_name}") and (time() - start) < create_timeout:
46
45
  sleep(1)
47
-
46
+
48
47
  return
49
48
 
50
49
  def create_s3_folder(folder_name: str, create_timeout: int = 15) -> None:
@@ -64,7 +63,7 @@ def create_s3_folder(folder_name: str, create_timeout: int = 15) -> None:
64
63
 
65
64
  # Get existing data connections
66
65
  data_connections = client.data_connection_service_list_data_connections(project_id).data_connections
67
-
66
+
68
67
  for connection in data_connections:
69
68
  existing_folder_name = getattr(connection, 'name', None)
70
69
  isS3Folder = getattr(connection, 's3_folder', None) is not None
@@ -102,13 +101,14 @@ def create_s3_folder(folder_name: str, create_timeout: int = 15) -> None:
102
101
 
103
102
  return
104
103
 
105
- def create_efs_folder(folder_name: str, region: str) -> None:
104
+ def create_efs_folder(folder_name: str, region: str, create_timeout: int = 60) -> None:
106
105
  """
107
106
  Utility function to create a EFS folder.
108
107
 
109
108
  Args:
110
109
  folder_name: The name of the folder to create.
111
110
  region: the region to create the efs in. Could be something like "us-east-1"
111
+ create_timeout: Timeout for creating the efs folder. Defaults to 60 seconds
112
112
  """
113
113
  client = rest_client.LightningClient(retry=False)
114
114
 
@@ -136,8 +136,228 @@ def create_efs_folder(folder_name: str, region: str) -> None:
136
136
  writable=True,
137
137
  efs=V1EfsConfig(region=region),
138
138
  )
139
+ try:
140
+ connection = client.data_connection_service_create_data_connection(body, project_id)
141
+ except ApiException as e:
142
+ # Note: This function can be called in a distributed way.
143
+ # There is a race condition where one machine might create the entry before another machine
144
+ # and this request would fail with duplicated key
145
+ # In this case, it is fine not to raise
146
+ if'duplicate key value violates unique constraint' in str(e.body):
147
+ return
148
+ raise e from None
149
+
150
+ except urllib3.exceptions.HTTPError as e:
151
+ raise e from None
152
+
153
+ start = time()
154
+ while True:
155
+ if time() - start > create_timeout:
156
+ print(f"Dataconnection {connection.name} didn't become accessible withing {create_timeout} seconds!")
157
+
158
+
159
+ data_connection = client.data_connection_service_get_data_connection(project_id=project_id, id=connection.id)
160
+ if data_connection.accessible:
161
+ break
162
+
163
+ sleep(1)
164
+
165
+ def add_efs_connection(name: str, filesystem_id: str, region: str = "us-east-1", create_timeout: int = 60) -> None:
166
+ """Utility to add an existing EFS filesystem as a data connection.
167
+
168
+ Args:
169
+ name: The name to give to the data connection
170
+ filesystem_id: The ID of the existing EFS filesystem (e.g., 'fs-1234567')
171
+ region: AWS region where the EFS filesystem exists (default: 'us-east-1')
172
+ create_timeout: Timeout in seconds to wait for the connection to be accessible (default: 60)
173
+ """
174
+ client = rest_client.LightningClient(retry=False)
175
+
176
+ project_id = os.getenv("LIGHTNING_CLOUD_PROJECT_ID")
177
+ cluster_id = os.getenv("LIGHTNING_CLUSTER_ID")
178
+
179
+ data_connections = client.data_connection_service_list_data_connections(project_id).data_connections
180
+
181
+ if any(d for d in data_connections if d.name == name):
182
+ return
183
+
184
+ body = Create(
185
+ name=name,
186
+ create_resources=False, # Don't create new EFS since we're connecting to existing one
187
+ cluster_id=cluster_id,
188
+ access_cluster_ids=[cluster_id],
189
+ force=True,
190
+ writable=True,
191
+ efs=V1EfsConfig(
192
+ region=region,
193
+ file_system_id=filesystem_id,
194
+ )
195
+ )
196
+
197
+ try:
198
+ connection = client.data_connection_service_create_data_connection(body, project_id)
199
+ except (ApiException, urllib3.exceptions.HTTPError) as ex:
200
+ if isinstance(ex, ApiException) and 'duplicate key value violates unique constraint' in str(ex.body):
201
+ pass
202
+ else:
203
+ raise ex
204
+
205
+ start = time()
206
+ while True:
207
+ if time() - start > create_timeout:
208
+ print(f"Dataconnection {connection.name} didn't become accessible withing {create_timeout} seconds!")
209
+ break
210
+
211
+ data_connection = client.data_connection_service_get_data_connection(project_id=project_id, id=connection.id)
212
+ if data_connection.accessible:
213
+ break
214
+
215
+ sleep(1)
216
+
217
+ return
218
+
219
+ def add_gcs_connection(connection_name: str, bucket_name: str, create_timeout: int = 15) -> None:
220
+ """
221
+ Utility function to add a GCS data connection.
222
+
223
+ Parameters:
224
+ 1. connection_name (str): The name of the data connection.
225
+ 2. bucket_name (str): The name of the bucket to attach.
226
+ 3. create_timeout (int): The timeout for the data connectio creation.
227
+ Returns:
228
+ None
229
+ """
230
+
231
+ client = rest_client.LightningClient(retry=False)
232
+
233
+ project_id = os.getenv("LIGHTNING_CLOUD_PROJECT_ID")
234
+ cluster_id = os.getenv("LIGHTNING_CLUSTER_ID")
235
+
236
+ # Get existing data connections and ensure there is no an existing one with the same name and type
237
+ data_connections = client.data_connection_service_list_data_connections(project_id).data_connections
238
+
239
+ for connection in data_connections:
240
+ existing_connection_name = getattr(connection, 'name', None)
241
+ isGCSConnection = getattr(connection, 'gcp', None) is not None
242
+
243
+ # Same name and type already exists
244
+ if existing_connection_name == connection_name and isGCSConnection:
245
+ return
246
+
247
+ body = Create(
248
+ name=connection_name,
249
+ create_index=True,
250
+ cluster_id=cluster_id,
251
+ access_cluster_ids=[cluster_id],
252
+ gcp=V1GcpDataConnection(
253
+ source=f"gs://{bucket_name}",
254
+ ))
139
255
  try:
140
256
  client.data_connection_service_create_data_connection(body, project_id)
257
+ except (ApiException, urllib3.exceptions.HTTPError) as ex:
258
+ # Note: This function can be called in a distributed way.
259
+ # There is a race condition where one machine might create the entry before another machine
260
+ # and this request would fail with duplicated key
261
+ # In this case, it is fine not to raise
262
+ if isinstance(ex, ApiException) and 'duplicate key value violates unique constraint' in str(ex.body):
263
+ pass
264
+ else:
265
+ raise ex
266
+
267
+ # Wait for the filesystem picks up the newly added GCS data connection
268
+ start = time()
269
+
270
+ while not os.path.isdir(f"/teamspace/gcs_connections/{bucket_name}") and (time() - start) < create_timeout:
271
+ sleep(1)
272
+
273
+ return
274
+
275
+ def create_filestore_folder(folder_name: str, region: str, capacity_gb: int = 1024, tier: V1DataConnectionTier = V1DataConnectionTier.HDD, create_timeout: int = 600) -> None:
276
+ """
277
+ Utility function to create a Filestore folder.
278
+
279
+ Args:
280
+ folder_name: The name of the folder to create.
281
+ region: the region to create the folder in, e.g. "us-central1".
282
+ capacity_gb: capacity of the Filestore folder.
283
+ tier: Filestore folder tier, SSD or HDD.
284
+ create_timeout (int): The timeout for the folder creation.
285
+ """
286
+ client = rest_client.LightningClient(retry=False)
287
+
288
+ project_id = os.getenv("LIGHTNING_CLOUD_PROJECT_ID")
289
+ cluster_id = os.getenv("LIGHTNING_CLUSTER_ID")
290
+
291
+ # Get existing data connections
292
+ data_connections = client.data_connection_service_list_data_connections(project_id).data_connections
293
+
294
+ for connection in data_connections:
295
+ existing_folder_name = getattr(connection, 'name', None)
296
+ isFilestore = getattr(connection, 'filestore', None) is not None
297
+
298
+ if existing_folder_name == folder_name and isFilestore:
299
+ return
300
+
301
+ # If we get here, no matching folder was found, proceed with creation
302
+ body = Create(
303
+ name=folder_name,
304
+ create_resources=True,
305
+ cluster_id=cluster_id,
306
+ access_cluster_ids=[cluster_id],
307
+ filestore=V1FilestoreDataConnection(region=region, capacity_gb=capacity_gb, tier=tier, source=folder_name),
308
+ )
309
+ try:
310
+ connection = client.data_connection_service_create_data_connection(body, project_id)
311
+ except ApiException as e:
312
+ # Note: This function can be called in a distributed way.
313
+ # There is a race condition where one machine might create the entry before another machine
314
+ # and this request would fail with duplicated key
315
+ # In this case, it is fine not to raise
316
+ if'duplicate key value violates unique constraint' in str(e.body):
317
+ return
318
+ raise e from None
319
+
320
+ except urllib3.exceptions.HTTPError as e:
321
+ raise e from None
322
+
323
+ # Wait for the filesystem picks up the newly added Filestore folder
324
+ start = time()
325
+
326
+ while not os.path.isdir(f"/teamspace/filestore_folders/{folder_name}") and (time() - start) < create_timeout:
327
+ sleep(1)
328
+
329
+
330
+ def create_cloud_agnostic_folder(folder_name: str, create_timeout: int = 30) -> None:
331
+ """
332
+ Utility function to create a Cloud-Agnostic (R2) folder.
333
+
334
+ Args:
335
+ folder_name: The name of the folder to create.
336
+ create_timeout (int): The timeout for the folder creation.
337
+ """
338
+ client = rest_client.LightningClient(retry=False)
339
+
340
+ project_id = os.getenv("LIGHTNING_CLOUD_PROJECT_ID")
341
+ cluster_id = os.getenv("LIGHTNING_CLUSTER_ID")
342
+
343
+ # Get existing data connections
344
+ data_connections = client.data_connection_service_list_data_connections(project_id).data_connections
345
+
346
+ for connection in data_connections:
347
+ existing_folder_name = getattr(connection, 'name', None)
348
+ isCloudAgnostic = getattr(connection, 'r2_folder', None) is not None
349
+
350
+ if existing_folder_name == folder_name and isCloudAgnostic:
351
+ return
352
+
353
+ # If we get here, no matching folder was found, proceed with creation
354
+ body = Create(
355
+ name=folder_name,
356
+ create_resources=True,
357
+ r2=V1R2DataConnection(name=folder_name),
358
+ )
359
+ try:
360
+ connection = client.data_connection_service_create_data_connection(body, project_id)
141
361
  except ApiException as e:
142
362
  # Note: This function can be called in a distributed way.
143
363
  # There is a race condition where one machine might create the entry before another machine
@@ -150,6 +370,13 @@ def create_efs_folder(folder_name: str, region: str) -> None:
150
370
  except urllib3.exceptions.HTTPError as e:
151
371
  raise e from None
152
372
 
373
+ # Wait for the filesystem picks up the newly added Cloud-Agnostic folder
374
+ start = time()
375
+
376
+ while not os.path.isdir(f"/teamspace/lightning_storage/{folder_name}") and (time() - start) < create_timeout:
377
+ sleep(1)
378
+
379
+
153
380
  def delete_data_connection(name: str):
154
381
  """Utility to delete a data connection
155
382
 
@@ -181,4 +408,4 @@ def delete_data_connection(name: str):
181
408
  # It may exhaust the attempts before the connection is actually unmounted from the studio.
182
409
  # for now it's best to actually stop the studio and all other things where the connection
183
410
  # is mounted before trying to delete it
184
- raise e from None
411
+ raise e from None
@@ -1,5 +1,8 @@
1
+ from datetime import datetime
1
2
  from typing import Dict, List, Optional
2
3
 
4
+ from rich.console import Console
5
+
3
6
  from lightning_sdk.api.lit_container_api import LitContainerApi
4
7
  from lightning_sdk.utils.resolve import _resolve_teamspace
5
8
 
@@ -9,7 +12,7 @@ class LitContainer:
9
12
  self._api = LitContainerApi()
10
13
 
11
14
  def list_containers(
12
- self, teamspace: str, org: Optional[str] = None, user: Optional[str] = None
15
+ self, teamspace: str, org: Optional[str] = None, user: Optional[str] = None, cloud_account: Optional[str] = None
13
16
  ) -> List[Dict[str, str]]:
14
17
  """List available docker repositories.
15
18
 
@@ -17,23 +20,35 @@ class LitContainer:
17
20
  teamspace: The teamspace to list containers from.
18
21
  org: The organization to list containers from.
19
22
  user: The user to list the containers from.
23
+ cloud_account: The cloud account to list the containers from.
20
24
 
21
25
  Returns:
22
26
  A list of dictionaries containing repository details.
23
27
  """
28
+ console = Console()
24
29
  try:
25
30
  teamspace = _resolve_teamspace(teamspace=teamspace, org=org, user=user)
26
- except Exception as e:
27
- raise ValueError(f"Could not resolve teamspace: {e}") from e
31
+ except Exception:
32
+ console.print(f"[bold red]Could not resolve teamspace: {teamspace}[/bold red]")
33
+ return []
28
34
  project_id = teamspace.id
29
- repositories = self._api.list_containers(project_id)
35
+ repositories = self._api.list_containers(project_id, cloud_account=cloud_account)
30
36
  table = []
31
37
  for repo in repositories:
38
+ created_date = repo.creation_time
39
+ if isinstance(repo.creation_time, str):
40
+ created_date = datetime.fromisoformat(created_date)
41
+
42
+ created = created_date.strftime("%Y-%m-%d %H:%M:%S")
43
+
32
44
  table.append(
33
45
  {
34
46
  "REPOSITORY": repo.name,
35
- "IMAGE ID": repo.id,
36
- "CREATED": repo.creation_time.strftime("%Y-%m-%d %H:%M:%S"),
47
+ "CLOUD ACCOUNT": cloud_account
48
+ if cloud_account != "" and cloud_account is not None
49
+ else "Lightning cloud",
50
+ "CREATED": created,
51
+ "LATEST TAG": repo.latest_artifact.tag_name,
37
52
  }
38
53
  )
39
54
  return table
@@ -57,8 +72,16 @@ class LitContainer:
57
72
  return self._api.delete_container(project_id, container)
58
73
 
59
74
  def upload_container(
60
- self, container: str, teamspace: str, org: Optional[str] = None, user: Optional[str] = None, tag: str = "latest"
61
- ) -> None:
75
+ self,
76
+ container: str,
77
+ teamspace: str,
78
+ org: Optional[str] = None,
79
+ user: Optional[str] = None,
80
+ tag: str = "latest",
81
+ cloud_account: Optional[str] = None,
82
+ platform: Optional[str] = "linux/amd64",
83
+ return_final_dict: bool = False,
84
+ ) -> Optional[Dict]:
62
85
  """Upload a container to the docker registry.
63
86
 
64
87
  Args:
@@ -67,12 +90,48 @@ class LitContainer:
67
90
  org: The organization which contains the container.
68
91
  user: The user which contains the container.
69
92
  tag: The tag to use for the container.
93
+ cloud_account: The cloud account where the container is stored.
94
+ platform: The platform the container is meant to run on.
95
+ return_final_dict: Instructs function to return metadata about container location in platform.
70
96
  """
71
97
  try:
72
98
  teamspace = _resolve_teamspace(teamspace=teamspace, org=org, user=user)
73
99
  except Exception as e:
74
100
  raise ValueError(f"Could not resolve teamspace: {e}") from e
75
101
 
76
- resp = self._api.upload_container(container, teamspace, tag)
102
+ resp = self._api.upload_container(
103
+ container, teamspace, tag, cloud_account, platform=platform, return_final_dict=return_final_dict
104
+ )
105
+
106
+ final_dict = None
77
107
  for line in resp:
78
108
  print(line)
109
+ if return_final_dict and isinstance(line, dict) and line.get("finish") is True:
110
+ final_dict = line
111
+
112
+ return final_dict if return_final_dict else None
113
+
114
+ def download_container(
115
+ self,
116
+ container: str,
117
+ teamspace: str,
118
+ org: Optional[str] = None,
119
+ user: Optional[str] = None,
120
+ tag: str = "latest",
121
+ cloud_account: Optional[str] = None,
122
+ ) -> None:
123
+ """Download a container from the docker registry.
124
+
125
+ Args:
126
+ container: The name of the container to download.
127
+ teamspace: The teamspace which contains the container.
128
+ org: The organization which contains the container.
129
+ user: The user which contains the container.
130
+ tag: The tag to use for the container.
131
+ """
132
+ try:
133
+ teamspace = _resolve_teamspace(teamspace=teamspace, org=org, user=user)
134
+ except Exception as e:
135
+ raise ValueError(f"Could not resolve teamspace: {e}") from e
136
+
137
+ return self._api.download_container(container, teamspace, tag, cloud_account)
@@ -0,0 +1,3 @@
1
+ from lightning_sdk.llm.llm import LLM
2
+
3
+ __all__ = ["LLM"]