lightning-sdk 0.2.15__py3-none-any.whl → 0.2.16__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 +1 -1
  2. lightning_sdk/api/base_studio_api.py +7 -1
  3. lightning_sdk/api/cluster_api.py +83 -1
  4. lightning_sdk/api/llm_api.py +24 -5
  5. lightning_sdk/api/studio_api.py +3 -0
  6. lightning_sdk/api/teamspace_api.py +127 -1
  7. lightning_sdk/api/utils.py +4 -0
  8. lightning_sdk/base_studio.py +14 -1
  9. lightning_sdk/cli/create.py +21 -1
  10. lightning_sdk/cli/deploy/__init__.py +0 -0
  11. lightning_sdk/cli/deploy/_auth.py +189 -0
  12. lightning_sdk/cli/deploy/devbox.py +157 -0
  13. lightning_sdk/cli/{serve.py → deploy/serve.py} +11 -322
  14. lightning_sdk/cli/download.py +44 -16
  15. lightning_sdk/cli/entrypoint.py +1 -1
  16. lightning_sdk/cli/open.py +21 -2
  17. lightning_sdk/cli/start.py +12 -3
  18. lightning_sdk/cli/upload.py +2 -4
  19. lightning_sdk/lightning_cloud/openapi/__init__.py +18 -0
  20. lightning_sdk/lightning_cloud/openapi/api/assistants_service_api.py +121 -0
  21. lightning_sdk/lightning_cloud/openapi/api/cloud_space_service_api.py +105 -0
  22. lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +105 -0
  23. lightning_sdk/lightning_cloud/openapi/api/jobs_service_api.py +747 -105
  24. lightning_sdk/lightning_cloud/openapi/api/storage_service_api.py +93 -0
  25. lightning_sdk/lightning_cloud/openapi/models/__init__.py +18 -0
  26. lightning_sdk/lightning_cloud/openapi/models/assistant_id_conversations_body.py +27 -1
  27. lightning_sdk/lightning_cloud/openapi/models/cloudspaces_id_body.py +53 -1
  28. lightning_sdk/lightning_cloud/openapi/models/deployment_id_alertingpolicies_body.py +331 -0
  29. lightning_sdk/lightning_cloud/openapi/models/deployment_id_alertingpolicies_body1.py +305 -0
  30. lightning_sdk/lightning_cloud/openapi/models/deployments_id_body.py +53 -1
  31. lightning_sdk/lightning_cloud/openapi/models/models_id_body.py +123 -0
  32. lightning_sdk/lightning_cloud/openapi/models/orgs_id_body.py +105 -1
  33. lightning_sdk/lightning_cloud/openapi/models/project_id_cloudspaces_body.py +27 -1
  34. lightning_sdk/lightning_cloud/openapi/models/projects_id_body.py +29 -3
  35. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space.py +53 -1
  36. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_source_type.py +103 -0
  37. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_tagging_options.py +27 -1
  38. lightning_sdk/lightning_cloud/openapi/models/v1_delete_deployment_alerting_policy_response.py +175 -0
  39. lightning_sdk/lightning_cloud/openapi/models/v1_deployment.py +53 -1
  40. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_alerting_event.py +487 -0
  41. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_alerting_policy.py +383 -0
  42. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_alerting_policy_frequency.py +105 -0
  43. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_alerting_policy_operation.py +105 -0
  44. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_alerting_policy_severity.py +106 -0
  45. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_alerting_policy_type.py +111 -0
  46. lightning_sdk/lightning_cloud/openapi/models/v1_ge_list_deployment_routing_telemetry_response.py +27 -1
  47. lightning_sdk/lightning_cloud/openapi/models/v1_get_cloud_space_instance_open_ports_response.py +123 -0
  48. lightning_sdk/lightning_cloud/openapi/models/v1_get_deployment_routing_telemetry_content_response.py +123 -0
  49. lightning_sdk/lightning_cloud/openapi/models/v1_get_organization_storage_metadata_response.py +331 -0
  50. lightning_sdk/lightning_cloud/openapi/models/v1_get_user_response.py +1 -27
  51. lightning_sdk/lightning_cloud/openapi/models/v1_google_cloud_direct_v1.py +27 -1
  52. lightning_sdk/lightning_cloud/openapi/models/v1_list_deployment_alerting_events_response.py +123 -0
  53. lightning_sdk/lightning_cloud/openapi/models/v1_list_deployment_alerting_policies_response.py +175 -0
  54. lightning_sdk/lightning_cloud/openapi/models/v1_membership.py +27 -1
  55. lightning_sdk/lightning_cloud/openapi/models/v1_organization.py +105 -1
  56. lightning_sdk/lightning_cloud/openapi/models/v1_project.py +27 -1
  57. lightning_sdk/lightning_cloud/openapi/models/v1_project_membership.py +27 -1
  58. lightning_sdk/lightning_cloud/openapi/models/v1_project_settings.py +29 -3
  59. lightning_sdk/lightning_cloud/openapi/models/v1_project_storage.py +53 -1
  60. lightning_sdk/lightning_cloud/openapi/models/v1_routing_telemetry.py +253 -0
  61. lightning_sdk/lightning_cloud/openapi/models/v1_server_alert_type.py +1 -0
  62. lightning_sdk/lightning_cloud/openapi/models/v1_sleep_server_response.py +97 -0
  63. lightning_sdk/lightning_cloud/openapi/models/v1_update_user_request.py +1 -27
  64. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +79 -27
  65. lightning_sdk/lightning_cloud/openapi/models/v1_user_requested_compute_config.py +27 -1
  66. lightning_sdk/llm/llm.py +52 -8
  67. lightning_sdk/studio.py +32 -1
  68. lightning_sdk/teamspace.py +68 -0
  69. {lightning_sdk-0.2.15.dist-info → lightning_sdk-0.2.16.dist-info}/METADATA +1 -1
  70. {lightning_sdk-0.2.15.dist-info → lightning_sdk-0.2.16.dist-info}/RECORD +74 -53
  71. {lightning_sdk-0.2.15.dist-info → lightning_sdk-0.2.16.dist-info}/LICENSE +0 -0
  72. {lightning_sdk-0.2.15.dist-info → lightning_sdk-0.2.16.dist-info}/WHEEL +0 -0
  73. {lightning_sdk-0.2.15.dist-info → lightning_sdk-0.2.16.dist-info}/entry_points.txt +0 -0
  74. {lightning_sdk-0.2.15.dist-info → lightning_sdk-0.2.16.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,111 @@
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 V1DeploymentAlertingPolicyType(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
+ """
38
+ allowed enum values
39
+ """
40
+ TYPEUNSPECIFIED = "TypeUnspecified"
41
+ REPLICAFAILED = "ReplicaFailed"
42
+ DEPLOYMENTFAILED = "DeploymentFailed"
43
+ STATUSCODES5XX = "StatusCodes5xx"
44
+ STATUSCODES4XX = "StatusCodes4xx"
45
+ STATUSCODES3XX = "StatusCodes3xx"
46
+ STATUSCODES2XX = "StatusCodes2xx"
47
+ STATUSCODES1XX = "StatusCodes1xx"
48
+ THROUGHPUT = "Throughput"
49
+ LATENCYQ95 = "LatencyQ95"
50
+ """
51
+ Attributes:
52
+ swagger_types (dict): The key is attribute name
53
+ and the value is attribute type.
54
+ attribute_map (dict): The key is attribute name
55
+ and the value is json key in definition.
56
+ """
57
+ swagger_types = {
58
+ }
59
+
60
+ attribute_map = {
61
+ }
62
+
63
+ def __init__(self): # noqa: E501
64
+ """V1DeploymentAlertingPolicyType - a model defined in Swagger""" # noqa: E501
65
+ self.discriminator = None
66
+
67
+ def to_dict(self) -> dict:
68
+ """Returns the model properties as a dict"""
69
+ result = {}
70
+
71
+ for attr, _ in six.iteritems(self.swagger_types):
72
+ value = getattr(self, attr)
73
+ if isinstance(value, list):
74
+ result[attr] = list(map(
75
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
76
+ value
77
+ ))
78
+ elif hasattr(value, "to_dict"):
79
+ result[attr] = value.to_dict()
80
+ elif isinstance(value, dict):
81
+ result[attr] = dict(map(
82
+ lambda item: (item[0], item[1].to_dict())
83
+ if hasattr(item[1], "to_dict") else item,
84
+ value.items()
85
+ ))
86
+ else:
87
+ result[attr] = value
88
+ if issubclass(V1DeploymentAlertingPolicyType, dict):
89
+ for key, value in self.items():
90
+ result[key] = value
91
+
92
+ return result
93
+
94
+ def to_str(self) -> str:
95
+ """Returns the string representation of the model"""
96
+ return pprint.pformat(self.to_dict())
97
+
98
+ def __repr__(self) -> str:
99
+ """For `print` and `pprint`"""
100
+ return self.to_str()
101
+
102
+ def __eq__(self, other: 'V1DeploymentAlertingPolicyType') -> bool:
103
+ """Returns true if both objects are equal"""
104
+ if not isinstance(other, V1DeploymentAlertingPolicyType):
105
+ return False
106
+
107
+ return self.__dict__ == other.__dict__
108
+
109
+ def __ne__(self, other: 'V1DeploymentAlertingPolicyType') -> bool:
110
+ """Returns true if both objects are not equal"""
111
+ return not self == other
@@ -41,14 +41,40 @@ class V1GeListDeploymentRoutingTelemetryResponse(object):
41
41
  and the value is json key in definition.
42
42
  """
43
43
  swagger_types = {
44
+ 'routing_telemetry': 'list[V1RoutingTelemetry]'
44
45
  }
45
46
 
46
47
  attribute_map = {
48
+ 'routing_telemetry': 'routingTelemetry'
47
49
  }
48
50
 
49
- def __init__(self): # noqa: E501
51
+ def __init__(self, routing_telemetry: 'list[V1RoutingTelemetry]' =None): # noqa: E501
50
52
  """V1GeListDeploymentRoutingTelemetryResponse - a model defined in Swagger""" # noqa: E501
53
+ self._routing_telemetry = None
51
54
  self.discriminator = None
55
+ if routing_telemetry is not None:
56
+ self.routing_telemetry = routing_telemetry
57
+
58
+ @property
59
+ def routing_telemetry(self) -> 'list[V1RoutingTelemetry]':
60
+ """Gets the routing_telemetry of this V1GeListDeploymentRoutingTelemetryResponse. # noqa: E501
61
+
62
+
63
+ :return: The routing_telemetry of this V1GeListDeploymentRoutingTelemetryResponse. # noqa: E501
64
+ :rtype: list[V1RoutingTelemetry]
65
+ """
66
+ return self._routing_telemetry
67
+
68
+ @routing_telemetry.setter
69
+ def routing_telemetry(self, routing_telemetry: 'list[V1RoutingTelemetry]'):
70
+ """Sets the routing_telemetry of this V1GeListDeploymentRoutingTelemetryResponse.
71
+
72
+
73
+ :param routing_telemetry: The routing_telemetry of this V1GeListDeploymentRoutingTelemetryResponse. # noqa: E501
74
+ :type: list[V1RoutingTelemetry]
75
+ """
76
+
77
+ self._routing_telemetry = routing_telemetry
52
78
 
53
79
  def to_dict(self) -> dict:
54
80
  """Returns the model properties as a dict"""
@@ -0,0 +1,123 @@
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 V1GetCloudSpaceInstanceOpenPortsResponse(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
+ 'ports': 'list[str]'
45
+ }
46
+
47
+ attribute_map = {
48
+ 'ports': 'ports'
49
+ }
50
+
51
+ def __init__(self, ports: 'list[str]' =None): # noqa: E501
52
+ """V1GetCloudSpaceInstanceOpenPortsResponse - a model defined in Swagger""" # noqa: E501
53
+ self._ports = None
54
+ self.discriminator = None
55
+ if ports is not None:
56
+ self.ports = ports
57
+
58
+ @property
59
+ def ports(self) -> 'list[str]':
60
+ """Gets the ports of this V1GetCloudSpaceInstanceOpenPortsResponse. # noqa: E501
61
+
62
+
63
+ :return: The ports of this V1GetCloudSpaceInstanceOpenPortsResponse. # noqa: E501
64
+ :rtype: list[str]
65
+ """
66
+ return self._ports
67
+
68
+ @ports.setter
69
+ def ports(self, ports: 'list[str]'):
70
+ """Sets the ports of this V1GetCloudSpaceInstanceOpenPortsResponse.
71
+
72
+
73
+ :param ports: The ports of this V1GetCloudSpaceInstanceOpenPortsResponse. # noqa: E501
74
+ :type: list[str]
75
+ """
76
+
77
+ self._ports = ports
78
+
79
+ def to_dict(self) -> dict:
80
+ """Returns the model properties as a dict"""
81
+ result = {}
82
+
83
+ for attr, _ in six.iteritems(self.swagger_types):
84
+ value = getattr(self, attr)
85
+ if isinstance(value, list):
86
+ result[attr] = list(map(
87
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
88
+ value
89
+ ))
90
+ elif hasattr(value, "to_dict"):
91
+ result[attr] = value.to_dict()
92
+ elif isinstance(value, dict):
93
+ result[attr] = dict(map(
94
+ lambda item: (item[0], item[1].to_dict())
95
+ if hasattr(item[1], "to_dict") else item,
96
+ value.items()
97
+ ))
98
+ else:
99
+ result[attr] = value
100
+ if issubclass(V1GetCloudSpaceInstanceOpenPortsResponse, dict):
101
+ for key, value in self.items():
102
+ result[key] = value
103
+
104
+ return result
105
+
106
+ def to_str(self) -> str:
107
+ """Returns the string representation of the model"""
108
+ return pprint.pformat(self.to_dict())
109
+
110
+ def __repr__(self) -> str:
111
+ """For `print` and `pprint`"""
112
+ return self.to_str()
113
+
114
+ def __eq__(self, other: 'V1GetCloudSpaceInstanceOpenPortsResponse') -> bool:
115
+ """Returns true if both objects are equal"""
116
+ if not isinstance(other, V1GetCloudSpaceInstanceOpenPortsResponse):
117
+ return False
118
+
119
+ return self.__dict__ == other.__dict__
120
+
121
+ def __ne__(self, other: 'V1GetCloudSpaceInstanceOpenPortsResponse') -> bool:
122
+ """Returns true if both objects are not equal"""
123
+ return not self == other
@@ -0,0 +1,123 @@
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 V1GetDeploymentRoutingTelemetryContentResponse(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
+ 'url': 'str'
45
+ }
46
+
47
+ attribute_map = {
48
+ 'url': 'url'
49
+ }
50
+
51
+ def __init__(self, url: 'str' =None): # noqa: E501
52
+ """V1GetDeploymentRoutingTelemetryContentResponse - a model defined in Swagger""" # noqa: E501
53
+ self._url = None
54
+ self.discriminator = None
55
+ if url is not None:
56
+ self.url = url
57
+
58
+ @property
59
+ def url(self) -> 'str':
60
+ """Gets the url of this V1GetDeploymentRoutingTelemetryContentResponse. # noqa: E501
61
+
62
+
63
+ :return: The url of this V1GetDeploymentRoutingTelemetryContentResponse. # noqa: E501
64
+ :rtype: str
65
+ """
66
+ return self._url
67
+
68
+ @url.setter
69
+ def url(self, url: 'str'):
70
+ """Sets the url of this V1GetDeploymentRoutingTelemetryContentResponse.
71
+
72
+
73
+ :param url: The url of this V1GetDeploymentRoutingTelemetryContentResponse. # noqa: E501
74
+ :type: str
75
+ """
76
+
77
+ self._url = url
78
+
79
+ def to_dict(self) -> dict:
80
+ """Returns the model properties as a dict"""
81
+ result = {}
82
+
83
+ for attr, _ in six.iteritems(self.swagger_types):
84
+ value = getattr(self, attr)
85
+ if isinstance(value, list):
86
+ result[attr] = list(map(
87
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
88
+ value
89
+ ))
90
+ elif hasattr(value, "to_dict"):
91
+ result[attr] = value.to_dict()
92
+ elif isinstance(value, dict):
93
+ result[attr] = dict(map(
94
+ lambda item: (item[0], item[1].to_dict())
95
+ if hasattr(item[1], "to_dict") else item,
96
+ value.items()
97
+ ))
98
+ else:
99
+ result[attr] = value
100
+ if issubclass(V1GetDeploymentRoutingTelemetryContentResponse, dict):
101
+ for key, value in self.items():
102
+ result[key] = value
103
+
104
+ return result
105
+
106
+ def to_str(self) -> str:
107
+ """Returns the string representation of the model"""
108
+ return pprint.pformat(self.to_dict())
109
+
110
+ def __repr__(self) -> str:
111
+ """For `print` and `pprint`"""
112
+ return self.to_str()
113
+
114
+ def __eq__(self, other: 'V1GetDeploymentRoutingTelemetryContentResponse') -> bool:
115
+ """Returns true if both objects are equal"""
116
+ if not isinstance(other, V1GetDeploymentRoutingTelemetryContentResponse):
117
+ return False
118
+
119
+ return self.__dict__ == other.__dict__
120
+
121
+ def __ne__(self, other: 'V1GetDeploymentRoutingTelemetryContentResponse') -> bool:
122
+ """Returns true if both objects are not equal"""
123
+ return not self == other