lightning-sdk 0.1.3__py3-none-any.whl → 0.1.47__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 (503) hide show
  1. lightning_sdk/__init__.py +12 -2
  2. lightning_sdk/agents.py +46 -0
  3. lightning_sdk/ai_hub.py +185 -0
  4. lightning_sdk/api/__init__.py +4 -0
  5. lightning_sdk/api/agents_api.py +107 -0
  6. lightning_sdk/api/ai_hub_api.py +130 -0
  7. lightning_sdk/api/deployment_api.py +574 -0
  8. lightning_sdk/api/job_api.py +328 -0
  9. lightning_sdk/api/lit_registry_api.py +12 -0
  10. lightning_sdk/api/mmt_api.py +205 -0
  11. lightning_sdk/api/org_api.py +1 -3
  12. lightning_sdk/api/studio_api.py +172 -81
  13. lightning_sdk/api/teamspace_api.py +237 -20
  14. lightning_sdk/api/user_api.py +24 -9
  15. lightning_sdk/api/utils.py +429 -48
  16. lightning_sdk/cli/ai_hub.py +49 -0
  17. lightning_sdk/cli/download.py +132 -0
  18. lightning_sdk/cli/entrypoint.py +13 -3
  19. lightning_sdk/cli/list.py +54 -0
  20. lightning_sdk/cli/run.py +206 -0
  21. lightning_sdk/cli/serve.py +218 -0
  22. lightning_sdk/cli/studios_menu.py +78 -0
  23. lightning_sdk/cli/teamspace_menu.py +94 -0
  24. lightning_sdk/cli/upload.py +79 -89
  25. lightning_sdk/constants.py +29 -1
  26. lightning_sdk/deployment/__init__.py +25 -0
  27. lightning_sdk/deployment/deployment.py +389 -0
  28. lightning_sdk/helpers.py +49 -0
  29. lightning_sdk/job/__init__.py +5 -0
  30. lightning_sdk/job/base.py +359 -0
  31. lightning_sdk/job/job.py +291 -0
  32. lightning_sdk/job/v1.py +269 -0
  33. lightning_sdk/job/v2.py +221 -0
  34. lightning_sdk/job/work.py +81 -0
  35. lightning_sdk/lightning_cloud/__version__.py +1 -1
  36. lightning_sdk/lightning_cloud/cli/__main__.py +15 -13
  37. lightning_sdk/lightning_cloud/env.py +1 -0
  38. lightning_sdk/lightning_cloud/login.py +12 -8
  39. lightning_sdk/lightning_cloud/openapi/__init__.py +289 -42
  40. lightning_sdk/lightning_cloud/openapi/api/__init__.py +10 -0
  41. lightning_sdk/lightning_cloud/openapi/api/analytics_service_api.py +141 -0
  42. lightning_sdk/lightning_cloud/openapi/api/assistants_service_api.py +1075 -227
  43. lightning_sdk/lightning_cloud/openapi/api/billing_service_api.py +9 -1
  44. lightning_sdk/lightning_cloud/openapi/api/cloud_space_service_api.py +992 -233
  45. lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +883 -120
  46. lightning_sdk/lightning_cloud/openapi/api/data_connection_service_api.py +10 -5
  47. lightning_sdk/lightning_cloud/openapi/api/deployment_templates_service_api.py +756 -0
  48. lightning_sdk/lightning_cloud/openapi/api/endpoint_service_api.py +422 -1
  49. lightning_sdk/lightning_cloud/openapi/api/experiments_service_api.py +242 -0
  50. lightning_sdk/lightning_cloud/openapi/api/file_system_service_api.py +674 -0
  51. lightning_sdk/lightning_cloud/openapi/api/jobs_service_api.py +3823 -0
  52. lightning_sdk/lightning_cloud/openapi/api/lightningapp_instance_service_api.py +158 -594
  53. lightning_sdk/lightning_cloud/openapi/api/lightningapp_v2_service_api.py +0 -1086
  54. lightning_sdk/lightning_cloud/openapi/api/lightningwork_service_api.py +113 -0
  55. lightning_sdk/lightning_cloud/openapi/api/lit_logger_service_api.py +1753 -0
  56. lightning_sdk/lightning_cloud/openapi/api/lit_registry_service_api.py +343 -0
  57. lightning_sdk/lightning_cloud/openapi/api/models_store_api.py +1423 -108
  58. lightning_sdk/lightning_cloud/openapi/api/organizations_service_api.py +421 -1
  59. lightning_sdk/lightning_cloud/openapi/api/profiler_service_api.py +663 -0
  60. lightning_sdk/lightning_cloud/openapi/api/projects_service_api.py +5 -1
  61. lightning_sdk/lightning_cloud/openapi/api/secret_service_api.py +478 -1
  62. lightning_sdk/lightning_cloud/openapi/api/slurm_jobs_user_service_api.py +9 -5
  63. lightning_sdk/lightning_cloud/openapi/api/snowflake_service_api.py +686 -0
  64. lightning_sdk/lightning_cloud/openapi/api/storage_service_api.py +1094 -0
  65. lightning_sdk/lightning_cloud/openapi/api/studio_jobs_service_api.py +4 -4
  66. lightning_sdk/lightning_cloud/openapi/api/user_service_api.py +1081 -34
  67. lightning_sdk/lightning_cloud/openapi/models/__init__.py +279 -40
  68. lightning_sdk/lightning_cloud/openapi/models/affiliatelinks_id_body.py +149 -0
  69. lightning_sdk/lightning_cloud/openapi/models/agentmanagedendpoints_id_body.py +305 -0
  70. lightning_sdk/lightning_cloud/openapi/models/{assistants_id_body.py → agents_id_body.py} +201 -71
  71. lightning_sdk/lightning_cloud/openapi/models/app_id_works_body.py +149 -0
  72. lightning_sdk/lightning_cloud/openapi/models/approveautojoindomain_domain_body.py +123 -0
  73. lightning_sdk/lightning_cloud/openapi/models/apps_id_body1.py +107 -3
  74. lightning_sdk/lightning_cloud/openapi/models/assistant_id_conversations_body.py +1 -27
  75. lightning_sdk/lightning_cloud/openapi/models/{v1_get_cluster_health_response.py → captures_id_body.py} +16 -16
  76. lightning_sdk/lightning_cloud/openapi/models/cloud_space_id_versionpublications_body1.py +27 -1
  77. lightning_sdk/lightning_cloud/openapi/models/cloudspace_id_runs_body.py +27 -1
  78. lightning_sdk/lightning_cloud/openapi/models/cloudspaces_id_body.py +58 -6
  79. lightning_sdk/lightning_cloud/openapi/models/cluster_id_capacityblock_body.py +253 -0
  80. lightning_sdk/lightning_cloud/openapi/models/cluster_id_capacityreservations_body.py +55 -3
  81. lightning_sdk/lightning_cloud/openapi/models/cluster_id_proxies_body.py +123 -0
  82. lightning_sdk/lightning_cloud/openapi/models/create.py +157 -1
  83. lightning_sdk/lightning_cloud/openapi/models/create_deployment_request_defines_a_spec_for_the_job_that_allows_for_autoscaling_jobs.py +383 -0
  84. lightning_sdk/lightning_cloud/openapi/models/deployments_id_body.py +565 -0
  85. lightning_sdk/lightning_cloud/openapi/models/deploymenttemplates_id_body.py +513 -0
  86. lightning_sdk/lightning_cloud/openapi/models/endpoints_id_body.py +43 -17
  87. lightning_sdk/lightning_cloud/openapi/models/experiment_name_variant_name_body.py +123 -0
  88. lightning_sdk/lightning_cloud/openapi/models/externalv1_cloud_space_instance_status.py +107 -1
  89. lightning_sdk/lightning_cloud/openapi/models/externalv1_lightningapp_instance.py +27 -1
  90. lightning_sdk/lightning_cloud/openapi/models/externalv1_user_status.py +27 -1
  91. lightning_sdk/lightning_cloud/openapi/models/fileendpoints_id_body.py +79 -1
  92. lightning_sdk/lightning_cloud/openapi/models/id_codeconfig_body.py +29 -55
  93. lightning_sdk/lightning_cloud/openapi/models/id_engage_body.py +3 -29
  94. lightning_sdk/lightning_cloud/openapi/models/id_engage_body1.py +149 -0
  95. lightning_sdk/lightning_cloud/openapi/models/id_execute_body.py +3 -55
  96. lightning_sdk/lightning_cloud/openapi/models/id_execute_body1.py +175 -0
  97. lightning_sdk/lightning_cloud/openapi/models/id_get_body.py +133 -3
  98. lightning_sdk/lightning_cloud/openapi/models/id_index_body.py +67 -15
  99. lightning_sdk/lightning_cloud/openapi/models/id_index_body2.py +123 -0
  100. lightning_sdk/lightning_cloud/openapi/models/id_index_body3.py +175 -0
  101. lightning_sdk/lightning_cloud/openapi/models/id_reportlogsactivity_body.py +123 -0
  102. lightning_sdk/lightning_cloud/openapi/models/id_start_body.py +29 -3
  103. lightning_sdk/lightning_cloud/openapi/models/id_storage_body.py +52 -26
  104. lightning_sdk/lightning_cloud/openapi/models/id_visibility_body.py +123 -0
  105. lightning_sdk/lightning_cloud/openapi/models/jobs_id_body1.py +27 -1
  106. lightning_sdk/lightning_cloud/openapi/models/jobs_id_body2.py +17 -43
  107. lightning_sdk/lightning_cloud/openapi/models/jobs_id_body3.py +149 -0
  108. lightning_sdk/lightning_cloud/openapi/models/litloggermetrics_id_body.py +175 -0
  109. lightning_sdk/lightning_cloud/openapi/models/litpages_id_body.py +27 -1
  110. lightning_sdk/lightning_cloud/openapi/models/loggermetrics_id_body.py +123 -0
  111. lightning_sdk/lightning_cloud/openapi/models/metrics_stream_id_loggerartifacts_body.py +123 -0
  112. lightning_sdk/lightning_cloud/openapi/models/metricsstream_create_body.py +383 -0
  113. lightning_sdk/lightning_cloud/openapi/models/{v1_cloud_space_id_list.py → metricsstream_delete_body.py} +10 -10
  114. lightning_sdk/lightning_cloud/openapi/models/metricsstream_id_body.py +175 -0
  115. lightning_sdk/lightning_cloud/openapi/models/{v1_upload_model_response.py → model_id_versions_body.py} +25 -51
  116. lightning_sdk/lightning_cloud/openapi/models/model_id_visibility_body.py +123 -0
  117. lightning_sdk/lightning_cloud/openapi/models/models_model_id_body.py +149 -0
  118. lightning_sdk/lightning_cloud/openapi/models/multimachinejobs_id_body.py +123 -0
  119. lightning_sdk/lightning_cloud/openapi/models/org_id_memberships_body.py +27 -1
  120. lightning_sdk/lightning_cloud/openapi/models/orgs_id_body.py +183 -1
  121. lightning_sdk/lightning_cloud/openapi/models/profiler_captures_body.py +279 -0
  122. lightning_sdk/lightning_cloud/openapi/models/profiler_enabled_body.py +149 -0
  123. lightning_sdk/lightning_cloud/openapi/models/project_id_agentmanagedendpoints_body.py +149 -0
  124. lightning_sdk/lightning_cloud/openapi/models/{project_id_assistants_body.py → project_id_agents_body.py} +159 -55
  125. lightning_sdk/lightning_cloud/openapi/models/project_id_cloudspaces_body.py +71 -19
  126. lightning_sdk/lightning_cloud/openapi/models/project_id_fileendpoints_body.py +27 -1
  127. lightning_sdk/lightning_cloud/openapi/models/project_id_jobs_body.py +175 -0
  128. lightning_sdk/lightning_cloud/openapi/models/project_id_litregistry_body.py +123 -0
  129. lightning_sdk/lightning_cloud/openapi/models/project_id_memberships_body.py +53 -1
  130. lightning_sdk/lightning_cloud/openapi/models/{v1_upload_model_request.py → project_id_models_body.py} +70 -70
  131. lightning_sdk/lightning_cloud/openapi/models/project_id_multimachinejobs_body.py +227 -0
  132. lightning_sdk/lightning_cloud/openapi/models/project_id_secrets_body.py +27 -1
  133. lightning_sdk/lightning_cloud/openapi/models/project_id_snowflake_body.py +123 -0
  134. lightning_sdk/lightning_cloud/openapi/models/projects_id_body.py +29 -3
  135. lightning_sdk/lightning_cloud/openapi/models/query_query_id_body.py +175 -0
  136. lightning_sdk/lightning_cloud/openapi/models/secrets_id_body1.py +123 -0
  137. lightning_sdk/lightning_cloud/openapi/models/servers_server_id_body.py +123 -0
  138. lightning_sdk/lightning_cloud/openapi/models/service_artifact_artifact_kind.py +104 -0
  139. lightning_sdk/lightning_cloud/openapi/models/serviceexecution_id_body.py +43 -43
  140. lightning_sdk/lightning_cloud/openapi/models/slurm_jobs_body.py +79 -1
  141. lightning_sdk/lightning_cloud/openapi/models/snowflake_export_body.py +305 -0
  142. lightning_sdk/lightning_cloud/openapi/models/{v1_download_model_response.py → snowflake_query_body.py} +51 -51
  143. lightning_sdk/lightning_cloud/openapi/models/storage_complete_body.py +27 -1
  144. lightning_sdk/lightning_cloud/openapi/models/update.py +105 -1
  145. lightning_sdk/lightning_cloud/openapi/models/upload_id_complete_body.py +149 -0
  146. lightning_sdk/lightning_cloud/openapi/models/upload_id_parts_body.py +149 -0
  147. lightning_sdk/lightning_cloud/openapi/models/user_id_affiliatelinks_body.py +149 -0
  148. lightning_sdk/lightning_cloud/openapi/models/v1_accelerator_quota_info.py +201 -0
  149. lightning_sdk/lightning_cloud/openapi/models/v1_ack_user_storage_violation_response.py +97 -0
  150. lightning_sdk/lightning_cloud/openapi/models/v1_add_job_timing_response.py +97 -0
  151. lightning_sdk/lightning_cloud/openapi/models/v1_affiliate_link.py +435 -0
  152. lightning_sdk/lightning_cloud/openapi/models/v1_agent_job.py +131 -1
  153. lightning_sdk/lightning_cloud/openapi/models/v1_api_pricing_spec.py +149 -0
  154. lightning_sdk/lightning_cloud/openapi/models/v1_app_type.py +104 -0
  155. lightning_sdk/lightning_cloud/openapi/models/v1_append_logger_metrics_response.py +97 -0
  156. lightning_sdk/lightning_cloud/openapi/models/v1_approve_auto_join_domain_response.py +123 -0
  157. lightning_sdk/lightning_cloud/openapi/models/v1_assign_variant_response.py +97 -0
  158. lightning_sdk/lightning_cloud/openapi/models/v1_assistant.py +131 -1
  159. lightning_sdk/lightning_cloud/openapi/models/v1_assistant_knowledge_item_status.py +253 -0
  160. lightning_sdk/lightning_cloud/openapi/models/v1_assistant_knowledge_status.py +123 -0
  161. lightning_sdk/lightning_cloud/openapi/models/v1_assistant_model_status.py +104 -0
  162. lightning_sdk/lightning_cloud/openapi/models/v1_auto_join_domain_validation.py +175 -0
  163. lightning_sdk/lightning_cloud/openapi/models/v1_auto_join_org_response.py +149 -0
  164. lightning_sdk/lightning_cloud/openapi/models/v1_autoscaling_spec.py +305 -0
  165. lightning_sdk/lightning_cloud/openapi/models/v1_autoscaling_target_metric.py +149 -0
  166. lightning_sdk/lightning_cloud/openapi/models/v1_aws_direct_v1.py +133 -3
  167. lightning_sdk/lightning_cloud/openapi/models/v1_batch_update_lightningwork_response.py +97 -0
  168. lightning_sdk/lightning_cloud/openapi/models/v1_body.py +123 -0
  169. lightning_sdk/lightning_cloud/openapi/models/v1_cancellation_metadata.py +149 -0
  170. lightning_sdk/lightning_cloud/openapi/models/v1_capacity_block_offering.py +383 -0
  171. lightning_sdk/lightning_cloud/openapi/models/v1_check_snowflake_connection_response.py +123 -0
  172. lightning_sdk/lightning_cloud/openapi/models/v1_checkbox.py +201 -0
  173. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space.py +136 -6
  174. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_code_version.py +27 -1
  175. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_instance_config.py +1 -53
  176. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_instance_startup_status.py +79 -1
  177. lightning_sdk/lightning_cloud/openapi/models/{v1_cluster_log_service.py → v1_cloud_space_session.py} +49 -49
  178. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_version.py +53 -1
  179. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_accelerator.py +445 -3
  180. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_capacity_reservation.py +55 -3
  181. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_names.py +123 -0
  182. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_proxy.py +201 -0
  183. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_resource_tag.py +149 -0
  184. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_security_options.py +357 -0
  185. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +157 -107
  186. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_state.py +1 -0
  187. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_status.py +17 -43
  188. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_tagging_options.py +175 -0
  189. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_type.py +0 -1
  190. lightning_sdk/lightning_cloud/openapi/models/v1_command_argument.py +79 -1
  191. lightning_sdk/lightning_cloud/openapi/models/v1_complete_model_upload_response.py +97 -0
  192. lightning_sdk/lightning_cloud/openapi/models/v1_complete_multi_part_upload_response.py +97 -0
  193. lightning_sdk/lightning_cloud/openapi/models/v1_completed_part.py +149 -0
  194. lightning_sdk/lightning_cloud/openapi/models/v1_conversation.py +15 -15
  195. lightning_sdk/lightning_cloud/openapi/models/v1_conversation_response_chunk.py +26 -26
  196. lightning_sdk/lightning_cloud/openapi/models/v1_count_metrics_streams_response.py +123 -0
  197. lightning_sdk/lightning_cloud/openapi/models/v1_create_checkout_session_request.py +53 -1
  198. lightning_sdk/lightning_cloud/openapi/models/v1_create_cluster_request.py +27 -1
  199. lightning_sdk/lightning_cloud/openapi/models/v1_create_deployment_template_request.py +539 -0
  200. lightning_sdk/lightning_cloud/openapi/models/v1_create_multi_part_upload_response.py +123 -0
  201. lightning_sdk/lightning_cloud/openapi/models/v1_create_organization_request.py +159 -3
  202. lightning_sdk/lightning_cloud/openapi/models/v1_create_project_request.py +27 -1
  203. lightning_sdk/lightning_cloud/openapi/models/v1_create_shared_metrics_stream_request.py +201 -0
  204. lightning_sdk/lightning_cloud/openapi/models/v1_create_shared_metrics_stream_response.py +123 -0
  205. lightning_sdk/lightning_cloud/openapi/models/v1_create_snowflake_connection_response.py +123 -0
  206. lightning_sdk/lightning_cloud/openapi/models/v1_create_user_secret_request.py +149 -0
  207. lightning_sdk/lightning_cloud/openapi/models/v1_data_connection.py +365 -1
  208. lightning_sdk/lightning_cloud/openapi/models/{v1_cluster_performance_profile.py → v1_data_connection_state.py} +11 -9
  209. lightning_sdk/lightning_cloud/openapi/models/v1_data_path.py +201 -0
  210. lightning_sdk/lightning_cloud/openapi/models/v1_delete_affiliate_link_response.py +97 -0
  211. lightning_sdk/lightning_cloud/openapi/models/v1_delete_cloud_space_session_response.py +97 -0
  212. lightning_sdk/lightning_cloud/openapi/models/v1_delete_cluster_proxy_response.py +97 -0
  213. lightning_sdk/lightning_cloud/openapi/models/v1_delete_container_response.py +97 -0
  214. lightning_sdk/lightning_cloud/openapi/models/v1_delete_deployment_release_response.py +97 -0
  215. lightning_sdk/lightning_cloud/openapi/models/{v1_azure_cluster_driver_status.py → v1_delete_deployment_response.py} +6 -6
  216. lightning_sdk/lightning_cloud/openapi/models/v1_delete_index_response.py +97 -0
  217. lightning_sdk/lightning_cloud/openapi/models/{v1_byom_cluster_driver.py → v1_delete_job_response.py} +6 -6
  218. lightning_sdk/lightning_cloud/openapi/models/{v1_delete_lightningapp_v2_response.py → v1_delete_logger_artifact_response.py} +6 -6
  219. lightning_sdk/lightning_cloud/openapi/models/v1_delete_managed_endpoint_response.py +97 -0
  220. lightning_sdk/lightning_cloud/openapi/models/v1_delete_metrics_stream_response.py +97 -0
  221. lightning_sdk/lightning_cloud/openapi/models/v1_delete_multi_machine_job_response.py +97 -0
  222. lightning_sdk/lightning_cloud/openapi/models/v1_delete_profiler_capture_response.py +97 -0
  223. lightning_sdk/lightning_cloud/openapi/models/{v1_delete_lightningapp_release_response.py → v1_delete_shared_metrics_stream_response.py} +6 -6
  224. lightning_sdk/lightning_cloud/openapi/models/v1_deployment.py +617 -0
  225. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_api.py +253 -0
  226. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_event.py +357 -0
  227. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_event_type.py +104 -0
  228. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_metrics.py +149 -0
  229. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_performance.py +305 -0
  230. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_release.py +331 -0
  231. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_spec.py +201 -0
  232. lightning_sdk/lightning_cloud/openapi/models/{get_cluster_health_response_health_status.py → v1_deployment_state.py} +11 -9
  233. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_status.py +279 -0
  234. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_strategy.py +149 -0
  235. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_template.py +721 -0
  236. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_template_engagement_response.py +97 -0
  237. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_template_gallery_response.py +591 -0
  238. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_template_parameter.py +435 -0
  239. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_template_parameter_placement.py +106 -0
  240. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_template_parameter_type.py +106 -0
  241. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_template_summary.py +591 -0
  242. lightning_sdk/lightning_cloud/openapi/models/{instance_type_availability.py → v1_deployment_template_type.py} +10 -10
  243. lightning_sdk/lightning_cloud/openapi/models/{v1_get_lightningapp_source_code_download_url_response.py → v1_download_job_logs_response.py} +10 -10
  244. lightning_sdk/lightning_cloud/openapi/models/v1_download_service_execution_artifact_response.py +175 -0
  245. lightning_sdk/lightning_cloud/openapi/models/v1_ebs.py +279 -0
  246. lightning_sdk/lightning_cloud/openapi/models/v1_efs_config.py +201 -0
  247. lightning_sdk/lightning_cloud/openapi/models/v1_endpoint.py +53 -27
  248. lightning_sdk/lightning_cloud/openapi/models/v1_endpoint_auth.py +27 -1
  249. lightning_sdk/lightning_cloud/openapi/models/v1_endpoint_type.py +104 -0
  250. lightning_sdk/lightning_cloud/openapi/models/v1_execute_cloud_space_command_response.py +29 -3
  251. lightning_sdk/lightning_cloud/openapi/models/v1_execute_in_cloud_space_session_response.py +97 -0
  252. lightning_sdk/lightning_cloud/openapi/models/v1_execute_snowflake_query_response.py +149 -0
  253. lightning_sdk/lightning_cloud/openapi/models/v1_experiment.py +409 -0
  254. lightning_sdk/lightning_cloud/openapi/models/v1_export_snowflake_query_response.py +123 -0
  255. lightning_sdk/lightning_cloud/openapi/models/v1_file_endpoint.py +79 -1
  256. lightning_sdk/lightning_cloud/openapi/models/{v1_instance_spec.py → v1_filesystem_app.py} +85 -59
  257. lightning_sdk/lightning_cloud/openapi/models/v1_filesystem_cloud_space.py +149 -0
  258. lightning_sdk/lightning_cloud/openapi/models/v1_filesystem_dataset.py +123 -0
  259. lightning_sdk/lightning_cloud/openapi/models/v1_filesystem_job.py +175 -0
  260. lightning_sdk/lightning_cloud/openapi/models/v1_filesystem_slurm_job.py +149 -0
  261. lightning_sdk/lightning_cloud/openapi/models/v1_filesystem_snowflake_connection.py +123 -0
  262. lightning_sdk/lightning_cloud/openapi/models/v1_filesystem_work.py +149 -0
  263. lightning_sdk/lightning_cloud/openapi/models/v1_find_capacity_block_offering_response.py +123 -0
  264. lightning_sdk/lightning_cloud/openapi/models/v1_gcp_data_connection.py +27 -1
  265. lightning_sdk/lightning_cloud/openapi/models/v1_gcs_folder_data_connection.py +123 -0
  266. lightning_sdk/lightning_cloud/openapi/models/v1_get_affiliate_link_response.py +123 -0
  267. lightning_sdk/lightning_cloud/openapi/models/{v1_list_cluster_instance_types_response.py → v1_get_deployment_routing_telemetry_aggregated_response.py} +23 -23
  268. lightning_sdk/lightning_cloud/openapi/models/v1_get_deployment_routing_telemetry_response.py +123 -0
  269. lightning_sdk/lightning_cloud/openapi/models/v1_get_folder_index_response.py +27 -1
  270. lightning_sdk/lightning_cloud/openapi/models/{v1_cluster_driver_status.py → v1_get_job_stats_response.py} +39 -39
  271. lightning_sdk/lightning_cloud/openapi/models/v1_get_job_system_metrics_response.py +123 -0
  272. lightning_sdk/lightning_cloud/openapi/models/v1_get_lightningapp_instance_open_ports_response.py +123 -0
  273. lightning_sdk/lightning_cloud/openapi/models/v1_get_logger_metrics_response.py +123 -0
  274. lightning_sdk/lightning_cloud/openapi/models/v1_get_model_file_upload_urls_response.py +123 -0
  275. lightning_sdk/lightning_cloud/openapi/models/v1_get_model_file_url_response.py +175 -0
  276. lightning_sdk/lightning_cloud/openapi/models/v1_get_model_files_response.py +279 -0
  277. lightning_sdk/lightning_cloud/openapi/models/v1_get_model_files_url_response.py +149 -0
  278. lightning_sdk/lightning_cloud/openapi/models/{v1_lightningwork_cluster_driver.py → v1_get_project_artifact_response.py} +33 -14
  279. lightning_sdk/lightning_cloud/openapi/models/v1_get_project_balance_response.py +27 -1
  280. lightning_sdk/lightning_cloud/openapi/models/v1_get_project_storage_metadata_response.py +383 -0
  281. lightning_sdk/lightning_cloud/openapi/models/v1_get_service_execution_status_response.py +67 -15
  282. lightning_sdk/lightning_cloud/openapi/models/v1_get_snowflake_query_response.py +149 -0
  283. lightning_sdk/lightning_cloud/openapi/models/v1_get_user_balance_response.py +27 -1
  284. lightning_sdk/lightning_cloud/openapi/models/v1_get_user_response.py +105 -1
  285. lightning_sdk/lightning_cloud/openapi/models/v1_get_user_storage_breakdown_response.py +279 -0
  286. lightning_sdk/lightning_cloud/openapi/models/v1_get_user_storage_response.py +201 -0
  287. lightning_sdk/lightning_cloud/openapi/models/v1_google_cloud_direct_v1.py +137 -3
  288. lightning_sdk/lightning_cloud/openapi/models/v1_google_cloud_direct_v1_status.py +123 -0
  289. lightning_sdk/lightning_cloud/openapi/models/v1_header.py +175 -0
  290. lightning_sdk/lightning_cloud/openapi/models/{v1_external_kubeconfig.py → v1_health_check_exec.py} +21 -21
  291. lightning_sdk/lightning_cloud/openapi/models/v1_health_check_http_get.py +149 -0
  292. lightning_sdk/lightning_cloud/openapi/models/v1_ids_logger_metrics.py +123 -0
  293. lightning_sdk/lightning_cloud/openapi/models/v1_input.py +175 -0
  294. lightning_sdk/lightning_cloud/openapi/models/v1_interrupt_server_response.py +97 -0
  295. lightning_sdk/lightning_cloud/openapi/models/v1_job.py +723 -0
  296. lightning_sdk/lightning_cloud/openapi/models/v1_job_health_check_config.py +253 -0
  297. lightning_sdk/lightning_cloud/openapi/models/v1_job_log_entry.py +175 -0
  298. lightning_sdk/lightning_cloud/openapi/models/v1_job_logs_page.py +227 -0
  299. lightning_sdk/lightning_cloud/openapi/models/v1_job_logs_response.py +149 -0
  300. lightning_sdk/lightning_cloud/openapi/models/v1_job_spec.py +669 -0
  301. lightning_sdk/lightning_cloud/openapi/models/v1_job_timing.py +201 -0
  302. lightning_sdk/lightning_cloud/openapi/models/v1_joinable_organization.py +331 -0
  303. lightning_sdk/lightning_cloud/openapi/models/v1_knowledge_configuration.py +279 -0
  304. lightning_sdk/lightning_cloud/openapi/models/v1_lambda_labs_direct_v1.py +125 -0
  305. lightning_sdk/lightning_cloud/openapi/models/v1_lightning_run.py +27 -1
  306. lightning_sdk/lightning_cloud/openapi/models/v1_lightningapp_instance_spec.py +105 -27
  307. lightning_sdk/lightning_cloud/openapi/models/v1_lightningapp_instance_status.py +53 -1
  308. lightning_sdk/lightning_cloud/openapi/models/v1_lightningwork_spec.py +27 -27
  309. lightning_sdk/lightning_cloud/openapi/models/v1_lightningwork_status.py +81 -3
  310. lightning_sdk/lightning_cloud/openapi/models/v1_list_affiliate_links_response.py +123 -0
  311. lightning_sdk/lightning_cloud/openapi/models/v1_list_cloud_space_python_versions_response.py +123 -0
  312. lightning_sdk/lightning_cloud/openapi/models/v1_list_cloud_space_sessions_response.py +123 -0
  313. lightning_sdk/lightning_cloud/openapi/models/v1_list_cloud_space_tags_response.py +6 -6
  314. lightning_sdk/lightning_cloud/openapi/models/v1_list_cluster_availabilities_response.py +123 -0
  315. lightning_sdk/lightning_cloud/openapi/models/v1_list_cluster_proxies_response.py +123 -0
  316. lightning_sdk/lightning_cloud/openapi/models/v1_list_deployment_events_response.py +123 -0
  317. lightning_sdk/lightning_cloud/openapi/models/v1_list_deployment_releases_response.py +123 -0
  318. lightning_sdk/lightning_cloud/openapi/models/v1_list_deployment_tags_response.py +123 -0
  319. lightning_sdk/lightning_cloud/openapi/models/v1_list_deployment_templates_response.py +175 -0
  320. lightning_sdk/lightning_cloud/openapi/models/v1_list_deployments_response.py +123 -0
  321. lightning_sdk/lightning_cloud/openapi/models/v1_list_experiments_response.py +149 -0
  322. lightning_sdk/lightning_cloud/openapi/models/v1_list_filesystem_apps_response.py +123 -0
  323. lightning_sdk/lightning_cloud/openapi/models/v1_list_filesystem_cloud_spaces_response.py +123 -0
  324. lightning_sdk/lightning_cloud/openapi/models/v1_list_filesystem_datasets_response.py +123 -0
  325. lightning_sdk/lightning_cloud/openapi/models/v1_list_filesystem_jobs_response.py +123 -0
  326. lightning_sdk/lightning_cloud/openapi/models/v1_list_filesystem_slurm_jobs_response.py +123 -0
  327. lightning_sdk/lightning_cloud/openapi/models/v1_list_filesystem_snowflake_response.py +123 -0
  328. lightning_sdk/lightning_cloud/openapi/models/{v1_list_lightningapps_v2_response.py → v1_list_jobs_response.py} +31 -31
  329. lightning_sdk/lightning_cloud/openapi/models/v1_list_joinable_organizations_response.py +123 -0
  330. lightning_sdk/lightning_cloud/openapi/models/v1_list_logger_artifact_response.py +123 -0
  331. lightning_sdk/lightning_cloud/openapi/models/v1_list_metrics_streams_response.py +123 -0
  332. lightning_sdk/lightning_cloud/openapi/models/v1_list_multi_machine_job_events_response.py +123 -0
  333. lightning_sdk/lightning_cloud/openapi/models/v1_list_multi_machine_jobs_response.py +123 -0
  334. lightning_sdk/lightning_cloud/openapi/models/v1_list_new_features_for_user_response.py +123 -0
  335. lightning_sdk/lightning_cloud/openapi/models/v1_list_profiler_captures_response.py +123 -0
  336. lightning_sdk/lightning_cloud/openapi/models/v1_list_project_locked_resources_response.py +123 -0
  337. lightning_sdk/lightning_cloud/openapi/models/v1_list_published_cloud_spaces_response.py +3 -29
  338. lightning_sdk/lightning_cloud/openapi/models/v1_list_published_deployment_templates_response.py +175 -0
  339. lightning_sdk/lightning_cloud/openapi/models/v1_list_service_execution_lightningapp_instances_response.py +175 -0
  340. lightning_sdk/lightning_cloud/openapi/models/v1_lit_page.py +27 -1
  341. lightning_sdk/lightning_cloud/openapi/models/v1_lit_registry_project.py +227 -0
  342. lightning_sdk/lightning_cloud/openapi/models/v1_lit_repository.py +279 -0
  343. lightning_sdk/lightning_cloud/openapi/models/v1_locked_resource.py +227 -0
  344. lightning_sdk/lightning_cloud/openapi/models/v1_logger_artifact.py +227 -0
  345. lightning_sdk/lightning_cloud/openapi/models/v1_machines_selector.py +149 -0
  346. lightning_sdk/lightning_cloud/openapi/models/v1_magic_link_login_request.py +81 -3
  347. lightning_sdk/lightning_cloud/openapi/models/v1_magic_link_login_response.py +53 -1
  348. lightning_sdk/lightning_cloud/openapi/models/v1_managed_endpoint.py +175 -19
  349. lightning_sdk/lightning_cloud/openapi/models/v1_managed_model.py +305 -0
  350. lightning_sdk/lightning_cloud/openapi/models/v1_managed_model_abilities.py +175 -0
  351. lightning_sdk/lightning_cloud/openapi/models/v1_membership.py +79 -1
  352. lightning_sdk/lightning_cloud/openapi/models/v1_message.py +138 -8
  353. lightning_sdk/lightning_cloud/openapi/models/v1_message_content.py +6 -6
  354. lightning_sdk/lightning_cloud/openapi/models/v1_message_content_type.py +103 -0
  355. lightning_sdk/lightning_cloud/openapi/models/v1_metadata.py +131 -1
  356. lightning_sdk/lightning_cloud/openapi/models/v1_metric_value.py +175 -0
  357. lightning_sdk/lightning_cloud/openapi/models/v1_metrics.py +175 -0
  358. lightning_sdk/lightning_cloud/openapi/models/v1_metrics_stream.py +799 -0
  359. lightning_sdk/lightning_cloud/openapi/models/v1_metrics_tags.py +201 -0
  360. lightning_sdk/lightning_cloud/openapi/models/v1_metrics_tracker.py +383 -0
  361. lightning_sdk/lightning_cloud/openapi/models/v1_model.py +95 -17
  362. lightning_sdk/lightning_cloud/openapi/models/v1_model_file.py +175 -0
  363. lightning_sdk/lightning_cloud/openapi/models/v1_model_version_archive.py +131 -1
  364. lightning_sdk/lightning_cloud/openapi/models/v1_mount_target.py +201 -0
  365. lightning_sdk/lightning_cloud/openapi/models/v1_multi_machine_job.py +487 -0
  366. lightning_sdk/lightning_cloud/openapi/models/v1_multi_machine_job_event.py +331 -0
  367. lightning_sdk/lightning_cloud/openapi/models/{v1_lightningapp_cluster_driver.py → v1_multi_machine_job_event_type.py} +9 -9
  368. lightning_sdk/lightning_cloud/openapi/models/v1_multi_machine_job_fault_tolerance.py +149 -0
  369. lightning_sdk/lightning_cloud/openapi/models/v1_multi_machine_job_fault_tolerance_strategy.py +105 -0
  370. lightning_sdk/lightning_cloud/openapi/models/v1_multi_machine_job_state.py +108 -0
  371. lightning_sdk/lightning_cloud/openapi/models/v1_multi_machine_job_status.py +305 -0
  372. lightning_sdk/lightning_cloud/openapi/models/v1_named_get_logger_metrics.py +123 -0
  373. lightning_sdk/lightning_cloud/openapi/models/v1_new_feature.py +383 -0
  374. lightning_sdk/lightning_cloud/openapi/models/v1_onboarding_event_request.py +175 -0
  375. lightning_sdk/lightning_cloud/openapi/models/v1_onboarding_event_response.py +97 -0
  376. lightning_sdk/lightning_cloud/openapi/models/v1_organization.py +209 -1
  377. lightning_sdk/lightning_cloud/openapi/models/v1_parameterization_spec.py +227 -0
  378. lightning_sdk/lightning_cloud/openapi/models/v1_path_telemetry.py +123 -0
  379. lightning_sdk/lightning_cloud/openapi/models/v1_phase_type.py +104 -0
  380. lightning_sdk/lightning_cloud/openapi/models/v1_profiler_capture.py +357 -0
  381. lightning_sdk/lightning_cloud/openapi/models/v1_profiler_enabled_response.py +123 -0
  382. lightning_sdk/lightning_cloud/openapi/models/v1_project.py +131 -1
  383. lightning_sdk/lightning_cloud/openapi/models/v1_project_membership.py +263 -3
  384. lightning_sdk/lightning_cloud/openapi/models/v1_project_settings.py +29 -3
  385. lightning_sdk/lightning_cloud/openapi/models/v1_project_storage.py +279 -0
  386. lightning_sdk/lightning_cloud/openapi/models/v1_published_cloud_space_response.py +188 -6
  387. lightning_sdk/lightning_cloud/openapi/models/v1_purchase_capacity_block_response.py +175 -0
  388. lightning_sdk/lightning_cloud/openapi/models/v1_query_param.py +175 -0
  389. lightning_sdk/lightning_cloud/openapi/models/v1_query_result.py +123 -0
  390. lightning_sdk/lightning_cloud/openapi/models/v1_query_result_row.py +123 -0
  391. lightning_sdk/lightning_cloud/openapi/models/v1_refresh_path_response.py +97 -0
  392. lightning_sdk/lightning_cloud/openapi/models/v1_regional_load_balancer.py +149 -0
  393. lightning_sdk/lightning_cloud/openapi/models/v1_report_logs_activity_response.py +97 -0
  394. lightning_sdk/lightning_cloud/openapi/models/v1_request_cluster_access_request.py +175 -0
  395. lightning_sdk/lightning_cloud/openapi/models/v1_request_cluster_access_response.py +97 -0
  396. lightning_sdk/lightning_cloud/openapi/models/{v1_cloud_space_tag.py → v1_resource_tag.py} +18 -18
  397. lightning_sdk/lightning_cloud/openapi/models/{appsv2_id_body.py → v1_resource_visibility.py} +37 -37
  398. lightning_sdk/lightning_cloud/openapi/models/v1_resources.py +37 -11
  399. lightning_sdk/lightning_cloud/openapi/models/v1_restore_deployment_release_response.py +97 -0
  400. lightning_sdk/lightning_cloud/openapi/models/v1_rolling_update_strategy.py +149 -0
  401. lightning_sdk/lightning_cloud/openapi/models/v1_rule_condition.py +29 -3
  402. lightning_sdk/lightning_cloud/openapi/models/v1_rule_resource.py +11 -0
  403. lightning_sdk/lightning_cloud/openapi/models/v1_s3_folder_data_connection.py +123 -0
  404. lightning_sdk/lightning_cloud/openapi/models/v1_search_job_logs_response.py +149 -0
  405. lightning_sdk/lightning_cloud/openapi/models/v1_secret.py +107 -3
  406. lightning_sdk/lightning_cloud/openapi/models/v1_secret_type.py +105 -0
  407. lightning_sdk/lightning_cloud/openapi/models/v1_select.py +149 -0
  408. lightning_sdk/lightning_cloud/openapi/models/v1_server_check_in_response.py +97 -0
  409. lightning_sdk/lightning_cloud/openapi/models/v1_service_artifact.py +201 -0
  410. lightning_sdk/lightning_cloud/openapi/models/v1_service_execution.py +43 -43
  411. lightning_sdk/lightning_cloud/openapi/models/v1_should_start_syncing_response.py +123 -0
  412. lightning_sdk/lightning_cloud/openapi/models/v1_signed_url.py +149 -0
  413. lightning_sdk/lightning_cloud/openapi/models/v1_slurm_job.py +131 -1
  414. lightning_sdk/lightning_cloud/openapi/models/v1_slurm_node.py +53 -1
  415. lightning_sdk/lightning_cloud/openapi/models/v1_slurm_v1.py +27 -1
  416. lightning_sdk/lightning_cloud/openapi/models/v1_snowflake_data_connection.py +253 -0
  417. lightning_sdk/lightning_cloud/openapi/models/v1_status_code_telemetry.py +123 -0
  418. lightning_sdk/lightning_cloud/openapi/models/v1_storage_asset.py +253 -0
  419. lightning_sdk/lightning_cloud/openapi/models/v1_storage_asset_type.py +105 -0
  420. lightning_sdk/lightning_cloud/openapi/models/v1_studio_job_app.py +1 -0
  421. lightning_sdk/lightning_cloud/openapi/models/v1_system_info.py +617 -0
  422. lightning_sdk/lightning_cloud/openapi/models/v1_telemetry.py +331 -0
  423. lightning_sdk/lightning_cloud/openapi/models/v1_timestamp_code_telemetry.py +123 -0
  424. lightning_sdk/lightning_cloud/openapi/models/v1_transaction.py +27 -1
  425. lightning_sdk/lightning_cloud/openapi/models/v1_transfer_user_balance_request.py +27 -1
  426. lightning_sdk/lightning_cloud/openapi/models/v1_update_billing_subscription_request.py +27 -1
  427. lightning_sdk/lightning_cloud/openapi/models/v1_update_cluster_accelerators_request.py +149 -0
  428. lightning_sdk/lightning_cloud/openapi/models/v1_update_index_response.py +97 -0
  429. lightning_sdk/lightning_cloud/openapi/models/v1_update_metrics_stream_visibility_response.py +97 -0
  430. lightning_sdk/lightning_cloud/openapi/models/v1_update_model_visibility_response.py +97 -0
  431. lightning_sdk/lightning_cloud/openapi/models/v1_update_shared_metrics_stream_response.py +97 -0
  432. lightning_sdk/lightning_cloud/openapi/models/v1_update_snowflake_query_response.py +97 -0
  433. lightning_sdk/lightning_cloud/openapi/models/v1_update_user_request.py +53 -1
  434. lightning_sdk/lightning_cloud/openapi/models/v1_update_user_viewed_new_features_request.py +123 -0
  435. lightning_sdk/lightning_cloud/openapi/models/v1_update_user_viewed_new_features_response.py +97 -0
  436. lightning_sdk/lightning_cloud/openapi/models/v1_upstream_cloud_space.py +97 -19
  437. lightning_sdk/lightning_cloud/openapi/models/v1_upstream_job.py +227 -0
  438. lightning_sdk/lightning_cloud/openapi/models/v1_usage.py +27 -1
  439. lightning_sdk/lightning_cloud/openapi/models/v1_usage_details.py +107 -3
  440. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +1032 -330
  441. lightning_sdk/lightning_cloud/openapi/models/v1_user_requested_compute_config.py +45 -45
  442. lightning_sdk/lightning_cloud/openapi/models/v1_user_requested_flow_compute_config.py +29 -29
  443. lightning_sdk/lightning_cloud/openapi/models/v1_validate_assistant_status_response.py +149 -0
  444. lightning_sdk/lightning_cloud/openapi/models/v1_validate_auto_join_domain_response.py +97 -0
  445. lightning_sdk/lightning_cloud/openapi/models/v1_validate_data_connection_response.py +107 -3
  446. lightning_sdk/lightning_cloud/openapi/models/v1_validate_deployment_image_request.py +149 -0
  447. lightning_sdk/lightning_cloud/openapi/models/v1_validate_deployment_image_response.py +97 -0
  448. lightning_sdk/lightning_cloud/openapi/models/v1_validate_managed_endpoint_request.py +175 -0
  449. lightning_sdk/lightning_cloud/openapi/models/v1_validate_managed_endpoint_response.py +123 -0
  450. lightning_sdk/lightning_cloud/openapi/models/v1_validate_managed_model_response.py +123 -0
  451. lightning_sdk/lightning_cloud/openapi/models/v1_volume.py +175 -0
  452. lightning_sdk/lightning_cloud/openapi/models/v1_vultr_direct_v1.py +125 -0
  453. lightning_sdk/lightning_cloud/openapi/models/validate.py +97 -19
  454. lightning_sdk/lightning_cloud/openapi/models/validateautojoindomain_domain_body.py +123 -0
  455. lightning_sdk/lightning_cloud/openapi/models/version_uploads_body.py +123 -0
  456. lightning_sdk/lightning_cloud/rest_client.py +47 -23
  457. lightning_sdk/lightning_cloud/source_code/logs_socket_api.py +1 -1
  458. lightning_sdk/lightning_cloud/source_code/tar.py +1 -3
  459. lightning_sdk/lightning_cloud/utils/data_connection.py +144 -7
  460. lightning_sdk/lit_registry.py +39 -0
  461. lightning_sdk/machine.py +21 -4
  462. lightning_sdk/mmt/__init__.py +4 -0
  463. lightning_sdk/mmt/base.py +326 -0
  464. lightning_sdk/mmt/mmt.py +306 -0
  465. lightning_sdk/mmt/v1.py +209 -0
  466. lightning_sdk/mmt/v2.py +221 -0
  467. lightning_sdk/models.py +153 -0
  468. lightning_sdk/organization.py +1 -1
  469. lightning_sdk/plugin.py +207 -41
  470. lightning_sdk/services/__init__.py +2 -1
  471. lightning_sdk/services/file_endpoint.py +116 -213
  472. lightning_sdk/services/finetune/__init__.py +13 -15
  473. lightning_sdk/services/utilities.py +99 -26
  474. lightning_sdk/status.py +11 -6
  475. lightning_sdk/studio.py +90 -17
  476. lightning_sdk/teamspace.py +240 -12
  477. lightning_sdk/user.py +1 -1
  478. lightning_sdk/utils/__init__.py +0 -0
  479. lightning_sdk/utils/dynamic.py +61 -0
  480. lightning_sdk/utils/enum.py +116 -0
  481. lightning_sdk/{utils.py → utils/resolve.py} +41 -4
  482. lightning_sdk-0.1.47.dist-info/LICENSE +21 -0
  483. {lightning_sdk-0.1.3.dist-info → lightning_sdk-0.1.47.dist-info}/METADATA +30 -4
  484. {lightning_sdk-0.1.3.dist-info → lightning_sdk-0.1.47.dist-info}/RECORD +487 -204
  485. {lightning_sdk-0.1.3.dist-info → lightning_sdk-0.1.47.dist-info}/WHEEL +1 -1
  486. lightning_sdk/lightning_cloud/openapi/models/app_id_releases_body.py +0 -541
  487. lightning_sdk/lightning_cloud/openapi/models/id_endpoint_body.py +0 -409
  488. lightning_sdk/lightning_cloud/openapi/models/id_get_body1.py +0 -333
  489. lightning_sdk/lightning_cloud/openapi/models/project_id_appsv2_body.py +0 -201
  490. lightning_sdk/lightning_cloud/openapi/models/v1_aws_cluster_driver_spec.py +0 -1039
  491. lightning_sdk/lightning_cloud/openapi/models/v1_aws_cluster_secondary_region_spec.py +0 -253
  492. lightning_sdk/lightning_cloud/openapi/models/v1_azure_cluster_driver_spec.py +0 -227
  493. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_driver.py +0 -175
  494. lightning_sdk/lightning_cloud/openapi/models/v1_container_resources.py +0 -201
  495. lightning_sdk/lightning_cloud/openapi/models/v1_eks_custer_driver_status.py +0 -387
  496. lightning_sdk/lightning_cloud/openapi/models/v1_instance_type.py +0 -305
  497. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_cluster_driver.py +0 -359
  498. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_cluster_status.py +0 -279
  499. lightning_sdk/lightning_cloud/openapi/models/v1_lightningapp_release.py +0 -697
  500. lightning_sdk/lightning_cloud/openapi/models/v1_lightningapp_v2.py +0 -331
  501. lightning_sdk/services/uploader.py +0 -123
  502. {lightning_sdk-0.1.3.dist-info → lightning_sdk-0.1.47.dist-info}/entry_points.txt +0 -0
  503. {lightning_sdk-0.1.3.dist-info → lightning_sdk-0.1.47.dist-info}/top_level.txt +0 -0
lightning_sdk/plugin.py CHANGED
@@ -1,14 +1,23 @@
1
1
  import datetime
2
2
  import logging
3
+ import os
4
+ import warnings
3
5
  from abc import ABC, abstractmethod
4
- from typing import TYPE_CHECKING, Any, Optional, Protocol, runtime_checkable
6
+ from contextlib import contextmanager
7
+ from typing import TYPE_CHECKING, Any, Generator, Optional, Protocol, Union, runtime_checkable
5
8
 
9
+ from lightning_sdk.job import Job
6
10
  from lightning_sdk.machine import Machine
7
11
  from lightning_sdk.studio import Studio
8
- from lightning_sdk.utils import _resolve_deprecated_cloud_compute, _setup_logger
12
+ from lightning_sdk.utils.resolve import (
13
+ _LIGHTNING_SERVICE_EXECUTION_ID_KEY,
14
+ _resolve_deprecated_cloud_compute,
15
+ _setup_logger,
16
+ )
9
17
 
10
18
  if TYPE_CHECKING:
11
19
  from lightning_sdk.lightning_cloud.openapi import Externalv1LightningappInstance
20
+ from lightning_sdk.mmt import MMT
12
21
 
13
22
  _logger = _setup_logger(__name__)
14
23
 
@@ -80,10 +89,20 @@ class _Plugin(ABC):
80
89
 
81
90
 
82
91
  class Plugin(_Plugin):
83
- """Plugin class to handle arbitrary plugins on the Studio."""
92
+ """Plugin class to handle arbitrary plugins on the Studio.
93
+
94
+ While plugins can be installed and uninstalled via the SDK, most of them are designed to be run from the Studio's UI
95
+ only. Calling run just won't do anything in most cases.
96
+
97
+ """
84
98
 
85
99
  def run(self) -> str:
86
100
  """Executes the command of the plugin on the Studio."""
101
+ warnings.warn(
102
+ "While plugins can be installed and uninstalled via the SDK, most of them are designed to "
103
+ "be run from the Studio's UI only. "
104
+ "Calling run just won't do anything in most cases."
105
+ )
87
106
  if self._has_been_executed:
88
107
  logging.info("This plugin has already been executed and can be run only once per Studio.")
89
108
  return None
@@ -108,25 +127,32 @@ class JobsPlugin(_Plugin):
108
127
  name: Optional[str] = None,
109
128
  machine: Machine = Machine.CPU,
110
129
  cloud_compute: Optional[Machine] = None,
111
- ) -> "Externalv1LightningappInstance":
112
- """Launches an asynchronous job."""
113
- if name is None:
130
+ interruptible: bool = False,
131
+ ) -> Job:
132
+ """Launches an asynchronous job.
133
+
134
+ Args:
135
+ command: The command to be executed.
136
+ name: The name of the job.
137
+ machine: The machine to run the job on.
138
+ interruptible: Whether to run the job on an interruptible machine.
139
+ These are cheaper but can be preempted at any time.
140
+ """
141
+ if not name:
114
142
  name = _run_name("job")
115
143
 
116
144
  machine = _resolve_deprecated_cloud_compute(machine, cloud_compute)
117
145
 
118
- resp = self._studio._studio_api.create_job(
119
- entrypoint=command,
146
+ return Job.run(
120
147
  name=name,
121
148
  machine=machine,
122
- studio_id=self._studio._studio.id,
123
- teamspace_id=self._studio._teamspace.id,
124
- cluster_id=self._studio._studio.cluster_id,
149
+ command=command,
150
+ studio=self._studio,
151
+ teamspace=self._studio.teamspace,
152
+ cloud_account=self._studio.cloud_account,
153
+ interruptible=interruptible,
125
154
  )
126
155
 
127
- _logger.info(_success_message(resp, self))
128
- return resp
129
-
130
156
 
131
157
  class MultiMachineTrainingPlugin(_Plugin):
132
158
  """Plugin handling multi-machine-training jobs."""
@@ -141,28 +167,35 @@ class MultiMachineTrainingPlugin(_Plugin):
141
167
  machine: Machine = Machine.CPU,
142
168
  cloud_compute: Optional[Machine] = None,
143
169
  num_instances: int = 2,
144
- strategy: str = "parallel",
145
- ) -> "Externalv1LightningappInstance":
146
- """Launches an asynchronous multi-machine-training."""
147
- if name is None:
170
+ interruptible: bool = False,
171
+ ) -> "MMT":
172
+ """Launches an asynchronous multi-machine-training.
173
+
174
+ Args:
175
+ command: The command to be executed.
176
+ name: The name of the job.
177
+ machine: The machine to run the job on.
178
+ num_instances: The number of instances to run the job on.
179
+ interruptible: Whether to run the job on an interruptible machine.
180
+ These are cheaper but can be preempted at any time.
181
+ """
182
+ from lightning_sdk.mmt import MMT
183
+
184
+ if not name:
148
185
  name = _run_name("dist-run")
149
186
 
150
187
  machine = _resolve_deprecated_cloud_compute(machine, cloud_compute)
151
188
 
152
- # TODO: assert num_instances >=2
153
- resp = self._studio._studio_api.create_multi_machine_job(
154
- entrypoint=command,
155
- name=name,
156
- num_instances=num_instances,
157
- machine=machine,
158
- strategy=strategy,
159
- studio_id=self._studio._studio.id,
160
- teamspace_id=self._studio._teamspace.id,
161
- cluster_id=self._studio._studio.cluster_id,
162
- )
163
-
164
- _logger.info(_success_message(resp, self))
165
- return resp
189
+ with forced_v1(MMT) as v1mmt:
190
+ return v1mmt.run(
191
+ name=name,
192
+ num_machines=num_instances,
193
+ machine=machine,
194
+ command=command,
195
+ studio=self._studio,
196
+ teamspace=self._studio.teamspace,
197
+ interruptible=interruptible,
198
+ )
166
199
 
167
200
 
168
201
  class MultiMachineDataPrepPlugin(_Plugin):
@@ -178,9 +211,19 @@ class MultiMachineDataPrepPlugin(_Plugin):
178
211
  machine: Machine = Machine.CPU,
179
212
  cloud_compute: Optional[Machine] = None,
180
213
  num_instances: int = 2,
181
- ) -> "Externalv1LightningappInstance":
182
- """Launches an asynchronous multi-machine-processing-job."""
183
- if name is None:
214
+ interruptible: bool = False,
215
+ ) -> Job:
216
+ """Launches an asynchronous multi-machine-data-processing job.
217
+
218
+ Args:
219
+ command: The command to be executed.
220
+ name: The name of the job.
221
+ machine: The machine to run the job on.
222
+ num_instances: The number of instances to run the job on.
223
+ interruptible: Whether to run the job on an interruptible machine.
224
+ These are cheaper but can be preempted at any time.
225
+ """
226
+ if not name:
184
227
  name = _run_name("data-prep")
185
228
 
186
229
  machine = _resolve_deprecated_cloud_compute(machine, cloud_compute)
@@ -192,11 +235,12 @@ class MultiMachineDataPrepPlugin(_Plugin):
192
235
  machine=machine,
193
236
  studio_id=self._studio._studio.id,
194
237
  teamspace_id=self._studio._teamspace.id,
195
- cluster_id=self._studio._studio.cluster_id,
238
+ cloud_account=self._studio.cloud_account,
239
+ interruptible=interruptible,
196
240
  )
197
241
 
198
- _logger.info(_success_message(resp, self))
199
- return resp
242
+ with forced_v1(Job) as v1_job:
243
+ return v1_job(resp.name, self._studio.teamspace)
200
244
 
201
245
 
202
246
  class InferenceServerPlugin(_Plugin):
@@ -218,6 +262,7 @@ class InferenceServerPlugin(_Plugin):
218
262
  max_batch_size: int = 4,
219
263
  timeout_batching: float = 0.3,
220
264
  endpoint: str = "/predict",
265
+ interruptible: bool = False,
221
266
  ) -> "Externalv1LightningappInstance":
222
267
  """Launches an asynchronous inference server."""
223
268
  if name is None:
@@ -238,7 +283,119 @@ class InferenceServerPlugin(_Plugin):
238
283
  endpoint=endpoint,
239
284
  studio_id=self._studio._studio.id,
240
285
  teamspace_id=self._studio._teamspace.id,
241
- cluster_id=self._studio._studio.cluster_id,
286
+ cloud_account=self._studio.cloud_account,
287
+ interruptible=interruptible,
288
+ )
289
+
290
+ _logger.info(_success_message(resp, self))
291
+ with forced_v1(Job) as v1_job:
292
+ return v1_job(resp.name, self._studio.teamspace)
293
+
294
+
295
+ class SlurmJobsPlugin(_Plugin):
296
+ """Plugin handling asynchronous SLURM jobs."""
297
+
298
+ _plugin_run_name = "slurm"
299
+ _slug_name = "slurm"
300
+
301
+ def run(
302
+ self,
303
+ command: str,
304
+ name: Optional[str] = None,
305
+ cluster_id: Optional[str] = None,
306
+ work_dir: str = "/home/lightning_manager",
307
+ num_gpus: int = 1,
308
+ sync_env: bool = True,
309
+ cache_id: Optional[str] = None,
310
+ ) -> "Externalv1LightningappInstance":
311
+ """Launches an asynchronous SLURM job.
312
+
313
+ Args:
314
+ command: The command to be passed to the SLURM Job.
315
+ name: The name of the SLURM Job.
316
+ cluster_id: The name of the SLURM Cluster to submit the job on.
317
+ If the cluster_id isn't provided, the oldest running SLURM cluster will be selected.
318
+ work_dir: The position where the the files will be created on the SLURM cluster.
319
+ num_gpus: The number of GPUs requested.
320
+ sync_env: Whether to force an environement sync.
321
+ cache_id: A string to avoid re-downloading the Studio files to the SLURM cluster.
322
+ If you update your files and don't change the cache_id, they won't be used.
323
+
324
+ """
325
+ from lightning_sdk.lightning_cloud.openapi import SlurmJobsBody
326
+
327
+ if work_dir == "":
328
+ raise ValueError("The argument `work_dir` needs to be a proper path on the SLURM Cluster.")
329
+
330
+ if num_gpus <= 0:
331
+ raise ValueError("The argument `num_gpus` needs to be strictly positive.")
332
+
333
+ if name is None:
334
+ name = _run_name("slurm")
335
+
336
+ client = self._studio._studio_api._client
337
+
338
+ clusters = client.cluster_service_list_project_clusters(project_id=self._studio._teamspace.id).clusters
339
+ slurm_clusters = [cluster for cluster in clusters if cluster.spec.slurm_v1 is not None]
340
+ running_slurm_clusters = [
341
+ cluster for cluster in slurm_clusters if cluster.status.phase == "CLUSTER_STATE_RUNNING"
342
+ ]
343
+ running_slurm_clusters = sorted(running_slurm_clusters, key=lambda x: x.created_at)
344
+
345
+ if not running_slurm_clusters:
346
+ raise RuntimeError(
347
+ "You don't have any running SLURM clusters associated to this project. "
348
+ "Please, check your Teamspace Cloud Account."
349
+ )
350
+
351
+ selected_cluster = None
352
+
353
+ if cluster_id:
354
+ for cluster in running_slurm_clusters:
355
+ if cluster.cluster_id == cluster_id:
356
+ selected_cluster = cluster
357
+ break
358
+
359
+ if not selected_cluster:
360
+ raise ValueError(f"The provided cluster {cluster_id} wasn't found.")
361
+ else:
362
+ selected_cluster = running_slurm_clusters[0]
363
+
364
+ service_id = os.getenv(_LIGHTNING_SERVICE_EXECUTION_ID_KEY)
365
+
366
+ # TODO: Move this to the BE
367
+ envs = [
368
+ f"LIGHTNING_CLOUD_PROJECT_ID={os.getenv('LIGHTNING_CLOUD_PROJECT_ID')}",
369
+ f"LIGHTNING_USERNAME={os.getenv('LIGHTNING_USERNAME')}",
370
+ f"LIGHTNING_USER_ID={os.getenv('LIGHTNING_USER_ID')}",
371
+ f"LIGHTNING_API_KEY={os.getenv('LIGHTNING_API_KEY')}",
372
+ f"LIGHTNING_CLOUD_URL={os.getenv('LIGHTNING_CLOUD_URL')}",
373
+ ]
374
+
375
+ if service_id:
376
+ envs.append(f"{_LIGHTNING_SERVICE_EXECUTION_ID_KEY}={service_id}")
377
+
378
+ if "&&" in command:
379
+ # We are adding the env varaibles to the latest command
380
+ splits = command.split("&&")
381
+ splits[-1] = " ".join(envs) + " " + splits[-1]
382
+ command = " && ".join(splits)
383
+ else:
384
+ command = " ".join(envs) + " " + command
385
+
386
+ resp = client.slurm_jobs_user_service_create_user_slurm_job(
387
+ project_id=self._studio._teamspace.id,
388
+ body=SlurmJobsBody(
389
+ cloudspace_id=self._studio._studio.id,
390
+ cluster_id=selected_cluster.id,
391
+ command=command,
392
+ name=name,
393
+ sync_env=sync_env,
394
+ work_dir=work_dir,
395
+ service_id=service_id,
396
+ num_gpus=num_gpus,
397
+ cache_id=cache_id,
398
+ ),
242
399
  )
243
400
 
244
401
  _logger.info(_success_message(resp, self))
@@ -257,7 +414,7 @@ class _RunnablePlugin(Protocol):
257
414
  machine: Machine = Machine.CPU,
258
415
  cloud_compute: Optional[Machine] = None,
259
416
  **kwargs: Any,
260
- ) -> "Externalv1LightningappInstance":
417
+ ) -> Union["Externalv1LightningappInstance", Job]:
261
418
  ...
262
419
 
263
420
 
@@ -266,6 +423,15 @@ def _run_name(plugin_type: str) -> str:
266
423
  return f"{plugin_type}-{datetime.datetime.now().strftime('%b-%d-%H_%M')}"
267
424
 
268
425
 
269
- def _success_message(resp: "Externalv1LightningappInstance", plugin_instance: _RunnablePlugin) -> str:
426
+ def _success_message(resp: Union["Externalv1LightningappInstance", Job], plugin_instance: _RunnablePlugin) -> str:
270
427
  """Compiles the success message for a given runnable plugin."""
271
428
  return f"{plugin_instance._plugin_run_name} {resp.name} was successfully launched. View it at https://lightning.ai/{plugin_instance._studio.owner.name}/{plugin_instance._studio.teamspace.name}/studios/{plugin_instance.studio}/app?app_id={plugin_instance._slug_name}&job_name={resp.name}"
429
+
430
+
431
+ @contextmanager
432
+ def forced_v1(cls: Any) -> Generator[Any, None, None]:
433
+ """Forces to use the v1 version of a class when using a class with multiple backends."""
434
+ orig_val = getattr(cls, "_force_v1", False)
435
+ cls._force_v1 = True
436
+ yield cls
437
+ cls._force_v1 = orig_val
@@ -1,4 +1,5 @@
1
1
  from lightning_sdk.services.file_endpoint import Client
2
2
  from lightning_sdk.services.finetune import LLMFinetune
3
+ from lightning_sdk.services.utilities import download_file
3
4
 
4
- __all__ = ["LLMFinetune", "Client"]
5
+ __all__ = ["LLMFinetune", "Client", "download_file"]