lightning-sdk 2025.10.14__py3-none-any.whl → 2025.10.22__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/__init__.py +6 -3
- lightning_sdk/api/base_studio_api.py +13 -9
- lightning_sdk/api/license_api.py +26 -59
- lightning_sdk/api/studio_api.py +7 -2
- lightning_sdk/base_studio.py +30 -17
- lightning_sdk/cli/base_studio/list.py +1 -3
- lightning_sdk/cli/entrypoint.py +8 -34
- lightning_sdk/cli/studio/connect.py +42 -92
- lightning_sdk/cli/studio/create.py +23 -1
- lightning_sdk/cli/studio/start.py +12 -2
- lightning_sdk/cli/utils/get_base_studio.py +24 -0
- lightning_sdk/cli/utils/handle_machine_and_gpus_args.py +71 -0
- lightning_sdk/cli/utils/logging.py +121 -0
- lightning_sdk/cli/utils/ssh_connection.py +1 -1
- lightning_sdk/constants.py +1 -0
- lightning_sdk/helpers.py +53 -34
- lightning_sdk/lightning_cloud/login.py +260 -10
- lightning_sdk/lightning_cloud/openapi/__init__.py +10 -3
- lightning_sdk/lightning_cloud/openapi/api/auth_service_api.py +97 -0
- lightning_sdk/lightning_cloud/openapi/api/product_license_service_api.py +108 -108
- lightning_sdk/lightning_cloud/openapi/models/__init__.py +10 -3
- lightning_sdk/lightning_cloud/openapi/models/create_machine_request_represents_the_request_to_create_a_machine.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/externalv1_cloud_space_instance_status.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/id_fork_body1.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/license_key_validate_body.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_create_license_request.py +175 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_delete_license_response.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_external_cluster_spec.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_get_cloud_space_transfer_estimate_response.py +29 -3
- lightning_sdk/lightning_cloud/openapi/models/v1_incident.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_incident_detail.py +149 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_incident_event.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_license.py +227 -0
- lightning_sdk/lightning_cloud/openapi/models/{v1_list_product_licenses_response.py → v1_list_license_response.py} +16 -16
- lightning_sdk/lightning_cloud/openapi/models/v1_machine.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_slack_notifier.py +53 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_token_login_request.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_token_login_response.py +123 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_token_owner_type.py +104 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +53 -79
- lightning_sdk/lightning_cloud/openapi/models/{v1_product_license_check_response.py → v1_validate_license_response.py} +21 -21
- lightning_sdk/lightning_cloud/rest_client.py +48 -45
- lightning_sdk/machine.py +2 -0
- lightning_sdk/studio.py +14 -2
- lightning_sdk/utils/license.py +13 -0
- {lightning_sdk-2025.10.14.dist-info → lightning_sdk-2025.10.22.dist-info}/METADATA +1 -1
- {lightning_sdk-2025.10.14.dist-info → lightning_sdk-2025.10.22.dist-info}/RECORD +51 -41
- lightning_sdk/lightning_cloud/openapi/models/v1_product_license.py +0 -435
- lightning_sdk/services/license.py +0 -363
- {lightning_sdk-2025.10.14.dist-info → lightning_sdk-2025.10.22.dist-info}/LICENSE +0 -0
- {lightning_sdk-2025.10.14.dist-info → lightning_sdk-2025.10.22.dist-info}/WHEEL +0 -0
- {lightning_sdk-2025.10.14.dist-info → lightning_sdk-2025.10.22.dist-info}/entry_points.txt +0 -0
- {lightning_sdk-2025.10.14.dist-info → lightning_sdk-2025.10.22.dist-info}/top_level.txt +0 -0
|
@@ -166,6 +166,7 @@ from lightning_sdk.lightning_cloud.openapi.models.jobs_id_body1 import JobsIdBod
|
|
|
166
166
|
from lightning_sdk.lightning_cloud.openapi.models.jobs_id_body2 import JobsIdBody2
|
|
167
167
|
from lightning_sdk.lightning_cloud.openapi.models.jobs_id_body3 import JobsIdBody3
|
|
168
168
|
from lightning_sdk.lightning_cloud.openapi.models.kubernetestemplates_id_body import KubernetestemplatesIdBody
|
|
169
|
+
from lightning_sdk.lightning_cloud.openapi.models.license_key_validate_body import LicenseKeyValidateBody
|
|
169
170
|
from lightning_sdk.lightning_cloud.openapi.models.litdatasets_dataset_id_body import LitdatasetsDatasetIdBody
|
|
170
171
|
from lightning_sdk.lightning_cloud.openapi.models.litloggermetrics_id_body import LitloggermetricsIdBody
|
|
171
172
|
from lightning_sdk.lightning_cloud.openapi.models.litpages_id_body import LitpagesIdBody
|
|
@@ -394,6 +395,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_create_deployment_request i
|
|
|
394
395
|
from lightning_sdk.lightning_cloud.openapi.models.v1_create_deployment_template_request import V1CreateDeploymentTemplateRequest
|
|
395
396
|
from lightning_sdk.lightning_cloud.openapi.models.v1_create_git_credentials_request import V1CreateGitCredentialsRequest
|
|
396
397
|
from lightning_sdk.lightning_cloud.openapi.models.v1_create_job_request import V1CreateJobRequest
|
|
398
|
+
from lightning_sdk.lightning_cloud.openapi.models.v1_create_license_request import V1CreateLicenseRequest
|
|
397
399
|
from lightning_sdk.lightning_cloud.openapi.models.v1_create_lit_dataset_multi_part_upload_response import V1CreateLitDatasetMultiPartUploadResponse
|
|
398
400
|
from lightning_sdk.lightning_cloud.openapi.models.v1_create_lit_page_request import V1CreateLitPageRequest
|
|
399
401
|
from lightning_sdk.lightning_cloud.openapi.models.v1_create_lit_page_response import V1CreateLitPageResponse
|
|
@@ -452,6 +454,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_delete_incident_response im
|
|
|
452
454
|
from lightning_sdk.lightning_cloud.openapi.models.v1_delete_index_response import V1DeleteIndexResponse
|
|
453
455
|
from lightning_sdk.lightning_cloud.openapi.models.v1_delete_job_response import V1DeleteJobResponse
|
|
454
456
|
from lightning_sdk.lightning_cloud.openapi.models.v1_delete_kubernetes_template_response import V1DeleteKubernetesTemplateResponse
|
|
457
|
+
from lightning_sdk.lightning_cloud.openapi.models.v1_delete_license_response import V1DeleteLicenseResponse
|
|
455
458
|
from lightning_sdk.lightning_cloud.openapi.models.v1_delete_lightning_run_response import V1DeleteLightningRunResponse
|
|
456
459
|
from lightning_sdk.lightning_cloud.openapi.models.v1_delete_lightningapp_instance_artifact_response import V1DeleteLightningappInstanceArtifactResponse
|
|
457
460
|
from lightning_sdk.lightning_cloud.openapi.models.v1_delete_lightningapp_instance_response import V1DeleteLightningappInstanceResponse
|
|
@@ -630,6 +633,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_ids_logger_metrics import V
|
|
|
630
633
|
from lightning_sdk.lightning_cloud.openapi.models.v1_image_spec import V1ImageSpec
|
|
631
634
|
from lightning_sdk.lightning_cloud.openapi.models.v1_image_state import V1ImageState
|
|
632
635
|
from lightning_sdk.lightning_cloud.openapi.models.v1_incident import V1Incident
|
|
636
|
+
from lightning_sdk.lightning_cloud.openapi.models.v1_incident_detail import V1IncidentDetail
|
|
633
637
|
from lightning_sdk.lightning_cloud.openapi.models.v1_incident_event import V1IncidentEvent
|
|
634
638
|
from lightning_sdk.lightning_cloud.openapi.models.v1_incident_message import V1IncidentMessage
|
|
635
639
|
from lightning_sdk.lightning_cloud.openapi.models.v1_incident_severity import V1IncidentSeverity
|
|
@@ -662,6 +666,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_kubernetes_direct_v1_status
|
|
|
662
666
|
from lightning_sdk.lightning_cloud.openapi.models.v1_kubernetes_template import V1KubernetesTemplate
|
|
663
667
|
from lightning_sdk.lightning_cloud.openapi.models.v1_kubernetes_template_property import V1KubernetesTemplateProperty
|
|
664
668
|
from lightning_sdk.lightning_cloud.openapi.models.v1_lambda_labs_direct_v1 import V1LambdaLabsDirectV1
|
|
669
|
+
from lightning_sdk.lightning_cloud.openapi.models.v1_license import V1License
|
|
665
670
|
from lightning_sdk.lightning_cloud.openapi.models.v1_lightning_app_user import V1LightningAppUser
|
|
666
671
|
from lightning_sdk.lightning_cloud.openapi.models.v1_lightning_auth import V1LightningAuth
|
|
667
672
|
from lightning_sdk.lightning_cloud.openapi.models.v1_lightning_basic_auth import V1LightningBasicAuth
|
|
@@ -745,6 +750,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_list_jobs_response import V
|
|
|
745
750
|
from lightning_sdk.lightning_cloud.openapi.models.v1_list_joinable_organizations_response import V1ListJoinableOrganizationsResponse
|
|
746
751
|
from lightning_sdk.lightning_cloud.openapi.models.v1_list_kai_scheduler_queues_metrics_response import V1ListKaiSchedulerQueuesMetricsResponse
|
|
747
752
|
from lightning_sdk.lightning_cloud.openapi.models.v1_list_kubernetes_templates_response import V1ListKubernetesTemplatesResponse
|
|
753
|
+
from lightning_sdk.lightning_cloud.openapi.models.v1_list_license_response import V1ListLicenseResponse
|
|
748
754
|
from lightning_sdk.lightning_cloud.openapi.models.v1_list_lightning_run_response import V1ListLightningRunResponse
|
|
749
755
|
from lightning_sdk.lightning_cloud.openapi.models.v1_list_lightningapp_instance_artifacts_response import V1ListLightningappInstanceArtifactsResponse
|
|
750
756
|
from lightning_sdk.lightning_cloud.openapi.models.v1_list_lightningapp_instance_events_response import V1ListLightningappInstanceEventsResponse
|
|
@@ -775,7 +781,6 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_list_organization_cluster_e
|
|
|
775
781
|
from lightning_sdk.lightning_cloud.openapi.models.v1_list_organizations_response import V1ListOrganizationsResponse
|
|
776
782
|
from lightning_sdk.lightning_cloud.openapi.models.v1_list_pipelines_response import V1ListPipelinesResponse
|
|
777
783
|
from lightning_sdk.lightning_cloud.openapi.models.v1_list_pod_metrics_response import V1ListPodMetricsResponse
|
|
778
|
-
from lightning_sdk.lightning_cloud.openapi.models.v1_list_product_licenses_response import V1ListProductLicensesResponse
|
|
779
784
|
from lightning_sdk.lightning_cloud.openapi.models.v1_list_profiler_captures_response import V1ListProfilerCapturesResponse
|
|
780
785
|
from lightning_sdk.lightning_cloud.openapi.models.v1_list_project_artifacts_response import V1ListProjectArtifactsResponse
|
|
781
786
|
from lightning_sdk.lightning_cloud.openapi.models.v1_list_project_cluster_accelerators_response import V1ListProjectClusterAcceleratorsResponse
|
|
@@ -887,8 +892,6 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_plugins_list_response impor
|
|
|
887
892
|
from lightning_sdk.lightning_cloud.openapi.models.v1_pod_metrics import V1PodMetrics
|
|
888
893
|
from lightning_sdk.lightning_cloud.openapi.models.v1_post_cloud_space_artifact_events_response import V1PostCloudSpaceArtifactEventsResponse
|
|
889
894
|
from lightning_sdk.lightning_cloud.openapi.models.v1_presigned_url import V1PresignedUrl
|
|
890
|
-
from lightning_sdk.lightning_cloud.openapi.models.v1_product_license import V1ProductLicense
|
|
891
|
-
from lightning_sdk.lightning_cloud.openapi.models.v1_product_license_check_response import V1ProductLicenseCheckResponse
|
|
892
895
|
from lightning_sdk.lightning_cloud.openapi.models.v1_profiler_capture import V1ProfilerCapture
|
|
893
896
|
from lightning_sdk.lightning_cloud.openapi.models.v1_profiler_enabled_response import V1ProfilerEnabledResponse
|
|
894
897
|
from lightning_sdk.lightning_cloud.openapi.models.v1_project import V1Project
|
|
@@ -1010,6 +1013,9 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_system_metrics_aggregated i
|
|
|
1010
1013
|
from lightning_sdk.lightning_cloud.openapi.models.v1_system_metrics_list import V1SystemMetricsList
|
|
1011
1014
|
from lightning_sdk.lightning_cloud.openapi.models.v1_telemetry import V1Telemetry
|
|
1012
1015
|
from lightning_sdk.lightning_cloud.openapi.models.v1_timestamp_code_telemetry import V1TimestampCodeTelemetry
|
|
1016
|
+
from lightning_sdk.lightning_cloud.openapi.models.v1_token_login_request import V1TokenLoginRequest
|
|
1017
|
+
from lightning_sdk.lightning_cloud.openapi.models.v1_token_login_response import V1TokenLoginResponse
|
|
1018
|
+
from lightning_sdk.lightning_cloud.openapi.models.v1_token_owner_type import V1TokenOwnerType
|
|
1013
1019
|
from lightning_sdk.lightning_cloud.openapi.models.v1_token_usage import V1TokenUsage
|
|
1014
1020
|
from lightning_sdk.lightning_cloud.openapi.models.v1_tool import V1Tool
|
|
1015
1021
|
from lightning_sdk.lightning_cloud.openapi.models.v1_tool_call import V1ToolCall
|
|
@@ -1074,6 +1080,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_validate_auto_join_domain_r
|
|
|
1074
1080
|
from lightning_sdk.lightning_cloud.openapi.models.v1_validate_data_connection_response import V1ValidateDataConnectionResponse
|
|
1075
1081
|
from lightning_sdk.lightning_cloud.openapi.models.v1_validate_deployment_image_request import V1ValidateDeploymentImageRequest
|
|
1076
1082
|
from lightning_sdk.lightning_cloud.openapi.models.v1_validate_deployment_image_response import V1ValidateDeploymentImageResponse
|
|
1083
|
+
from lightning_sdk.lightning_cloud.openapi.models.v1_validate_license_response import V1ValidateLicenseResponse
|
|
1077
1084
|
from lightning_sdk.lightning_cloud.openapi.models.v1_validate_managed_endpoint_request import V1ValidateManagedEndpointRequest
|
|
1078
1085
|
from lightning_sdk.lightning_cloud.openapi.models.v1_validate_managed_endpoint_response import V1ValidateManagedEndpointResponse
|
|
1079
1086
|
from lightning_sdk.lightning_cloud.openapi.models.v1_validate_managed_model_response import V1ValidateManagedModelResponse
|
|
@@ -698,6 +698,103 @@ class AuthServiceApi(object):
|
|
|
698
698
|
_request_timeout=params.get('_request_timeout'),
|
|
699
699
|
collection_formats=collection_formats)
|
|
700
700
|
|
|
701
|
+
def auth_service_token_login(self, body: 'V1TokenLoginRequest', **kwargs) -> 'V1TokenLoginResponse': # noqa: E501
|
|
702
|
+
"""auth_service_token_login # noqa: E501
|
|
703
|
+
|
|
704
|
+
This method makes a synchronous HTTP request by default. To make an
|
|
705
|
+
asynchronous HTTP request, please pass async_req=True
|
|
706
|
+
>>> thread = api.auth_service_token_login(body, async_req=True)
|
|
707
|
+
>>> result = thread.get()
|
|
708
|
+
|
|
709
|
+
:param async_req bool
|
|
710
|
+
:param V1TokenLoginRequest body: (required)
|
|
711
|
+
:return: V1TokenLoginResponse
|
|
712
|
+
If the method is called asynchronously,
|
|
713
|
+
returns the request thread.
|
|
714
|
+
"""
|
|
715
|
+
kwargs['_return_http_data_only'] = True
|
|
716
|
+
if kwargs.get('async_req'):
|
|
717
|
+
return self.auth_service_token_login_with_http_info(body, **kwargs) # noqa: E501
|
|
718
|
+
else:
|
|
719
|
+
(data) = self.auth_service_token_login_with_http_info(body, **kwargs) # noqa: E501
|
|
720
|
+
return data
|
|
721
|
+
|
|
722
|
+
def auth_service_token_login_with_http_info(self, body: 'V1TokenLoginRequest', **kwargs) -> 'V1TokenLoginResponse': # noqa: E501
|
|
723
|
+
"""auth_service_token_login # noqa: E501
|
|
724
|
+
|
|
725
|
+
This method makes a synchronous HTTP request by default. To make an
|
|
726
|
+
asynchronous HTTP request, please pass async_req=True
|
|
727
|
+
>>> thread = api.auth_service_token_login_with_http_info(body, async_req=True)
|
|
728
|
+
>>> result = thread.get()
|
|
729
|
+
|
|
730
|
+
:param async_req bool
|
|
731
|
+
:param V1TokenLoginRequest body: (required)
|
|
732
|
+
:return: V1TokenLoginResponse
|
|
733
|
+
If the method is called asynchronously,
|
|
734
|
+
returns the request thread.
|
|
735
|
+
"""
|
|
736
|
+
|
|
737
|
+
all_params = ['body'] # noqa: E501
|
|
738
|
+
all_params.append('async_req')
|
|
739
|
+
all_params.append('_return_http_data_only')
|
|
740
|
+
all_params.append('_preload_content')
|
|
741
|
+
all_params.append('_request_timeout')
|
|
742
|
+
|
|
743
|
+
params = locals()
|
|
744
|
+
for key, val in six.iteritems(params['kwargs']):
|
|
745
|
+
if key not in all_params:
|
|
746
|
+
raise TypeError(
|
|
747
|
+
"Got an unexpected keyword argument '%s'"
|
|
748
|
+
" to method auth_service_token_login" % key
|
|
749
|
+
)
|
|
750
|
+
params[key] = val
|
|
751
|
+
del params['kwargs']
|
|
752
|
+
# verify the required parameter 'body' is set
|
|
753
|
+
if ('body' not in params or
|
|
754
|
+
params['body'] is None):
|
|
755
|
+
raise ValueError("Missing the required parameter `body` when calling `auth_service_token_login`") # noqa: E501
|
|
756
|
+
|
|
757
|
+
collection_formats = {}
|
|
758
|
+
|
|
759
|
+
path_params = {}
|
|
760
|
+
|
|
761
|
+
query_params = []
|
|
762
|
+
|
|
763
|
+
header_params = {}
|
|
764
|
+
|
|
765
|
+
form_params = []
|
|
766
|
+
local_var_files = {}
|
|
767
|
+
|
|
768
|
+
body_params = None
|
|
769
|
+
if 'body' in params:
|
|
770
|
+
body_params = params['body']
|
|
771
|
+
# HTTP header `Accept`
|
|
772
|
+
header_params['Accept'] = self.api_client.select_header_accept(
|
|
773
|
+
['application/json']) # noqa: E501
|
|
774
|
+
|
|
775
|
+
# HTTP header `Content-Type`
|
|
776
|
+
header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
|
|
777
|
+
['application/json']) # noqa: E501
|
|
778
|
+
|
|
779
|
+
# Authentication setting
|
|
780
|
+
auth_settings = [] # noqa: E501
|
|
781
|
+
|
|
782
|
+
return self.api_client.call_api(
|
|
783
|
+
'/v1/auth/token-login', 'POST',
|
|
784
|
+
path_params,
|
|
785
|
+
query_params,
|
|
786
|
+
header_params,
|
|
787
|
+
body=body_params,
|
|
788
|
+
post_params=form_params,
|
|
789
|
+
files=local_var_files,
|
|
790
|
+
response_type='V1TokenLoginResponse', # noqa: E501
|
|
791
|
+
auth_settings=auth_settings,
|
|
792
|
+
async_req=params.get('async_req'),
|
|
793
|
+
_return_http_data_only=params.get('_return_http_data_only'),
|
|
794
|
+
_preload_content=params.get('_preload_content', True),
|
|
795
|
+
_request_timeout=params.get('_request_timeout'),
|
|
796
|
+
collection_formats=collection_formats)
|
|
797
|
+
|
|
701
798
|
def auth_service_update_user(self, body: 'V1UpdateUserRequest', **kwargs) -> 'V1GetUserResponse': # noqa: E501
|
|
702
799
|
"""TODO: change `GetUserResponse` to `User` # noqa: E501
|
|
703
800
|
|