lightning-sdk 2025.7.10__py3-none-any.whl → 2025.7.17__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 (41) hide show
  1. lightning_sdk/__init__.py +1 -1
  2. lightning_sdk/api/llm_api.py +11 -6
  3. lightning_sdk/job/base.py +10 -2
  4. lightning_sdk/lightning_cloud/openapi/__init__.py +7 -1
  5. lightning_sdk/lightning_cloud/openapi/api/billing_service_api.py +109 -0
  6. lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +5 -1
  7. lightning_sdk/lightning_cloud/openapi/api/user_service_api.py +11 -11
  8. lightning_sdk/lightning_cloud/openapi/models/__init__.py +7 -1
  9. lightning_sdk/lightning_cloud/openapi/models/assistant_id_conversations_body.py +29 -3
  10. lightning_sdk/lightning_cloud/openapi/models/project_id_storage_body.py +1 -27
  11. lightning_sdk/lightning_cloud/openapi/models/protobuf_null_value.py +102 -0
  12. lightning_sdk/lightning_cloud/openapi/models/storage_complete_body.py +1 -27
  13. lightning_sdk/lightning_cloud/openapi/models/uploads_upload_id_body1.py +3 -55
  14. lightning_sdk/lightning_cloud/openapi/models/{v1_list_new_features_for_user_response.py → v1_ai_pod_v1.py} +23 -23
  15. lightning_sdk/lightning_cloud/openapi/models/v1_artifact.py +27 -1
  16. lightning_sdk/lightning_cloud/openapi/models/v1_assistant_session_daily_aggregated.py +357 -0
  17. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_provider.py +1 -0
  18. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +27 -1
  19. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_type.py +1 -0
  20. lightning_sdk/lightning_cloud/openapi/models/v1_complete_upload.py +3 -55
  21. lightning_sdk/lightning_cloud/openapi/models/v1_external_cluster_spec.py +27 -1
  22. lightning_sdk/lightning_cloud/openapi/models/v1_function_tool.py +175 -0
  23. lightning_sdk/lightning_cloud/openapi/models/v1_get_artifacts_page_response.py +29 -3
  24. lightning_sdk/lightning_cloud/openapi/models/v1_get_clickhouse_assistant_session_daily_aggregated_response.py +201 -0
  25. lightning_sdk/lightning_cloud/openapi/models/v1_lightningapp_instance_artifact.py +27 -1
  26. lightning_sdk/lightning_cloud/openapi/models/v1_list_notification_dialogs_response.py +149 -0
  27. lightning_sdk/lightning_cloud/openapi/models/v1_message.py +27 -1
  28. lightning_sdk/lightning_cloud/openapi/models/v1_presigned_url.py +1 -53
  29. lightning_sdk/lightning_cloud/openapi/models/v1_project.py +27 -1
  30. lightning_sdk/lightning_cloud/openapi/models/v1_tool.py +149 -0
  31. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +105 -1
  32. lightning_sdk/lightning_cloud/openapi/models/v1_volume.py +27 -1
  33. lightning_sdk/llm/llm.py +3 -0
  34. lightning_sdk/llm/public_assistants.json +3 -1
  35. lightning_sdk/machine.py +12 -1
  36. {lightning_sdk-2025.7.10.dist-info → lightning_sdk-2025.7.17.dist-info}/METADATA +1 -1
  37. {lightning_sdk-2025.7.10.dist-info → lightning_sdk-2025.7.17.dist-info}/RECORD +41 -35
  38. {lightning_sdk-2025.7.10.dist-info → lightning_sdk-2025.7.17.dist-info}/LICENSE +0 -0
  39. {lightning_sdk-2025.7.10.dist-info → lightning_sdk-2025.7.17.dist-info}/WHEEL +0 -0
  40. {lightning_sdk-2025.7.10.dist-info → lightning_sdk-2025.7.17.dist-info}/entry_points.txt +0 -0
  41. {lightning_sdk-2025.7.10.dist-info → lightning_sdk-2025.7.17.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,175 @@
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 V1FunctionTool(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
+ 'description': 'str',
45
+ 'name': 'str',
46
+ 'parameters': 'object'
47
+ }
48
+
49
+ attribute_map = {
50
+ 'description': 'description',
51
+ 'name': 'name',
52
+ 'parameters': 'parameters'
53
+ }
54
+
55
+ def __init__(self, description: 'str' =None, name: 'str' =None, parameters: 'object' =None): # noqa: E501
56
+ """V1FunctionTool - a model defined in Swagger""" # noqa: E501
57
+ self._description = None
58
+ self._name = None
59
+ self._parameters = None
60
+ self.discriminator = None
61
+ if description is not None:
62
+ self.description = description
63
+ if name is not None:
64
+ self.name = name
65
+ if parameters is not None:
66
+ self.parameters = parameters
67
+
68
+ @property
69
+ def description(self) -> 'str':
70
+ """Gets the description of this V1FunctionTool. # noqa: E501
71
+
72
+
73
+ :return: The description of this V1FunctionTool. # noqa: E501
74
+ :rtype: str
75
+ """
76
+ return self._description
77
+
78
+ @description.setter
79
+ def description(self, description: 'str'):
80
+ """Sets the description of this V1FunctionTool.
81
+
82
+
83
+ :param description: The description of this V1FunctionTool. # noqa: E501
84
+ :type: str
85
+ """
86
+
87
+ self._description = description
88
+
89
+ @property
90
+ def name(self) -> 'str':
91
+ """Gets the name of this V1FunctionTool. # noqa: E501
92
+
93
+
94
+ :return: The name of this V1FunctionTool. # noqa: E501
95
+ :rtype: str
96
+ """
97
+ return self._name
98
+
99
+ @name.setter
100
+ def name(self, name: 'str'):
101
+ """Sets the name of this V1FunctionTool.
102
+
103
+
104
+ :param name: The name of this V1FunctionTool. # noqa: E501
105
+ :type: str
106
+ """
107
+
108
+ self._name = name
109
+
110
+ @property
111
+ def parameters(self) -> 'object':
112
+ """Gets the parameters of this V1FunctionTool. # noqa: E501
113
+
114
+
115
+ :return: The parameters of this V1FunctionTool. # noqa: E501
116
+ :rtype: object
117
+ """
118
+ return self._parameters
119
+
120
+ @parameters.setter
121
+ def parameters(self, parameters: 'object'):
122
+ """Sets the parameters of this V1FunctionTool.
123
+
124
+
125
+ :param parameters: The parameters of this V1FunctionTool. # noqa: E501
126
+ :type: object
127
+ """
128
+
129
+ self._parameters = parameters
130
+
131
+ def to_dict(self) -> dict:
132
+ """Returns the model properties as a dict"""
133
+ result = {}
134
+
135
+ for attr, _ in six.iteritems(self.swagger_types):
136
+ value = getattr(self, attr)
137
+ if isinstance(value, list):
138
+ result[attr] = list(map(
139
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
140
+ value
141
+ ))
142
+ elif hasattr(value, "to_dict"):
143
+ result[attr] = value.to_dict()
144
+ elif isinstance(value, dict):
145
+ result[attr] = dict(map(
146
+ lambda item: (item[0], item[1].to_dict())
147
+ if hasattr(item[1], "to_dict") else item,
148
+ value.items()
149
+ ))
150
+ else:
151
+ result[attr] = value
152
+ if issubclass(V1FunctionTool, dict):
153
+ for key, value in self.items():
154
+ result[key] = value
155
+
156
+ return result
157
+
158
+ def to_str(self) -> str:
159
+ """Returns the string representation of the model"""
160
+ return pprint.pformat(self.to_dict())
161
+
162
+ def __repr__(self) -> str:
163
+ """For `print` and `pprint`"""
164
+ return self.to_str()
165
+
166
+ def __eq__(self, other: 'V1FunctionTool') -> bool:
167
+ """Returns true if both objects are equal"""
168
+ if not isinstance(other, V1FunctionTool):
169
+ return False
170
+
171
+ return self.__dict__ == other.__dict__
172
+
173
+ def __ne__(self, other: 'V1FunctionTool') -> bool:
174
+ """Returns true if both objects are not equal"""
175
+ return not self == other
@@ -41,19 +41,24 @@ class V1GetArtifactsPageResponse(object):
41
41
  and the value is json key in definition.
42
42
  """
43
43
  swagger_types = {
44
- 'artifacts': 'list[V1Artifact]'
44
+ 'artifacts': 'list[V1Artifact]',
45
+ 'count': 'str'
45
46
  }
46
47
 
47
48
  attribute_map = {
48
- 'artifacts': 'artifacts'
49
+ 'artifacts': 'artifacts',
50
+ 'count': 'count'
49
51
  }
50
52
 
51
- def __init__(self, artifacts: 'list[V1Artifact]' =None): # noqa: E501
53
+ def __init__(self, artifacts: 'list[V1Artifact]' =None, count: 'str' =None): # noqa: E501
52
54
  """V1GetArtifactsPageResponse - a model defined in Swagger""" # noqa: E501
53
55
  self._artifacts = None
56
+ self._count = None
54
57
  self.discriminator = None
55
58
  if artifacts is not None:
56
59
  self.artifacts = artifacts
60
+ if count is not None:
61
+ self.count = count
57
62
 
58
63
  @property
59
64
  def artifacts(self) -> 'list[V1Artifact]':
@@ -76,6 +81,27 @@ class V1GetArtifactsPageResponse(object):
76
81
 
77
82
  self._artifacts = artifacts
78
83
 
84
+ @property
85
+ def count(self) -> 'str':
86
+ """Gets the count of this V1GetArtifactsPageResponse. # noqa: E501
87
+
88
+
89
+ :return: The count of this V1GetArtifactsPageResponse. # noqa: E501
90
+ :rtype: str
91
+ """
92
+ return self._count
93
+
94
+ @count.setter
95
+ def count(self, count: 'str'):
96
+ """Sets the count of this V1GetArtifactsPageResponse.
97
+
98
+
99
+ :param count: The count of this V1GetArtifactsPageResponse. # noqa: E501
100
+ :type: str
101
+ """
102
+
103
+ self._count = count
104
+
79
105
  def to_dict(self) -> dict:
80
106
  """Returns the model properties as a dict"""
81
107
  result = {}
@@ -0,0 +1,201 @@
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 V1GetClickhouseAssistantSessionDailyAggregatedResponse(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
+ 'daily_usage': 'list[V1AssistantSessionDailyAggregated]',
45
+ 'total_cost': 'float',
46
+ 'total_users': 'int',
47
+ 'usage': 'list[V1AssistantSessionDailyAggregated]'
48
+ }
49
+
50
+ attribute_map = {
51
+ 'daily_usage': 'dailyUsage',
52
+ 'total_cost': 'totalCost',
53
+ 'total_users': 'totalUsers',
54
+ 'usage': 'usage'
55
+ }
56
+
57
+ def __init__(self, daily_usage: 'list[V1AssistantSessionDailyAggregated]' =None, total_cost: 'float' =None, total_users: 'int' =None, usage: 'list[V1AssistantSessionDailyAggregated]' =None): # noqa: E501
58
+ """V1GetClickhouseAssistantSessionDailyAggregatedResponse - a model defined in Swagger""" # noqa: E501
59
+ self._daily_usage = None
60
+ self._total_cost = None
61
+ self._total_users = None
62
+ self._usage = None
63
+ self.discriminator = None
64
+ if daily_usage is not None:
65
+ self.daily_usage = daily_usage
66
+ if total_cost is not None:
67
+ self.total_cost = total_cost
68
+ if total_users is not None:
69
+ self.total_users = total_users
70
+ if usage is not None:
71
+ self.usage = usage
72
+
73
+ @property
74
+ def daily_usage(self) -> 'list[V1AssistantSessionDailyAggregated]':
75
+ """Gets the daily_usage of this V1GetClickhouseAssistantSessionDailyAggregatedResponse. # noqa: E501
76
+
77
+
78
+ :return: The daily_usage of this V1GetClickhouseAssistantSessionDailyAggregatedResponse. # noqa: E501
79
+ :rtype: list[V1AssistantSessionDailyAggregated]
80
+ """
81
+ return self._daily_usage
82
+
83
+ @daily_usage.setter
84
+ def daily_usage(self, daily_usage: 'list[V1AssistantSessionDailyAggregated]'):
85
+ """Sets the daily_usage of this V1GetClickhouseAssistantSessionDailyAggregatedResponse.
86
+
87
+
88
+ :param daily_usage: The daily_usage of this V1GetClickhouseAssistantSessionDailyAggregatedResponse. # noqa: E501
89
+ :type: list[V1AssistantSessionDailyAggregated]
90
+ """
91
+
92
+ self._daily_usage = daily_usage
93
+
94
+ @property
95
+ def total_cost(self) -> 'float':
96
+ """Gets the total_cost of this V1GetClickhouseAssistantSessionDailyAggregatedResponse. # noqa: E501
97
+
98
+
99
+ :return: The total_cost of this V1GetClickhouseAssistantSessionDailyAggregatedResponse. # noqa: E501
100
+ :rtype: float
101
+ """
102
+ return self._total_cost
103
+
104
+ @total_cost.setter
105
+ def total_cost(self, total_cost: 'float'):
106
+ """Sets the total_cost of this V1GetClickhouseAssistantSessionDailyAggregatedResponse.
107
+
108
+
109
+ :param total_cost: The total_cost of this V1GetClickhouseAssistantSessionDailyAggregatedResponse. # noqa: E501
110
+ :type: float
111
+ """
112
+
113
+ self._total_cost = total_cost
114
+
115
+ @property
116
+ def total_users(self) -> 'int':
117
+ """Gets the total_users of this V1GetClickhouseAssistantSessionDailyAggregatedResponse. # noqa: E501
118
+
119
+
120
+ :return: The total_users of this V1GetClickhouseAssistantSessionDailyAggregatedResponse. # noqa: E501
121
+ :rtype: int
122
+ """
123
+ return self._total_users
124
+
125
+ @total_users.setter
126
+ def total_users(self, total_users: 'int'):
127
+ """Sets the total_users of this V1GetClickhouseAssistantSessionDailyAggregatedResponse.
128
+
129
+
130
+ :param total_users: The total_users of this V1GetClickhouseAssistantSessionDailyAggregatedResponse. # noqa: E501
131
+ :type: int
132
+ """
133
+
134
+ self._total_users = total_users
135
+
136
+ @property
137
+ def usage(self) -> 'list[V1AssistantSessionDailyAggregated]':
138
+ """Gets the usage of this V1GetClickhouseAssistantSessionDailyAggregatedResponse. # noqa: E501
139
+
140
+
141
+ :return: The usage of this V1GetClickhouseAssistantSessionDailyAggregatedResponse. # noqa: E501
142
+ :rtype: list[V1AssistantSessionDailyAggregated]
143
+ """
144
+ return self._usage
145
+
146
+ @usage.setter
147
+ def usage(self, usage: 'list[V1AssistantSessionDailyAggregated]'):
148
+ """Sets the usage of this V1GetClickhouseAssistantSessionDailyAggregatedResponse.
149
+
150
+
151
+ :param usage: The usage of this V1GetClickhouseAssistantSessionDailyAggregatedResponse. # noqa: E501
152
+ :type: list[V1AssistantSessionDailyAggregated]
153
+ """
154
+
155
+ self._usage = usage
156
+
157
+ def to_dict(self) -> dict:
158
+ """Returns the model properties as a dict"""
159
+ result = {}
160
+
161
+ for attr, _ in six.iteritems(self.swagger_types):
162
+ value = getattr(self, attr)
163
+ if isinstance(value, list):
164
+ result[attr] = list(map(
165
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
166
+ value
167
+ ))
168
+ elif hasattr(value, "to_dict"):
169
+ result[attr] = value.to_dict()
170
+ elif isinstance(value, dict):
171
+ result[attr] = dict(map(
172
+ lambda item: (item[0], item[1].to_dict())
173
+ if hasattr(item[1], "to_dict") else item,
174
+ value.items()
175
+ ))
176
+ else:
177
+ result[attr] = value
178
+ if issubclass(V1GetClickhouseAssistantSessionDailyAggregatedResponse, dict):
179
+ for key, value in self.items():
180
+ result[key] = value
181
+
182
+ return result
183
+
184
+ def to_str(self) -> str:
185
+ """Returns the string representation of the model"""
186
+ return pprint.pformat(self.to_dict())
187
+
188
+ def __repr__(self) -> str:
189
+ """For `print` and `pprint`"""
190
+ return self.to_str()
191
+
192
+ def __eq__(self, other: 'V1GetClickhouseAssistantSessionDailyAggregatedResponse') -> bool:
193
+ """Returns true if both objects are equal"""
194
+ if not isinstance(other, V1GetClickhouseAssistantSessionDailyAggregatedResponse):
195
+ return False
196
+
197
+ return self.__dict__ == other.__dict__
198
+
199
+ def __ne__(self, other: 'V1GetClickhouseAssistantSessionDailyAggregatedResponse') -> bool:
200
+ """Returns true if both objects are not equal"""
201
+ return not self == other
@@ -44,6 +44,7 @@ class V1LightningappInstanceArtifact(object):
44
44
  'filename': 'str',
45
45
  'last_modified': 'datetime',
46
46
  'md5_checksum': 'str',
47
+ 'provider': 'V1CloudProvider',
47
48
  'size_bytes': 'str',
48
49
  'url': 'str'
49
50
  }
@@ -52,15 +53,17 @@ class V1LightningappInstanceArtifact(object):
52
53
  'filename': 'filename',
53
54
  'last_modified': 'lastModified',
54
55
  'md5_checksum': 'md5Checksum',
56
+ 'provider': 'provider',
55
57
  'size_bytes': 'sizeBytes',
56
58
  'url': 'url'
57
59
  }
58
60
 
59
- def __init__(self, filename: 'str' =None, last_modified: 'datetime' =None, md5_checksum: 'str' =None, size_bytes: 'str' =None, url: 'str' =None): # noqa: E501
61
+ def __init__(self, filename: 'str' =None, last_modified: 'datetime' =None, md5_checksum: 'str' =None, provider: 'V1CloudProvider' =None, size_bytes: 'str' =None, url: 'str' =None): # noqa: E501
60
62
  """V1LightningappInstanceArtifact - a model defined in Swagger""" # noqa: E501
61
63
  self._filename = None
62
64
  self._last_modified = None
63
65
  self._md5_checksum = None
66
+ self._provider = None
64
67
  self._size_bytes = None
65
68
  self._url = None
66
69
  self.discriminator = None
@@ -70,6 +73,8 @@ class V1LightningappInstanceArtifact(object):
70
73
  self.last_modified = last_modified
71
74
  if md5_checksum is not None:
72
75
  self.md5_checksum = md5_checksum
76
+ if provider is not None:
77
+ self.provider = provider
73
78
  if size_bytes is not None:
74
79
  self.size_bytes = size_bytes
75
80
  if url is not None:
@@ -138,6 +143,27 @@ class V1LightningappInstanceArtifact(object):
138
143
 
139
144
  self._md5_checksum = md5_checksum
140
145
 
146
+ @property
147
+ def provider(self) -> 'V1CloudProvider':
148
+ """Gets the provider of this V1LightningappInstanceArtifact. # noqa: E501
149
+
150
+
151
+ :return: The provider of this V1LightningappInstanceArtifact. # noqa: E501
152
+ :rtype: V1CloudProvider
153
+ """
154
+ return self._provider
155
+
156
+ @provider.setter
157
+ def provider(self, provider: 'V1CloudProvider'):
158
+ """Sets the provider of this V1LightningappInstanceArtifact.
159
+
160
+
161
+ :param provider: The provider of this V1LightningappInstanceArtifact. # noqa: E501
162
+ :type: V1CloudProvider
163
+ """
164
+
165
+ self._provider = provider
166
+
141
167
  @property
142
168
  def size_bytes(self) -> 'str':
143
169
  """Gets the size_bytes of this V1LightningappInstanceArtifact. # noqa: E501
@@ -0,0 +1,149 @@
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 V1ListNotificationDialogsResponse(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
+ 'features': 'list[V1NewFeature]',
45
+ 'social_promo': 'bool'
46
+ }
47
+
48
+ attribute_map = {
49
+ 'features': 'features',
50
+ 'social_promo': 'socialPromo'
51
+ }
52
+
53
+ def __init__(self, features: 'list[V1NewFeature]' =None, social_promo: 'bool' =None): # noqa: E501
54
+ """V1ListNotificationDialogsResponse - a model defined in Swagger""" # noqa: E501
55
+ self._features = None
56
+ self._social_promo = None
57
+ self.discriminator = None
58
+ if features is not None:
59
+ self.features = features
60
+ if social_promo is not None:
61
+ self.social_promo = social_promo
62
+
63
+ @property
64
+ def features(self) -> 'list[V1NewFeature]':
65
+ """Gets the features of this V1ListNotificationDialogsResponse. # noqa: E501
66
+
67
+
68
+ :return: The features of this V1ListNotificationDialogsResponse. # noqa: E501
69
+ :rtype: list[V1NewFeature]
70
+ """
71
+ return self._features
72
+
73
+ @features.setter
74
+ def features(self, features: 'list[V1NewFeature]'):
75
+ """Sets the features of this V1ListNotificationDialogsResponse.
76
+
77
+
78
+ :param features: The features of this V1ListNotificationDialogsResponse. # noqa: E501
79
+ :type: list[V1NewFeature]
80
+ """
81
+
82
+ self._features = features
83
+
84
+ @property
85
+ def social_promo(self) -> 'bool':
86
+ """Gets the social_promo of this V1ListNotificationDialogsResponse. # noqa: E501
87
+
88
+
89
+ :return: The social_promo of this V1ListNotificationDialogsResponse. # noqa: E501
90
+ :rtype: bool
91
+ """
92
+ return self._social_promo
93
+
94
+ @social_promo.setter
95
+ def social_promo(self, social_promo: 'bool'):
96
+ """Sets the social_promo of this V1ListNotificationDialogsResponse.
97
+
98
+
99
+ :param social_promo: The social_promo of this V1ListNotificationDialogsResponse. # noqa: E501
100
+ :type: bool
101
+ """
102
+
103
+ self._social_promo = social_promo
104
+
105
+ def to_dict(self) -> dict:
106
+ """Returns the model properties as a dict"""
107
+ result = {}
108
+
109
+ for attr, _ in six.iteritems(self.swagger_types):
110
+ value = getattr(self, attr)
111
+ if isinstance(value, list):
112
+ result[attr] = list(map(
113
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
114
+ value
115
+ ))
116
+ elif hasattr(value, "to_dict"):
117
+ result[attr] = value.to_dict()
118
+ elif isinstance(value, dict):
119
+ result[attr] = dict(map(
120
+ lambda item: (item[0], item[1].to_dict())
121
+ if hasattr(item[1], "to_dict") else item,
122
+ value.items()
123
+ ))
124
+ else:
125
+ result[attr] = value
126
+ if issubclass(V1ListNotificationDialogsResponse, dict):
127
+ for key, value in self.items():
128
+ result[key] = value
129
+
130
+ return result
131
+
132
+ def to_str(self) -> str:
133
+ """Returns the string representation of the model"""
134
+ return pprint.pformat(self.to_dict())
135
+
136
+ def __repr__(self) -> str:
137
+ """For `print` and `pprint`"""
138
+ return self.to_str()
139
+
140
+ def __eq__(self, other: 'V1ListNotificationDialogsResponse') -> bool:
141
+ """Returns true if both objects are equal"""
142
+ if not isinstance(other, V1ListNotificationDialogsResponse):
143
+ return False
144
+
145
+ return self.__dict__ == other.__dict__
146
+
147
+ def __ne__(self, other: 'V1ListNotificationDialogsResponse') -> bool:
148
+ """Returns true if both objects are not equal"""
149
+ return not self == other