lightning-sdk 2025.9.23__py3-none-any.whl → 2025.9.30__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 (74) hide show
  1. lightning_sdk/__init__.py +3 -2
  2. lightning_sdk/cli/entrypoint.py +3 -1
  3. lightning_sdk/cli/groups.py +8 -1
  4. lightning_sdk/cli/legacy/download.py +3 -4
  5. lightning_sdk/cli/legacy/entrypoint.py +1 -1
  6. lightning_sdk/cli/legacy/upload.py +2 -3
  7. lightning_sdk/cli/studio/__init__.py +2 -0
  8. lightning_sdk/cli/studio/connect.py +94 -0
  9. lightning_sdk/cli/studio/create.py +19 -5
  10. lightning_sdk/cli/studio/delete.py +9 -5
  11. lightning_sdk/cli/studio/list.py +5 -1
  12. lightning_sdk/cli/studio/ssh.py +12 -54
  13. lightning_sdk/cli/studio/start.py +26 -3
  14. lightning_sdk/cli/studio/stop.py +7 -3
  15. lightning_sdk/cli/studio/switch.py +21 -5
  16. lightning_sdk/cli/utils/ssh_connection.py +51 -0
  17. lightning_sdk/cli/utils/studio_selection.py +22 -15
  18. lightning_sdk/cli/vm/__init__.py +20 -0
  19. lightning_sdk/cli/vm/create.py +33 -0
  20. lightning_sdk/cli/vm/delete.py +25 -0
  21. lightning_sdk/cli/vm/list.py +30 -0
  22. lightning_sdk/cli/vm/ssh.py +31 -0
  23. lightning_sdk/cli/vm/start.py +60 -0
  24. lightning_sdk/cli/vm/stop.py +25 -0
  25. lightning_sdk/cli/vm/switch.py +38 -0
  26. lightning_sdk/lightning_cloud/openapi/__init__.py +20 -1
  27. lightning_sdk/lightning_cloud/openapi/api/assistants_service_api.py +2 -95
  28. lightning_sdk/lightning_cloud/openapi/api/billing_service_api.py +24 -8
  29. lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +420 -0
  30. lightning_sdk/lightning_cloud/openapi/api/jobs_service_api.py +121 -0
  31. lightning_sdk/lightning_cloud/openapi/api/storage_service_api.py +655 -0
  32. lightning_sdk/lightning_cloud/openapi/models/__init__.py +20 -1
  33. lightning_sdk/lightning_cloud/openapi/models/create_machine_request_represents_the_request_to_create_a_machine.py +435 -0
  34. lightning_sdk/lightning_cloud/openapi/models/job_id_reportroutingtelemetry_body.py +123 -0
  35. lightning_sdk/lightning_cloud/openapi/models/project_id_storagetransfers_body.py +149 -0
  36. lightning_sdk/lightning_cloud/openapi/models/user_id_affiliatelinks_body.py +107 -3
  37. lightning_sdk/lightning_cloud/openapi/models/v1_abort_storage_transfer_response.py +97 -0
  38. lightning_sdk/lightning_cloud/openapi/models/v1_assistant_session_daily_aggregated.py +27 -1
  39. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_provider.py +2 -0
  40. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_accelerator.py +27 -1
  41. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +53 -1
  42. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_type.py +1 -0
  43. lightning_sdk/lightning_cloud/openapi/models/v1_create_machine_response.py +123 -0
  44. lightning_sdk/lightning_cloud/openapi/models/v1_create_project_request.py +27 -1
  45. lightning_sdk/lightning_cloud/openapi/models/v1_delete_machine_response.py +97 -0
  46. lightning_sdk/lightning_cloud/openapi/models/v1_external_cluster_spec.py +27 -1
  47. lightning_sdk/lightning_cloud/openapi/models/v1_get_machine_response.py +123 -0
  48. lightning_sdk/lightning_cloud/openapi/models/v1_get_user_response.py +27 -1
  49. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_v1.py +27 -1
  50. lightning_sdk/lightning_cloud/openapi/models/v1_lightning_elastic_cluster_v1.py +97 -0
  51. lightning_sdk/lightning_cloud/openapi/models/{v1_get_model_total_usage_metrics_response.py → v1_list_machines_response.py} +37 -37
  52. lightning_sdk/lightning_cloud/openapi/models/v1_list_storage_transfers_response.py +123 -0
  53. lightning_sdk/lightning_cloud/openapi/models/v1_machine.py +539 -0
  54. lightning_sdk/lightning_cloud/openapi/models/v1_machine_direct_v1.py +123 -0
  55. lightning_sdk/lightning_cloud/openapi/models/v1_pause_storage_transfer_response.py +97 -0
  56. lightning_sdk/lightning_cloud/openapi/models/v1_purchase_annual_upsell_request.py +123 -0
  57. lightning_sdk/lightning_cloud/openapi/models/v1_report_deployment_routing_telemetry_response.py +97 -0
  58. lightning_sdk/lightning_cloud/openapi/models/v1_resume_storage_transfer_response.py +97 -0
  59. lightning_sdk/lightning_cloud/openapi/models/v1_routing_telemetry.py +79 -1
  60. lightning_sdk/lightning_cloud/openapi/models/v1_rule_resource.py +1 -0
  61. lightning_sdk/lightning_cloud/openapi/models/v1_slack_notifier.py +149 -0
  62. lightning_sdk/lightning_cloud/openapi/models/v1_slack_notifier_type.py +105 -0
  63. lightning_sdk/lightning_cloud/openapi/models/v1_storage_transfer.py +435 -0
  64. lightning_sdk/lightning_cloud/openapi/models/v1_storage_transfer_status.py +108 -0
  65. lightning_sdk/lightning_cloud/openapi/models/v1_update_user_request.py +27 -1
  66. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +105 -79
  67. lightning_sdk/studio.py +55 -11
  68. lightning_sdk/teamspace.py +11 -2
  69. {lightning_sdk-2025.9.23.dist-info → lightning_sdk-2025.9.30.dist-info}/METADATA +1 -1
  70. {lightning_sdk-2025.9.23.dist-info → lightning_sdk-2025.9.30.dist-info}/RECORD +74 -45
  71. {lightning_sdk-2025.9.23.dist-info → lightning_sdk-2025.9.30.dist-info}/LICENSE +0 -0
  72. {lightning_sdk-2025.9.23.dist-info → lightning_sdk-2025.9.30.dist-info}/WHEEL +0 -0
  73. {lightning_sdk-2025.9.23.dist-info → lightning_sdk-2025.9.30.dist-info}/entry_points.txt +0 -0
  74. {lightning_sdk-2025.9.23.dist-info → lightning_sdk-2025.9.30.dist-info}/top_level.txt +0 -0
@@ -4058,6 +4058,127 @@ class JobsServiceApi(object):
4058
4058
  _request_timeout=params.get('_request_timeout'),
4059
4059
  collection_formats=collection_formats)
4060
4060
 
4061
+ def jobs_service_report_deployment_routing_telemetry(self, body: 'JobIdReportroutingtelemetryBody', project_id: 'str', deployment_id: 'str', job_id: 'str', **kwargs) -> 'V1ReportDeploymentRoutingTelemetryResponse': # noqa: E501
4062
+ """The tired proxy collects the requests sent to the resource and inform the CP # noqa: E501
4063
+
4064
+ This method makes a synchronous HTTP request by default. To make an
4065
+ asynchronous HTTP request, please pass async_req=True
4066
+ >>> thread = api.jobs_service_report_deployment_routing_telemetry(body, project_id, deployment_id, job_id, async_req=True)
4067
+ >>> result = thread.get()
4068
+
4069
+ :param async_req bool
4070
+ :param JobIdReportroutingtelemetryBody body: (required)
4071
+ :param str project_id: (required)
4072
+ :param str deployment_id: (required)
4073
+ :param str job_id: (required)
4074
+ :return: V1ReportDeploymentRoutingTelemetryResponse
4075
+ If the method is called asynchronously,
4076
+ returns the request thread.
4077
+ """
4078
+ kwargs['_return_http_data_only'] = True
4079
+ if kwargs.get('async_req'):
4080
+ return self.jobs_service_report_deployment_routing_telemetry_with_http_info(body, project_id, deployment_id, job_id, **kwargs) # noqa: E501
4081
+ else:
4082
+ (data) = self.jobs_service_report_deployment_routing_telemetry_with_http_info(body, project_id, deployment_id, job_id, **kwargs) # noqa: E501
4083
+ return data
4084
+
4085
+ def jobs_service_report_deployment_routing_telemetry_with_http_info(self, body: 'JobIdReportroutingtelemetryBody', project_id: 'str', deployment_id: 'str', job_id: 'str', **kwargs) -> 'V1ReportDeploymentRoutingTelemetryResponse': # noqa: E501
4086
+ """The tired proxy collects the requests sent to the resource and inform the CP # noqa: E501
4087
+
4088
+ This method makes a synchronous HTTP request by default. To make an
4089
+ asynchronous HTTP request, please pass async_req=True
4090
+ >>> thread = api.jobs_service_report_deployment_routing_telemetry_with_http_info(body, project_id, deployment_id, job_id, async_req=True)
4091
+ >>> result = thread.get()
4092
+
4093
+ :param async_req bool
4094
+ :param JobIdReportroutingtelemetryBody body: (required)
4095
+ :param str project_id: (required)
4096
+ :param str deployment_id: (required)
4097
+ :param str job_id: (required)
4098
+ :return: V1ReportDeploymentRoutingTelemetryResponse
4099
+ If the method is called asynchronously,
4100
+ returns the request thread.
4101
+ """
4102
+
4103
+ all_params = ['body', 'project_id', 'deployment_id', 'job_id'] # noqa: E501
4104
+ all_params.append('async_req')
4105
+ all_params.append('_return_http_data_only')
4106
+ all_params.append('_preload_content')
4107
+ all_params.append('_request_timeout')
4108
+
4109
+ params = locals()
4110
+ for key, val in six.iteritems(params['kwargs']):
4111
+ if key not in all_params:
4112
+ raise TypeError(
4113
+ "Got an unexpected keyword argument '%s'"
4114
+ " to method jobs_service_report_deployment_routing_telemetry" % key
4115
+ )
4116
+ params[key] = val
4117
+ del params['kwargs']
4118
+ # verify the required parameter 'body' is set
4119
+ if ('body' not in params or
4120
+ params['body'] is None):
4121
+ raise ValueError("Missing the required parameter `body` when calling `jobs_service_report_deployment_routing_telemetry`") # noqa: E501
4122
+ # verify the required parameter 'project_id' is set
4123
+ if ('project_id' not in params or
4124
+ params['project_id'] is None):
4125
+ raise ValueError("Missing the required parameter `project_id` when calling `jobs_service_report_deployment_routing_telemetry`") # noqa: E501
4126
+ # verify the required parameter 'deployment_id' is set
4127
+ if ('deployment_id' not in params or
4128
+ params['deployment_id'] is None):
4129
+ raise ValueError("Missing the required parameter `deployment_id` when calling `jobs_service_report_deployment_routing_telemetry`") # noqa: E501
4130
+ # verify the required parameter 'job_id' is set
4131
+ if ('job_id' not in params or
4132
+ params['job_id'] is None):
4133
+ raise ValueError("Missing the required parameter `job_id` when calling `jobs_service_report_deployment_routing_telemetry`") # noqa: E501
4134
+
4135
+ collection_formats = {}
4136
+
4137
+ path_params = {}
4138
+ if 'project_id' in params:
4139
+ path_params['projectId'] = params['project_id'] # noqa: E501
4140
+ if 'deployment_id' in params:
4141
+ path_params['deploymentId'] = params['deployment_id'] # noqa: E501
4142
+ if 'job_id' in params:
4143
+ path_params['jobId'] = params['job_id'] # noqa: E501
4144
+
4145
+ query_params = []
4146
+
4147
+ header_params = {}
4148
+
4149
+ form_params = []
4150
+ local_var_files = {}
4151
+
4152
+ body_params = None
4153
+ if 'body' in params:
4154
+ body_params = params['body']
4155
+ # HTTP header `Accept`
4156
+ header_params['Accept'] = self.api_client.select_header_accept(
4157
+ ['application/json']) # noqa: E501
4158
+
4159
+ # HTTP header `Content-Type`
4160
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
4161
+ ['application/json']) # noqa: E501
4162
+
4163
+ # Authentication setting
4164
+ auth_settings = [] # noqa: E501
4165
+
4166
+ return self.api_client.call_api(
4167
+ '/v1/projects/{projectId}/deployment/{deploymentId}/jobs/{jobId}/report-routing-telemetry', 'PUT',
4168
+ path_params,
4169
+ query_params,
4170
+ header_params,
4171
+ body=body_params,
4172
+ post_params=form_params,
4173
+ files=local_var_files,
4174
+ response_type='V1ReportDeploymentRoutingTelemetryResponse', # noqa: E501
4175
+ auth_settings=auth_settings,
4176
+ async_req=params.get('async_req'),
4177
+ _return_http_data_only=params.get('_return_http_data_only'),
4178
+ _preload_content=params.get('_preload_content', True),
4179
+ _request_timeout=params.get('_request_timeout'),
4180
+ collection_formats=collection_formats)
4181
+
4061
4182
  def jobs_service_report_logs_activity(self, body: 'IdReportlogsactivityBody', project_id: 'str', id: 'str', **kwargs) -> 'V1ReportLogsActivityResponse': # noqa: E501
4062
4183
  """The tired proxy collects the time at which the user logs started and inform the CP # noqa: E501
4063
4184