lightning-sdk 2025.12.17__py3-none-any.whl → 2026.1.27__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/k8s_api.py +75 -29
- lightning_sdk/api/studio_api.py +192 -37
- lightning_sdk/api/teamspace_api.py +180 -54
- lightning_sdk/api/utils.py +8 -0
- lightning_sdk/cli/cp/__init__.py +67 -0
- lightning_sdk/cli/cp/teamspace_uploads.py +93 -0
- lightning_sdk/cli/entrypoint.py +2 -0
- lightning_sdk/cli/groups.py +22 -0
- lightning_sdk/cli/legacy/clusters_menu.py +2 -2
- lightning_sdk/cli/legacy/deploy/_auth.py +7 -6
- lightning_sdk/cli/legacy/download.py +29 -98
- lightning_sdk/cli/legacy/run.py +13 -2
- lightning_sdk/cli/legacy/upload.py +24 -31
- lightning_sdk/cli/studio/__init__.py +4 -0
- lightning_sdk/cli/studio/cp.py +24 -65
- lightning_sdk/cli/studio/ls.py +57 -0
- lightning_sdk/cli/studio/rm.py +71 -0
- lightning_sdk/cli/utils/filesystem.py +103 -0
- lightning_sdk/cli/utils/logging.py +2 -1
- lightning_sdk/cli/utils/teamspace_selection.py +5 -0
- lightning_sdk/exceptions.py +31 -0
- lightning_sdk/job/base.py +1 -1
- lightning_sdk/k8s_cluster.py +9 -10
- lightning_sdk/lightning_cloud/__version__.py +1 -1
- lightning_sdk/lightning_cloud/openapi/__init__.py +43 -23
- lightning_sdk/lightning_cloud/openapi/api/__init__.py +2 -1
- lightning_sdk/lightning_cloud/openapi/api/cloud_space_service_api.py +118 -1
- lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +378 -536
- lightning_sdk/lightning_cloud/openapi/api/container_registry_service_api.py +456 -0
- lightning_sdk/lightning_cloud/openapi/api/data_connection_service_api.py +5 -1
- lightning_sdk/lightning_cloud/openapi/api/file_system_service_api.py +11 -11
- lightning_sdk/lightning_cloud/openapi/api/jobs_service_api.py +113 -0
- lightning_sdk/lightning_cloud/openapi/api/k8_s_cluster_service_api.py +246 -19
- lightning_sdk/lightning_cloud/openapi/api/lightningwork_service_api.py +116 -11
- lightning_sdk/lightning_cloud/openapi/api/lit_logger_service_api.py +588 -2
- lightning_sdk/lightning_cloud/openapi/api/models_store_api.py +9 -1
- lightning_sdk/lightning_cloud/openapi/api/organizations_service_api.py +113 -0
- lightning_sdk/lightning_cloud/openapi/api/storage_service_api.py +5 -1
- lightning_sdk/lightning_cloud/openapi/api/{kubernetes_virtual_machine_service_api.py → virtual_machine_service_api.py} +82 -82
- lightning_sdk/lightning_cloud/openapi/models/__init__.py +41 -22
- lightning_sdk/lightning_cloud/openapi/models/cluster_service_create_cluster_capacity_reservation_body.py +53 -1
- lightning_sdk/lightning_cloud/openapi/models/cluster_service_create_machine_body.py +53 -1
- lightning_sdk/lightning_cloud/openapi/models/cluster_service_create_org_cluster_capacity_reservation_body.py +409 -0
- lightning_sdk/lightning_cloud/openapi/models/{v1_add_container_registry_response.py → cluster_service_report_machine_system_metrics_body.py} +23 -23
- lightning_sdk/lightning_cloud/openapi/models/container_registry_config_ecr.py +149 -0
- lightning_sdk/lightning_cloud/openapi/models/{v1_container_registry_status.py → container_registry_provider.py} +14 -10
- lightning_sdk/lightning_cloud/openapi/models/container_registry_service_create_container_registry_body.py +201 -0
- lightning_sdk/lightning_cloud/openapi/models/{v1_ecr_registry_config_input.py → container_registry_service_refresh_container_registry_credentials_body.py} +21 -21
- lightning_sdk/lightning_cloud/openapi/models/externalv1_cloud_space_instance_status.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/{v1_ecr_registry_config.py → jobs_service_duplicate_deployment_body.py} +51 -51
- lightning_sdk/lightning_cloud/openapi/models/lit_logger_service_create_lit_logger_media_body.py +305 -0
- lightning_sdk/lightning_cloud/openapi/models/lit_logger_service_update_lit_logger_media_body.py +149 -0
- lightning_sdk/lightning_cloud/openapi/models/lit_logger_service_update_metrics_stream_body.py +53 -1
- lightning_sdk/lightning_cloud/openapi/models/organizations_service_update_org_role_body.py +175 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_capacity_reservation_used_by.py +227 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_cloud_provider.py +2 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_environment_type.py +1 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_cluster_accelerator.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_cluster_capacity_reservation.py +53 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +79 -27
- lightning_sdk/lightning_cloud/openapi/models/v1_cluster_type.py +0 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_container_registry.py +63 -89
- lightning_sdk/lightning_cloud/openapi/models/{cluster_service_add_container_registry_body.py → v1_container_registry_config.py} +16 -16
- lightning_sdk/lightning_cloud/openapi/models/v1_container_registry_scopes.py +149 -0
- lightning_sdk/lightning_cloud/openapi/models/{v1_delete_kubernetes_virtual_machine_response.py → v1_create_container_registry_response.py} +6 -6
- lightning_sdk/lightning_cloud/openapi/models/v1_create_lit_logger_media_response.py +149 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_create_org_cluster_capacity_reservation_response.py +201 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_create_sdk_command_history_request.py +29 -3
- lightning_sdk/lightning_cloud/openapi/models/v1_cudo_direct_v1.py +175 -0
- lightning_sdk/lightning_cloud/openapi/models/{cluster_service_refresh_container_registry_credentials_body.py → v1_delete_lit_logger_media_response.py} +6 -6
- lightning_sdk/lightning_cloud/openapi/models/{kubernetes_virtual_machine_service_update_kubernetes_virtual_machine_body.py → v1_delete_org_cluster_capacity_reservation_response.py} +6 -6
- lightning_sdk/lightning_cloud/openapi/models/v1_delete_virtual_machine_response.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_describe_org_cluster_capacity_reservation_response.py +201 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_external_cluster_spec.py +27 -27
- lightning_sdk/lightning_cloud/openapi/models/v1_external_search_user.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_generic_job_spec.py +79 -1
- lightning_sdk/lightning_cloud/openapi/models/{v1_validate_container_registry_response.py → v1_get_kubernetes_pod_logs_response.py} +37 -37
- lightning_sdk/lightning_cloud/openapi/models/{v1_get_machine_response.py → v1_get_kubernetes_pod_response.py} +23 -23
- lightning_sdk/lightning_cloud/openapi/models/v1_job.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_job_spec.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_joinable_organization.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/{v1_container_registry_integration.py → v1_k8s_incident_setting.py} +49 -23
- lightning_sdk/lightning_cloud/openapi/models/v1_k8s_incident_type.py +108 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_settings_v1.py +53 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_v1.py +53 -27
- lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_pod.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_pod_logs_page.py +227 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_kubevirt_config.py +53 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_list_container_registries_response.py +6 -6
- lightning_sdk/lightning_cloud/openapi/models/v1_list_kubernetes_pods_response.py +43 -17
- lightning_sdk/lightning_cloud/openapi/models/v1_list_kubernetes_pods_sort_order.py +104 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_list_lit_logger_media_response.py +149 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_list_models_response.py +55 -3
- lightning_sdk/lightning_cloud/openapi/models/{v1_list_kubernetes_virtual_machines_response.py → v1_list_virtual_machines_response.py} +16 -16
- lightning_sdk/lightning_cloud/openapi/models/v1_lit_logger_media.py +513 -0
- lightning_sdk/lightning_cloud/openapi/models/v1_machine.py +27 -53
- lightning_sdk/lightning_cloud/openapi/models/v1_machine_direct_v1.py +107 -3
- lightning_sdk/lightning_cloud/openapi/models/v1_media_type.py +104 -0
- lightning_sdk/lightning_cloud/openapi/models/{v1_ai_pod_v1.py → v1_mithril_direct_v1.py} +51 -51
- lightning_sdk/lightning_cloud/openapi/models/v1_nebius_direct_v1.py +29 -3
- lightning_sdk/lightning_cloud/openapi/models/v1_organization.py +27 -1
- lightning_sdk/lightning_cloud/openapi/models/v1_refresh_container_registry_credentials_response.py +1 -27
- lightning_sdk/lightning_cloud/openapi/models/{cluster_service_validate_container_registry_body.py → v1_report_cloud_space_instance_idle_state_response.py} +6 -6
- lightning_sdk/lightning_cloud/openapi/models/v1_report_machine_system_metrics_response.py +97 -0
- lightning_sdk/lightning_cloud/openapi/models/{v1_ecr_registry_details.py → v1_tenant_credentials.py} +53 -53
- lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +183 -157
- lightning_sdk/lightning_cloud/openapi/models/{v1_kubernetes_virtual_machine.py → v1_virtual_machine.py} +94 -68
- lightning_sdk/lightning_cloud/openapi/models/{v1_kubevirt_vm_configuration.py → v1_vm_configuration.py} +20 -20
- lightning_sdk/lightning_cloud/openapi/models/{v1_kubevirt_provider_configuration.py → v1_vm_provider_configuration.py} +32 -32
- lightning_sdk/lightning_cloud/openapi/models/virtual_machine_service_create_virtual_machine_body.py +565 -0
- lightning_sdk/lightning_cloud/openapi/models/virtual_machine_service_update_virtual_machine_body.py +97 -0
- lightning_sdk/lightning_cloud/openapi/rest.py +2 -2
- lightning_sdk/lightning_cloud/rest_client.py +0 -2
- lightning_sdk/machine.py +3 -3
- lightning_sdk/studio.py +14 -4
- lightning_sdk/teamspace.py +28 -7
- lightning_sdk/utils/logging.py +2 -1
- {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.27.dist-info}/METADATA +1 -5
- {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.27.dist-info}/RECORD +125 -102
- {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.27.dist-info}/WHEEL +1 -1
- lightning_sdk/lightning_cloud/cli/__main__.py +0 -29
- lightning_sdk/lightning_cloud/openapi/models/kubernetes_virtual_machine_service_create_kubernetes_virtual_machine_body.py +0 -513
- lightning_sdk/lightning_cloud/openapi/models/v1_container_registry_info.py +0 -281
- lightning_sdk/lightning_cloud/openapi/models/v1_kubevirt_vm_resources.py +0 -201
- lightning_sdk/lightning_cloud/source_code/logs_socket_api.py +0 -103
- /lightning_sdk/lightning_cloud/openapi/models/{v1_list_filesystem_mmts_response.py → v1_list_filesystem_mm_ts_response.py} +0 -0
- {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.27.dist-info}/LICENSE +0 -0
- {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.27.dist-info}/entry_points.txt +0 -0
- {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.27.dist-info}/top_level.txt +0 -0
lightning_sdk/machine.py
CHANGED
|
@@ -162,12 +162,12 @@ Machine.CPU_X_4 = Machine(name="CPU_X_4", slug="cpu-4", family="CPU", accelerato
|
|
|
162
162
|
Machine.CPU_X_8 = Machine(name="CPU_X_8", slug="cpu-8", family="CPU", accelerator_count=8)
|
|
163
163
|
Machine.CPU_X_16 = Machine(name="CPU_X_16", slug="cpu-16", family="CPU", accelerator_count=16)
|
|
164
164
|
# available data-prep (big disk) machines
|
|
165
|
-
Machine.DATA_PREP = Machine(name="DATA_PREP", slug="data-prep-mid", family="
|
|
165
|
+
Machine.DATA_PREP = Machine(name="DATA_PREP", slug="data-prep-mid", family="DATA-PREP", accelerator_count=32)
|
|
166
166
|
Machine.DATA_PREP_MAX = Machine(
|
|
167
|
-
name="DATA_PREP_MAX", slug="data-prep-max-large", family="
|
|
167
|
+
name="DATA_PREP_MAX", slug="data-prep-max-large", family="DATA-PREP", accelerator_count=64
|
|
168
168
|
)
|
|
169
169
|
Machine.DATA_PREP_ULTRA = Machine(
|
|
170
|
-
name="DATA_PREP_ULTRA", slug="data-prep-ultra-extra-large", family="
|
|
170
|
+
name="DATA_PREP_ULTRA", slug="data-prep-ultra-extra-large", family="DATA-PREP", accelerator_count=96
|
|
171
171
|
)
|
|
172
172
|
|
|
173
173
|
# GPU machines
|
lightning_sdk/studio.py
CHANGED
|
@@ -11,7 +11,7 @@ from lightning_sdk.api.studio_api import StudioApi
|
|
|
11
11
|
from lightning_sdk.api.utils import AccessibleResource, raise_access_error_if_not_allowed
|
|
12
12
|
from lightning_sdk.base_studio import BaseStudio
|
|
13
13
|
from lightning_sdk.constants import _LIGHTNING_DEBUG
|
|
14
|
-
from lightning_sdk.exceptions import OutOfCapacityError
|
|
14
|
+
from lightning_sdk.exceptions import NotSupportedError, OutOfCapacityError
|
|
15
15
|
from lightning_sdk.lightning_cloud.openapi import V1ClusterType, V1Endpoint
|
|
16
16
|
from lightning_sdk.machine import DEFAULT_MACHINE, CloudProvider, Machine
|
|
17
17
|
from lightning_sdk.organization import Organization
|
|
@@ -341,12 +341,20 @@ class Studio(metaclass=TrackCallsMeta):
|
|
|
341
341
|
if new_machine != self.machine:
|
|
342
342
|
raise RuntimeError(
|
|
343
343
|
f"Requested to start {self._cls_name} on {new_machine}, "
|
|
344
|
-
"but {self._cls_name} is already running on {self.machine}."
|
|
344
|
+
f"but {self._cls_name} is already running on {self.machine}."
|
|
345
345
|
" Consider switching instead!"
|
|
346
346
|
)
|
|
347
347
|
_logger.info(f"{self._cls_name} {self.name} is already running")
|
|
348
348
|
return
|
|
349
349
|
|
|
350
|
+
if not self._studio_api.machine_is_supported(
|
|
351
|
+
new_machine, self._teamspace.id, self.cloud_account, _get_org_id(self._teamspace)
|
|
352
|
+
):
|
|
353
|
+
raise NotSupportedError(
|
|
354
|
+
"Requested machine is not supported in the selected cloud account. "
|
|
355
|
+
"Try a different machine or cloud account by setting the `machine` or `cloud_account` argument."
|
|
356
|
+
)
|
|
357
|
+
|
|
350
358
|
if not self._studio_api.machine_has_capacity(
|
|
351
359
|
new_machine,
|
|
352
360
|
self._teamspace.id,
|
|
@@ -548,7 +556,7 @@ class Studio(metaclass=TrackCallsMeta):
|
|
|
548
556
|
if status != Status.Running:
|
|
549
557
|
raise RuntimeError(
|
|
550
558
|
f"Cannot run a command in a {self._cls_name} that is not running. "
|
|
551
|
-
"{self._cls_name} {self.name} is {status}."
|
|
559
|
+
f"{self._cls_name} {self.name} is {status}."
|
|
552
560
|
)
|
|
553
561
|
output, exit_code = self._studio_api.run_studio_commands(self._studio.id, self._teamspace.id, *commands)
|
|
554
562
|
output = output.strip()
|
|
@@ -605,11 +613,13 @@ class Studio(metaclass=TrackCallsMeta):
|
|
|
605
613
|
progress_bar = tqdm(total=len(all_files), desc="Uploading files", unit="file")
|
|
606
614
|
for local_file, remote_path in sorted(all_files, key=lambda p: p[1]):
|
|
607
615
|
if progress_bar:
|
|
608
|
-
progress_bar.set_description(
|
|
616
|
+
progress_bar.set_description("Uploading files")
|
|
609
617
|
self.upload_file(local_file, remote_path=remote_path, progress_bar=False)
|
|
610
618
|
if progress_bar:
|
|
611
619
|
progress_bar.update(1)
|
|
612
620
|
if progress_bar:
|
|
621
|
+
progress_bar.set_description("Upload complete")
|
|
622
|
+
progress_bar.refresh()
|
|
613
623
|
progress_bar.close()
|
|
614
624
|
|
|
615
625
|
def download_file(self, remote_path: str, file_path: Optional[str] = None) -> None:
|
lightning_sdk/teamspace.py
CHANGED
|
@@ -539,21 +539,37 @@ class Teamspace(metaclass=TrackCallsMeta):
|
|
|
539
539
|
return self._teamspace_api.list_model_versions(teamspace_id=self.id, model_name=name)
|
|
540
540
|
|
|
541
541
|
def upload_file(
|
|
542
|
-
self,
|
|
542
|
+
self,
|
|
543
|
+
file_path: Union[Path, str],
|
|
544
|
+
remote_path: Optional[str] = None,
|
|
545
|
+
progress_bar: bool = True,
|
|
546
|
+
cloud_account: Optional[str] = None,
|
|
543
547
|
) -> None:
|
|
544
548
|
"""Uploads file to given remote path in the Teamspace drive."""
|
|
545
549
|
if remote_path is None:
|
|
546
550
|
remote_path = os.path.split(file_path)[1]
|
|
547
551
|
|
|
552
|
+
if cloud_account is None:
|
|
553
|
+
warnings.warn(
|
|
554
|
+
f"No cloud account specified. Using teamspace default cloud account: {self.default_cloud_account}."
|
|
555
|
+
)
|
|
556
|
+
cloud_account = self.default_cloud_account
|
|
557
|
+
|
|
548
558
|
self._teamspace_api.upload_file(
|
|
549
559
|
teamspace_id=self._teamspace.id,
|
|
550
|
-
cloud_account=
|
|
560
|
+
cloud_account=cloud_account,
|
|
551
561
|
file_path=file_path,
|
|
552
562
|
remote_path=os.path.normpath(remote_path),
|
|
553
563
|
progress_bar=progress_bar,
|
|
554
564
|
)
|
|
555
565
|
|
|
556
|
-
def upload_folder(
|
|
566
|
+
def upload_folder(
|
|
567
|
+
self,
|
|
568
|
+
folder_path: str,
|
|
569
|
+
remote_path: Optional[str] = None,
|
|
570
|
+
progress_bar: bool = True,
|
|
571
|
+
cloud_account: Optional[str] = None,
|
|
572
|
+
) -> None:
|
|
557
573
|
"""Uploads a given folder to a remote path in the Teamspace drive."""
|
|
558
574
|
if folder_path is None:
|
|
559
575
|
raise ValueError("Cannot upload a folder that is None.")
|
|
@@ -575,13 +591,15 @@ class Teamspace(metaclass=TrackCallsMeta):
|
|
|
575
591
|
for local_file, remote_path in sorted(all_files, key=lambda p: p[1]):
|
|
576
592
|
if progress_bar:
|
|
577
593
|
progress_bar.set_description(f"Uploading {local_file}")
|
|
578
|
-
self.upload_file(local_file, remote_path=remote_path, progress_bar=False)
|
|
594
|
+
self.upload_file(local_file, remote_path=remote_path, progress_bar=False, cloud_account=cloud_account)
|
|
579
595
|
if progress_bar:
|
|
580
596
|
progress_bar.update(1)
|
|
581
597
|
if progress_bar:
|
|
582
598
|
progress_bar.close()
|
|
583
599
|
|
|
584
|
-
def download_file(
|
|
600
|
+
def download_file(
|
|
601
|
+
self, remote_path: str, file_path: Optional[str] = None, cloud_account: Optional[str] = None
|
|
602
|
+
) -> None:
|
|
585
603
|
"""Downloads a given file in Teamspace drive to a target location."""
|
|
586
604
|
if file_path is None:
|
|
587
605
|
file_path = remote_path
|
|
@@ -590,9 +608,12 @@ class Teamspace(metaclass=TrackCallsMeta):
|
|
|
590
608
|
path=remote_path,
|
|
591
609
|
target_path=file_path,
|
|
592
610
|
teamspace_id=self._teamspace.id,
|
|
611
|
+
cloud_account=cloud_account,
|
|
593
612
|
)
|
|
594
613
|
|
|
595
|
-
def download_folder(
|
|
614
|
+
def download_folder(
|
|
615
|
+
self, remote_path: str, target_path: Optional[str] = None, cloud_account: Optional[str] = None
|
|
616
|
+
) -> None:
|
|
596
617
|
"""Downloads a folder in the Teamspace drive to a given target path."""
|
|
597
618
|
if target_path is None:
|
|
598
619
|
target_path = remote_path
|
|
@@ -601,7 +622,7 @@ class Teamspace(metaclass=TrackCallsMeta):
|
|
|
601
622
|
path=remote_path,
|
|
602
623
|
target_path=target_path,
|
|
603
624
|
teamspace_id=self._teamspace.id,
|
|
604
|
-
cloud_account=
|
|
625
|
+
cloud_account=cloud_account,
|
|
605
626
|
)
|
|
606
627
|
|
|
607
628
|
def new_folder(
|
lightning_sdk/utils/logging.py
CHANGED
|
@@ -22,7 +22,7 @@ def track_calls() -> Callable[..., any]:
|
|
|
22
22
|
bound_args.apply_defaults()
|
|
23
23
|
|
|
24
24
|
args_str = ", ".join(f"{k}: {v}" for k, v in bound_args.arguments.items() if k != "self")
|
|
25
|
-
message = f"
|
|
25
|
+
message = f"ARGS: {args_str} "
|
|
26
26
|
|
|
27
27
|
body = V1CreateSDKCommandHistoryRequest(
|
|
28
28
|
command=func.__qualname__,
|
|
@@ -30,6 +30,7 @@ def track_calls() -> Callable[..., any]:
|
|
|
30
30
|
project_id=None,
|
|
31
31
|
severity=V1SDKCommandHistorySeverity.INFO,
|
|
32
32
|
type=V1SDKCommandHistoryType.SDK,
|
|
33
|
+
version=__version__,
|
|
33
34
|
)
|
|
34
35
|
|
|
35
36
|
try:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: lightning_sdk
|
|
3
|
-
Version:
|
|
3
|
+
Version: 2026.1.27
|
|
4
4
|
Summary: SDK to develop using Lightning AI Studios
|
|
5
5
|
Author-email: Lightning-AI <justus@lightning.ai>
|
|
6
6
|
License: MIT License
|
|
@@ -38,8 +38,6 @@ Requires-Dist: click
|
|
|
38
38
|
Requires-Dist: docker
|
|
39
39
|
Requires-Dist: fastapi
|
|
40
40
|
Requires-Dist: packaging
|
|
41
|
-
Requires-Dist: pandas
|
|
42
|
-
Requires-Dist: pyjwt
|
|
43
41
|
Requires-Dist: pyyaml
|
|
44
42
|
Requires-Dist: requests
|
|
45
43
|
Requires-Dist: rich
|
|
@@ -48,8 +46,6 @@ Requires-Dist: six
|
|
|
48
46
|
Requires-Dist: tqdm
|
|
49
47
|
Requires-Dist: urllib3<=2.5.0
|
|
50
48
|
Requires-Dist: uvicorn
|
|
51
|
-
Requires-Dist: websocket-client
|
|
52
|
-
Requires-Dist: wget
|
|
53
49
|
Provides-Extra: serve
|
|
54
50
|
Requires-Dist: litserve>=0.2.5; extra == "serve"
|
|
55
51
|
|