lightning-sdk 2025.12.5__py3-none-any.whl → 2025.12.9__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- lightning_sdk/__version__.py +1 -1
- lightning_sdk/api/agents_api.py +4 -4
- lightning_sdk/api/ai_hub_api.py +2 -2
- lightning_sdk/api/base_studio_api.py +3 -1
- lightning_sdk/api/deployment_api.py +2 -2
- lightning_sdk/api/job_api.py +9 -7
- lightning_sdk/api/license_api.py +2 -2
- lightning_sdk/api/mmt_api.py +5 -5
- lightning_sdk/api/pipeline_api.py +4 -4
- lightning_sdk/api/studio_api.py +33 -33
- lightning_sdk/api/teamspace_api.py +38 -26
- lightning_sdk/api/user_api.py +2 -2
- lightning_sdk/api/utils.py +17 -24
- lightning_sdk/cli/entrypoint.py +16 -12
- lightning_sdk/lightning_cloud/login.py +1 -1
- lightning_sdk/lightning_cloud/openapi/__init__.py +204 -195
- lightning_sdk/lightning_cloud/openapi/api/agent_service_api.py +28 -28
- lightning_sdk/lightning_cloud/openapi/api/assistants_service_api.py +108 -108
- lightning_sdk/lightning_cloud/openapi/api/billing_service_api.py +69 -57
- lightning_sdk/lightning_cloud/openapi/api/blog_posts_service_api.py +4 -4
- lightning_sdk/lightning_cloud/openapi/api/cloud_space_environment_template_service_api.py +14 -14
- lightning_sdk/lightning_cloud/openapi/api/cloud_space_service_api.py +331 -168
- lightning_sdk/lightning_cloud/openapi/api/cloudy_service_api.py +4 -4
- lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +58 -58
- lightning_sdk/lightning_cloud/openapi/api/data_connection_service_api.py +24 -24
- lightning_sdk/lightning_cloud/openapi/api/dataset_service_api.py +8 -8
- lightning_sdk/lightning_cloud/openapi/api/deployment_templates_service_api.py +8 -8
- lightning_sdk/lightning_cloud/openapi/api/endpoint_service_api.py +8 -8
- lightning_sdk/lightning_cloud/openapi/api/experiments_service_api.py +8 -8
- lightning_sdk/lightning_cloud/openapi/api/file_system_service_api.py +16 -16
- lightning_sdk/lightning_cloud/openapi/api/incidents_service_api.py +18 -18
- lightning_sdk/lightning_cloud/openapi/api/jobs_service_api.py +514 -254
- lightning_sdk/lightning_cloud/openapi/api/k8_s_cluster_service_api.py +67 -59
- lightning_sdk/lightning_cloud/openapi/api/lightningapp_instance_service_api.py +16 -16
- lightning_sdk/lightning_cloud/openapi/api/lightningapp_v2_service_api.py +6 -6
- lightning_sdk/lightning_cloud/openapi/api/lightningwork_service_api.py +16 -16
- lightning_sdk/lightning_cloud/openapi/api/lit_dataset_service_api.py +42 -42
- lightning_sdk/lightning_cloud/openapi/api/lit_logger_service_api.py +28 -28
- lightning_sdk/lightning_cloud/openapi/api/lit_page_service_api.py +4 -4
- lightning_sdk/lightning_cloud/openapi/api/lit_registry_service_api.py +8 -8
- lightning_sdk/lightning_cloud/openapi/api/models_store_api.py +42 -42
- lightning_sdk/lightning_cloud/openapi/api/organizations_service_api.py +34 -34
- lightning_sdk/lightning_cloud/openapi/api/pipeline_templates_service_api.py +4 -4
- lightning_sdk/lightning_cloud/openapi/api/pipelines_service_api.py +38 -38
- lightning_sdk/lightning_cloud/openapi/api/product_license_service_api.py +4 -4
- lightning_sdk/lightning_cloud/openapi/api/profiler_service_api.py +12 -12
- lightning_sdk/lightning_cloud/openapi/api/projects_service_api.py +32 -32
- lightning_sdk/lightning_cloud/openapi/api/quest_service_api.py +8 -8
- lightning_sdk/lightning_cloud/openapi/api/schedules_service_api.py +48 -48
- lightning_sdk/lightning_cloud/openapi/api/secret_service_api.py +12 -12
- lightning_sdk/lightning_cloud/openapi/api/slurm_jobs_user_service_api.py +16 -16
- lightning_sdk/lightning_cloud/openapi/api/snowflake_service_api.py +16 -16
- lightning_sdk/lightning_cloud/openapi/api/storage_service_api.py +40 -40
- lightning_sdk/lightning_cloud/openapi/api/studio_jobs_service_api.py +8 -8
- lightning_sdk/lightning_cloud/openapi/api/user_service_api.py +20 -20
- lightning_sdk/lightning_cloud/openapi/api/volume_service_api.py +4 -4
- lightning_sdk/lightning_cloud/openapi/models/__init__.py +204 -181
- lightning_sdk/lightning_cloud/openapi/models/agent_service_agent_complete_part_body.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/{multipartuploads_upload_id_body.py → agent_service_agent_upload_part_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{id_multipartuploads_body.py → agent_service_create_agent_multipart_upload_body.py} +14 -14
- lightning_sdk/lightning_cloud/openapi/models/{jobs_id_body.py → agent_service_update_agent_job_body.py} +30 -30
- lightning_sdk/lightning_cloud/openapi/models/{id_artifacts_body.py → agent_service_upload_agent_job_artifact_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{id_output_body.py → agent_service_upload_agent_job_output_body.py} +18 -18
- lightning_sdk/lightning_cloud/openapi/models/{id_contactowner_body.py → assistants_service_contact_assistant_owner_body.py} +14 -14
- lightning_sdk/lightning_cloud/openapi/models/{project_id_agents_body.py → assistants_service_create_assistant_body.py} +74 -74
- lightning_sdk/lightning_cloud/openapi/models/{project_id_agentmanagedendpoints_body.py → assistants_service_create_assistant_managed_endpoint_body.py} +14 -14
- lightning_sdk/lightning_cloud/openapi/models/{message_id_actions_body.py → assistants_service_create_conversation_message_action_body.py} +28 -26
- lightning_sdk/lightning_cloud/openapi/models/{models_model_id_body.py → assistants_service_create_model_metrics_body.py} +26 -26
- lightning_sdk/lightning_cloud/openapi/models/{assistant_id_conversations_body.py → assistants_service_start_conversation_body.py} +74 -74
- lightning_sdk/lightning_cloud/openapi/models/{agents_id_body.py → assistants_service_update_assistant_body.py} +102 -102
- lightning_sdk/lightning_cloud/openapi/models/{agentmanagedendpoints_id_body.py → assistants_service_update_assistant_managed_endpoint_body.py} +42 -42
- lightning_sdk/lightning_cloud/openapi/models/{models_id_body.py → assistants_service_update_assistant_managed_endpoint_model_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/assistants_service_update_conversation_body.py +149 -0
- lightning_sdk/lightning_cloud/openapi/models/{conversations_id_body1.py → assistants_service_update_conversation_like_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{id_content_body.py → assistants_service_update_conversation_message_content_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{messages_id_body.py → assistants_service_update_conversation_message_like_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/assistants_service_validate_assistant_status_body.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/assistants_service_validate_managed_model_body.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/{user_id_upgradetrigger_body.py → billing_service_create_billing_upgrade_trigger_record_body.py} +22 -22
- lightning_sdk/lightning_cloud/openapi/models/{billing_checkout_body.py → billing_service_create_org_checkout_session_body.py} +18 -18
- lightning_sdk/lightning_cloud/openapi/models/{billing_transfer_body.py → billing_service_transfer_org_balance_body.py} +14 -14
- lightning_sdk/lightning_cloud/openapi/models/{billing_transfer_body1.py → billing_service_transfer_project_balance_body.py} +18 -18
- lightning_sdk/lightning_cloud/openapi/models/{blogposts_id_body.py → blog_posts_service_update_blog_post_body.py} +38 -38
- lightning_sdk/lightning_cloud/openapi/models/{update.py → cloud_space_environment_template_service_update_cloud_space_environment_template_body.py} +58 -58
- lightning_sdk/lightning_cloud/openapi/models/{apps_id_body1.py → cloud_space_service_create_cloud_space_app_instance_body.py} +34 -34
- lightning_sdk/lightning_cloud/openapi/models/{project_id_cloudspaces_body.py → cloud_space_service_create_cloud_space_body.py} +78 -78
- lightning_sdk/lightning_cloud/openapi/models/{cloudspace_id_metric_body.py → cloud_space_service_create_cloud_space_instance_metric_body.py} +22 -22
- lightning_sdk/lightning_cloud/openapi/models/{cloud_space_id_versions_body.py → cloud_space_service_create_cloud_space_version_body.py} +54 -54
- lightning_sdk/lightning_cloud/openapi/models/{cloud_space_id_versionpublications_body.py → cloud_space_service_create_cloud_space_version_publication_body.py} +18 -18
- lightning_sdk/lightning_cloud/openapi/models/{cloudspace_id_runs_body.py → cloud_space_service_create_lightning_run_body.py} +86 -86
- lightning_sdk/lightning_cloud/openapi/models/{id_get_body.py → cloud_space_service_create_lightning_run_instance_body.py} +58 -58
- lightning_sdk/lightning_cloud/openapi/models/{id_engage_body1.py → cloud_space_service_engage_cloud_space_body.py} +14 -14
- lightning_sdk/lightning_cloud/openapi/models/{id_execute_body1.py → cloud_space_service_execute_command_in_cloud_space_body.py} +18 -18
- lightning_sdk/lightning_cloud/openapi/models/{id_execute_body.py → cloud_space_service_execute_in_cloud_space_session_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{id_fork_body.py → cloud_space_service_fork_cloud_space_app_instance_body.py} +14 -14
- lightning_sdk/lightning_cloud/openapi/models/{id_fork_body1.py → cloud_space_service_fork_cloud_space_body.py} +22 -22
- lightning_sdk/lightning_cloud/openapi/models/cloud_space_service_keep_alive_cloud_space_instance_body.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/{cluster_id_proxies_body.py → cloud_space_service_publish_cloud_space_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{id_index_body1.py → cloud_space_service_refresh_cloud_space_index_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{cloudspace_id_systemmetrics_body.py → cloud_space_service_report_cloud_space_instance_system_metrics_body.py} +14 -14
- lightning_sdk/lightning_cloud/openapi/models/cloud_space_service_request_cloud_space_access_body.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/{id_start_body.py → cloud_space_service_start_cloud_space_instance_body.py} +14 -14
- lightning_sdk/lightning_cloud/openapi/models/{id_transfer_body.py → cloud_space_service_transfer_cloud_space_body.py} +18 -18
- lightning_sdk/lightning_cloud/openapi/models/{apps_id_body.py → cloud_space_service_update_cloud_space_app_body.py} +86 -86
- lightning_sdk/lightning_cloud/openapi/models/{cloudspaces_id_body.py → cloud_space_service_update_cloud_space_body.py} +114 -114
- lightning_sdk/lightning_cloud/openapi/models/{id_collaborate_body.py → cloud_space_service_update_cloud_space_collab_body.py} +18 -18
- lightning_sdk/lightning_cloud/openapi/models/{conversations_id_body.py → cloud_space_service_update_cloud_space_ide_body.py} +21 -21
- lightning_sdk/lightning_cloud/openapi/models/{id_index_body.py → cloud_space_service_update_cloud_space_index_body.py} +18 -18
- lightning_sdk/lightning_cloud/openapi/models/{id_codeconfig_body.py → cloud_space_service_update_cloud_space_instance_config_body.py} +22 -22
- lightning_sdk/lightning_cloud/openapi/models/{id_publications_body.py → cloud_space_service_update_cloud_space_publication_body.py} +14 -14
- lightning_sdk/lightning_cloud/openapi/models/{id_sleepconfig_body.py → cloud_space_service_update_cloud_space_sleep_config_body.py} +18 -18
- lightning_sdk/lightning_cloud/openapi/models/{versions_id_body.py → cloud_space_service_update_cloud_space_version_body.py} +46 -46
- lightning_sdk/lightning_cloud/openapi/models/{cloud_space_id_versionpublications_body1.py → cloud_space_service_update_cloud_space_version_publication_body.py} +18 -18
- lightning_sdk/lightning_cloud/openapi/models/{dataset_id_visibility_body.py → cloud_space_service_update_cloud_space_visibility_body.py} +14 -14
- lightning_sdk/lightning_cloud/openapi/models/{user_user_id_body.py → cloudy_service_update_user_cloudy_settings_body.py} +22 -22
- lightning_sdk/lightning_cloud/openapi/models/{cluster_id_capacityreservations_body.py → cluster_service_create_cluster_capacity_reservation_body.py} +42 -42
- lightning_sdk/lightning_cloud/openapi/models/{id_publications_body1.py → cluster_service_create_cluster_proxy_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{cluster_id_usagerestrictions_body.py → cluster_service_create_cluster_usage_restriction_body.py} +22 -22
- lightning_sdk/lightning_cloud/openapi/models/{create_machine_request_represents_the_request_to_create_a_machine.py → cluster_service_create_machine_body.py} +62 -62
- lightning_sdk/lightning_cloud/openapi/models/{project_id_clusters_body.py → cluster_service_create_project_cluster_body.py} +14 -14
- lightning_sdk/lightning_cloud/openapi/models/{server_id_alerts_body.py → cluster_service_create_server_alert_body.py} +22 -22
- lightning_sdk/lightning_cloud/openapi/models/cluster_service_interrupt_server_body.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/{cluster_id_capacityblock_body.py → cluster_service_purchase_capacity_block_body.py} +30 -30
- lightning_sdk/lightning_cloud/openapi/models/{servers_server_id_body.py → cluster_service_server_check_in_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/cluster_service_sleep_server_body.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/{clusters_id_body.py → cluster_service_update_cluster_body.py} +18 -18
- lightning_sdk/lightning_cloud/openapi/models/{usagerestrictions_id_body.py → cluster_service_update_cluster_usage_restriction_body.py} +22 -22
- lightning_sdk/lightning_cloud/openapi/models/{clusters_id_body1.py → cluster_service_update_project_cluster_body.py} +14 -14
- lightning_sdk/lightning_cloud/openapi/models/{create.py → data_connection_service_create_data_connection_body.py} +82 -82
- lightning_sdk/lightning_cloud/openapi/models/{id_index_body2.py → data_connection_service_refresh_data_connection_index_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{setup.py → data_connection_service_setup_data_connection_body.py} +14 -14
- lightning_sdk/lightning_cloud/openapi/models/{update1.py → data_connection_service_update_data_connection_body.py} +50 -50
- lightning_sdk/lightning_cloud/openapi/models/{validate.py → data_connection_service_validate_data_connection_body.py} +42 -42
- lightning_sdk/lightning_cloud/openapi/models/{project_id_datasets_body.py → dataset_service_create_dataset_body.py} +70 -70
- lightning_sdk/lightning_cloud/openapi/models/{datasets_id_body.py → dataset_service_update_dataset_body.py} +22 -22
- lightning_sdk/lightning_cloud/openapi/models/{id_engage_body.py → deployment_templates_service_engage_deployment_template_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{deploymenttemplates_id_body.py → deployment_templates_service_update_deployment_template_body.py} +70 -70
- lightning_sdk/lightning_cloud/openapi/models/{project_id_endpoints_body.py → endpoint_service_create_endpoint_body.py} +30 -30
- lightning_sdk/lightning_cloud/openapi/models/{endpoints_id_body.py → endpoint_service_update_endpoint_body.py} +62 -62
- lightning_sdk/lightning_cloud/openapi/models/{experiment_name_variant_name_body.py → experiments_service_assign_variant_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{incident_id_messages_body.py → incidents_service_create_incident_message_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{incidents_id_body.py → incidents_service_update_incident_body.py} +34 -34
- lightning_sdk/lightning_cloud/openapi/models/{messages_message_id_body.py → incidents_service_update_incident_message_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{deployment_id_alertingpolicies_body1.py → jobs_service_create_deployment_alerting_policy_body.py} +42 -42
- lightning_sdk/lightning_cloud/openapi/models/{create_deployment_request_defines_a_spec_for_the_job_that_allows_for_autoscaling_jobs.py → jobs_service_create_deployment_body.py} +70 -70
- lightning_sdk/lightning_cloud/openapi/models/{project_id_jobs_body.py → jobs_service_create_job_body.py} +18 -18
- lightning_sdk/lightning_cloud/openapi/models/{project_id_multimachinejobs_body.py → jobs_service_create_multi_machine_job_body.py} +26 -26
- lightning_sdk/lightning_cloud/openapi/models/{job_id_reportroutingtelemetry_body.py → jobs_service_report_deployment_routing_telemetry_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{job_id_systemmetrics_body.py → jobs_service_report_job_system_metrics_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{id_reportlogsactivity_body.py → jobs_service_report_logs_activity_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{id_reportrestarttimings_body.py → jobs_service_report_restart_timings_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/jobs_service_restore_deployment_release_body.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/{alertingevents_id_body.py → jobs_service_update_deployment_alerting_event_body.py} +54 -54
- lightning_sdk/lightning_cloud/openapi/models/jobs_service_update_deployment_alerting_events_bulk_body.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/{deployment_id_alertingpolicies_body.py → jobs_service_update_deployment_alerting_policy_body.py} +46 -46
- lightning_sdk/lightning_cloud/openapi/models/{deployments_id_body.py → jobs_service_update_deployment_body.py} +128 -126
- lightning_sdk/lightning_cloud/openapi/models/{id_visibility_body1.py → jobs_service_update_deployment_visibility_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{jobs_id_body1.py → jobs_service_update_job_body.py} +14 -14
- lightning_sdk/lightning_cloud/openapi/models/{id_index_body3.py → jobs_service_update_job_index_body.py} +18 -18
- lightning_sdk/lightning_cloud/openapi/models/{id_visibility_body.py → jobs_service_update_job_visibility_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{multimachinejobs_id_body.py → jobs_service_update_multi_machine_job_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{deployments_deployment_id_body.py → jobs_service_update_org_deployment_visibility_body.py} +14 -14
- lightning_sdk/lightning_cloud/openapi/models/{kubernetestemplates_id_body.py → k8_s_cluster_service_create_kubernetes_template_body.py} +22 -22
- lightning_sdk/lightning_cloud/openapi/models/{id_render_body.py → k8_s_cluster_service_render_kubernetes_template_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{cluster_id_metrics_body.py → k8_s_cluster_service_report_k8_s_cluster_metrics_body.py} +42 -42
- lightning_sdk/lightning_cloud/openapi/models/{cluster_id_kubernetestemplates_body.py → k8_s_cluster_service_update_kubernetes_template_body.py} +22 -22
- lightning_sdk/lightning_cloud/openapi/models/{appinstances_id_body.py → lightningapp_instance_service_update_lightningapp_instance_body.py} +18 -18
- lightning_sdk/lightning_cloud/openapi/models/{id_release_body.py → lightningapp_instance_service_update_lightningapp_instance_release_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{id_uploads_body.py → lightningapp_instance_service_upload_lightningapp_instance_artifact_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{project_id_getapp_body.py → lightningapp_v2_service_create_lightningapp_from_gallery_body.py} +30 -30
- lightning_sdk/lightning_cloud/openapi/models/{app_id_works_body.py → lightningwork_service_batch_update_lightningworks_body.py} +14 -14
- lightning_sdk/lightning_cloud/openapi/models/{spec_lightningapp_instance_id_works_body.py → lightningwork_service_create_lightningwork_body.py} +24 -24
- lightning_sdk/lightning_cloud/openapi/models/lightningwork_service_create_lightningwork_body_spec.py +487 -0
- lightning_sdk/lightning_cloud/openapi/models/{works_id_body.py → lightningwork_service_update_lightningwork_body.py} +16 -16
- lightning_sdk/lightning_cloud/openapi/models/{upload_id_complete_body1.py → lit_dataset_service_complete_lit_dataset_multi_part_upload_body.py} +14 -14
- lightning_sdk/lightning_cloud/openapi/models/lit_dataset_service_complete_lit_dataset_upload_body.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/{project_id_models_body.py → lit_dataset_service_create_lit_dataset_body.py} +26 -26
- lightning_sdk/lightning_cloud/openapi/models/{version_uploads_body1.py → lit_dataset_service_create_lit_dataset_multi_part_upload_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{dataset_id_versions_body.py → lit_dataset_service_create_lit_dataset_version_body.py} +16 -14
- lightning_sdk/lightning_cloud/openapi/models/{upload_id_parts_body.py → lit_dataset_service_get_lit_dataset_file_upload_urls_body.py} +14 -14
- lightning_sdk/lightning_cloud/openapi/models/{version_default_body.py → lit_dataset_service_set_lit_dataset_default_version_body.py} +14 -14
- lightning_sdk/lightning_cloud/openapi/models/{litdatasets_dataset_id_body.py → lit_dataset_service_update_lit_dataset_body.py} +14 -14
- lightning_sdk/lightning_cloud/openapi/models/{versions_version_body.py → lit_dataset_service_update_lit_dataset_version_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{id_visibility_body2.py → lit_dataset_service_update_lit_dataset_visibility_body.py} +14 -14
- lightning_sdk/lightning_cloud/openapi/models/{loggermetrics_id_body.py → lit_logger_service_append_logger_metrics_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{metrics_stream_id_loggerartifacts_body.py → lit_logger_service_create_logger_artifact_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{metricsstream_create_body.py → lit_logger_service_create_metrics_stream_body.py} +62 -62
- lightning_sdk/lightning_cloud/openapi/models/{metricsstream_delete_body.py → lit_logger_service_delete_metrics_stream_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{metricsstream_id_body.py → lit_logger_service_update_metrics_stream_body.py} +22 -22
- lightning_sdk/lightning_cloud/openapi/models/{model_id_visibility_body.py → lit_logger_service_update_metrics_stream_visibility_body.py} +14 -14
- lightning_sdk/lightning_cloud/openapi/models/{litloggermetrics_id_body.py → lit_logger_service_update_shared_metrics_stream_body.py} +18 -18
- lightning_sdk/lightning_cloud/openapi/models/{litpages_id_body.py → lit_page_service_update_lit_page_body.py} +42 -42
- lightning_sdk/lightning_cloud/openapi/models/{project_id_litregistry_body.py → lit_registry_service_create_lit_project_registry_body.py} +12 -12
- lightning_sdk/lightning_cloud/openapi/models/{litregistry_lit_repo_name_body.py → lit_registry_service_update_lit_repository_metadata_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/models_store_complete_model_upload_body.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/{upload_id_complete_body.py → models_store_complete_multi_part_upload_body.py} +14 -14
- lightning_sdk/lightning_cloud/openapi/models/{project_id_litdatasets_body.py → models_store_create_model_body.py} +26 -26
- lightning_sdk/lightning_cloud/openapi/models/{model_id_versions_body.py → models_store_create_model_version_body.py} +20 -18
- lightning_sdk/lightning_cloud/openapi/models/{version_uploads_body.py → models_store_create_multi_part_upload_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{upload_id_parts_body1.py → models_store_get_model_file_upload_urls_body.py} +14 -14
- lightning_sdk/lightning_cloud/openapi/models/{version_default_body1.py → models_store_set_model_default_version_body.py} +14 -14
- lightning_sdk/lightning_cloud/openapi/models/{models_model_id_body1.py → models_store_update_model_body.py} +14 -14
- lightning_sdk/lightning_cloud/openapi/models/{versions_version_body1.py → models_store_update_model_version_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{cloudspace_id_visibility_body.py → models_store_update_model_visibility_body.py} +14 -14
- lightning_sdk/lightning_cloud/openapi/models/{approveautojoindomain_domain_body.py → organizations_service_approve_auto_join_domain_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/organizations_service_auto_join_org_body.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/{org_id_memberships_body.py → organizations_service_create_org_membership_body.py} +22 -22
- lightning_sdk/lightning_cloud/openapi/models/{user_id_membershiprolebindings_body1.py → organizations_service_create_org_membership_role_binding_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{org_id_roles_body.py → organizations_service_create_org_role_body.py} +18 -18
- lightning_sdk/lightning_cloud/openapi/models/{orgs_id_body.py → organizations_service_update_organization_body.py} +162 -162
- lightning_sdk/lightning_cloud/openapi/models/{credits_autoreplenish_body.py → organizations_service_update_organization_credits_auto_replenish_body.py} +18 -18
- lightning_sdk/lightning_cloud/openapi/models/{validateautojoindomain_domain_body.py → organizations_service_validate_auto_join_domain_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{pipelinetemplates_id_body.py → pipeline_templates_service_update_pipeline_template_body.py} +42 -42
- lightning_sdk/lightning_cloud/openapi/models/{pipelines_id_body1.py → pipelines_service_create_child_pipeline_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{project_id_pipelines_body.py → pipelines_service_create_pipeline_body.py} +30 -30
- lightning_sdk/lightning_cloud/openapi/models/{pipelines_id_body.py → pipelines_service_update_pipeline_body.py} +74 -74
- lightning_sdk/lightning_cloud/openapi/models/{license_key_validate_body.py → product_license_service_validate_license_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{profiler_captures_body.py → profiler_service_create_profiler_capture_body.py} +34 -34
- lightning_sdk/lightning_cloud/openapi/models/{captures_id_body.py → profiler_service_update_profiler_capture_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{profiler_enabled_body.py → profiler_service_update_profiler_enabled_body.py} +14 -14
- lightning_sdk/lightning_cloud/openapi/models/{project_id_projectclustersbindings_body.py → projects_service_create_project_cluster_binding_body.py} +14 -14
- lightning_sdk/lightning_cloud/openapi/models/{project_id_memberships_body.py → projects_service_create_project_membership_body.py} +22 -22
- lightning_sdk/lightning_cloud/openapi/models/{user_id_membershiprolebindings_body.py → projects_service_create_project_membership_role_binding_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{projects_project_id_body.py → projects_service_create_project_role_body.py} +18 -18
- lightning_sdk/lightning_cloud/openapi/models/{project_id_invite_body.py → projects_service_invite_project_membership_body.py} +18 -18
- lightning_sdk/lightning_cloud/openapi/models/{projects_id_body.py → projects_service_update_project_body.py} +110 -110
- lightning_sdk/lightning_cloud/openapi/models/{project_tab_management_messages.py → projects_service_update_project_tab_order_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/protobuf_any.py +7 -58
- lightning_sdk/lightning_cloud/openapi/models/quest_service_complete_quest_body.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/quest_service_start_quest_body.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/{project_id_schedules_body.py → schedules_service_create_schedule_body.py} +42 -42
- lightning_sdk/lightning_cloud/openapi/models/schedules_service_create_schedule_run_body.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/{schedules_id_body.py → schedules_service_update_schedule_body.py} +70 -70
- lightning_sdk/lightning_cloud/openapi/models/{project_id_secrets_body.py → secret_service_create_secret_body.py} +18 -18
- lightning_sdk/lightning_cloud/openapi/models/{secrets_id_body1.py → secret_service_update_secret_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{secrets_id_body.py → secret_service_update_user_secret_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{cluster_id_slurmusers_body.py → slurm_jobs_user_service_create_slurm_cluster_user_body.py} +22 -22
- lightning_sdk/lightning_cloud/openapi/models/{slurm_jobs_body.py → slurm_jobs_user_service_create_user_slurm_job_body.py} +54 -54
- lightning_sdk/lightning_cloud/openapi/models/{jobs_id_body2.py → slurm_jobs_user_service_update_user_slurm_job_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{id_action_body.py → slurm_jobs_user_service_user_slurm_job_action_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{project_id_snowflake_body.py → snowflake_service_create_snowflake_connection_body.py} +10 -10
- lightning_sdk/lightning_cloud/openapi/models/{query_query_id_body.py → snowflake_service_execute_snowflake_query_body.py} +18 -18
- lightning_sdk/lightning_cloud/openapi/models/{snowflake_export_body.py → snowflake_service_export_snowflake_query_body.py} +38 -38
- lightning_sdk/lightning_cloud/openapi/models/{snowflake_query_body.py → snowflake_service_update_snowflake_query_body.py} +18 -18
- lightning_sdk/lightning_cloud/openapi/models/storage_service_abort_storage_transfer_body.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/{storage_complete_body.py → storage_service_complete_upload_project_artifact_body.py} +30 -30
- lightning_sdk/lightning_cloud/openapi/models/{project_id_storagetransfers_body.py → storage_service_create_storage_transfer_body.py} +18 -18
- lightning_sdk/lightning_cloud/openapi/models/storage_service_pause_storage_transfer_body.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/storage_service_resume_storage_transfer_body.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/{project_id_storage_body.py → storage_service_upload_project_artifact_body.py} +22 -22
- lightning_sdk/lightning_cloud/openapi/models/{uploads_upload_id_body1.py → storage_service_upload_project_artifact_parts_body.py} +22 -22
- lightning_sdk/lightning_cloud/openapi/models/{uploads_upload_id_body.py → storage_service_upload_temporary_artifact_parts_body.py} +14 -14
- lightning_sdk/lightning_cloud/openapi/models/{storagetransfers_validate_body.py → storage_service_validate_storage_transfer_body.py} +14 -14
- lightning_sdk/lightning_cloud/openapi/models/{studioapp_jobs_body.py → studio_jobs_service_create_studio_job_body.py} +34 -34
- lightning_sdk/lightning_cloud/openapi/models/{jobs_id_body3.py → studio_jobs_service_update_studio_job_body.py} +14 -14
- lightning_sdk/lightning_cloud/openapi/models/{user_id_affiliatelinks_body.py → user_service_create_affiliate_link_body.py} +30 -30
- lightning_sdk/lightning_cloud/openapi/models/{affiliatelinks_id_body.py → user_service_update_affiliate_link_body.py} +14 -14
- lightning_sdk/lightning_cloud/openapi/models/{credits_autoreplenish_body1.py → user_service_update_user_credits_auto_replenish_body.py} +18 -18
- lightning_sdk/lightning_cloud/openapi/models/user_service_upload_settings_body.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_autoscaling_target_metric.py +2 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_aws_data_connection.py +2 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_billing_subscription.py +2 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_conversation.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_conversation_response_chunk.py +2 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_create_checkout_session_request.py +4 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_data_connection.py +6 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_deployment.py +2 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_deployment_alerting_policy_type.py +2 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_deployment_event.py +2 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_experiment.py +2 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_external_cluster_spec.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_generic_job.py +79 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_generic_job_spec.py +253 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_get_user_response.py +2 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_group_pod_metrics.py +6 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_health_check_http_get.py +79 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_incident.py +2 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_job.py +6 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_job_health_check_config.py +55 -3
- lightning_sdk/lightning_cloud/openapi/models/v1_job_spec.py +59 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_v1.py +53 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_lit_dataset_version_archive.py +2 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_machine.py +79 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_machine_direct_v1.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_message_action.py +2 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_model_version_archive.py +2 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_multi_machine_job_event.py +2 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_pipeline_step_status.py +2 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_server_alert_severity.py +1 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_slurm_v1.py +4 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_slurm_v1_status.py +2 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_update_deployment_alerting_events_bulk_response.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_update_user_request.py +2 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_usage_report.py +6 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +183 -79
- lightning_sdk/lightning_cloud/openapi/models/v1_user_requested_compute_config.py +2 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_user_requested_flow_compute_config.py +2 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_volume.py +53 -1
- lightning_sdk/lightning_cloud/openapi/models/{volumes_id_body.py → volume_service_update_volume_body.py} +10 -10
- lightning_sdk/lightning_cloud/utils/data_connection.py +14 -8
- lightning_sdk/lightning_cloud/utils/dataset.py +3 -5
- lightning_sdk/plugin.py +2 -2
- lightning_sdk/teamspace.py +0 -1
- {lightning_sdk-2025.12.5.dist-info → lightning_sdk-2025.12.9.dist-info}/METADATA +1 -1
- {lightning_sdk-2025.12.5.dist-info → lightning_sdk-2025.12.9.dist-info}/RECORD +309 -286
- {lightning_sdk-2025.12.5.dist-info → lightning_sdk-2025.12.9.dist-info}/LICENSE +0 -0
- {lightning_sdk-2025.12.5.dist-info → lightning_sdk-2025.12.9.dist-info}/WHEEL +0 -0
- {lightning_sdk-2025.12.5.dist-info → lightning_sdk-2025.12.9.dist-info}/entry_points.txt +0 -0
- {lightning_sdk-2025.12.5.dist-info → lightning_sdk-2025.12.9.dist-info}/top_level.txt +0 -0
lightning_sdk/__version__.py
CHANGED
lightning_sdk/api/agents_api.py
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
from typing import List, Optional
|
|
2
2
|
|
|
3
3
|
from lightning_sdk.lightning_cloud.openapi import (
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
AssistantsServiceUpdateAssistantBody,
|
|
5
|
+
EndpointServiceUpdateEndpointBody,
|
|
6
6
|
V1Assistant,
|
|
7
7
|
V1Endpoint,
|
|
8
8
|
V1PromptSuggestion,
|
|
@@ -46,7 +46,7 @@ class AgentApi:
|
|
|
46
46
|
) -> V1Assistant:
|
|
47
47
|
"""Update the agent with provided details."""
|
|
48
48
|
agent = self.get_agent(agent_id)
|
|
49
|
-
body =
|
|
49
|
+
body = AssistantsServiceUpdateAssistantBody(
|
|
50
50
|
cloudspace_id=agent.cloudspace_id,
|
|
51
51
|
cluster_id=agent.cluster_id,
|
|
52
52
|
description=agent.description,
|
|
@@ -92,7 +92,7 @@ class AgentApi:
|
|
|
92
92
|
"""Update the agent endpoint with provided details."""
|
|
93
93
|
endpoint = self._get_agent_endpoint(teampsace_id=teamspace_id, endpoint_id=endpoint_id)
|
|
94
94
|
|
|
95
|
-
body =
|
|
95
|
+
body = EndpointServiceUpdateEndpointBody(
|
|
96
96
|
name=endpoint.name,
|
|
97
97
|
openai=V1UpstreamOpenAI(api_key=endpoint.openai.api_key, base_url=endpoint.openai.base_url),
|
|
98
98
|
)
|
lightning_sdk/api/ai_hub_api.py
CHANGED
|
@@ -7,7 +7,7 @@ import backoff
|
|
|
7
7
|
from lightning_sdk.api.deployment_api import apply_change
|
|
8
8
|
from lightning_sdk.api.utils import _machine_to_compute_name
|
|
9
9
|
from lightning_sdk.lightning_cloud.openapi.models import (
|
|
10
|
-
|
|
10
|
+
JobsServiceCreateDeploymentBody,
|
|
11
11
|
V1Deployment,
|
|
12
12
|
V1DeploymentTemplate,
|
|
13
13
|
V1DeploymentTemplateParameter,
|
|
@@ -158,7 +158,7 @@ class AIHubApi:
|
|
|
158
158
|
apply_change(template.spec_v2.job, "cluster_id", cloud_account)
|
|
159
159
|
return self._client.jobs_service_create_deployment(
|
|
160
160
|
project_id=project_id,
|
|
161
|
-
body=
|
|
161
|
+
body=JobsServiceCreateDeploymentBody(
|
|
162
162
|
autoscaling=template.spec_v2.autoscaling,
|
|
163
163
|
cluster_id=cloud_account,
|
|
164
164
|
endpoint=template.spec_v2.endpoint,
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
from typing import Any, List, Optional
|
|
2
2
|
|
|
3
|
+
from lightning_sdk.lightning_cloud.openapi import (
|
|
4
|
+
CloudSpaceEnvironmentTemplateServiceUpdateCloudSpaceEnvironmentTemplateBody as BaseStudioUpdateBody,
|
|
5
|
+
)
|
|
3
6
|
from lightning_sdk.lightning_cloud.openapi import (
|
|
4
7
|
V1CloudSpaceEnvironmentType,
|
|
5
8
|
V1ListCloudSpaceEnvironmentTemplatesResponse,
|
|
6
9
|
)
|
|
7
|
-
from lightning_sdk.lightning_cloud.openapi.models.update import Update as BaseStudioUpdateBody
|
|
8
10
|
from lightning_sdk.lightning_cloud.openapi.models.v1_cloud_space_environment_template import (
|
|
9
11
|
V1CloudSpaceEnvironmentTemplate,
|
|
10
12
|
)
|
|
@@ -3,7 +3,7 @@ from typing import Any, Dict, List, Literal, Optional, Union
|
|
|
3
3
|
|
|
4
4
|
from lightning_sdk.api.utils import _machine_to_compute_name, resolve_path_mappings
|
|
5
5
|
from lightning_sdk.lightning_cloud.openapi import (
|
|
6
|
-
|
|
6
|
+
JobsServiceCreateDeploymentBody,
|
|
7
7
|
V1AutoscalingSpec,
|
|
8
8
|
V1AutoscalingTargetMetric,
|
|
9
9
|
V1Deployment,
|
|
@@ -233,7 +233,7 @@ class DeploymentApi:
|
|
|
233
233
|
) -> V1Deployment:
|
|
234
234
|
return self._client.jobs_service_create_deployment(
|
|
235
235
|
project_id=deployment.project_id,
|
|
236
|
-
body=
|
|
236
|
+
body=JobsServiceCreateDeploymentBody(
|
|
237
237
|
cloudspace_id=deployment.cloudspace_id,
|
|
238
238
|
autoscaling=deployment.autoscaling,
|
|
239
239
|
cluster_id=deployment.spec.cluster_id,
|
lightning_sdk/api/job_api.py
CHANGED
|
@@ -11,11 +11,11 @@ from lightning_sdk.api.utils import (
|
|
|
11
11
|
from lightning_sdk.api.utils import _get_cloud_url as _cloud_url
|
|
12
12
|
from lightning_sdk.constants import __GLOBAL_LIGHTNING_UNIQUE_IDS_STORE__
|
|
13
13
|
from lightning_sdk.lightning_cloud.openapi import (
|
|
14
|
-
AppinstancesIdBody,
|
|
15
14
|
Externalv1LightningappInstance,
|
|
16
15
|
Externalv1Lightningwork,
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
JobsServiceCreateJobBody,
|
|
17
|
+
JobsServiceUpdateJobBody,
|
|
18
|
+
LightningappInstanceServiceUpdateLightningappInstanceBody,
|
|
19
19
|
V1CloudSpace,
|
|
20
20
|
V1ClusterAccelerator,
|
|
21
21
|
V1DownloadJobLogsResponse,
|
|
@@ -64,7 +64,9 @@ class JobApiV1:
|
|
|
64
64
|
return None
|
|
65
65
|
|
|
66
66
|
def stop_job(self, job_id: str, teamspace_id: str) -> None:
|
|
67
|
-
body =
|
|
67
|
+
body = LightningappInstanceServiceUpdateLightningappInstanceBody(
|
|
68
|
+
spec=V1LightningappInstanceSpec(desired_state=V1LightningappInstanceState.STOPPED)
|
|
69
|
+
)
|
|
68
70
|
self._client.lightningapp_instance_service_update_lightningapp_instance(
|
|
69
71
|
project_id=teamspace_id,
|
|
70
72
|
id=job_id,
|
|
@@ -293,7 +295,7 @@ class JobApiV2:
|
|
|
293
295
|
reuse_snapshot: bool,
|
|
294
296
|
max_runtime: Optional[int] = None,
|
|
295
297
|
machine_image_version: Optional[str] = None,
|
|
296
|
-
) ->
|
|
298
|
+
) -> JobsServiceCreateJobBody:
|
|
297
299
|
env_vars = []
|
|
298
300
|
if env is not None:
|
|
299
301
|
for k, v in env.items():
|
|
@@ -330,7 +332,7 @@ class JobApiV2:
|
|
|
330
332
|
machine_image_version=machine_image_version,
|
|
331
333
|
**optional_spec_kwargs,
|
|
332
334
|
)
|
|
333
|
-
return
|
|
335
|
+
return JobsServiceCreateJobBody(name=name, spec=spec)
|
|
334
336
|
|
|
335
337
|
def get_job_by_name(self, name: str, teamspace_id: str) -> V1Job:
|
|
336
338
|
job: V1Job = self._client.jobs_service_find_job(project_id=teamspace_id, name=name)
|
|
@@ -355,7 +357,7 @@ class JobApiV2:
|
|
|
355
357
|
return
|
|
356
358
|
|
|
357
359
|
if current_state != Status.Stopping:
|
|
358
|
-
update_body =
|
|
360
|
+
update_body = JobsServiceUpdateJobBody(state=self.v2_job_state_stop)
|
|
359
361
|
self._client.jobs_service_update_job(body=update_body, project_id=teamspace_id, id=job_id)
|
|
360
362
|
|
|
361
363
|
while True:
|
lightning_sdk/api/license_api.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from lightning_sdk.api.utils import _get_cloud_url as _cloud_url
|
|
2
2
|
from lightning_sdk.lightning_cloud.login import Auth
|
|
3
|
-
from lightning_sdk.lightning_cloud.openapi import
|
|
3
|
+
from lightning_sdk.lightning_cloud.openapi import ProductLicenseServiceApi, ProductLicenseServiceValidateLicenseBody
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
class LicenseApi:
|
|
@@ -26,7 +26,7 @@ class LicenseApi:
|
|
|
26
26
|
"""
|
|
27
27
|
try:
|
|
28
28
|
response = self._api.product_license_service_validate_license(
|
|
29
|
-
body=
|
|
29
|
+
body=ProductLicenseServiceValidateLicenseBody(product_id=product_id), license_key=license_key
|
|
30
30
|
)
|
|
31
31
|
return response.is_valid
|
|
32
32
|
except Exception:
|
lightning_sdk/api/mmt_api.py
CHANGED
|
@@ -12,8 +12,8 @@ from lightning_sdk.api.utils import _get_cloud_url as _cloud_url
|
|
|
12
12
|
from lightning_sdk.constants import __GLOBAL_LIGHTNING_UNIQUE_IDS_STORE__
|
|
13
13
|
from lightning_sdk.lightning_cloud.openapi import (
|
|
14
14
|
Externalv1LightningappInstance,
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
JobsServiceCreateMultiMachineJobBody,
|
|
16
|
+
JobsServiceUpdateMultiMachineJobBody,
|
|
17
17
|
V1CloudSpace,
|
|
18
18
|
V1EnvVar,
|
|
19
19
|
V1Job,
|
|
@@ -133,7 +133,7 @@ class MMTApiV2:
|
|
|
133
133
|
reuse_snapshot: bool,
|
|
134
134
|
max_runtime: Optional[int] = None,
|
|
135
135
|
machine_image_version: Optional[str] = None,
|
|
136
|
-
) ->
|
|
136
|
+
) -> JobsServiceCreateMultiMachineJobBody:
|
|
137
137
|
env_vars = []
|
|
138
138
|
if env is not None:
|
|
139
139
|
for k, v in env.items():
|
|
@@ -170,7 +170,7 @@ class MMTApiV2:
|
|
|
170
170
|
machine_image_version=machine_image_version,
|
|
171
171
|
**optional_spec_kwargs,
|
|
172
172
|
)
|
|
173
|
-
return
|
|
173
|
+
return JobsServiceCreateMultiMachineJobBody(
|
|
174
174
|
name=name, spec=spec, cluster_id=cloud_account or "", machines=num_machines
|
|
175
175
|
)
|
|
176
176
|
|
|
@@ -199,7 +199,7 @@ class MMTApiV2:
|
|
|
199
199
|
return
|
|
200
200
|
|
|
201
201
|
if current_state != Status.Stopped:
|
|
202
|
-
update_body =
|
|
202
|
+
update_body = JobsServiceUpdateMultiMachineJobBody(desired_state=V1MultiMachineJobState.STOP)
|
|
203
203
|
self._client.jobs_service_update_multi_machine_job(body=update_body, project_id=teamspace_id, id=job_id)
|
|
204
204
|
|
|
205
205
|
while True:
|
|
@@ -2,8 +2,8 @@ from typing import TYPE_CHECKING, List, Optional, Union
|
|
|
2
2
|
|
|
3
3
|
from lightning_sdk.api.cloud_account_api import CloudAccountApi
|
|
4
4
|
from lightning_sdk.lightning_cloud.openapi.models import (
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
PipelinesServiceCreatePipelineBody,
|
|
6
|
+
SchedulesServiceCreateScheduleBody,
|
|
7
7
|
V1DeletePipelineResponse,
|
|
8
8
|
V1Pipeline,
|
|
9
9
|
V1PipelineStep,
|
|
@@ -52,7 +52,7 @@ class PipelineApi:
|
|
|
52
52
|
schedules: List["Schedule"],
|
|
53
53
|
parent_pipeline_id: Optional[str],
|
|
54
54
|
) -> V1Pipeline:
|
|
55
|
-
body =
|
|
55
|
+
body = PipelinesServiceCreatePipelineBody(
|
|
56
56
|
name=name,
|
|
57
57
|
steps=steps,
|
|
58
58
|
shared_filesystem=self._prepare_shared_filesystem(shared_filesystem, steps, teamspace),
|
|
@@ -69,7 +69,7 @@ class PipelineApi:
|
|
|
69
69
|
|
|
70
70
|
if len(schedules):
|
|
71
71
|
for schedule in schedules:
|
|
72
|
-
body =
|
|
72
|
+
body = SchedulesServiceCreateScheduleBody(
|
|
73
73
|
cron_expression=schedule.cron_expression,
|
|
74
74
|
display_name=schedule.name,
|
|
75
75
|
resource_id=pipeline.id,
|
lightning_sdk/api/studio_api.py
CHANGED
|
@@ -25,15 +25,18 @@ from lightning_sdk.api.utils import (
|
|
|
25
25
|
from lightning_sdk.constants import _LIGHTNING_DEBUG
|
|
26
26
|
from lightning_sdk.lightning_cloud.login import Auth
|
|
27
27
|
from lightning_sdk.lightning_cloud.openapi import (
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
AssistantsServiceCreateAssistantBody,
|
|
29
|
+
AssistantsServiceCreateAssistantManagedEndpointBody,
|
|
30
|
+
CloudSpaceServiceCreateCloudSpaceBody,
|
|
31
|
+
CloudSpaceServiceCreateLightningRunBody,
|
|
32
|
+
CloudSpaceServiceExecuteCommandInCloudSpaceBody,
|
|
33
|
+
CloudSpaceServiceForkCloudSpaceBody,
|
|
34
|
+
CloudSpaceServiceStartCloudSpaceInstanceBody,
|
|
35
|
+
CloudSpaceServiceUpdateCloudSpaceBody,
|
|
36
|
+
CloudSpaceServiceUpdateCloudSpaceInstanceConfigBody,
|
|
37
|
+
CloudSpaceServiceUpdateCloudSpaceSleepConfigBody,
|
|
38
|
+
EndpointServiceCreateEndpointBody,
|
|
30
39
|
Externalv1LightningappInstance,
|
|
31
|
-
IdCodeconfigBody,
|
|
32
|
-
IdExecuteBody1,
|
|
33
|
-
IdForkBody1,
|
|
34
|
-
IdSleepconfigBody,
|
|
35
|
-
IdStartBody,
|
|
36
|
-
ProjectIdCloudspacesBody,
|
|
37
40
|
V1Assistant,
|
|
38
41
|
V1CloudSpace,
|
|
39
42
|
V1CloudSpaceInstanceConfig,
|
|
@@ -41,27 +44,20 @@ from lightning_sdk.lightning_cloud.openapi import (
|
|
|
41
44
|
V1CloudSpaceSourceType,
|
|
42
45
|
V1CloudSpaceState,
|
|
43
46
|
V1ClusterAccelerator,
|
|
47
|
+
V1Endpoint,
|
|
44
48
|
V1EndpointType,
|
|
45
49
|
V1EnvVar,
|
|
46
50
|
V1GetCloudSpaceInstanceStatusResponse,
|
|
47
51
|
V1GetLongRunningCommandInCloudSpaceResponse,
|
|
48
52
|
V1LoginRequest,
|
|
53
|
+
V1ManagedEndpoint,
|
|
54
|
+
V1ManagedModel,
|
|
49
55
|
V1Plugin,
|
|
50
56
|
V1PluginsListResponse,
|
|
51
57
|
V1UpstreamCloudSpace,
|
|
58
|
+
V1UpstreamManaged,
|
|
52
59
|
V1UserRequestedComputeConfig,
|
|
53
60
|
)
|
|
54
|
-
from lightning_sdk.lightning_cloud.openapi.models import ProjectIdEndpointsBody
|
|
55
|
-
from lightning_sdk.lightning_cloud.openapi.models.project_id_agentmanagedendpoints_body import (
|
|
56
|
-
ProjectIdAgentmanagedendpointsBody,
|
|
57
|
-
)
|
|
58
|
-
from lightning_sdk.lightning_cloud.openapi.models.project_id_agents_body import (
|
|
59
|
-
ProjectIdAgentsBody,
|
|
60
|
-
)
|
|
61
|
-
from lightning_sdk.lightning_cloud.openapi.models.v1_endpoint import V1Endpoint
|
|
62
|
-
from lightning_sdk.lightning_cloud.openapi.models.v1_managed_endpoint import V1ManagedEndpoint
|
|
63
|
-
from lightning_sdk.lightning_cloud.openapi.models.v1_managed_model import V1ManagedModel
|
|
64
|
-
from lightning_sdk.lightning_cloud.openapi.models.v1_upstream_managed import V1UpstreamManaged
|
|
65
61
|
from lightning_sdk.lightning_cloud.rest_client import LightningClient
|
|
66
62
|
from lightning_sdk.machine import Machine
|
|
67
63
|
|
|
@@ -132,7 +128,7 @@ class StudioApi:
|
|
|
132
128
|
cloud_space_environment_template_id: Optional[str] = None,
|
|
133
129
|
) -> V1CloudSpace:
|
|
134
130
|
"""Create a Studio with a given name in a given Teamspace on a possibly given cloud_account."""
|
|
135
|
-
body =
|
|
131
|
+
body = CloudSpaceServiceCreateCloudSpaceBody(
|
|
136
132
|
cluster_id=cloud_account,
|
|
137
133
|
name=name,
|
|
138
134
|
display_name=name,
|
|
@@ -144,7 +140,7 @@ class StudioApi:
|
|
|
144
140
|
)
|
|
145
141
|
studio = self._client.cloud_space_service_create_cloud_space(body, teamspace_id)
|
|
146
142
|
|
|
147
|
-
run_body =
|
|
143
|
+
run_body = CloudSpaceServiceCreateLightningRunBody(
|
|
148
144
|
cluster_id=studio.cluster_id,
|
|
149
145
|
local_source=True,
|
|
150
146
|
)
|
|
@@ -187,7 +183,7 @@ class StudioApi:
|
|
|
187
183
|
if max_runtime is not None:
|
|
188
184
|
optional_kwargs_compute_body["requested_run_duration_seconds"] = str(max_runtime)
|
|
189
185
|
self._client.cloud_space_service_start_cloud_space_instance(
|
|
190
|
-
|
|
186
|
+
CloudSpaceServiceStartCloudSpaceInstanceBody(
|
|
191
187
|
compute_config=V1UserRequestedComputeConfig(
|
|
192
188
|
name=_machine_to_compute_name(machine),
|
|
193
189
|
spot=interruptible,
|
|
@@ -223,7 +219,7 @@ class StudioApi:
|
|
|
223
219
|
if max_runtime is not None:
|
|
224
220
|
optional_kwargs_compute_body["requested_run_duration_seconds"] = str(max_runtime)
|
|
225
221
|
self._client.cloud_space_service_start_cloud_space_instance(
|
|
226
|
-
|
|
222
|
+
CloudSpaceServiceStartCloudSpaceInstanceBody(
|
|
227
223
|
compute_config=V1UserRequestedComputeConfig(
|
|
228
224
|
name=_machine_to_compute_name(machine),
|
|
229
225
|
spot=interruptible,
|
|
@@ -272,7 +268,9 @@ class StudioApi:
|
|
|
272
268
|
"""Switches given Studio to a new machine type."""
|
|
273
269
|
compute_name = _machine_to_compute_name(machine)
|
|
274
270
|
# TODO: UI sends disk size here, maybe we need to also?
|
|
275
|
-
body =
|
|
271
|
+
body = CloudSpaceServiceUpdateCloudSpaceInstanceConfigBody(
|
|
272
|
+
compute_config=V1UserRequestedComputeConfig(name=compute_name, spot=interruptible)
|
|
273
|
+
)
|
|
276
274
|
if cloud_account:
|
|
277
275
|
body.compute_config.cluster_override = cloud_account
|
|
278
276
|
self._client.cloud_space_service_update_cloud_space_instance_config(
|
|
@@ -516,7 +514,7 @@ class StudioApi:
|
|
|
516
514
|
timeout: wait for this many seconds for the command to finish.
|
|
517
515
|
"""
|
|
518
516
|
response_submit = self._client.cloud_space_service_execute_command_in_cloud_space(
|
|
519
|
-
|
|
517
|
+
CloudSpaceServiceExecuteCommandInCloudSpaceBody("; ".join(commands), detached=True),
|
|
520
518
|
project_id=teamspace_id,
|
|
521
519
|
id=studio_id,
|
|
522
520
|
)
|
|
@@ -556,7 +554,7 @@ class StudioApi:
|
|
|
556
554
|
def run_studio_commands(self, studio_id: str, teamspace_id: str, *commands: str) -> Tuple[str, int]:
|
|
557
555
|
"""Run given commands in a given Studio."""
|
|
558
556
|
response_submit = self._client.cloud_space_service_execute_command_in_cloud_space(
|
|
559
|
-
|
|
557
|
+
CloudSpaceServiceExecuteCommandInCloudSpaceBody("; ".join(commands), detached=True),
|
|
560
558
|
project_id=teamspace_id,
|
|
561
559
|
id=studio_id,
|
|
562
560
|
)
|
|
@@ -598,7 +596,7 @@ class StudioApi:
|
|
|
598
596
|
idle_shutdown_seconds: Optional[int] = None,
|
|
599
597
|
) -> V1CloudSpaceInstanceConfig:
|
|
600
598
|
"""Update the autoshutdown time and behaviour of the given Studio."""
|
|
601
|
-
body =
|
|
599
|
+
body = CloudSpaceServiceUpdateCloudSpaceSleepConfigBody(
|
|
602
600
|
disable_auto_shutdown=not enabled if enabled is not None else None,
|
|
603
601
|
idle_shutdown_seconds=idle_shutdown_seconds,
|
|
604
602
|
)
|
|
@@ -629,7 +627,9 @@ class StudioApi:
|
|
|
629
627
|
init_kwargs["org"] = OrgApi()._get_org_by_id(target_teamspace.owner_id).name
|
|
630
628
|
|
|
631
629
|
new_cloudspace = self._client.cloud_space_service_fork_cloud_space(
|
|
632
|
-
|
|
630
|
+
CloudSpaceServiceForkCloudSpaceBody(target_project_id=target_teamspace_id, new_name=new_name),
|
|
631
|
+
project_id=teamspace_id,
|
|
632
|
+
id=studio_id,
|
|
633
633
|
)
|
|
634
634
|
|
|
635
635
|
while self.get_studio_by_id(new_cloudspace.id, target_teamspace_id).state != V1CloudSpaceState.READY:
|
|
@@ -966,7 +966,7 @@ class StudioApi:
|
|
|
966
966
|
"""Starts a new port to the given Studio."""
|
|
967
967
|
endpoint = self._client.endpoint_service_create_endpoint(
|
|
968
968
|
project_id=teamspace_id,
|
|
969
|
-
body=
|
|
969
|
+
body=EndpointServiceCreateEndpointBody(
|
|
970
970
|
name=name,
|
|
971
971
|
ports=[str(port)],
|
|
972
972
|
cloudspace=V1UpstreamCloudSpace(
|
|
@@ -983,7 +983,7 @@ class StudioApi:
|
|
|
983
983
|
org_id = target_teamspace.owner_id
|
|
984
984
|
endpoint = self._client.endpoint_service_create_endpoint(
|
|
985
985
|
project_id=teamspace_id,
|
|
986
|
-
body=
|
|
986
|
+
body=EndpointServiceCreateEndpointBody(
|
|
987
987
|
ports=[str(port)],
|
|
988
988
|
cloudspace=V1UpstreamCloudSpace(
|
|
989
989
|
cloudspace_id=studio_id,
|
|
@@ -994,7 +994,7 @@ class StudioApi:
|
|
|
994
994
|
)
|
|
995
995
|
valid_url = endpoint.urls[0]
|
|
996
996
|
managed_endpoint = self._client.assistants_service_create_assistant_managed_endpoint(
|
|
997
|
-
body=
|
|
997
|
+
body=AssistantsServiceCreateAssistantManagedEndpointBody(
|
|
998
998
|
endpoint=V1ManagedEndpoint(
|
|
999
999
|
name=assistant_name,
|
|
1000
1000
|
base_url=valid_url + "/v1",
|
|
@@ -1009,7 +1009,7 @@ class StudioApi:
|
|
|
1009
1009
|
project_id=teamspace_id,
|
|
1010
1010
|
)
|
|
1011
1011
|
|
|
1012
|
-
body =
|
|
1012
|
+
body = AssistantsServiceCreateAssistantBody(
|
|
1013
1013
|
endpoint=V1Endpoint(
|
|
1014
1014
|
cloudspace=V1UpstreamCloudSpace(cloudspace_id=studio_id),
|
|
1015
1015
|
name=assistant_name,
|
|
@@ -1040,7 +1040,7 @@ class StudioApi:
|
|
|
1040
1040
|
)
|
|
1041
1041
|
|
|
1042
1042
|
def _update_cloudspace(self, studio: V1CloudSpace, teamspace_id: str, key: str, value: Any) -> None:
|
|
1043
|
-
body =
|
|
1043
|
+
body = CloudSpaceServiceUpdateCloudSpaceBody(
|
|
1044
1044
|
code_url=studio.code_url,
|
|
1045
1045
|
data_connection_mounts=studio.data_connection_mounts,
|
|
1046
1046
|
description=studio.description,
|
|
@@ -17,14 +17,14 @@ from lightning_sdk.api.utils import (
|
|
|
17
17
|
)
|
|
18
18
|
from lightning_sdk.lightning_cloud.login import Auth
|
|
19
19
|
from lightning_sdk.lightning_cloud.openapi import (
|
|
20
|
-
|
|
20
|
+
AssistantsServiceCreateAssistantBody,
|
|
21
|
+
DataConnectionServiceCreateDataConnectionBody,
|
|
21
22
|
Externalv1LightningappInstance,
|
|
22
|
-
ModelIdVersionsBody,
|
|
23
23
|
ModelsStoreApi,
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
ModelsStoreCreateModelBody,
|
|
25
|
+
ModelsStoreCreateModelVersionBody,
|
|
26
|
+
SecretServiceCreateSecretBody,
|
|
27
|
+
SecretServiceUpdateSecretBody,
|
|
28
28
|
V1Assistant,
|
|
29
29
|
V1CloudSpace,
|
|
30
30
|
V1ClusterAccelerator,
|
|
@@ -174,7 +174,7 @@ class TeamspaceApi:
|
|
|
174
174
|
|
|
175
175
|
([V1PromptSuggestion(content=suggestion) for suggestion in prompt_suggestions] if prompt_suggestions else None)
|
|
176
176
|
|
|
177
|
-
body =
|
|
177
|
+
body = AssistantsServiceCreateAssistantBody(
|
|
178
178
|
endpoint=endpoint,
|
|
179
179
|
name=name,
|
|
180
180
|
model=model,
|
|
@@ -209,12 +209,14 @@ class TeamspaceApi:
|
|
|
209
209
|
models = self.models_api.models_store_list_models(project_id=teamspace_id, name=name).models
|
|
210
210
|
if len(models) == 0:
|
|
211
211
|
return self.models_api.models_store_create_model(
|
|
212
|
-
body=
|
|
212
|
+
body=ModelsStoreCreateModelBody(
|
|
213
|
+
cluster_id=cloud_account, metadata=metadata, name=name, private=private
|
|
214
|
+
),
|
|
213
215
|
project_id=teamspace_id,
|
|
214
216
|
)
|
|
215
217
|
assert len(models) == 1, "Multiple models with the same name found"
|
|
216
218
|
return self.models_api.models_store_create_model_version(
|
|
217
|
-
body=
|
|
219
|
+
body=ModelsStoreCreateModelVersionBody(cluster_id=cloud_account, version=version),
|
|
218
220
|
project_id=teamspace_id,
|
|
219
221
|
model_id=models[0].id,
|
|
220
222
|
)
|
|
@@ -376,7 +378,6 @@ class TeamspaceApi:
|
|
|
376
378
|
path: str,
|
|
377
379
|
target_path: str,
|
|
378
380
|
teamspace_id: str,
|
|
379
|
-
cloud_account: str,
|
|
380
381
|
progress_bar: bool = True,
|
|
381
382
|
) -> None:
|
|
382
383
|
"""Downloads a given file in Teamspace drive to a target location."""
|
|
@@ -385,19 +386,29 @@ class TeamspaceApi:
|
|
|
385
386
|
auth.authenticate()
|
|
386
387
|
token = self._client.auth_service_login(V1LoginRequest(auth.api_key)).token
|
|
387
388
|
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
389
|
+
cluster_ids = [ca.cluster_id for ca in self.list_cloud_accounts(teamspace_id)]
|
|
390
|
+
|
|
391
|
+
found = False
|
|
392
|
+
for cluster_id in cluster_ids:
|
|
393
|
+
query_params = {
|
|
394
|
+
"clusterId": cluster_id,
|
|
395
|
+
"key": _resolve_teamspace_remote_path(path),
|
|
396
|
+
"token": token,
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
r = requests.get(
|
|
400
|
+
f"{self._client.api_client.configuration.host}/v1/projects/{teamspace_id}/artifacts/download",
|
|
401
|
+
params=query_params,
|
|
402
|
+
stream=True,
|
|
403
|
+
)
|
|
404
|
+
|
|
405
|
+
if r.status_code == 200:
|
|
406
|
+
found = True
|
|
407
|
+
break
|
|
408
|
+
|
|
409
|
+
if not found:
|
|
410
|
+
raise FileNotFoundError(f"The provided path does not exist in the teamspace: {path}")
|
|
393
411
|
|
|
394
|
-
r = requests.get(
|
|
395
|
-
f"{self._client.api_client.configuration.host}/v1/projects/{teamspace_id}/artifacts/download",
|
|
396
|
-
params=query_params,
|
|
397
|
-
stream=True,
|
|
398
|
-
)
|
|
399
|
-
if r.status_code == 404:
|
|
400
|
-
raise FileNotFoundError(f"File {path} not found")
|
|
401
412
|
total_length = int(r.headers.get("content-length"))
|
|
402
413
|
|
|
403
414
|
if progress_bar:
|
|
@@ -473,7 +484,7 @@ class TeamspaceApi:
|
|
|
473
484
|
|
|
474
485
|
def _update_secret(self, teamspace_id: str, secret_id: str, value: str) -> None:
|
|
475
486
|
self._client.secret_service_update_secret(
|
|
476
|
-
body=
|
|
487
|
+
body=SecretServiceUpdateSecretBody(value=value),
|
|
477
488
|
project_id=teamspace_id,
|
|
478
489
|
id=secret_id,
|
|
479
490
|
)
|
|
@@ -485,7 +496,8 @@ class TeamspaceApi:
|
|
|
485
496
|
value: str,
|
|
486
497
|
) -> None:
|
|
487
498
|
self._client.secret_service_create_secret(
|
|
488
|
-
body=
|
|
499
|
+
body=SecretServiceCreateSecretBody(name=key, value=value, type=V1SecretType.UNSPECIFIED),
|
|
500
|
+
project_id=teamspace_id,
|
|
489
501
|
)
|
|
490
502
|
|
|
491
503
|
def verify_secret_name(self, name: str) -> bool:
|
|
@@ -497,7 +509,7 @@ class TeamspaceApi:
|
|
|
497
509
|
return re.match(pattern, name) is not None
|
|
498
510
|
|
|
499
511
|
def new_folder(self, teamspace_id: str, name: str, cluster: Optional[V1ExternalCluster]) -> None:
|
|
500
|
-
create_request =
|
|
512
|
+
create_request = DataConnectionServiceCreateDataConnectionBody(
|
|
501
513
|
name=name,
|
|
502
514
|
create_resources=True,
|
|
503
515
|
force=True,
|
|
@@ -520,7 +532,7 @@ class TeamspaceApi:
|
|
|
520
532
|
def new_connection(
|
|
521
533
|
self, teamspace_id: str, name: str, source: str, cluster: V1ExternalCluster, writable: bool, region: str
|
|
522
534
|
) -> None:
|
|
523
|
-
create_request =
|
|
535
|
+
create_request = DataConnectionServiceCreateDataConnectionBody(
|
|
524
536
|
name=name,
|
|
525
537
|
create_resources=False,
|
|
526
538
|
force=True,
|
lightning_sdk/api/user_api.py
CHANGED
|
@@ -3,7 +3,7 @@ from typing import Dict, List, Optional, Union
|
|
|
3
3
|
|
|
4
4
|
from lightning_sdk.lightning_cloud.login import Auth
|
|
5
5
|
from lightning_sdk.lightning_cloud.openapi import (
|
|
6
|
-
|
|
6
|
+
SecretServiceUpdateUserSecretBody,
|
|
7
7
|
V1CloudSpace,
|
|
8
8
|
V1CreateUserSecretRequest,
|
|
9
9
|
V1GetUserResponse,
|
|
@@ -105,7 +105,7 @@ class UserApi:
|
|
|
105
105
|
|
|
106
106
|
def _update_secret(self, secret_id: str, value: str) -> None:
|
|
107
107
|
self._client.secret_service_update_user_secret(
|
|
108
|
-
body=
|
|
108
|
+
body=SecretServiceUpdateUserSecretBody(value=value),
|
|
109
109
|
id=secret_id,
|
|
110
110
|
)
|
|
111
111
|
|
lightning_sdk/api/utils.py
CHANGED
|
@@ -17,13 +17,16 @@ from tqdm.auto import tqdm
|
|
|
17
17
|
from lightning_sdk.constants import __GLOBAL_LIGHTNING_UNIQUE_IDS_STORE__, _LIGHTNING_DEBUG
|
|
18
18
|
from lightning_sdk.lightning_cloud.openapi import (
|
|
19
19
|
CloudSpaceServiceApi,
|
|
20
|
+
CloudSpaceServiceCreateCloudSpaceAppInstanceBody,
|
|
20
21
|
Externalv1LightningappInstance,
|
|
21
22
|
ModelsStoreApi,
|
|
22
|
-
|
|
23
|
-
|
|
23
|
+
ModelsStoreCompleteMultiPartUploadBody,
|
|
24
|
+
ModelsStoreCreateMultiPartUploadBody,
|
|
25
|
+
ModelsStoreGetModelFileUploadUrlsBody,
|
|
24
26
|
StorageServiceApi,
|
|
25
|
-
|
|
26
|
-
|
|
27
|
+
StorageServiceCompleteUploadProjectArtifactBody,
|
|
28
|
+
StorageServiceUploadProjectArtifactBody,
|
|
29
|
+
StorageServiceUploadProjectArtifactPartsBody,
|
|
27
30
|
V1CompletedPart,
|
|
28
31
|
V1CompleteUpload,
|
|
29
32
|
V1PathMapping,
|
|
@@ -31,20 +34,8 @@ from lightning_sdk.lightning_cloud.openapi import (
|
|
|
31
34
|
V1SignedUrl,
|
|
32
35
|
V1UploadProjectArtifactPartsResponse,
|
|
33
36
|
V1UploadProjectArtifactResponse,
|
|
34
|
-
VersionUploadsBody,
|
|
35
37
|
)
|
|
36
38
|
from lightning_sdk.lightning_cloud.openapi.models.v1_model_version_archive import V1ModelVersionArchive
|
|
37
|
-
|
|
38
|
-
try:
|
|
39
|
-
from lightning_sdk.lightning_cloud.openapi import AppsIdBody1 as AppsIdBody
|
|
40
|
-
except ImportError:
|
|
41
|
-
from lightning_sdk.lightning_cloud.openapi import AppsIdBody
|
|
42
|
-
|
|
43
|
-
try:
|
|
44
|
-
from lightning_sdk.lightning_cloud.openapi import UploadsUploadIdBody1 as UploadsUploadIdBody
|
|
45
|
-
except ImportError:
|
|
46
|
-
from lightning_sdk.lightning_cloud.openapi import UploadsUploadIdBody
|
|
47
|
-
|
|
48
39
|
from lightning_sdk.lightning_cloud.openapi.rest import ApiException
|
|
49
40
|
from lightning_sdk.lightning_cloud.rest_client import LightningClient
|
|
50
41
|
from lightning_sdk.machine import Machine
|
|
@@ -120,7 +111,7 @@ class _FileUploader:
|
|
|
120
111
|
|
|
121
112
|
def _multipart_upload(self, count: int) -> None:
|
|
122
113
|
"""Does a parallel multipart upload."""
|
|
123
|
-
body =
|
|
114
|
+
body = StorageServiceUploadProjectArtifactBody(cluster_id=self.cloud_account, filename=self.remote_path)
|
|
124
115
|
resp: V1UploadProjectArtifactResponse = self.client.storage_service_upload_project_artifact(
|
|
125
116
|
body=body, project_id=self.teamspace_id
|
|
126
117
|
)
|
|
@@ -135,7 +126,7 @@ class _FileUploader:
|
|
|
135
126
|
for batch in batched_indices:
|
|
136
127
|
completed.extend(self._process_upload_batch(executor=p, batch=batch, upload_id=resp.upload_id))
|
|
137
128
|
|
|
138
|
-
completed_body =
|
|
129
|
+
completed_body = StorageServiceCompleteUploadProjectArtifactBody(
|
|
139
130
|
cluster_id=self.cloud_account, filename=self.remote_path, parts=completed, upload_id=resp.upload_id
|
|
140
131
|
)
|
|
141
132
|
self.client.storage_service_complete_upload_project_artifact(body=completed_body, project_id=self.teamspace_id)
|
|
@@ -148,7 +139,9 @@ class _FileUploader:
|
|
|
148
139
|
|
|
149
140
|
def _request_urls(self, parts: List[int], upload_id: str) -> List[V1PresignedUrl]:
|
|
150
141
|
"""Requests urls for a batch of parts."""
|
|
151
|
-
body =
|
|
142
|
+
body = StorageServiceUploadProjectArtifactPartsBody(
|
|
143
|
+
filename=self.remote_path, parts=parts, cluster_id=self.cloud_account
|
|
144
|
+
)
|
|
152
145
|
resp: V1UploadProjectArtifactPartsResponse = self.client.storage_service_upload_project_artifact_parts(
|
|
153
146
|
body, self.teamspace_id, upload_id
|
|
154
147
|
)
|
|
@@ -244,7 +237,7 @@ class _ModelFileUploader:
|
|
|
244
237
|
|
|
245
238
|
def _multipart_upload(self, count: int) -> None:
|
|
246
239
|
"""Does a parallel multipart upload."""
|
|
247
|
-
body =
|
|
240
|
+
body = ModelsStoreCreateMultiPartUploadBody(filepath=self.remote_path)
|
|
248
241
|
resp = self.api.models_store_create_multi_part_upload(
|
|
249
242
|
body,
|
|
250
243
|
project_id=self.teamspace_id,
|
|
@@ -262,7 +255,7 @@ class _ModelFileUploader:
|
|
|
262
255
|
for batch in batched_indices:
|
|
263
256
|
completed.extend(self._process_upload_batch(executor=p, batch=batch, upload_id=resp.upload_id))
|
|
264
257
|
|
|
265
|
-
completed_body =
|
|
258
|
+
completed_body = ModelsStoreCompleteMultiPartUploadBody(filepath=self.remote_path, parts=completed)
|
|
266
259
|
self.api.models_store_complete_multi_part_upload(
|
|
267
260
|
completed_body,
|
|
268
261
|
project_id=self.teamspace_id,
|
|
@@ -279,7 +272,7 @@ class _ModelFileUploader:
|
|
|
279
272
|
|
|
280
273
|
def _request_urls(self, parts: List[int], upload_id: str) -> List[V1SignedUrl]:
|
|
281
274
|
"""Requests urls for a batch of parts."""
|
|
282
|
-
body =
|
|
275
|
+
body = ModelsStoreGetModelFileUploadUrlsBody(filepath=self.remote_path, parts=parts)
|
|
283
276
|
resp = self.api.models_store_get_model_file_upload_urls(
|
|
284
277
|
body,
|
|
285
278
|
project_id=self.teamspace_id,
|
|
@@ -363,7 +356,7 @@ def _sanitize_studio_remote_path(path: str, studio_id: str) -> str:
|
|
|
363
356
|
|
|
364
357
|
|
|
365
358
|
def _resolve_teamspace_remote_path(path: str) -> str:
|
|
366
|
-
return f"/Uploads/{path.replace('/teamspace/
|
|
359
|
+
return f"/Uploads/{path.replace('/teamspace/uploads/', '')}"
|
|
367
360
|
|
|
368
361
|
|
|
369
362
|
_DOWNLOAD_REQUEST_CHUNK_SIZE = 10 * _BYTES_PER_MB
|
|
@@ -676,7 +669,7 @@ def _create_app(
|
|
|
676
669
|
other_arguments["spot"] = str(other_arguments["interruptible"]).lower()
|
|
677
670
|
del other_arguments["interruptible"]
|
|
678
671
|
|
|
679
|
-
body =
|
|
672
|
+
body = CloudSpaceServiceCreateCloudSpaceAppInstanceBody(
|
|
680
673
|
cluster_id=cloud_account,
|
|
681
674
|
plugin_arguments=other_arguments,
|
|
682
675
|
service_id=os.getenv(_LIGHTNING_SERVICE_EXECUTION_ID_KEY),
|