lightning-sdk 0.1.54__py3-none-any.whl → 0.1.56__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 (61) hide show
  1. lightning_sdk/__init__.py +1 -1
  2. lightning_sdk/ai_hub.py +22 -0
  3. lightning_sdk/api/ai_hub_api.py +21 -2
  4. lightning_sdk/api/deployment_api.py +4 -3
  5. lightning_sdk/api/job_api.py +5 -10
  6. lightning_sdk/api/lit_container_api.py +27 -7
  7. lightning_sdk/api/mmt_api.py +1 -4
  8. lightning_sdk/api/studio_api.py +5 -7
  9. lightning_sdk/api/teamspace_api.py +7 -0
  10. lightning_sdk/api/utils.py +1 -27
  11. lightning_sdk/cli/configure.py +92 -0
  12. lightning_sdk/cli/connect.py +31 -0
  13. lightning_sdk/cli/delete.py +32 -3
  14. lightning_sdk/cli/download.py +1 -1
  15. lightning_sdk/cli/entrypoint.py +14 -1
  16. lightning_sdk/cli/generate.py +35 -0
  17. lightning_sdk/cli/inspect.py +4 -2
  18. lightning_sdk/cli/jobs_menu.py +2 -1
  19. lightning_sdk/cli/list.py +49 -6
  20. lightning_sdk/cli/mmts_menu.py +2 -1
  21. lightning_sdk/cli/run.py +3 -3
  22. lightning_sdk/cli/serve.py +1 -2
  23. lightning_sdk/cli/start.py +43 -0
  24. lightning_sdk/cli/stop.py +30 -2
  25. lightning_sdk/cli/studios_menu.py +24 -1
  26. lightning_sdk/cli/switch.py +43 -0
  27. lightning_sdk/cli/teamspace_menu.py +2 -1
  28. lightning_sdk/cli/upload.py +6 -4
  29. lightning_sdk/lightning_cloud/openapi/__init__.py +6 -0
  30. lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +115 -2
  31. lightning_sdk/lightning_cloud/openapi/api/jobs_service_api.py +113 -0
  32. lightning_sdk/lightning_cloud/openapi/api/lit_registry_service_api.py +216 -2
  33. lightning_sdk/lightning_cloud/openapi/api/projects_service_api.py +1 -5
  34. lightning_sdk/lightning_cloud/openapi/models/__init__.py +6 -0
  35. lightning_sdk/lightning_cloud/openapi/models/cluster_id_usagerestrictions_body.py +27 -1
  36. lightning_sdk/lightning_cloud/openapi/models/id_reportrestarttimings_body.py +123 -0
  37. lightning_sdk/lightning_cloud/openapi/models/project_id_litregistry_body.py +2 -0
  38. lightning_sdk/lightning_cloud/openapi/models/usagerestrictions_id_body.py +27 -1
  39. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_provider.py +3 -0
  40. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_accelerator.py +53 -1
  41. lightning_sdk/lightning_cloud/openapi/models/v1_get_cluster_accelerator_demand_response.py +123 -0
  42. lightning_sdk/lightning_cloud/openapi/models/v1_job.py +53 -1
  43. lightning_sdk/lightning_cloud/openapi/models/v1_job_spec.py +27 -1
  44. lightning_sdk/lightning_cloud/openapi/models/v1_lambda_labs_direct_v1.py +55 -3
  45. lightning_sdk/lightning_cloud/openapi/models/v1_list_lit_registry_repository_image_artifact_versions_response.py +231 -0
  46. lightning_sdk/lightning_cloud/openapi/models/v1_lit_registry_artifact.py +279 -0
  47. lightning_sdk/lightning_cloud/openapi/models/v1_lit_registry_project.py +8 -0
  48. lightning_sdk/lightning_cloud/openapi/models/v1_lit_repository.py +27 -1
  49. lightning_sdk/lightning_cloud/openapi/models/v1_report_restart_timings_response.py +97 -0
  50. lightning_sdk/lightning_cloud/openapi/models/v1_restart_timing.py +175 -0
  51. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +27 -53
  52. lightning_sdk/lightning_cloud/openapi/models/v1_validate_deployment_image_request.py +27 -1
  53. lightning_sdk/machine.py +59 -27
  54. lightning_sdk/studio.py +5 -1
  55. lightning_sdk/teamspace.py +25 -0
  56. {lightning_sdk-0.1.54.dist-info → lightning_sdk-0.1.56.dist-info}/METADATA +2 -1
  57. {lightning_sdk-0.1.54.dist-info → lightning_sdk-0.1.56.dist-info}/RECORD +61 -50
  58. {lightning_sdk-0.1.54.dist-info → lightning_sdk-0.1.56.dist-info}/LICENSE +0 -0
  59. {lightning_sdk-0.1.54.dist-info → lightning_sdk-0.1.56.dist-info}/WHEEL +0 -0
  60. {lightning_sdk-0.1.54.dist-info → lightning_sdk-0.1.56.dist-info}/entry_points.txt +0 -0
  61. {lightning_sdk-0.1.54.dist-info → lightning_sdk-0.1.56.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,231 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ external/v1/auth_service.proto
5
+
6
+ No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501
7
+
8
+ OpenAPI spec version: version not set
9
+
10
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
11
+
12
+ NOTE
13
+ ----
14
+ standard swagger-codegen-cli for this python client has been modified
15
+ by custom templates. The purpose of these templates is to include
16
+ typing information in the API and Model code. Please refer to the
17
+ main grid repository for more info
18
+ """
19
+
20
+ import pprint
21
+ import re # noqa: F401
22
+
23
+ from typing import TYPE_CHECKING
24
+
25
+ import six
26
+
27
+ if TYPE_CHECKING:
28
+ from datetime import datetime
29
+ from lightning_sdk.lightning_cloud.openapi.models import *
30
+
31
+ class V1ListLitRegistryRepositoryImageArtifactVersionsResponse(object):
32
+ """NOTE: This class is auto generated by the swagger code generator program.
33
+
34
+ Do not edit the class manually.
35
+ """
36
+ """
37
+ Attributes:
38
+ swagger_types (dict): The key is attribute name
39
+ and the value is attribute type.
40
+ attribute_map (dict): The key is attribute name
41
+ and the value is json key in definition.
42
+ """
43
+ swagger_types = {
44
+ 'artifacts': 'list[V1LitRegistryArtifact]',
45
+ 'latest_artifact': 'V1LitRegistryArtifact',
46
+ 'latest_tag_name': 'str',
47
+ 'lit_repo_name': 'str',
48
+ 'project_id': 'str'
49
+ }
50
+
51
+ attribute_map = {
52
+ 'artifacts': 'artifacts',
53
+ 'latest_artifact': 'latestArtifact',
54
+ 'latest_tag_name': 'latestTagName',
55
+ 'lit_repo_name': 'litRepoName',
56
+ 'project_id': 'projectId'
57
+ }
58
+
59
+ def __init__(self, artifacts: 'list[V1LitRegistryArtifact]' =None, latest_artifact: 'V1LitRegistryArtifact' =None, latest_tag_name: 'str' =None, lit_repo_name: 'str' =None, project_id: 'str' =None): # noqa: E501
60
+ """V1ListLitRegistryRepositoryImageArtifactVersionsResponse - a model defined in Swagger""" # noqa: E501
61
+ self._artifacts = None
62
+ self._latest_artifact = None
63
+ self._latest_tag_name = None
64
+ self._lit_repo_name = None
65
+ self._project_id = None
66
+ self.discriminator = None
67
+ if artifacts is not None:
68
+ self.artifacts = artifacts
69
+ if latest_artifact is not None:
70
+ self.latest_artifact = latest_artifact
71
+ if latest_tag_name is not None:
72
+ self.latest_tag_name = latest_tag_name
73
+ if lit_repo_name is not None:
74
+ self.lit_repo_name = lit_repo_name
75
+ if project_id is not None:
76
+ self.project_id = project_id
77
+
78
+ @property
79
+ def artifacts(self) -> 'list[V1LitRegistryArtifact]':
80
+ """Gets the artifacts of this V1ListLitRegistryRepositoryImageArtifactVersionsResponse. # noqa: E501
81
+
82
+ will contain all artifacts and tags excluding the latest. # noqa: E501
83
+
84
+ :return: The artifacts of this V1ListLitRegistryRepositoryImageArtifactVersionsResponse. # noqa: E501
85
+ :rtype: list[V1LitRegistryArtifact]
86
+ """
87
+ return self._artifacts
88
+
89
+ @artifacts.setter
90
+ def artifacts(self, artifacts: 'list[V1LitRegistryArtifact]'):
91
+ """Sets the artifacts of this V1ListLitRegistryRepositoryImageArtifactVersionsResponse.
92
+
93
+ will contain all artifacts and tags excluding the latest. # noqa: E501
94
+
95
+ :param artifacts: The artifacts of this V1ListLitRegistryRepositoryImageArtifactVersionsResponse. # noqa: E501
96
+ :type: list[V1LitRegistryArtifact]
97
+ """
98
+
99
+ self._artifacts = artifacts
100
+
101
+ @property
102
+ def latest_artifact(self) -> 'V1LitRegistryArtifact':
103
+ """Gets the latest_artifact of this V1ListLitRegistryRepositoryImageArtifactVersionsResponse. # noqa: E501
104
+
105
+
106
+ :return: The latest_artifact of this V1ListLitRegistryRepositoryImageArtifactVersionsResponse. # noqa: E501
107
+ :rtype: V1LitRegistryArtifact
108
+ """
109
+ return self._latest_artifact
110
+
111
+ @latest_artifact.setter
112
+ def latest_artifact(self, latest_artifact: 'V1LitRegistryArtifact'):
113
+ """Sets the latest_artifact of this V1ListLitRegistryRepositoryImageArtifactVersionsResponse.
114
+
115
+
116
+ :param latest_artifact: The latest_artifact of this V1ListLitRegistryRepositoryImageArtifactVersionsResponse. # noqa: E501
117
+ :type: V1LitRegistryArtifact
118
+ """
119
+
120
+ self._latest_artifact = latest_artifact
121
+
122
+ @property
123
+ def latest_tag_name(self) -> 'str':
124
+ """Gets the latest_tag_name of this V1ListLitRegistryRepositoryImageArtifactVersionsResponse. # noqa: E501
125
+
126
+ We'll search for artifacts where artifacts[0].tags[X].name == latest else, most recent push_time. Also, latest_tag_name is allowed to be empty since you don't technically have to tag any of your artifacts. If this is empty we will fallback to entering in \"latest\" inside the versions table in the UI. # noqa: E501
127
+
128
+ :return: The latest_tag_name of this V1ListLitRegistryRepositoryImageArtifactVersionsResponse. # noqa: E501
129
+ :rtype: str
130
+ """
131
+ return self._latest_tag_name
132
+
133
+ @latest_tag_name.setter
134
+ def latest_tag_name(self, latest_tag_name: 'str'):
135
+ """Sets the latest_tag_name of this V1ListLitRegistryRepositoryImageArtifactVersionsResponse.
136
+
137
+ We'll search for artifacts where artifacts[0].tags[X].name == latest else, most recent push_time. Also, latest_tag_name is allowed to be empty since you don't technically have to tag any of your artifacts. If this is empty we will fallback to entering in \"latest\" inside the versions table in the UI. # noqa: E501
138
+
139
+ :param latest_tag_name: The latest_tag_name of this V1ListLitRegistryRepositoryImageArtifactVersionsResponse. # noqa: E501
140
+ :type: str
141
+ """
142
+
143
+ self._latest_tag_name = latest_tag_name
144
+
145
+ @property
146
+ def lit_repo_name(self) -> 'str':
147
+ """Gets the lit_repo_name of this V1ListLitRegistryRepositoryImageArtifactVersionsResponse. # noqa: E501
148
+
149
+
150
+ :return: The lit_repo_name of this V1ListLitRegistryRepositoryImageArtifactVersionsResponse. # noqa: E501
151
+ :rtype: str
152
+ """
153
+ return self._lit_repo_name
154
+
155
+ @lit_repo_name.setter
156
+ def lit_repo_name(self, lit_repo_name: 'str'):
157
+ """Sets the lit_repo_name of this V1ListLitRegistryRepositoryImageArtifactVersionsResponse.
158
+
159
+
160
+ :param lit_repo_name: The lit_repo_name of this V1ListLitRegistryRepositoryImageArtifactVersionsResponse. # noqa: E501
161
+ :type: str
162
+ """
163
+
164
+ self._lit_repo_name = lit_repo_name
165
+
166
+ @property
167
+ def project_id(self) -> 'str':
168
+ """Gets the project_id of this V1ListLitRegistryRepositoryImageArtifactVersionsResponse. # noqa: E501
169
+
170
+
171
+ :return: The project_id of this V1ListLitRegistryRepositoryImageArtifactVersionsResponse. # noqa: E501
172
+ :rtype: str
173
+ """
174
+ return self._project_id
175
+
176
+ @project_id.setter
177
+ def project_id(self, project_id: 'str'):
178
+ """Sets the project_id of this V1ListLitRegistryRepositoryImageArtifactVersionsResponse.
179
+
180
+
181
+ :param project_id: The project_id of this V1ListLitRegistryRepositoryImageArtifactVersionsResponse. # noqa: E501
182
+ :type: str
183
+ """
184
+
185
+ self._project_id = project_id
186
+
187
+ def to_dict(self) -> dict:
188
+ """Returns the model properties as a dict"""
189
+ result = {}
190
+
191
+ for attr, _ in six.iteritems(self.swagger_types):
192
+ value = getattr(self, attr)
193
+ if isinstance(value, list):
194
+ result[attr] = list(map(
195
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
196
+ value
197
+ ))
198
+ elif hasattr(value, "to_dict"):
199
+ result[attr] = value.to_dict()
200
+ elif isinstance(value, dict):
201
+ result[attr] = dict(map(
202
+ lambda item: (item[0], item[1].to_dict())
203
+ if hasattr(item[1], "to_dict") else item,
204
+ value.items()
205
+ ))
206
+ else:
207
+ result[attr] = value
208
+ if issubclass(V1ListLitRegistryRepositoryImageArtifactVersionsResponse, dict):
209
+ for key, value in self.items():
210
+ result[key] = value
211
+
212
+ return result
213
+
214
+ def to_str(self) -> str:
215
+ """Returns the string representation of the model"""
216
+ return pprint.pformat(self.to_dict())
217
+
218
+ def __repr__(self) -> str:
219
+ """For `print` and `pprint`"""
220
+ return self.to_str()
221
+
222
+ def __eq__(self, other: 'V1ListLitRegistryRepositoryImageArtifactVersionsResponse') -> bool:
223
+ """Returns true if both objects are equal"""
224
+ if not isinstance(other, V1ListLitRegistryRepositoryImageArtifactVersionsResponse):
225
+ return False
226
+
227
+ return self.__dict__ == other.__dict__
228
+
229
+ def __ne__(self, other: 'V1ListLitRegistryRepositoryImageArtifactVersionsResponse') -> bool:
230
+ """Returns true if both objects are not equal"""
231
+ return not self == other
@@ -0,0 +1,279 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ external/v1/auth_service.proto
5
+
6
+ No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501
7
+
8
+ OpenAPI spec version: version not set
9
+
10
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
11
+
12
+ NOTE
13
+ ----
14
+ standard swagger-codegen-cli for this python client has been modified
15
+ by custom templates. The purpose of these templates is to include
16
+ typing information in the API and Model code. Please refer to the
17
+ main grid repository for more info
18
+ """
19
+
20
+ import pprint
21
+ import re # noqa: F401
22
+
23
+ from typing import TYPE_CHECKING
24
+
25
+ import six
26
+
27
+ if TYPE_CHECKING:
28
+ from datetime import datetime
29
+ from lightning_sdk.lightning_cloud.openapi.models import *
30
+
31
+ class V1LitRegistryArtifact(object):
32
+ """NOTE: This class is auto generated by the swagger code generator program.
33
+
34
+ Do not edit the class manually.
35
+ """
36
+ """
37
+ Attributes:
38
+ swagger_types (dict): The key is attribute name
39
+ and the value is attribute type.
40
+ attribute_map (dict): The key is attribute name
41
+ and the value is json key in definition.
42
+ """
43
+ swagger_types = {
44
+ 'full_hash_digest': 'str',
45
+ 'location': 'str',
46
+ 'pull_time': 'datetime',
47
+ 'push_time': 'datetime',
48
+ 'short_hash_digest': 'str',
49
+ 'size': 'str',
50
+ 'tag_name': 'str'
51
+ }
52
+
53
+ attribute_map = {
54
+ 'full_hash_digest': 'fullHashDigest',
55
+ 'location': 'location',
56
+ 'pull_time': 'pullTime',
57
+ 'push_time': 'pushTime',
58
+ 'short_hash_digest': 'shortHashDigest',
59
+ 'size': 'size',
60
+ 'tag_name': 'tagName'
61
+ }
62
+
63
+ def __init__(self, full_hash_digest: 'str' =None, location: 'str' =None, pull_time: 'datetime' =None, push_time: 'datetime' =None, short_hash_digest: 'str' =None, size: 'str' =None, tag_name: 'str' =None): # noqa: E501
64
+ """V1LitRegistryArtifact - a model defined in Swagger""" # noqa: E501
65
+ self._full_hash_digest = None
66
+ self._location = None
67
+ self._pull_time = None
68
+ self._push_time = None
69
+ self._short_hash_digest = None
70
+ self._size = None
71
+ self._tag_name = None
72
+ self.discriminator = None
73
+ if full_hash_digest is not None:
74
+ self.full_hash_digest = full_hash_digest
75
+ if location is not None:
76
+ self.location = location
77
+ if pull_time is not None:
78
+ self.pull_time = pull_time
79
+ if push_time is not None:
80
+ self.push_time = push_time
81
+ if short_hash_digest is not None:
82
+ self.short_hash_digest = short_hash_digest
83
+ if size is not None:
84
+ self.size = size
85
+ if tag_name is not None:
86
+ self.tag_name = tag_name
87
+
88
+ @property
89
+ def full_hash_digest(self) -> 'str':
90
+ """Gets the full_hash_digest of this V1LitRegistryArtifact. # noqa: E501
91
+
92
+
93
+ :return: The full_hash_digest of this V1LitRegistryArtifact. # noqa: E501
94
+ :rtype: str
95
+ """
96
+ return self._full_hash_digest
97
+
98
+ @full_hash_digest.setter
99
+ def full_hash_digest(self, full_hash_digest: 'str'):
100
+ """Sets the full_hash_digest of this V1LitRegistryArtifact.
101
+
102
+
103
+ :param full_hash_digest: The full_hash_digest of this V1LitRegistryArtifact. # noqa: E501
104
+ :type: str
105
+ """
106
+
107
+ self._full_hash_digest = full_hash_digest
108
+
109
+ @property
110
+ def location(self) -> 'str':
111
+ """Gets the location of this V1LitRegistryArtifact. # noqa: E501
112
+
113
+
114
+ :return: The location of this V1LitRegistryArtifact. # noqa: E501
115
+ :rtype: str
116
+ """
117
+ return self._location
118
+
119
+ @location.setter
120
+ def location(self, location: 'str'):
121
+ """Sets the location of this V1LitRegistryArtifact.
122
+
123
+
124
+ :param location: The location of this V1LitRegistryArtifact. # noqa: E501
125
+ :type: str
126
+ """
127
+
128
+ self._location = location
129
+
130
+ @property
131
+ def pull_time(self) -> 'datetime':
132
+ """Gets the pull_time of this V1LitRegistryArtifact. # noqa: E501
133
+
134
+
135
+ :return: The pull_time of this V1LitRegistryArtifact. # noqa: E501
136
+ :rtype: datetime
137
+ """
138
+ return self._pull_time
139
+
140
+ @pull_time.setter
141
+ def pull_time(self, pull_time: 'datetime'):
142
+ """Sets the pull_time of this V1LitRegistryArtifact.
143
+
144
+
145
+ :param pull_time: The pull_time of this V1LitRegistryArtifact. # noqa: E501
146
+ :type: datetime
147
+ """
148
+
149
+ self._pull_time = pull_time
150
+
151
+ @property
152
+ def push_time(self) -> 'datetime':
153
+ """Gets the push_time of this V1LitRegistryArtifact. # noqa: E501
154
+
155
+
156
+ :return: The push_time of this V1LitRegistryArtifact. # noqa: E501
157
+ :rtype: datetime
158
+ """
159
+ return self._push_time
160
+
161
+ @push_time.setter
162
+ def push_time(self, push_time: 'datetime'):
163
+ """Sets the push_time of this V1LitRegistryArtifact.
164
+
165
+
166
+ :param push_time: The push_time of this V1LitRegistryArtifact. # noqa: E501
167
+ :type: datetime
168
+ """
169
+
170
+ self._push_time = push_time
171
+
172
+ @property
173
+ def short_hash_digest(self) -> 'str':
174
+ """Gets the short_hash_digest of this V1LitRegistryArtifact. # noqa: E501
175
+
176
+
177
+ :return: The short_hash_digest of this V1LitRegistryArtifact. # noqa: E501
178
+ :rtype: str
179
+ """
180
+ return self._short_hash_digest
181
+
182
+ @short_hash_digest.setter
183
+ def short_hash_digest(self, short_hash_digest: 'str'):
184
+ """Sets the short_hash_digest of this V1LitRegistryArtifact.
185
+
186
+
187
+ :param short_hash_digest: The short_hash_digest of this V1LitRegistryArtifact. # noqa: E501
188
+ :type: str
189
+ """
190
+
191
+ self._short_hash_digest = short_hash_digest
192
+
193
+ @property
194
+ def size(self) -> 'str':
195
+ """Gets the size of this V1LitRegistryArtifact. # noqa: E501
196
+
197
+
198
+ :return: The size of this V1LitRegistryArtifact. # noqa: E501
199
+ :rtype: str
200
+ """
201
+ return self._size
202
+
203
+ @size.setter
204
+ def size(self, size: 'str'):
205
+ """Sets the size of this V1LitRegistryArtifact.
206
+
207
+
208
+ :param size: The size of this V1LitRegistryArtifact. # noqa: E501
209
+ :type: str
210
+ """
211
+
212
+ self._size = size
213
+
214
+ @property
215
+ def tag_name(self) -> 'str':
216
+ """Gets the tag_name of this V1LitRegistryArtifact. # noqa: E501
217
+
218
+
219
+ :return: The tag_name of this V1LitRegistryArtifact. # noqa: E501
220
+ :rtype: str
221
+ """
222
+ return self._tag_name
223
+
224
+ @tag_name.setter
225
+ def tag_name(self, tag_name: 'str'):
226
+ """Sets the tag_name of this V1LitRegistryArtifact.
227
+
228
+
229
+ :param tag_name: The tag_name of this V1LitRegistryArtifact. # noqa: E501
230
+ :type: str
231
+ """
232
+
233
+ self._tag_name = tag_name
234
+
235
+ def to_dict(self) -> dict:
236
+ """Returns the model properties as a dict"""
237
+ result = {}
238
+
239
+ for attr, _ in six.iteritems(self.swagger_types):
240
+ value = getattr(self, attr)
241
+ if isinstance(value, list):
242
+ result[attr] = list(map(
243
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
244
+ value
245
+ ))
246
+ elif hasattr(value, "to_dict"):
247
+ result[attr] = value.to_dict()
248
+ elif isinstance(value, dict):
249
+ result[attr] = dict(map(
250
+ lambda item: (item[0], item[1].to_dict())
251
+ if hasattr(item[1], "to_dict") else item,
252
+ value.items()
253
+ ))
254
+ else:
255
+ result[attr] = value
256
+ if issubclass(V1LitRegistryArtifact, dict):
257
+ for key, value in self.items():
258
+ result[key] = value
259
+
260
+ return result
261
+
262
+ def to_str(self) -> str:
263
+ """Returns the string representation of the model"""
264
+ return pprint.pformat(self.to_dict())
265
+
266
+ def __repr__(self) -> str:
267
+ """For `print` and `pprint`"""
268
+ return self.to_str()
269
+
270
+ def __eq__(self, other: 'V1LitRegistryArtifact') -> bool:
271
+ """Returns true if both objects are equal"""
272
+ if not isinstance(other, V1LitRegistryArtifact):
273
+ return False
274
+
275
+ return self.__dict__ == other.__dict__
276
+
277
+ def __ne__(self, other: 'V1LitRegistryArtifact') -> bool:
278
+ """Returns true if both objects are not equal"""
279
+ return not self == other
@@ -79,6 +79,7 @@ class V1LitRegistryProject(object):
79
79
  def id(self) -> 'int':
80
80
  """Gets the id of this V1LitRegistryProject. # noqa: E501
81
81
 
82
+ This is the litcr project ID. # noqa: E501
82
83
 
83
84
  :return: The id of this V1LitRegistryProject. # noqa: E501
84
85
  :rtype: int
@@ -89,6 +90,7 @@ class V1LitRegistryProject(object):
89
90
  def id(self, id: 'int'):
90
91
  """Sets the id of this V1LitRegistryProject.
91
92
 
93
+ This is the litcr project ID. # noqa: E501
92
94
 
93
95
  :param id: The id of this V1LitRegistryProject. # noqa: E501
94
96
  :type: int
@@ -121,6 +123,7 @@ class V1LitRegistryProject(object):
121
123
  def project_id(self) -> 'str':
122
124
  """Gets the project_id of this V1LitRegistryProject. # noqa: E501
123
125
 
126
+ This is the lightning AI teamspace project ID. # noqa: E501
124
127
 
125
128
  :return: The project_id of this V1LitRegistryProject. # noqa: E501
126
129
  :rtype: str
@@ -131,6 +134,7 @@ class V1LitRegistryProject(object):
131
134
  def project_id(self, project_id: 'str'):
132
135
  """Sets the project_id of this V1LitRegistryProject.
133
136
 
137
+ This is the lightning AI teamspace project ID. # noqa: E501
134
138
 
135
139
  :param project_id: The project_id of this V1LitRegistryProject. # noqa: E501
136
140
  :type: str
@@ -142,6 +146,7 @@ class V1LitRegistryProject(object):
142
146
  def repo_count(self) -> 'str':
143
147
  """Gets the repo_count of this V1LitRegistryProject. # noqa: E501
144
148
 
149
+ This is how many repositories exist in a project. This will be the same as the number of repository objects we return. # noqa: E501
145
150
 
146
151
  :return: The repo_count of this V1LitRegistryProject. # noqa: E501
147
152
  :rtype: str
@@ -152,6 +157,7 @@ class V1LitRegistryProject(object):
152
157
  def repo_count(self, repo_count: 'str'):
153
158
  """Sets the repo_count of this V1LitRegistryProject.
154
159
 
160
+ This is how many repositories exist in a project. This will be the same as the number of repository objects we return. # noqa: E501
155
161
 
156
162
  :param repo_count: The repo_count of this V1LitRegistryProject. # noqa: E501
157
163
  :type: str
@@ -163,6 +169,7 @@ class V1LitRegistryProject(object):
163
169
  def repositories(self) -> 'list[V1LitRepository]':
164
170
  """Gets the repositories of this V1LitRegistryProject. # noqa: E501
165
171
 
172
+ This is the list of repositories that belong to a project in our registry. # noqa: E501
166
173
 
167
174
  :return: The repositories of this V1LitRegistryProject. # noqa: E501
168
175
  :rtype: list[V1LitRepository]
@@ -173,6 +180,7 @@ class V1LitRegistryProject(object):
173
180
  def repositories(self, repositories: 'list[V1LitRepository]'):
174
181
  """Sets the repositories of this V1LitRegistryProject.
175
182
 
183
+ This is the list of repositories that belong to a project in our registry. # noqa: E501
176
184
 
177
185
  :param repositories: The repositories of this V1LitRegistryProject. # noqa: E501
178
186
  :type: list[V1LitRepository]
@@ -45,6 +45,7 @@ class V1LitRepository(object):
45
45
  'creation_time': 'datetime',
46
46
  'description': 'str',
47
47
  'id': 'str',
48
+ 'latest_artifact': 'V1LitRegistryArtifact',
48
49
  'name': 'str',
49
50
  'pull_count': 'str',
50
51
  'update_time': 'datetime'
@@ -55,17 +56,19 @@ class V1LitRepository(object):
55
56
  'creation_time': 'creationTime',
56
57
  'description': 'description',
57
58
  'id': 'id',
59
+ 'latest_artifact': 'latestArtifact',
58
60
  'name': 'name',
59
61
  'pull_count': 'pullCount',
60
62
  'update_time': 'updateTime'
61
63
  }
62
64
 
63
- def __init__(self, artifact_count: 'str' =None, creation_time: 'datetime' =None, description: 'str' =None, id: 'str' =None, name: 'str' =None, pull_count: 'str' =None, update_time: 'datetime' =None): # noqa: E501
65
+ def __init__(self, artifact_count: 'str' =None, creation_time: 'datetime' =None, description: 'str' =None, id: 'str' =None, latest_artifact: 'V1LitRegistryArtifact' =None, name: 'str' =None, pull_count: 'str' =None, update_time: 'datetime' =None): # noqa: E501
64
66
  """V1LitRepository - a model defined in Swagger""" # noqa: E501
65
67
  self._artifact_count = None
66
68
  self._creation_time = None
67
69
  self._description = None
68
70
  self._id = None
71
+ self._latest_artifact = None
69
72
  self._name = None
70
73
  self._pull_count = None
71
74
  self._update_time = None
@@ -78,6 +81,8 @@ class V1LitRepository(object):
78
81
  self.description = description
79
82
  if id is not None:
80
83
  self.id = id
84
+ if latest_artifact is not None:
85
+ self.latest_artifact = latest_artifact
81
86
  if name is not None:
82
87
  self.name = name
83
88
  if pull_count is not None:
@@ -169,6 +174,27 @@ class V1LitRepository(object):
169
174
 
170
175
  self._id = id
171
176
 
177
+ @property
178
+ def latest_artifact(self) -> 'V1LitRegistryArtifact':
179
+ """Gets the latest_artifact of this V1LitRepository. # noqa: E501
180
+
181
+
182
+ :return: The latest_artifact of this V1LitRepository. # noqa: E501
183
+ :rtype: V1LitRegistryArtifact
184
+ """
185
+ return self._latest_artifact
186
+
187
+ @latest_artifact.setter
188
+ def latest_artifact(self, latest_artifact: 'V1LitRegistryArtifact'):
189
+ """Sets the latest_artifact of this V1LitRepository.
190
+
191
+
192
+ :param latest_artifact: The latest_artifact of this V1LitRepository. # noqa: E501
193
+ :type: V1LitRegistryArtifact
194
+ """
195
+
196
+ self._latest_artifact = latest_artifact
197
+
172
198
  @property
173
199
  def name(self) -> 'str':
174
200
  """Gets the name of this V1LitRepository. # noqa: E501