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
@@ -0,0 +1,269 @@
1
+ from typing import TYPE_CHECKING, Dict, Optional, Union
2
+
3
+ from lightning_sdk.api.job_api import JobApiV1
4
+ from lightning_sdk.job.base import _BaseJob
5
+ from lightning_sdk.status import Status
6
+
7
+ if TYPE_CHECKING:
8
+ from lightning_sdk.machine import Machine
9
+ from lightning_sdk.organization import Organization
10
+ from lightning_sdk.studio import Studio
11
+ from lightning_sdk.teamspace import Teamspace
12
+ from lightning_sdk.user import User
13
+
14
+ from functools import cached_property
15
+
16
+ from lightning_sdk.job.work import Work
17
+
18
+
19
+ class _JobV1(_BaseJob):
20
+ """Implementation to run async workloads from your Studio."""
21
+
22
+ def __init__(
23
+ self,
24
+ name: str,
25
+ teamspace: Union[str, "Teamspace", None] = None,
26
+ org: Union[str, "Organization", None] = None,
27
+ user: Union[str, "User", None] = None,
28
+ *,
29
+ _fetch_job: bool = True,
30
+ ) -> None:
31
+ """Fetch already existing jobs.
32
+
33
+ Args:
34
+ name: the name of the job
35
+ teamspace: the teamspace the job is part of
36
+ org: the name of the organization owning the :param`teamspace` in case it is owned by an org
37
+ user: the name of the user owning the :param`teamspace`
38
+ in case it is owned directly by a user instead of an org
39
+ """
40
+ self._job_api = JobApiV1()
41
+ super().__init__(name=name, teamspace=teamspace, org=org, user=user, _fetch_job=_fetch_job)
42
+
43
+ @classmethod
44
+ def run(
45
+ cls,
46
+ name: str,
47
+ machine: "Machine",
48
+ command: str,
49
+ studio: "Studio",
50
+ teamspace: Union[str, "Teamspace", None] = None,
51
+ org: Union[str, "Organization", None] = None,
52
+ user: Union[str, "User", None] = None,
53
+ cloud_account: Optional[str] = None,
54
+ interruptible: bool = False,
55
+ cluster: Optional[str] = None, # deprecated in favor of cloud_account
56
+ ) -> "_BaseJob":
57
+ """Start a new async workload from your studio.
58
+
59
+ Args:
60
+ name: the name of the job
61
+ machine: the machine to run the workload on
62
+ command: the command to execute
63
+ studio: the studio the job belongs to
64
+ teamspace: the teamspace the job is part of
65
+ org: the organization owning the teamspace (if applicable)
66
+ user: the user owning the teamspace (if applicable)
67
+ cloud_account: the cloud account to run the workload on
68
+ interruptible: whether the workload can be interrupted
69
+
70
+ Returns:
71
+ the created job
72
+ """
73
+ return super().run(
74
+ name=name,
75
+ machine=machine,
76
+ command=command,
77
+ studio=studio,
78
+ image=None,
79
+ teamspace=teamspace,
80
+ org=org,
81
+ user=user,
82
+ cloud_account=cloud_account,
83
+ env=None,
84
+ interruptible=interruptible,
85
+ image_credentials=None,
86
+ cloud_account_auth=False,
87
+ cluster=cluster,
88
+ )
89
+
90
+ def _submit(
91
+ self,
92
+ machine: "Machine",
93
+ command: Optional[str] = None,
94
+ studio: Optional["Studio"] = None,
95
+ image: Optional[str] = None,
96
+ env: Optional[Dict[str, str]] = None,
97
+ interruptible: bool = False,
98
+ cloud_account: Optional[str] = None,
99
+ image_credentials: Optional[str] = None,
100
+ cloud_account_auth: bool = False,
101
+ artifacts_local: Optional[str] = None,
102
+ artifacts_remote: Optional[str] = None,
103
+ entrypoint: str = "sh -c",
104
+ ) -> "_JobV1":
105
+ """Submit a job to run on a machine.
106
+
107
+ Args:
108
+ machine: The machine to run the job on.
109
+ command: The command to execute.
110
+ studio: The studio the job belongs to.
111
+ image: The image to use for the job (not supported).
112
+ env: The environment variables for the job (not supported).
113
+ interruptible: Whether the job can be interrupted.
114
+ cloud_account: The cloud account to run the job on.
115
+ image_credentials: The image credentials for the job (not supported).
116
+ cloud_account_auth: Whether to use cloud account authentication for the job (not supported).
117
+ artifacts_local: The local path for persisting artifacts (not supported).
118
+ artifacts_remote: The remote path for persisting artifacts (not supported).
119
+ entrypoint: The entrypoint of your docker container (not supported).
120
+ Defaults to `sh -c` which just runs the provided command in a standard shell.
121
+ To use the pre-defined entrypoint of the provided image, set this to an empty string.
122
+ Only applicable when submitting docker jobs.
123
+
124
+ Returns:
125
+ The submitted job.
126
+
127
+ """
128
+ if studio is None:
129
+ raise ValueError("Studio is required for submitting jobs")
130
+ if image is not None or image_credentials is not None or cloud_account_auth:
131
+ raise ValueError("Image is not supported for submitting jobs")
132
+
133
+ if artifacts_local is not None or artifacts_remote is not None:
134
+ raise ValueError("Specifying how to persist artifacts is not yet supported with jobs")
135
+
136
+ if env is not None:
137
+ raise ValueError("Environment variables are not supported for submitting jobs")
138
+ if command is None:
139
+ raise ValueError("Command is required for submitting jobs")
140
+
141
+ if entrypoint != "sh -c":
142
+ raise ValueError("Specifying the entrypoint is not yet supported with jobs")
143
+
144
+ # TODO: add support for empty names (will give an empty string)
145
+ _submitted = self._job_api.submit_job(
146
+ name=self._name,
147
+ command=command,
148
+ studio_id=studio._studio.id,
149
+ teamspace_id=self._teamspace.id,
150
+ cloud_account=cloud_account or "",
151
+ machine=machine,
152
+ interruptible=interruptible,
153
+ )
154
+ self._name = _submitted.name
155
+ self._job = _submitted
156
+ return self
157
+
158
+ def _update_internal_job(self) -> None:
159
+ try:
160
+ self._job = self._job_api.get_job(self._name, self.teamspace.id)
161
+ except ValueError as e:
162
+ raise ValueError(f"Job {self._name} does not exist in Teamspace {self.teamspace.name}") from e
163
+
164
+ @property
165
+ def status(self) -> "Status":
166
+ """Returns the status of the job."""
167
+ try:
168
+ status = self._job_api.get_job_status(self._job.id, self.teamspace.id)
169
+ return _internal_status_to_external_status(status)
170
+ except Exception:
171
+ raise RuntimeError(
172
+ f"Job {self._name} does not exist in Teamspace {self.teamspace.name}. Did you delete it?"
173
+ ) from None
174
+
175
+ def stop(self) -> None:
176
+ """Stops the job. is blocking until the ob is stopped."""
177
+ if self.status in (Status.Stopped, Status.Failed):
178
+ return None
179
+
180
+ return self._job_api.stop_job(self._job.id, self.teamspace.id)
181
+
182
+ def delete(self) -> None:
183
+ """Deletes the job.
184
+
185
+ Caution: this also deletes all artifacts created by the job.
186
+ """
187
+ self._job_api.delete_job(self._job.id, self.teamspace.id)
188
+
189
+ @cached_property
190
+ def work(self) -> Work:
191
+ """Get the work associated with the job."""
192
+ _work = self._job_api.list_works(self._job.id, self.teamspace.id)
193
+ if len(_work) == 0:
194
+ raise ValueError("No works found for job")
195
+ return Work(_work[0].id, self, self.teamspace)
196
+
197
+ @property
198
+ def machine(self) -> "Machine":
199
+ """Get the machine the job is running on."""
200
+ return self.work.machine
201
+
202
+ @property
203
+ def name(self) -> str:
204
+ """The name of the job."""
205
+ return self._job.name
206
+
207
+ @property
208
+ def artifact_path(self) -> Optional[str]:
209
+ """The path to the artifacts of the job in the distributed teamspace filesystem."""
210
+ return self.work.artifact_path
211
+
212
+ @property
213
+ def snapshot_path(self) -> Optional[str]:
214
+ """The path to the snapshot of the job in the distributed teamspace filesystem."""
215
+ return f"/teamspace/jobs/{self.name}/snapshot"
216
+
217
+ @property
218
+ def share_path(self) -> Optional[str]:
219
+ """The path to the share of the job in the distributed teamspace filesystem."""
220
+ return f"/teamspace/jobs/{self.name}/share"
221
+
222
+ @property
223
+ def logs(self) -> str:
224
+ """The logs of the job."""
225
+ return self.work.logs
226
+
227
+ @property
228
+ def image(self) -> Optional[str]:
229
+ """The image used to submit the job."""
230
+ # jobsv1 don't support images, so return None here
231
+ return None
232
+
233
+ @property
234
+ def studio(self) -> Optional["Studio"]:
235
+ """The studio used to submit the job."""
236
+ from lightning_sdk.studio import Studio
237
+
238
+ studio_name = self._job_api.get_studio_name(self._guaranteed_job)
239
+ return Studio(studio_name, teamspace=self.teamspace)
240
+
241
+ @property
242
+ def command(self) -> str:
243
+ """The command the job is running."""
244
+ return self._job_api.get_command(self._guaranteed_job)
245
+
246
+ # the following and functions are solely to make the Work class function
247
+ @property
248
+ def _id(self) -> str:
249
+ return self._guaranteed_job.id
250
+
251
+ def _name_filter(self, name: str) -> str:
252
+ return name.replace("root.", "")
253
+
254
+
255
+ def _internal_status_to_external_status(internal_status: str) -> "Status":
256
+ """Converts internal status strings from HTTP requests to external enums."""
257
+ return {
258
+ # don't get a status if no instance alive
259
+ None: Status.Stopped,
260
+ # TODO: should we have deleted in here?
261
+ "LIGHTNINGAPP_INSTANCE_STATE_UNSPECIFIED": Status.Pending,
262
+ "LIGHTNINGAPP_INSTANCE_STATE_IMAGE_BUILDING": Status.Pending,
263
+ "LIGHTNINGAPP_INSTANCE_STATE_NOT_STARTED": Status.Pending,
264
+ "LIGHTNINGAPP_INSTANCE_STATE_PENDING": Status.Pending,
265
+ "LIGHTNINGAPP_INSTANCE_STATE_RUNNING": Status.Running,
266
+ "LIGHTNINGAPP_INSTANCE_STATE_FAILED": Status.Failed,
267
+ "LIGHTNINGAPP_INSTANCE_STATE_STOPPED": Status.Stopped,
268
+ "LIGHTNINGAPP_INSTANCE_STATE_COMPLETED": Status.Completed,
269
+ }[internal_status]
@@ -0,0 +1,221 @@
1
+ from typing import TYPE_CHECKING, Any, Dict, Optional, Union
2
+
3
+ from lightning_sdk.api.job_api import JobApiV2
4
+ from lightning_sdk.job.base import _BaseJob
5
+
6
+ if TYPE_CHECKING:
7
+ from lightning_sdk.machine import Machine
8
+ from lightning_sdk.organization import Organization
9
+ from lightning_sdk.status import Status
10
+ from lightning_sdk.studio import Studio
11
+ from lightning_sdk.teamspace import Teamspace
12
+ from lightning_sdk.user import User
13
+
14
+
15
+ class _JobV2(_BaseJob):
16
+ def __init__(
17
+ self,
18
+ name: str,
19
+ teamspace: Union[str, "Teamspace", None] = None,
20
+ org: Union[str, "Organization", None] = None,
21
+ user: Union[str, "User", None] = None,
22
+ *,
23
+ _fetch_job: bool = True,
24
+ ) -> None:
25
+ """Fetch already existing jobs.
26
+
27
+ Args:
28
+ name: the name of the job
29
+ teamspace: the teamspace the job is part of
30
+ org: the name of the organization owning the :param`teamspace` in case it is owned by an org
31
+ user: the name of the user owning the :param`teamspace`
32
+ in case it is owned directly by a user instead of an org.
33
+ """
34
+ self._job_api = JobApiV2()
35
+ super().__init__(name=name, teamspace=teamspace, org=org, user=user, _fetch_job=_fetch_job)
36
+
37
+ def _submit(
38
+ self,
39
+ machine: "Machine",
40
+ command: Optional[str] = None,
41
+ studio: Optional["Studio"] = None,
42
+ image: Optional[str] = None,
43
+ env: Optional[Dict[str, str]] = None,
44
+ interruptible: bool = False,
45
+ cloud_account: Optional[str] = None,
46
+ image_credentials: Optional[str] = None,
47
+ cloud_account_auth: bool = False,
48
+ artifacts_local: Optional[str] = None,
49
+ artifacts_remote: Optional[str] = None,
50
+ entrypoint: str = "sh -c",
51
+ ) -> "_JobV2":
52
+ """Submit a new job to the Lightning AI platform.
53
+
54
+ Args:
55
+ machine: The machine type to run the job on. One of {", ".join(_MACHINE_VALUES)}.
56
+ command: The command to run inside your job. Required if using a studio. Optional if using an image.
57
+ If not provided for images, will run the container entrypoint and default command.
58
+ studio: The studio env to run the job with. Mutually exclusive with image.
59
+ image: The docker image to run the job with. Mutually exclusive with studio.
60
+ env: Environment variables to set inside the job.
61
+ interruptible: Whether the job should run on interruptible instances. They are cheaper but can be preempted.
62
+ cloud_account: The cloud account to run the job on.
63
+ Defaults to the studio cloud account if running with studio compute env.
64
+ If not provided will fall back to the teamspaces default cloud account.
65
+ image_credentials: The credentials used to pull the image. Required if the image is private.
66
+ This should be the name of the respective credentials secret created on the Lightning AI platform.
67
+ cloud_account_auth: Whether to authenticate with the cloud account to pull the image.
68
+ Required if the registry is part of a cloud provider (e.g. ECR).
69
+ artifacts_local: The path of inside the docker container, you want to persist images from.
70
+ CAUTION: When setting this to "/", it will effectively erase your container.
71
+ Only supported for jobs with a docker image compute environment.
72
+ artifacts_remote: The remote storage to persist your artifacts to.
73
+ Should be of format <CONNECTION_TYPE>:<CONNECTION_NAME>:<PATH_WITHIN_CONNECTION>.
74
+ PATH_WITHIN_CONNECTION hereby is a path relative to the connection's root.
75
+ E.g. efs:data:some-path would result in an EFS connection named `data` and to the path `some-path`
76
+ within it.
77
+ Note that the connection needs to be added to the teamspace already in order for it to be found.
78
+ Only supported for jobs with a docker image compute environment.
79
+ entrypoint: The entrypoint of your docker container. Defaults to `sh -c` which
80
+ just runs the provided command in a standard shell.
81
+ To use the pre-defined entrypoint of the provided image, set this to an empty string.
82
+ Only applicable when submitting docker jobs.
83
+ """
84
+ # Command is required if Studio is provided to know what to run
85
+ # Image is mutually exclusive with Studio
86
+ # Command is optional for Image
87
+ # Either image or studio must be provided
88
+ if studio is not None:
89
+ studio_id = studio._studio.id
90
+ if image is not None:
91
+ raise ValueError(
92
+ "image and studio are mutually exclusive as both define the environment to run the job in"
93
+ )
94
+ if command is None:
95
+ raise ValueError("command is required when using a studio")
96
+ else:
97
+ studio_id = None
98
+ if image is None:
99
+ raise ValueError("either image or studio must be provided")
100
+
101
+ submitted = self._job_api.submit_job(
102
+ name=self.name,
103
+ command=command,
104
+ cloud_account=cloud_account,
105
+ teamspace_id=self._teamspace.id,
106
+ studio_id=studio_id,
107
+ image=image,
108
+ machine=machine,
109
+ interruptible=interruptible,
110
+ env=env,
111
+ image_credentials=image_credentials,
112
+ cloud_account_auth=cloud_account_auth,
113
+ artifacts_local=artifacts_local,
114
+ artifacts_remote=artifacts_remote,
115
+ entrypoint=entrypoint,
116
+ )
117
+ self._job = submitted
118
+ self._name = submitted.name
119
+ return self
120
+
121
+ def stop(self) -> None:
122
+ """Stop the job. If the job is already stopped, this is a no-op. This is blocking until the job is stopped."""
123
+ self._job_api.stop_job(job_id=self._guaranteed_job.id, teamspace_id=self._teamspace.id)
124
+
125
+ def delete(self) -> None:
126
+ """Delete the job.
127
+
128
+ Caution: This also deletes all artifacts created by the job.
129
+ """
130
+ self._job_api.delete_job(
131
+ job_id=self._guaranteed_job.id,
132
+ teamspace_id=self._teamspace.id,
133
+ cloudspace_id=self._guaranteed_job.spec.cloudspace_id,
134
+ )
135
+
136
+ @property
137
+ def _latest_job(self) -> Any:
138
+ """Guarantees to fetch the latest version of a job before returning it."""
139
+ self._update_internal_job()
140
+ return self._job
141
+
142
+ @property
143
+ def status(self) -> "Status":
144
+ """The current status of the job."""
145
+ return self._job_api._job_state_to_external(self._latest_job.state)
146
+
147
+ @property
148
+ def machine(self) -> "Machine":
149
+ """The machine type the job is running on."""
150
+ # only fetch the job it it hasn't been fetched yet as machine cannot change over time
151
+ return self._job_api._get_job_machine_from_spec(self._guaranteed_job.spec)
152
+
153
+ @property
154
+ def artifact_path(self) -> Optional[str]:
155
+ """The path to the artifacts of the job within the distributed teamspace filesystem."""
156
+ if self._guaranteed_job.spec.image != "":
157
+ if self._guaranteed_job.spec.artifacts_destination != "":
158
+ splits = self._guaranteed_job.spec.artifacts_destination.split(":")
159
+ return f"/teamspace/{splits[0]}_connections/{splits[1]}/{splits[2]}"
160
+ return None
161
+
162
+ return f"/teamspace/jobs/{self._guaranteed_job.name}/artifacts"
163
+
164
+ @property
165
+ def snapshot_path(self) -> Optional[str]:
166
+ """The path to the snapshot of the Studio used to create the job within the distributed teamspace filesystem."""
167
+ if self._guaranteed_job.spec.image != "":
168
+ return None
169
+ return f"/teamspace/jobs/{self._guaranteed_job.name}/snapshot"
170
+
171
+ @property
172
+ def share_path(self) -> Optional[str]:
173
+ """The path to the share of the job within the distributed teamspace filesystem."""
174
+ raise NotImplementedError("Not implemented yet")
175
+
176
+ @property
177
+ def logs(self) -> str:
178
+ from lightning_sdk.status import Status
179
+
180
+ if self.status not in (Status.Failed, Status.Completed, Status.Stopped):
181
+ raise RuntimeError("Getting jobs logs while the job is pending or running is not supported yet!")
182
+
183
+ return self._job_api.get_logs_finished(job_id=self._guaranteed_job.id, teamspace_id=self.teamspace.id)
184
+
185
+ @property
186
+ def link(self) -> str:
187
+ if self._job_api.get_image_name(self._guaranteed_job):
188
+ return (
189
+ f"https://lightning.ai/{self.teamspace.owner.name}/{self.teamspace.name}/jobs/{self.name}?app_id=jobs"
190
+ )
191
+
192
+ return super().link
193
+
194
+ @property
195
+ def image(self) -> Optional[str]:
196
+ """The image used to submit the job."""
197
+ return self._job_api.get_image_name(self._guaranteed_job)
198
+
199
+ @property
200
+ def studio(self) -> Optional["Studio"]:
201
+ """The studio used to submit the job."""
202
+ from lightning_sdk.studio import Studio
203
+
204
+ studio_name = self._job_api.get_studio_name(self._guaranteed_job)
205
+
206
+ # if job was submitted with image, studio will be None
207
+ if not studio_name:
208
+ return None
209
+ return Studio(studio_name, teamspace=self.teamspace)
210
+
211
+ @property
212
+ def command(self) -> str:
213
+ """The command the job is running."""
214
+ return self._job_api.get_command(self._guaranteed_job)
215
+
216
+ def _update_internal_job(self) -> None:
217
+ if getattr(self, "_job", None) is None:
218
+ self._job = self._job_api.get_job_by_name(name=self._name, teamspace_id=self._teamspace.id)
219
+ return
220
+
221
+ self._job = self._job_api.get_job(job_id=self._job.id, teamspace_id=self._teamspace.id)
@@ -0,0 +1,81 @@
1
+ from typing import TYPE_CHECKING, Any, Optional, Protocol
2
+
3
+ from lightning_sdk.api.job_api import JobApiV1
4
+
5
+ if TYPE_CHECKING:
6
+ from lightning_sdk.job.base import MachineDict
7
+ from lightning_sdk.machine import Machine
8
+ from lightning_sdk.status import Status
9
+ from lightning_sdk.teamspace import Teamspace
10
+
11
+
12
+ class _WorkHolder(Protocol):
13
+ @property
14
+ def _id(self) -> str:
15
+ ...
16
+
17
+ @property
18
+ def name(self) -> str:
19
+ ...
20
+
21
+ def _name_filter(self, name: str) -> str:
22
+ ...
23
+
24
+
25
+ class Work:
26
+ def __init__(self, work_id: str, job: _WorkHolder, teamspace: "Teamspace") -> None:
27
+ self._id = work_id
28
+ self._job = job
29
+ self._teamspace = teamspace
30
+ self._job_api = JobApiV1()
31
+ self._work = None
32
+
33
+ @property
34
+ def _latest_work(self) -> Any:
35
+ self._work = self._job_api.get_work(work_id=self._id, job_id=self._job._id, teamspace_id=self._teamspace.id)
36
+ return self._work
37
+
38
+ @property
39
+ def _guaranteed_work(self) -> Any:
40
+ if self._work is None:
41
+ return self._latest_work
42
+
43
+ return self._work
44
+
45
+ @property
46
+ def id(self) -> str:
47
+ return self._guaranteed_work.id
48
+
49
+ @property
50
+ def name(self) -> str:
51
+ return self._job._name_filter(self._guaranteed_work.name)
52
+
53
+ @property
54
+ def machine(self) -> "Machine":
55
+ return self._job_api.get_machine_from_work(self._guaranteed_work)
56
+
57
+ @property
58
+ def artifact_path(self) -> Optional[str]:
59
+ return f"/teamspace/jobs/{self._job.name}/{self.name}"
60
+
61
+ @property
62
+ def status(self) -> "Status":
63
+ return self._job_api.get_status_from_work(self._latest_work)
64
+
65
+ @property
66
+ def logs(self) -> str:
67
+ """The logs of the work."""
68
+ from lightning_sdk.status import Status
69
+
70
+ if self.status not in (Status.Failed, Status.Completed, Status.Stopped):
71
+ raise RuntimeError("Getting jobs logs while the job is pending or running is not supported yet!")
72
+
73
+ return self._job_api.get_logs_finished(job_id=self._job._id, work_id=self._id, teamspace_id=self._teamspace.id)
74
+
75
+ def dict(self) -> "MachineDict":
76
+ """Dict representation of the work."""
77
+ return {
78
+ "name": self.name,
79
+ "status": self.status,
80
+ "machine": self.machine,
81
+ }
@@ -1 +1 @@
1
- __version__ = "0.5.64"
1
+ __version__ = "0.5.70"
@@ -1,16 +1,9 @@
1
- import click
2
1
 
3
2
 
4
- @click.group()
5
- def main():
6
- pass
7
-
8
-
9
- @main.command()
10
- def login():
3
+ def login() -> None:
11
4
  """Authorize the CLI to access Grid AI resources for a particular user.
12
- Use login command to force authenticate,
13
- a web browser will open to complete the authentication.
5
+
6
+ Use login command to force authenticate, a web browser will open to complete the authentication.
14
7
  """
15
8
  from lightning_sdk.lightning_cloud.login import Auth # local to avoid circular import
16
9
 
@@ -18,10 +11,19 @@ def login():
18
11
  auth.clear()
19
12
  auth._run_server()
20
13
 
21
-
22
- @main.command()
23
- def logout():
14
+ def logout() -> None:
24
15
  """Logout from LightningCloud"""
25
16
  from lightning_sdk.lightning_cloud.login import Auth # local to avoid circular import
26
17
 
27
18
  Auth.clear()
19
+
20
+
21
+ def main() -> None:
22
+ """CLI entrypoint."""
23
+ from fire import Fire
24
+
25
+ Fire({"login": login, "logout": logout})
26
+
27
+
28
+ if __name__ == "__main__":
29
+ main()
@@ -34,6 +34,7 @@ DOT_IGNORE_FILENAME = ".lightningignore"
34
34
 
35
35
  LEEWAY = 100
36
36
  IS_DEV_ENV = True
37
+ LIGHTNING_CLOUD_PROJECT_ID = os.getenv("LIGHTNING_CLOUD_PROJECT_ID")
37
38
 
38
39
 
39
40
  def reset_global_variables() -> None: