lightning-sdk 0.1.47__py3-none-any.whl → 0.1.49__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 (47) hide show
  1. lightning_sdk/__init__.py +3 -1
  2. lightning_sdk/api/job_api.py +19 -1
  3. lightning_sdk/api/lit_container_api.py +42 -0
  4. lightning_sdk/api/mmt_api.py +6 -0
  5. lightning_sdk/api/utils.py +8 -1
  6. lightning_sdk/cli/delete.py +58 -0
  7. lightning_sdk/cli/entrypoint.py +17 -0
  8. lightning_sdk/cli/inspect.py +31 -0
  9. lightning_sdk/cli/job_and_mmt_action.py +37 -0
  10. lightning_sdk/cli/jobs_menu.py +57 -0
  11. lightning_sdk/cli/list.py +62 -4
  12. lightning_sdk/cli/mmts_menu.py +57 -0
  13. lightning_sdk/cli/run.py +22 -3
  14. lightning_sdk/cli/stop.py +37 -0
  15. lightning_sdk/cli/upload.py +32 -1
  16. lightning_sdk/job/base.py +24 -1
  17. lightning_sdk/job/job.py +34 -9
  18. lightning_sdk/job/v1.py +1 -1
  19. lightning_sdk/job/v2.py +16 -11
  20. lightning_sdk/lightning_cloud/openapi/__init__.py +3 -1
  21. lightning_sdk/lightning_cloud/openapi/api/lit_registry_service_api.py +124 -23
  22. lightning_sdk/lightning_cloud/openapi/api/models_store_api.py +250 -8
  23. lightning_sdk/lightning_cloud/openapi/models/__init__.py +3 -1
  24. lightning_sdk/lightning_cloud/openapi/models/v1_aws_direct_v1.py +27 -1
  25. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +1 -29
  26. lightning_sdk/lightning_cloud/openapi/models/{v1_delete_container_response.py → v1_delete_lit_repository_response.py} +6 -6
  27. lightning_sdk/lightning_cloud/openapi/models/v1_google_cloud_direct_v1.py +29 -1
  28. lightning_sdk/lightning_cloud/openapi/models/v1_lambda_labs_direct_v1.py +31 -3
  29. lightning_sdk/lightning_cloud/openapi/models/v1_model.py +27 -1
  30. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +27 -53
  31. lightning_sdk/lightning_cloud/openapi/models/v1_vultr_direct_v1.py +81 -3
  32. lightning_sdk/lightning_cloud/openapi/models/version_default_body.py +149 -0
  33. lightning_sdk/lightning_cloud/openapi/models/versions_version_body.py +123 -0
  34. lightning_sdk/lightning_cloud/utils/data_connection.py +1 -0
  35. lightning_sdk/lit_container.py +78 -0
  36. lightning_sdk/mmt/base.py +18 -1
  37. lightning_sdk/mmt/mmt.py +35 -14
  38. lightning_sdk/mmt/v1.py +8 -2
  39. lightning_sdk/mmt/v2.py +12 -10
  40. {lightning_sdk-0.1.47.dist-info → lightning_sdk-0.1.49.dist-info}/METADATA +1 -1
  41. {lightning_sdk-0.1.47.dist-info → lightning_sdk-0.1.49.dist-info}/RECORD +45 -37
  42. lightning_sdk/api/lit_registry_api.py +0 -12
  43. lightning_sdk/lit_registry.py +0 -39
  44. {lightning_sdk-0.1.47.dist-info → lightning_sdk-0.1.49.dist-info}/LICENSE +0 -0
  45. {lightning_sdk-0.1.47.dist-info → lightning_sdk-0.1.49.dist-info}/WHEEL +0 -0
  46. {lightning_sdk-0.1.47.dist-info → lightning_sdk-0.1.49.dist-info}/entry_points.txt +0 -0
  47. {lightning_sdk-0.1.47.dist-info → lightning_sdk-0.1.49.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,78 @@
1
+ from typing import Dict, List, Optional
2
+
3
+ from lightning_sdk.api.lit_container_api import LitContainerApi
4
+ from lightning_sdk.utils.resolve import _resolve_teamspace
5
+
6
+
7
+ class LitContainer:
8
+ def __init__(self) -> None:
9
+ self._api = LitContainerApi()
10
+
11
+ def list_containers(
12
+ self, teamspace: str, org: Optional[str] = None, user: Optional[str] = None
13
+ ) -> List[Dict[str, str]]:
14
+ """List available docker repositories.
15
+
16
+ Args:
17
+ teamspace: The teamspace to list containers from.
18
+ org: The organization to list containers from.
19
+ user: The user to list the containers from.
20
+
21
+ Returns:
22
+ A list of dictionaries containing repository details.
23
+ """
24
+ try:
25
+ teamspace = _resolve_teamspace(teamspace=teamspace, org=org, user=user)
26
+ except Exception as e:
27
+ raise ValueError(f"Could not resolve teamspace: {e}") from e
28
+ project_id = teamspace.id
29
+ repositories = self._api.list_containers(project_id)
30
+ table = []
31
+ for repo in repositories:
32
+ table.append(
33
+ {
34
+ "REPOSITORY": repo.name,
35
+ "IMAGE ID": repo.id,
36
+ "CREATED": repo.creation_time.strftime("%Y-%m-%d %H:%M:%S"),
37
+ }
38
+ )
39
+ return table
40
+
41
+ def delete_container(
42
+ self, container: str, teamspace: str, org: Optional[str] = None, user: Optional[str] = None
43
+ ) -> None:
44
+ """Delete a docker container.
45
+
46
+ Args:
47
+ container: Name of the container to delete.
48
+ teamspace: The teamspace which contains the container.
49
+ org: The organization which contains the container.
50
+ user: The user which contains the container.
51
+ """
52
+ try:
53
+ teamspace = _resolve_teamspace(teamspace=teamspace, org=org, user=user)
54
+ except Exception as e:
55
+ raise ValueError("Could not resolve teamspace") from e
56
+ project_id = teamspace.id
57
+ return self._api.delete_container(project_id, container)
58
+
59
+ def upload_container(
60
+ self, container: str, teamspace: str, org: Optional[str] = None, user: Optional[str] = None, tag: str = "latest"
61
+ ) -> None:
62
+ """Upload a container to the docker registry.
63
+
64
+ Args:
65
+ container: The name of the container to upload.
66
+ teamspace: The teamspace which contains the container.
67
+ org: The organization which contains the container.
68
+ user: The user which contains the container.
69
+ tag: The tag to use for the container.
70
+ """
71
+ try:
72
+ teamspace = _resolve_teamspace(teamspace=teamspace, org=org, user=user)
73
+ except Exception as e:
74
+ raise ValueError(f"Could not resolve teamspace: {e}") from e
75
+
76
+ resp = self._api.upload_container(container, teamspace, tag)
77
+ for line in resp:
78
+ print(line)
lightning_sdk/mmt/base.py CHANGED
@@ -250,6 +250,11 @@ class _BaseMMT(_BaseJob):
250
250
  def machines(self) -> Tuple[MMTMachine, ...]:
251
251
  """Returns the sub-jobs for each individual instance."""
252
252
 
253
+ @property
254
+ def num_machines(self) -> int:
255
+ """Returns the number of machines assigned to this multi-machine job."""
256
+ return len(self.machines)
257
+
253
258
  @property
254
259
  @abstractmethod
255
260
  def machine(self) -> "Machine":
@@ -303,7 +308,18 @@ class _BaseMMT(_BaseJob):
303
308
 
304
309
  def dict(
305
310
  self
306
- ) -> Dict[str, Union[str, "Studio", "Status", "Machine", None, List[Dict[str, Union[str, "Status", "Machine"]]]]]:
311
+ ) -> Dict[
312
+ str,
313
+ Union[
314
+ str,
315
+ float,
316
+ "Studio",
317
+ "Status",
318
+ "Machine",
319
+ None,
320
+ List[Dict[str, Union[str, "Status", "Machine"]]],
321
+ ],
322
+ ]:
307
323
  """Dict representation of this job."""
308
324
  studio = self.studio
309
325
 
@@ -319,6 +335,7 @@ class _BaseMMT(_BaseJob):
319
335
  {"name": d["name"], "status": d["status"], "machine": d["machine"]}
320
336
  for d in (x.dict() for x in self.machines)
321
337
  ],
338
+ "total_cost": self.total_cost,
322
339
  }
323
340
 
324
341
  @abstractmethod
lightning_sdk/mmt/mmt.py CHANGED
@@ -1,4 +1,3 @@
1
- from contextlib import suppress
2
1
  from functools import lru_cache
3
2
  from typing import TYPE_CHECKING, Any, Dict, Optional, Tuple, Union
4
3
 
@@ -58,15 +57,40 @@ class MMT(_BaseMMT):
58
57
  user: the name of the user owning the :param`teamspace`
59
58
  in case it is owned directly by a user instead of an org.
60
59
  """
61
- internal_mmt_cls = _MMTV2 if _has_mmt_v2() and not self._force_v1 else _MMTV1
62
-
63
- self._internal_mmt = internal_mmt_cls(
64
- name=name,
65
- teamspace=teamspace,
66
- org=org,
67
- user=user,
68
- _fetch_job=_fetch_job,
69
- )
60
+ from lightning_sdk.lightning_cloud.openapi.rest import ApiException
61
+
62
+ if _has_mmt_v2() and not self._force_v1:
63
+ # try with v2 and fall back to v1
64
+ try:
65
+ mmt = _MMTV2(
66
+ name=name,
67
+ teamspace=teamspace,
68
+ org=org,
69
+ user=user,
70
+ _fetch_job=_fetch_job,
71
+ )
72
+ except ApiException as e:
73
+ try:
74
+ mmt = _MMTV1(
75
+ name=name,
76
+ teamspace=teamspace,
77
+ org=org,
78
+ user=user,
79
+ _fetch_job=_fetch_job,
80
+ )
81
+ except ApiException:
82
+ raise e from e
83
+
84
+ else:
85
+ mmt = _MMTV1(
86
+ name=name,
87
+ teamspace=teamspace,
88
+ org=org,
89
+ user=user,
90
+ _fetch_job=_fetch_job,
91
+ )
92
+
93
+ self._internal_mmt = mmt
70
94
 
71
95
  @classmethod
72
96
  def run(
@@ -148,10 +172,7 @@ class MMT(_BaseMMT):
148
172
  # required for typing with "MMT"
149
173
  assert isinstance(ret_val, cls)
150
174
 
151
- msg = "Multi-Machine Job was successfully launched."
152
-
153
- with suppress(NotImplementedError):
154
- msg += f" View it at {ret_val.link}"
175
+ msg = f"Multi-Machine Job was successfully launched. View it at {ret_val.link}"
155
176
 
156
177
  _logger.info(msg)
157
178
  return ret_val
lightning_sdk/mmt/v1.py CHANGED
@@ -1,13 +1,14 @@
1
1
  from typing import TYPE_CHECKING, Dict, Optional, Tuple, Union
2
2
 
3
3
  from lightning_sdk.api.mmt_api import MMTApiV1
4
+ from lightning_sdk.api.utils import _get_cloud_url
4
5
  from lightning_sdk.job.v1 import _internal_status_to_external_status
5
6
  from lightning_sdk.job.work import Work
7
+ from lightning_sdk.status import Status
6
8
 
7
9
  if TYPE_CHECKING:
8
10
  from lightning_sdk.machine import Machine
9
11
  from lightning_sdk.organization import Organization
10
- from lightning_sdk.status import Status
11
12
  from lightning_sdk.studio import Studio
12
13
  from lightning_sdk.teamspace import Teamspace
13
14
  from lightning_sdk.user import User
@@ -132,6 +133,8 @@ class _MMTV1(_BaseMMT):
132
133
 
133
134
  def stop(self) -> None:
134
135
  """Stops the job."""
136
+ if self.status in (Status.Stopped, Status.Completed, Status.Failed):
137
+ return
135
138
  self._job_api.stop_job(self._guaranteed_job.id, self.teamspace.id)
136
139
 
137
140
  def delete(self) -> None:
@@ -179,7 +182,10 @@ class _MMTV1(_BaseMMT):
179
182
 
180
183
  @property
181
184
  def link(self) -> str:
182
- return f"https://lightning.ai/{self.teamspace.owner.name}/{self.teamspace.name}/studios/{self._job_api.get_studio_name(self._guaranteed_job)}/app?app_id=mmt&app_tab=Runs&job_name={self.name}"
185
+ return (
186
+ f"{_get_cloud_url()}/{self.teamspace.owner.name}/{self.teamspace.name}/studios/{self._job_api.get_studio_name(self._guaranteed_job)}/"
187
+ f"app?app_id=mmt&app_tab=Runs&job_name={self.name}"
188
+ )
183
189
 
184
190
  @property
185
191
  def image(self) -> Optional[str]:
lightning_sdk/mmt/v2.py CHANGED
@@ -1,12 +1,13 @@
1
- from typing import TYPE_CHECKING, Any, Dict, Optional, Tuple, Union
1
+ from typing import TYPE_CHECKING, Dict, Optional, Tuple, Union
2
2
 
3
3
  from lightning_sdk.api.mmt_api import MMTApiV2
4
+ from lightning_sdk.api.utils import _get_cloud_url
5
+ from lightning_sdk.status import Status
4
6
 
5
7
  if TYPE_CHECKING:
6
8
  from lightning_sdk.job.job import Job
7
9
  from lightning_sdk.machine import Machine
8
10
  from lightning_sdk.organization import Organization
9
- from lightning_sdk.status import Status
10
11
  from lightning_sdk.studio import Studio
11
12
  from lightning_sdk.teamspace import Teamspace
12
13
  from lightning_sdk.user import User
@@ -136,6 +137,8 @@ class _MMTV2(_BaseMMT):
136
137
 
137
138
  def stop(self) -> None:
138
139
  """Stops the job."""
140
+ if self.status in (Status.Stopped, Status.Completed, Status.Failed):
141
+ return
139
142
  self._job_api.stop_job(job_id=self._guaranteed_job.id, teamspace_id=self._teamspace.id)
140
143
 
141
144
  def delete(self) -> None:
@@ -148,12 +151,6 @@ class _MMTV2(_BaseMMT):
148
151
  teamspace_id=self._teamspace.id,
149
152
  )
150
153
 
151
- @property
152
- def _latest_job(self) -> Any:
153
- """Guarantees to fetch the latest version of a job before returning it."""
154
- self._update_internal_job()
155
- return self._job
156
-
157
154
  @property
158
155
  def status(self) -> "Status":
159
156
  """The current status of the job."""
@@ -195,8 +192,8 @@ class _MMTV2(_BaseMMT):
195
192
 
196
193
  @property
197
194
  def link(self) -> str:
198
- # TODO: Since we don't have a UI for this yet, we can't have a link
199
- raise NotImplementedError
195
+ # TODO: MMT env with studio -> go to studio plugin
196
+ return f"{_get_cloud_url()}/{self.teamspace.owner.name}/{self.teamspace.name}/jobs/{self.name}?app_id=mmt"
200
197
 
201
198
  @property
202
199
  def image(self) -> Optional[str]:
@@ -219,3 +216,8 @@ class _MMTV2(_BaseMMT):
219
216
  def command(self) -> str:
220
217
  """The command the job is running."""
221
218
  return self._job_api.get_command(self._guaranteed_job)
219
+
220
+ @property
221
+ def num_machines(self) -> int:
222
+ """Returns the number of machines assigned to this multi-machine job."""
223
+ return self._job_api.get_num_machines(self._guaranteed_job)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lightning_sdk
3
- Version: 0.1.47
3
+ Version: 0.1.49
4
4
  Summary: SDK to develop using Lightning AI Studios
5
5
  Author-email: Lightning-AI <justus@lightning.ai>
6
6
  License: MIT License
@@ -1,10 +1,10 @@
1
1
  docs/source/conf.py,sha256=r8yX20eC-4mHhMTd0SbQb5TlSWHhO6wnJ0VJ_FBFpag,13249
2
- lightning_sdk/__init__.py,sha256=8lax4DfCs2aWQNTxZwlBWy3Rp6jI3-IY89WASJupwZw,925
2
+ lightning_sdk/__init__.py,sha256=pghaQ6_YR2SmOR4N7VM5mlRGqecB5VgWJpqV0JMLxiE,970
3
3
  lightning_sdk/agents.py,sha256=ly6Ma1j0ZgGPFyvPvMN28JWiB9dATIstFa5XM8pMi6I,1577
4
4
  lightning_sdk/ai_hub.py,sha256=kBjtmrzVHPCgqtV_TrSNkuf4oT2DLm8SYRTz4iTQmmY,6624
5
5
  lightning_sdk/constants.py,sha256=ztl1PTUBULnqTf3DyKUSJaV_O20hNtUYT6XvAYIrmIk,749
6
6
  lightning_sdk/helpers.py,sha256=RnQwUquc_YPotjh6YXOoJvZs8krX_QFhd7kGv4U_spQ,1844
7
- lightning_sdk/lit_registry.py,sha256=0zRFH-l61gHOslR6m0Rtetm-sWoUtN7240cvbxAx03I,1332
7
+ lightning_sdk/lit_container.py,sha256=Yh24NmVBsixKSYIZ_p0QqcZ0kjJO58OvXYDLC7ptx8w,2954
8
8
  lightning_sdk/machine.py,sha256=qutfVwQJHC02c2ygB_O5wrFI-Eq9zbfA0E1OPEYcCO0,861
9
9
  lightning_sdk/models.py,sha256=d27VAYUcbWKd4kuL_CqwCi3IguyjmKUR9EVWfXWTwmc,5606
10
10
  lightning_sdk/organization.py,sha256=WCfzdgjtvY1_A07DnxOpp74V2JR2gQwtXbIEcFDnoVU,1232
@@ -18,33 +18,39 @@ lightning_sdk/api/__init__.py,sha256=Qn2VVRvir_gO7w4yxGLkZY-R3T7kdiTPKgQ57BhIA9k
18
18
  lightning_sdk/api/agents_api.py,sha256=G47TbFo9kYqnBMqdw2RW-lfS1VAUBSXDmzs6fpIEMUs,4059
19
19
  lightning_sdk/api/ai_hub_api.py,sha256=CYQLFLA89m3xQ-6Ss3UX4TDK6ZWRwmPGA5DjyJqW3RM,5578
20
20
  lightning_sdk/api/deployment_api.py,sha256=T480Nej7LqmtkAx8SBkPGQ5JxeyQ-GVIDqUCc7Z1yfk,21448
21
- lightning_sdk/api/job_api.py,sha256=L7O7zt3hy-s1UYDzO2FbLS7wtGXU3x8ZBDrtklQFZFc,11648
22
- lightning_sdk/api/lit_registry_api.py,sha256=peAZsJKVLvon7bVHq6aTYdcTVERiGoAZRQ5DzNean3Y,385
23
- lightning_sdk/api/mmt_api.py,sha256=rgMVDdlC3h-KqGI2FGp7Im99gnrHg5xx4FLwQqYWqxI,7136
21
+ lightning_sdk/api/job_api.py,sha256=eu0YKA27m8nEX6d9VzyMvQsl_qnDwtDJwbD4uT1o2Ks,12230
22
+ lightning_sdk/api/lit_container_api.py,sha256=wMX1FdTGiia-fqYFvJLH-Rf6eJIRJ9ggqrI84DtSAFI,1875
23
+ lightning_sdk/api/mmt_api.py,sha256=NHLFaqHx0v2uwq9JEUkYPpDAf-L6EJkJS7nulj66ASA,7322
24
24
  lightning_sdk/api/org_api.py,sha256=Ze3z_ATVrukobujV5YdC42DKj45Vuwl7X52q_Vr-o3U,803
25
25
  lightning_sdk/api/studio_api.py,sha256=Cfsq8HFc4uUsj8hncnhnD_TLhw0cg-ryclGowj8S6Y0,26374
26
26
  lightning_sdk/api/teamspace_api.py,sha256=KYNyfx3aUYJyPeluM9iYphcIogBc--Bt3cV4IAgY7A4,11236
27
27
  lightning_sdk/api/user_api.py,sha256=sL7RIjjtmZmvCZWx7BBZslhj1BeNh4Idn-RVcdmf7M0,2598
28
- lightning_sdk/api/utils.py,sha256=GbfTdqW1yV-fjyEwVebsbAdKQQjRmwT_fXUamrcnwAY,22534
28
+ lightning_sdk/api/utils.py,sha256=VG3sCxWjn6MHONYghA73PZH-ErgqsHyj1ZMU6qzBCFk,22762
29
29
  lightning_sdk/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
30
  lightning_sdk/cli/ai_hub.py,sha256=8oy6TogDiWnHuLT3cv33XEW7vPqXPA0dDMds8kX3Z4g,1649
31
+ lightning_sdk/cli/delete.py,sha256=TePfbCUKR2Bzq3D-avAX6AATQAR0GfFIxj_Qw3qSczo,2431
31
32
  lightning_sdk/cli/download.py,sha256=nyQN3q1vZ0fg4_cfit8cKaokQ9VUd46l_TNcAQWkLwU,5996
32
- lightning_sdk/cli/entrypoint.py,sha256=dR27MRdqTGnC_rQcP9RHV4Zq4GL0DpjHUlkD418-HZk,1576
33
+ lightning_sdk/cli/entrypoint.py,sha256=dybKJ9lTs7ixzaVRLGk4Gv1b11j3VKlAJr5B7itfDRA,2120
33
34
  lightning_sdk/cli/exceptions.py,sha256=QUF3OMAMZwBikvlusimSHSBjb6ywvHpfAumJBEaodSw,169
35
+ lightning_sdk/cli/inspect.py,sha256=VeiazH-9DNn0SrQmP-ZM5JDdy8veQy5yxVe_Dj-KQWI,1349
36
+ lightning_sdk/cli/job_and_mmt_action.py,sha256=OV_i5K3g-NnMUF8Sq6QliQdltnhGVRdtoyZqJVXu4Ss,1659
37
+ lightning_sdk/cli/jobs_menu.py,sha256=6VqJecnyybYjdozj7MXH1gJehskJlwP8SoewQEXDz8s,2119
34
38
  lightning_sdk/cli/legacy.py,sha256=ocTVNwlsLRS5aMjbMkwFPjT3uEYvS8C40CJ0PeRRv8g,4707
35
- lightning_sdk/cli/list.py,sha256=7xKZI3xnJmZo_7cWWdC7_n3XHq2sOb0EwgXNvFkp3vI,2106
36
- lightning_sdk/cli/run.py,sha256=B6ttd9SKg373ngug-lj74CEcuEoxwz-P6nUBVnQeijI,10836
39
+ lightning_sdk/cli/list.py,sha256=gLfIf9iXPPyotqIy8MkWGJXWmGF8BV3jtmcZ8cCd3Ng,3856
40
+ lightning_sdk/cli/mmts_menu.py,sha256=OAwWywYeFSdmXBLR7raZlL7tpAhZld4r71LUHvmnZdA,2175
41
+ lightning_sdk/cli/run.py,sha256=4hcPuawGPVoHMoLUw6uwTNv1qPd4Js-PomUJgjmLkfw,11806
37
42
  lightning_sdk/cli/serve.py,sha256=UaXhGHU6nbAzrnVigSKOTrMjLwSs-sjyhuJCdVUBwzc,8722
43
+ lightning_sdk/cli/stop.py,sha256=qBlVaYAJGxiNSwskxqB7zizTVPIpBGlJ4c7kIXII7iw,1373
38
44
  lightning_sdk/cli/studios_menu.py,sha256=0kQGqGel8gAbpdJtjOM1a6NEat_TnIqRNprNn8QiK58,3236
39
45
  lightning_sdk/cli/teamspace_menu.py,sha256=GVTrMAqxxL3INX83alo5wybnrl6rBBKENo01ZNkWPik,3753
40
- lightning_sdk/cli/upload.py,sha256=H9OyipYTYAQ9Mzy2e8jtoaa-B34-uXHbTQTzY2Vmhv4,9078
46
+ lightning_sdk/cli/upload.py,sha256=pn7yIq98e_gMoaFhETHfiXai_15qdyG6t1hsdjN-oWg,10589
41
47
  lightning_sdk/deployment/__init__.py,sha256=BLu7_cVLp97TYxe6qe-J1zKUSZXAVcvCjgcA7plV2k4,497
42
48
  lightning_sdk/deployment/deployment.py,sha256=Dp15pn8rFAfMfaDhKn0v3bphFuvLgkPFs3KSNxW6eyc,15472
43
49
  lightning_sdk/job/__init__.py,sha256=1MxjQ6rHkyUHCypSW9RuXuVMVH11WiqhIXcU2LCFMwE,64
44
- lightning_sdk/job/base.py,sha256=bEhnFHrl3Ct5RNVqUCJRzzoF8NgXR6CMLyQiXBMIcSE,15526
45
- lightning_sdk/job/job.py,sha256=ZEyzlYtVCFeQJSiv0u6T5ShH5DVQZ3AGYnZ8dKoVAUo,12666
46
- lightning_sdk/job/v1.py,sha256=pmu-adVC0fh4jKwXvjBQb9iIDKPuC5eOo0a2BiBq1fw,10184
47
- lightning_sdk/job/v2.py,sha256=SakYCmTMnG_uP35Fb-zwWoiO0LHNqnCKd-pSvKsg564,9860
50
+ lightning_sdk/job/base.py,sha256=MT1p8RGIhJ9j7LVNTOfk6PTokP6GCdLe4U83vQ_P9dw,16272
51
+ lightning_sdk/job/job.py,sha256=JSd2UUvBJof_ZVaO-FWWbv-Jml7othL8ZSuP6F9Sp7Y,13425
52
+ lightning_sdk/job/v1.py,sha256=ncQcP7pBLUmyLSYwRNM6DVMhxVzRwIfs4EhmSJOe5aI,10202
53
+ lightning_sdk/job/v2.py,sha256=gxrVjFOeHgvEBARE2w5nSUfNSuNEgdNl_RVGIvNPvlM,10180
48
54
  lightning_sdk/job/work.py,sha256=pe1kWU3_GPuN5QlKIDOx_DKyzP1ARhJqY-ACKmklo8U,2313
49
55
  lightning_sdk/lightning_cloud/__init__.py,sha256=o91SMAlwr4Ke5ESe8fHjqXcj31_h7rT-MlFoXA-n2EI,173
50
56
  lightning_sdk/lightning_cloud/__version__.py,sha256=lOfmWHtjmiuSG28TbKQqd2B3nwmSGOlKVFwhaj_cRJk,23
@@ -53,7 +59,7 @@ lightning_sdk/lightning_cloud/login.py,sha256=NSC53eJ24g59dySI9zRDl_-antxiflKDkn
53
59
  lightning_sdk/lightning_cloud/rest_client.py,sha256=iXuigyt3ZD9fYiCPAbQbV6Yzfs4eIDQAq6gsq82q3LI,6657
54
60
  lightning_sdk/lightning_cloud/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
61
  lightning_sdk/lightning_cloud/cli/__main__.py,sha256=aHrigVV0qIp74MuYTdN6uO8a9Xp6E1aOwdR8w1fG-7c,688
56
- lightning_sdk/lightning_cloud/openapi/__init__.py,sha256=vM_5AhUer_Oylf_q1Z6JrWGMsi8Gq_YiJ_lqHwZ9B5g,85952
62
+ lightning_sdk/lightning_cloud/openapi/__init__.py,sha256=vLo-D5ix-ujPnwDyi69GY82YOTc5k3CLj4gqD2epNiw,86157
57
63
  lightning_sdk/lightning_cloud/openapi/api_client.py,sha256=pUTQMNcZmH4BhpnuAXuT7wnegaxaX26bzdEWjdoLeTo,25630
58
64
  lightning_sdk/lightning_cloud/openapi/configuration.py,sha256=H4PTkRz1QAonxKHbx3LG-gDEtdQPAxMO-bVfMfbUfJg,8306
59
65
  lightning_sdk/lightning_cloud/openapi/rest.py,sha256=ZPPr6ZkBp6LtuAsiUU7D8Pz8Dt9ECbEM_26Ov74tdpw,13322
@@ -77,8 +83,8 @@ lightning_sdk/lightning_cloud/openapi/api/lightningapp_v2_service_api.py,sha256=
77
83
  lightning_sdk/lightning_cloud/openapi/api/lightningwork_service_api.py,sha256=dXKzbr4I7TDW-PFsqgiaaw4RtYrzB1X6NZB_hxgMnts,43747
78
84
  lightning_sdk/lightning_cloud/openapi/api/lit_logger_service_api.py,sha256=lpEo-LECmEMMM5EHFqFRFUtVRBmZgMhc0Zt3vZ5tmuE,76631
79
85
  lightning_sdk/lightning_cloud/openapi/api/lit_page_service_api.py,sha256=xf48UmWpzjs3woKVfFeyyqCLN13NA_qDepIwMw2SRUg,20457
80
- lightning_sdk/lightning_cloud/openapi/api/lit_registry_service_api.py,sha256=OzlfVFyDe0-K87mTtaCGQZbdtePKVvgNfvQUqTViOCk,14562
81
- lightning_sdk/lightning_cloud/openapi/api/models_store_api.py,sha256=JlBPgAPnP_4uzN3orcp21VdRxMYkL7m4IbSnLqGZEsw,93092
86
+ lightning_sdk/lightning_cloud/openapi/api/lit_registry_service_api.py,sha256=XJSRbTdtPDkq5XB0FDxK5Mbbf6KpSv7sRn1Bd4T1FVY,18996
87
+ lightning_sdk/lightning_cloud/openapi/api/models_store_api.py,sha256=J-rIl7uWoi6-eZR_tg9J2N0FktRGgQ3TltfSs-ByG9I,104643
82
88
  lightning_sdk/lightning_cloud/openapi/api/organizations_service_api.py,sha256=8xYTFSC4yDs32CTcEoWR1ycXX8chLQWRCsKAXJlOCls,88781
83
89
  lightning_sdk/lightning_cloud/openapi/api/profiler_service_api.py,sha256=hM2vTawBBuOYZrxN1SjZ6mU5ldvB_jUXRcLb0as0F4M,28286
84
90
  lightning_sdk/lightning_cloud/openapi/api/projects_service_api.py,sha256=a0x8UcufASV-CZzmIu-37iJiwhTlzalB07uctELD48Q,85065
@@ -90,7 +96,7 @@ lightning_sdk/lightning_cloud/openapi/api/ssh_public_key_service_api.py,sha256=z
90
96
  lightning_sdk/lightning_cloud/openapi/api/storage_service_api.py,sha256=4SCpucxSLULv26jHjFJWoLXM7bySp2YeJnQayXZLWDU,47660
91
97
  lightning_sdk/lightning_cloud/openapi/api/studio_jobs_service_api.py,sha256=VJ7VcSvdmGbPkgmQZhaOSR47olcNPMzRlmT5J5uKsng,27877
92
98
  lightning_sdk/lightning_cloud/openapi/api/user_service_api.py,sha256=wjdWKwf3zPIyaV7RpwB6QSqDHFX_sMh4ZD2DpfSujV8,66572
93
- lightning_sdk/lightning_cloud/openapi/models/__init__.py,sha256=llwvhKbCskiT1VVXVxCfOIfJ0cw15qHFh3TLtr_TWw0,80994
99
+ lightning_sdk/lightning_cloud/openapi/models/__init__.py,sha256=Q6vEgJLooe1vC6Cp0TG5Olu58As0Wzz6l4dDCAFXgcs,81199
94
100
  lightning_sdk/lightning_cloud/openapi/models/affiliatelinks_id_body.py,sha256=X087AkCafKp2g8E2MR5ghU3pxCNNcoehZJttvuVfdC8,4274
95
101
  lightning_sdk/lightning_cloud/openapi/models/agentmanagedendpoints_id_body.py,sha256=NzKKkTs2PtMSIJJYxeh3aDBj-djBrI_qATGz7n5Oqdk,9234
96
102
  lightning_sdk/lightning_cloud/openapi/models/agents_id_body.py,sha256=iQsLbzMMvWhWMShSCA-pTIqZvfjJkUyb_mVnvVqgcXg,19633
@@ -251,7 +257,7 @@ lightning_sdk/lightning_cloud/openapi/models/v1_autoscaling_spec.py,sha256=abLbl
251
257
  lightning_sdk/lightning_cloud/openapi/models/v1_autoscaling_target_metric.py,sha256=4bjysD69mGA-V3oBTZcm9etEHHOUN0O9M7toGlAZGDI,4384
252
258
  lightning_sdk/lightning_cloud/openapi/models/v1_aws_cluster_credentials.py,sha256=I3WZlCoh1cd785BpHHi7CStQIhKJbkfNpD_STzFj1K8,5060
253
259
  lightning_sdk/lightning_cloud/openapi/models/v1_aws_data_connection.py,sha256=a5iQvOc2A7PZ2WMhxBJXEtByZhzcmNHy8ub4eZYYPCA,11811
254
- lightning_sdk/lightning_cloud/openapi/models/v1_aws_direct_v1.py,sha256=pb4RYhXIbnARqlr2mZpmP6q3OwWZR15jcsoIRKKrigg,12623
260
+ lightning_sdk/lightning_cloud/openapi/models/v1_aws_direct_v1.py,sha256=1ED0R_Brkzo9Al_KuEmzuPKTp2dSzWKuF7OdXmt221g,13386
255
261
  lightning_sdk/lightning_cloud/openapi/models/v1_aws_direct_v1_status.py,sha256=3x5fFdoFa4Bjy5h1wBpphJ69PXJX7XRv8gG2rW3UzXM,5049
256
262
  lightning_sdk/lightning_cloud/openapi/models/v1_batch_update_lightningwork_response.py,sha256=uaAbQIuxzAtJCS0HgZfXrRyWn5L8-eMXydbFAhouxlg,3094
257
263
  lightning_sdk/lightning_cloud/openapi/models/v1_billing_feature.py,sha256=vkQ7QNTECZ0ZranpKUvugXPwRv6xDUMbBzMQ8yehiUs,6512
@@ -295,7 +301,7 @@ lightning_sdk/lightning_cloud/openapi/models/v1_cluster_names.py,sha256=Xs3mhVEi
295
301
  lightning_sdk/lightning_cloud/openapi/models/v1_cluster_proxy.py,sha256=4LbHvINs2CwQnuPg_uWw03GNNRT_wdqX42m_Zlqg2dY,5547
296
302
  lightning_sdk/lightning_cloud/openapi/models/v1_cluster_resource_tag.py,sha256=U6DfNNAIBZQ8SOF-2RXp2-CgmxaT1XJrNaCnZzaqjHg,4274
297
303
  lightning_sdk/lightning_cloud/openapi/models/v1_cluster_security_options.py,sha256=rr-Y_51425UxWZY9PEE9OW-m6mvqgmOP1yc3RB5FkIY,12571
298
- lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py,sha256=PnRnqmq4FxzpreRvJ34Bc1jGp9k5-AQW-aLDl93HNqY,18931
304
+ lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py,sha256=xGy5pWDcuKn1p90M4BGFlhAscswRMRmfRIRHdItR9aQ,17392
299
305
  lightning_sdk/lightning_cloud/openapi/models/v1_cluster_state.py,sha256=Mvl3dEhdtb7-rU4wUsR_-YOMpd7wE8uUAyXv3MiOcOk,3331
300
306
  lightning_sdk/lightning_cloud/openapi/models/v1_cluster_status.py,sha256=n9NhKdWg51q_7d4VM9Bsk5aakctU-o3R-0YmdzTsMW0,13267
301
307
  lightning_sdk/lightning_cloud/openapi/models/v1_cluster_tagging_options.py,sha256=E3uMncqfSA1IxGGAUsNYdfeXYkY4NNs6p7cLWBMoHMw,6283
@@ -360,7 +366,6 @@ lightning_sdk/lightning_cloud/openapi/models/v1_delete_cluster_capacity_reservat
360
366
  lightning_sdk/lightning_cloud/openapi/models/v1_delete_cluster_encryption_key_response.py,sha256=F6QSFYZM8j9rDtOpwzbVEH17NTCx5qSlvT_UjcdeIAE,3106
361
367
  lightning_sdk/lightning_cloud/openapi/models/v1_delete_cluster_proxy_response.py,sha256=0YtYHebFVutcWQMuY9To1Eh7zfRe9wFxb9RkLL8Nav0,3058
362
368
  lightning_sdk/lightning_cloud/openapi/models/v1_delete_cluster_response.py,sha256=CCQd_OpnjAPaTP0Q3Uxw8nba58ZTnmkF-o2CEfwa9ec,3028
363
- lightning_sdk/lightning_cloud/openapi/models/v1_delete_container_response.py,sha256=6lYTA3fbtx1cTFjAtagGYa_42t1-wAwspT2djmZCbhY,3040
364
369
  lightning_sdk/lightning_cloud/openapi/models/v1_delete_conversation_response.py,sha256=9X3MUKE0C8sqYP48lm-f0aN0AGe3I4H7IDUSbHprfa8,3058
365
370
  lightning_sdk/lightning_cloud/openapi/models/v1_delete_data_connection_response.py,sha256=DsGzX9XH4d9Zaz8MPqrfN90oYzYjxK3swK4Styu7SbE,3070
366
371
  lightning_sdk/lightning_cloud/openapi/models/v1_delete_dataset_response.py,sha256=3e9VCGV7FjV8qzvsXU3-SZi7Lj72Bc-qJ07x-69Ek7U,3028
@@ -375,6 +380,7 @@ lightning_sdk/lightning_cloud/openapi/models/v1_delete_lightningapp_instance_art
375
380
  lightning_sdk/lightning_cloud/openapi/models/v1_delete_lightningapp_instance_response.py,sha256=eS11kIEnPNW5KvG-MmMMFR7ynxqpV7j5_gVPfVgMEbA,3106
376
381
  lightning_sdk/lightning_cloud/openapi/models/v1_delete_lightningwork_response.py,sha256=jAkzaCenELp4Lg-wtBKGHmacF0JPN2YSBYV8_B46tHQ,3064
377
382
  lightning_sdk/lightning_cloud/openapi/models/v1_delete_lit_page_response.py,sha256=dPBEV8PAH6ar5spg3cCa_hPMlajJcJ9ourbdoCku4XQ,3028
383
+ lightning_sdk/lightning_cloud/openapi/models/v1_delete_lit_repository_response.py,sha256=iYXqZlUrb-Xljvl4awlPvOmYusGZGdFJDXg56ec30i4,3064
378
384
  lightning_sdk/lightning_cloud/openapi/models/v1_delete_logger_artifact_response.py,sha256=bUf_tyaYQjyhQ2Wiq8D0dZWU6yl9knq_uQDJcHQ0ImM,3070
379
385
  lightning_sdk/lightning_cloud/openapi/models/v1_delete_managed_endpoint_response.py,sha256=McRms2Ag2FZOUa39fJErUihEQXSia8RYIpPrGm5mZMw,3076
380
386
  lightning_sdk/lightning_cloud/openapi/models/v1_delete_metrics_stream_response.py,sha256=s3dpSMmaI5pd5FDCYG_LhO6Idmk-ZRkbbvIqTppY4jw,3064
@@ -495,7 +501,7 @@ lightning_sdk/lightning_cloud/openapi/models/v1_get_user_notification_preference
495
501
  lightning_sdk/lightning_cloud/openapi/models/v1_get_user_response.py,sha256=z-3_OOHg830ETJPAnIS69yHF1LJcIRgjzVs2qForT2A,30480
496
502
  lightning_sdk/lightning_cloud/openapi/models/v1_get_user_storage_breakdown_response.py,sha256=igCbjaeZXEbiPAa9cUjwG4cPUivt-7MiiWYikELHwsw,9983
497
503
  lightning_sdk/lightning_cloud/openapi/models/v1_get_user_storage_response.py,sha256=0k1scTY1IAeKr3p0r7eV_xWRE7Nx54doTGygiQQPkbM,6879
498
- lightning_sdk/lightning_cloud/openapi/models/v1_google_cloud_direct_v1.py,sha256=gYnzf2hVpl7Kc5Fe8EBlSx2fJRBwDnsvkg4bCMkFfek,11861
504
+ lightning_sdk/lightning_cloud/openapi/models/v1_google_cloud_direct_v1.py,sha256=ITH50lGG-Xx2kMrgrAZxgqbErzhMTwJfABId4gXVAdU,13286
499
505
  lightning_sdk/lightning_cloud/openapi/models/v1_google_cloud_direct_v1_status.py,sha256=Md6rMiUCMY4oDVE2IYaALD_I0o2PQIKF-9628IGmTyY,3791
500
506
  lightning_sdk/lightning_cloud/openapi/models/v1_gpu_system_metrics.py,sha256=io_MkTCTYi6qmYw8KqFZf2zHx8jgBsPKsEwqjr2BG0U,7722
501
507
  lightning_sdk/lightning_cloud/openapi/models/v1_header.py,sha256=6GR8AL-UcMa3mH-PLtd7WWDZiG0Zi3AYKFw19AAasZc,4831
@@ -522,7 +528,7 @@ lightning_sdk/lightning_cloud/openapi/models/v1_job_timing.py,sha256=qnnGfuKbAU_
522
528
  lightning_sdk/lightning_cloud/openapi/models/v1_joinable_organization.py,sha256=IkuGZ89NWOMpe8JsxXJvkRKdcDUvV4F3akA_USvl5rs,9586
523
529
  lightning_sdk/lightning_cloud/openapi/models/v1_keep_alive_cloud_space_instance_response.py,sha256=NRrP0aqQbpd8ejQUApJ2L1vUoSx1UhNOlSh4JeQ2_es,3112
524
530
  lightning_sdk/lightning_cloud/openapi/models/v1_knowledge_configuration.py,sha256=zEm-VKsmvL6aJtICeq1w3nn-V-6GvYLRNYDbnvPGn-4,8841
525
- lightning_sdk/lightning_cloud/openapi/models/v1_lambda_labs_direct_v1.py,sha256=fYXcwvKIgeNWWCrtynvO5YCgbbPu0ETR6TtPnGbAPqY,4133
531
+ lightning_sdk/lightning_cloud/openapi/models/v1_lambda_labs_direct_v1.py,sha256=aI89GSYPsCDMH2Xuk4bTcBmRDwv3ZQtvv7PqYT0TT3w,5290
526
532
  lightning_sdk/lightning_cloud/openapi/models/v1_lightning_app_user.py,sha256=5jJlea7GP24fkRtNsTVl0AYrotiODCYe8-qyIxr3w0w,4352
527
533
  lightning_sdk/lightning_cloud/openapi/models/v1_lightning_auth.py,sha256=-ccSh5ZorAALrYlIw6HhbFZ1NpF6YiU0WHuV1EnyBYM,4448
528
534
  lightning_sdk/lightning_cloud/openapi/models/v1_lightning_basic_auth.py,sha256=fgPODETba7KvV3JGrpgy44c6nXMt-rOHiK40SCgB0gI,4434
@@ -652,7 +658,7 @@ lightning_sdk/lightning_cloud/openapi/models/v1_metrics.py,sha256=dFyPDXpq71deEC
652
658
  lightning_sdk/lightning_cloud/openapi/models/v1_metrics_stream.py,sha256=JYdwxzFmOfNQ26WhY9CiUNA4j0V2lhtzBx2VTQ7JCyA,22831
653
659
  lightning_sdk/lightning_cloud/openapi/models/v1_metrics_tags.py,sha256=pqSxM8PtvGzL8YShurjbOaSVSr45XuhrpINWom40i5Y,5557
654
660
  lightning_sdk/lightning_cloud/openapi/models/v1_metrics_tracker.py,sha256=b6ihJRbKPrIuN8SUnTRqNwlBbz45vxlIOtMEmWnl2cg,10996
655
- lightning_sdk/lightning_cloud/openapi/models/v1_model.py,sha256=eCB-tr1-a6pj8q2MCUEa2nGriRE93Z_lEZty_xpaTDY,13433
661
+ lightning_sdk/lightning_cloud/openapi/models/v1_model.py,sha256=P29zYfYzAqNONnCo211Dx8LzZjaqmDV5pxuZixU5ZEE,14341
656
662
  lightning_sdk/lightning_cloud/openapi/models/v1_model_file.py,sha256=MWdpC7lfwFWioi2yL2Ajdnz4yYwWBWxdiQiXYADcfqg,4805
657
663
  lightning_sdk/lightning_cloud/openapi/models/v1_model_version_archive.py,sha256=dZ_SM_IKbyRxjRSAmfdBWkLEMIWAGLQxYxBmwIjEUcM,12857
658
664
  lightning_sdk/lightning_cloud/openapi/models/v1_mount_target.py,sha256=7hWm0_z3weM2V6j900nUpCMceF3q-hXH1tVI1rama2U,5823
@@ -809,7 +815,7 @@ lightning_sdk/lightning_cloud/openapi/models/v1_upstream_open_ai.py,sha256=jt1qQ
809
815
  lightning_sdk/lightning_cloud/openapi/models/v1_usage.py,sha256=RhhnH9ygScZyExg06WhvMNPPRLSe8FYkIftqF-D9NIU,13408
810
816
  lightning_sdk/lightning_cloud/openapi/models/v1_usage_details.py,sha256=U7qC698Xj5tb3D93ZskG6sDf3lTXE13UTlGeDTvtRU4,14062
811
817
  lightning_sdk/lightning_cloud/openapi/models/v1_usage_report.py,sha256=iH67BcONBSLYzcZpGpKWSOzJTCpuqYt7FU4OUs8BJ9k,6076
812
- lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py,sha256=Dch5r7uQWI98sBKronVzlelWQnBeU2utrh8PoYIn6k0,75514
818
+ lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py,sha256=BVJiD5oLzTBceVjdk2qS0_eA4xG4ANQzQAQNsoAYG-c,74282
813
819
  lightning_sdk/lightning_cloud/openapi/models/v1_user_requested_compute_config.py,sha256=3jeJfpbBpYY2B2Ao2j2N93CMO2CnvmPqndE4Lw3ZfMA,13056
814
820
  lightning_sdk/lightning_cloud/openapi/models/v1_user_requested_flow_compute_config.py,sha256=3WpZ-lf7xPwuYyQDMdP7Uc6-dh3vf5TaaUlcMfesfMk,5208
815
821
  lightning_sdk/lightning_cloud/openapi/models/v1_user_slurm_job_action_response.py,sha256=BdNzXH8Vsf5PHjl9Rd-TVkpAgx1YC9rf8LD0js-ba20,3058
@@ -823,12 +829,14 @@ lightning_sdk/lightning_cloud/openapi/models/v1_validate_managed_endpoint_respon
823
829
  lightning_sdk/lightning_cloud/openapi/models/v1_validate_managed_model_response.py,sha256=LshfheXdKDqRYgg5Sa5dV0L9CW3BVfFts_f2qqmnH7k,3767
824
830
  lightning_sdk/lightning_cloud/openapi/models/v1_verify_verification_response.py,sha256=VQrBJk2pQQJuu-1Om-kvKr5N9ioxEPeV2l70udHEWSw,3058
825
831
  lightning_sdk/lightning_cloud/openapi/models/v1_volume.py,sha256=UIEsGm_TA6Qustavo2Umxq1No4pP-VImzsYw7CfNXMk,4702
826
- lightning_sdk/lightning_cloud/openapi/models/v1_vultr_direct_v1.py,sha256=ZVKoIqzl0q4BdG5Ksf6iuJFzjwcdVZU16nGdHGS5rQ4,4073
832
+ lightning_sdk/lightning_cloud/openapi/models/v1_vultr_direct_v1.py,sha256=5xp2xBJR823Xa-lTBf0bs9E1OnrhAidknF_LPnzgvuI,6465
827
833
  lightning_sdk/lightning_cloud/openapi/models/v1_work.py,sha256=MwXPSG8TE_CcGiffx6OI6U7kyf1NnSsDvJEM6LuwcYA,4910
828
834
  lightning_sdk/lightning_cloud/openapi/models/validate.py,sha256=wrCNhZpBR2PiA_a56C01w5fuxOSSGkbEh3Y8iMwUcYs,8086
829
835
  lightning_sdk/lightning_cloud/openapi/models/validateautojoindomain_domain_body.py,sha256=gRI7XdvbY7w09gIH6BkFai8UA-y71T2AmiR5Y2XcTe8,3781
836
+ lightning_sdk/lightning_cloud/openapi/models/version_default_body.py,sha256=cioI_KsxCMJncr_5Y98odN_28EP7aOOiR0lPHpZtKx8,4385
830
837
  lightning_sdk/lightning_cloud/openapi/models/version_uploads_body.py,sha256=tj_gdZ7gBd0CPuT8eZv-p5taH7XfVohUUhEFqj4xA3w,3701
831
838
  lightning_sdk/lightning_cloud/openapi/models/versions_id_body.py,sha256=z4tAS_ziEH7gbpdQaUt0BB-R25BX2zoz0UFtHY5mRwc,10637
839
+ lightning_sdk/lightning_cloud/openapi/models/versions_version_body.py,sha256=o8q2jgCYM2gW3D2IwbbubHpEjKFiVfgOqoMZ4s0mnZg,3631
832
840
  lightning_sdk/lightning_cloud/openapi/models/works_id_body.py,sha256=6xpkaHkN9PgYh0Skp-2m2XLNzD4WaELIK8zCAPS3ams,3647
833
841
  lightning_sdk/lightning_cloud/source_code/__init__.py,sha256=NaXJ1UtzKePzkLLE7d6Yg4bsIafYZPsV-noObTnHAno,113
834
842
  lightning_sdk/lightning_cloud/source_code/copytree.py,sha256=vF5TLd-MBsPlbulu7l1JAHCqUpnxI1vNrQRqG_ErexQ,6272
@@ -838,15 +846,15 @@ lightning_sdk/lightning_cloud/source_code/logs_socket_api.py,sha256=ngpv70IayG8M
838
846
  lightning_sdk/lightning_cloud/source_code/tar.py,sha256=mSKRWEX1SIAbXFcESNrQAqWSVULv4G0jgcvR_o2KJ5g,5813
839
847
  lightning_sdk/lightning_cloud/source_code/uploader.py,sha256=CQrWV6JNDiglyRfhc42ht4GWFtgRz_fBxw4tOCERzco,3207
840
848
  lightning_sdk/lightning_cloud/utils/__init__.py,sha256=kSNKoybELDJHs9WeCf279V5JtzOf1VqfKODlKYr9uRo,115
841
- lightning_sdk/lightning_cloud/utils/data_connection.py,sha256=YpyQlJFGtgZsuCdjv_0iuyKh-6NzU-6rlzSEBBXALAs,6751
849
+ lightning_sdk/lightning_cloud/utils/data_connection.py,sha256=D5ZmvFbfzNSvmlX9MQmn1ILYcd5ExbS5kIVf7hWESyU,6774
842
850
  lightning_sdk/lightning_cloud/utils/dataset.py,sha256=4nUspe8iAaRPgSYpXA2uAQCgydm78kJzhOIx3C9qKls,2011
843
851
  lightning_sdk/lightning_cloud/utils/name_generator.py,sha256=MkciuA10332V0mcE2PxLIiwWomWE0Fm_gNGK01vwRr4,58046
844
852
  lightning_sdk/lightning_cloud/utils/network.py,sha256=axPgl8rhyPcPjxiztDxyksfxax3VNg2OXL5F5Uc81b4,406
845
853
  lightning_sdk/mmt/__init__.py,sha256=ExMu90-96bGBnyp5h0CErQszUGB1-PcjC4-R8_NYbeY,117
846
- lightning_sdk/mmt/base.py,sha256=yXmussF0qEh7S9KeYcKo7xzBlIAg1DCjgdf1iWc-L6M,14489
847
- lightning_sdk/mmt/mmt.py,sha256=fJL_cxXnoN10NZXMqwbAOlN7f_TULdZjmz7PGoM7GXo,13369
848
- lightning_sdk/mmt/v1.py,sha256=1hMJVXMcmG1k4zM8sN44uOddHkuJnX1Wjl_WVz-Ox5Q,9166
849
- lightning_sdk/mmt/v2.py,sha256=RY5W172aqVqcKbXJCdY5mdk7r201IAsxqtwG1KuEhP4,9474
854
+ lightning_sdk/mmt/base.py,sha256=KBqNMsbAQPGy5CPUCkZMbAGLnjyVG9H-o-xDAPQ-vng,14822
855
+ lightning_sdk/mmt/mmt.py,sha256=v-dOMS1bqUGoGYIe45YZJc0aXPUDsUGNdRoeu8DMw60,14029
856
+ lightning_sdk/mmt/v1.py,sha256=qdd8wrGlyg-75rYLGFY4-PfIg_O9fYvVRL-xryNg2U8,9347
857
+ lightning_sdk/mmt/v2.py,sha256=97sIFx55MAgkaOq3pb5I8GB8pQoHg7HB8pezccH-vuw,9682
850
858
  lightning_sdk/services/__init__.py,sha256=gSWUjccEhMI9CIWL_nbrFHUK2S6TM2725mEzrLMfK1Y,225
851
859
  lightning_sdk/services/file_endpoint.py,sha256=we5HC_o74J4Y6fSP_31jIizi_I_1FO_Rb2qblspD9eE,7855
852
860
  lightning_sdk/services/utilities.py,sha256=IeOx8hc3F8ZevHeKBysh08BXhJliTNzvKp1gwpEfdik,4087
@@ -855,9 +863,9 @@ lightning_sdk/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSu
855
863
  lightning_sdk/utils/dynamic.py,sha256=glUTO1JC9APtQ6Gr9SO02a3zr56-sPAXM5C3NrTpgyQ,1959
856
864
  lightning_sdk/utils/enum.py,sha256=h2JRzqoBcSlUdanFHmkj_j5DleBHAu1esQYUsdNI-hU,4106
857
865
  lightning_sdk/utils/resolve.py,sha256=RWvlOWLHjaHhR0W0zT3mN719cbzhFfYCKBss38zfv3k,5783
858
- lightning_sdk-0.1.47.dist-info/LICENSE,sha256=uFIuZwj5z-4TeF2UuacPZ1o17HkvKObT8fY50qN84sg,1064
859
- lightning_sdk-0.1.47.dist-info/METADATA,sha256=mgPc8AxO4hg3mbNN21lwLtjkrF9JtSjzgUNU2oTKRns,4031
860
- lightning_sdk-0.1.47.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
861
- lightning_sdk-0.1.47.dist-info/entry_points.txt,sha256=msB9PJWIJ784dX-OP8by51d4IbKYH3Fj1vCuA9oXjHY,68
862
- lightning_sdk-0.1.47.dist-info/top_level.txt,sha256=ps8doKILFXmN7F1mHncShmnQoTxKBRPIcchC8TpoBw4,19
863
- lightning_sdk-0.1.47.dist-info/RECORD,,
866
+ lightning_sdk-0.1.49.dist-info/LICENSE,sha256=uFIuZwj5z-4TeF2UuacPZ1o17HkvKObT8fY50qN84sg,1064
867
+ lightning_sdk-0.1.49.dist-info/METADATA,sha256=tBtxBwoidv39GiVZ8kKllvqj9UEomokZZpD9_zlMSqs,4031
868
+ lightning_sdk-0.1.49.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
869
+ lightning_sdk-0.1.49.dist-info/entry_points.txt,sha256=msB9PJWIJ784dX-OP8by51d4IbKYH3Fj1vCuA9oXjHY,68
870
+ lightning_sdk-0.1.49.dist-info/top_level.txt,sha256=ps8doKILFXmN7F1mHncShmnQoTxKBRPIcchC8TpoBw4,19
871
+ lightning_sdk-0.1.49.dist-info/RECORD,,
@@ -1,12 +0,0 @@
1
- from typing import List
2
-
3
- from lightning_sdk.lightning_cloud.rest_client import LightningClient
4
-
5
-
6
- class LitRegistryApi:
7
- def __init__(self) -> None:
8
- self._client = LightningClient(max_tries=3)
9
-
10
- def list_containers(self, project_id: str) -> List:
11
- project = self._client.lit_registry_service_get_lit_project_registry(project_id)
12
- return project.repositories
@@ -1,39 +0,0 @@
1
- from typing import Dict, List, Optional
2
-
3
- from lightning_sdk.api.lit_registry_api import LitRegistryApi
4
- from lightning_sdk.utils.resolve import _resolve_teamspace
5
-
6
-
7
- class LitRegistry:
8
- def __init__(self) -> None:
9
- self._api = LitRegistryApi()
10
-
11
- def list_containers(
12
- self, teamspace: str, org: Optional[str] = None, user: Optional[str] = None
13
- ) -> List[Dict[str, str]]:
14
- """List available containers.
15
-
16
- Args:
17
- teamspace: The teamspace to list containers from.
18
- org: The organization to list containers from.
19
- user: The user to list the containers from.
20
-
21
- Returns:
22
- A list of dictionaries containing repository details.
23
- """
24
- try:
25
- teamspace = _resolve_teamspace(teamspace=teamspace, org=org, user=user)
26
- except Exception as e:
27
- raise ValueError(f"Could not resolve teamspace: {e}") from e
28
- project_id = teamspace.id
29
- repositories = self._api.list_containers(project_id)
30
- table = []
31
- for repo in repositories:
32
- table.append(
33
- {
34
- "REPOSITORY": repo.name,
35
- "IMAGE ID": repo.id,
36
- "CREATED": repo.creation_time.strftime("%Y-%m-%d %H:%M:%S"),
37
- }
38
- )
39
- return table