anyscale 0.26.4__py3-none-any.whl → 0.26.5__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 (43) hide show
  1. anyscale/_private/anyscale_client/anyscale_client.py +1 -5
  2. anyscale/_private/docgen/__main__.py +0 -3
  3. anyscale/_private/docgen/api.md +0 -40
  4. anyscale/_private/docgen/models.md +0 -49
  5. anyscale/anyscale-cloud-setup-gcp-oa.yaml +2 -1
  6. anyscale/anyscale-cloud-setup-gcp.yaml +4 -2
  7. anyscale/client/README.md +9 -8
  8. anyscale/client/openapi_client/__init__.py +7 -5
  9. anyscale/client/openapi_client/api/default_api.py +304 -486
  10. anyscale/client/openapi_client/models/__init__.py +7 -5
  11. anyscale/client/openapi_client/models/{anyscaleversionresponse_response.py → backend_server_api_product_models_dataset_runs_dataset_response.py} +22 -22
  12. anyscale/client/openapi_client/models/{dataset_response.py → backend_server_api_product_routers_datasets_router_dataset_response.py} +8 -8
  13. anyscale/client/openapi_client/models/{anyscale_version_response.py → dataset_jobs.py} +22 -22
  14. anyscale/client/openapi_client/models/dataset_metrics.py +390 -0
  15. anyscale/{sdk/anyscale_client/models/session_command_types.py → client/openapi_client/models/dataset_state.py} +11 -9
  16. anyscale/client/openapi_client/models/{decoratedjob_list_response.py → metric.py} +64 -38
  17. anyscale/client/openapi_client/models/operator_metrics.py +256 -0
  18. anyscale/client/openapi_client/models/train_run.py +28 -1
  19. anyscale/cluster.py +5 -2
  20. anyscale/commands/anyscale_api/api_commands.py +0 -2
  21. anyscale/connect_utils/start_interactive_session.py +4 -1
  22. anyscale/controllers/cluster_controller.py +15 -26
  23. anyscale/controllers/project_controller.py +1 -6
  24. anyscale/job/_private/job_sdk.py +6 -1
  25. anyscale/job/models.py +8 -0
  26. anyscale/project_utils.py +9 -20
  27. anyscale/sdk/anyscale_client/__init__.py +0 -5
  28. anyscale/sdk/anyscale_client/api/default_api.py +0 -474
  29. anyscale/sdk/anyscale_client/models/__init__.py +0 -5
  30. anyscale/version.py +1 -1
  31. {anyscale-0.26.4.dist-info → anyscale-0.26.5.dist-info}/METADATA +1 -1
  32. {anyscale-0.26.4.dist-info → anyscale-0.26.5.dist-info}/RECORD +37 -41
  33. anyscale/client/openapi_client/models/setup_initialize_session_options.py +0 -225
  34. anyscale/commands/anyscale_api/session_commands_commands.py +0 -80
  35. anyscale/sdk/anyscale_client/models/create_session_command.py +0 -152
  36. anyscale/sdk/anyscale_client/models/session_command.py +0 -350
  37. anyscale/sdk/anyscale_client/models/sessioncommand_list_response.py +0 -147
  38. anyscale/sdk/anyscale_client/models/sessioncommand_response.py +0 -121
  39. {anyscale-0.26.4.dist-info → anyscale-0.26.5.dist-info}/LICENSE +0 -0
  40. {anyscale-0.26.4.dist-info → anyscale-0.26.5.dist-info}/NOTICE +0 -0
  41. {anyscale-0.26.4.dist-info → anyscale-0.26.5.dist-info}/WHEEL +0 -0
  42. {anyscale-0.26.4.dist-info → anyscale-0.26.5.dist-info}/entry_points.txt +0 -0
  43. {anyscale-0.26.4.dist-info → anyscale-0.26.5.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,390 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Managed Ray API
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501
7
+
8
+ The version of the OpenAPI document: 0.1.0
9
+ Generated by: https://openapi-generator.tech
10
+ """
11
+
12
+
13
+ import pprint
14
+ import re # noqa: F401
15
+
16
+ import six
17
+
18
+ from openapi_client.configuration import Configuration
19
+
20
+
21
+ class DatasetMetrics(object):
22
+ """NOTE: This class is auto generated by OpenAPI Generator.
23
+ Ref: https://openapi-generator.tech
24
+
25
+ Do not edit the class manually.
26
+ """
27
+
28
+ """
29
+ Attributes:
30
+ openapi_types (dict): The key is attribute name
31
+ and the value is attribute type.
32
+ attribute_map (dict): The key is attribute name
33
+ and the value is json key in definition.
34
+ """
35
+ openapi_types = {
36
+ 'id': 'str',
37
+ 'name': 'str',
38
+ 'job_id': 'str',
39
+ 'session_name': 'str',
40
+ 'state': 'DatasetState',
41
+ 'progress': 'int',
42
+ 'total': 'int',
43
+ 'start_time': 'int',
44
+ 'end_time': 'int',
45
+ 'operator_metrics': 'list[OperatorMetrics]',
46
+ 'metrics': 'dict(str, Metric)'
47
+ }
48
+
49
+ attribute_map = {
50
+ 'id': 'id',
51
+ 'name': 'name',
52
+ 'job_id': 'job_id',
53
+ 'session_name': 'session_name',
54
+ 'state': 'state',
55
+ 'progress': 'progress',
56
+ 'total': 'total',
57
+ 'start_time': 'start_time',
58
+ 'end_time': 'end_time',
59
+ 'operator_metrics': 'operator_metrics',
60
+ 'metrics': 'metrics'
61
+ }
62
+
63
+ def __init__(self, id=None, name=None, job_id=None, session_name=None, state=None, progress=None, total=None, start_time=None, end_time=None, operator_metrics=None, metrics=None, local_vars_configuration=None): # noqa: E501
64
+ """DatasetMetrics - a model defined in OpenAPI""" # noqa: E501
65
+ if local_vars_configuration is None:
66
+ local_vars_configuration = Configuration()
67
+ self.local_vars_configuration = local_vars_configuration
68
+
69
+ self._id = None
70
+ self._name = None
71
+ self._job_id = None
72
+ self._session_name = None
73
+ self._state = None
74
+ self._progress = None
75
+ self._total = None
76
+ self._start_time = None
77
+ self._end_time = None
78
+ self._operator_metrics = None
79
+ self._metrics = None
80
+ self.discriminator = None
81
+
82
+ self.id = id
83
+ self.name = name
84
+ self.job_id = job_id
85
+ self.session_name = session_name
86
+ self.state = state
87
+ self.progress = progress
88
+ self.total = total
89
+ self.start_time = start_time
90
+ if end_time is not None:
91
+ self.end_time = end_time
92
+ self.operator_metrics = operator_metrics
93
+ self.metrics = metrics
94
+
95
+ @property
96
+ def id(self):
97
+ """Gets the id of this DatasetMetrics. # noqa: E501
98
+
99
+
100
+ :return: The id of this DatasetMetrics. # noqa: E501
101
+ :rtype: str
102
+ """
103
+ return self._id
104
+
105
+ @id.setter
106
+ def id(self, id):
107
+ """Sets the id of this DatasetMetrics.
108
+
109
+
110
+ :param id: The id of this DatasetMetrics. # noqa: E501
111
+ :type: str
112
+ """
113
+ if self.local_vars_configuration.client_side_validation and id is None: # noqa: E501
114
+ raise ValueError("Invalid value for `id`, must not be `None`") # noqa: E501
115
+
116
+ self._id = id
117
+
118
+ @property
119
+ def name(self):
120
+ """Gets the name of this DatasetMetrics. # noqa: E501
121
+
122
+
123
+ :return: The name of this DatasetMetrics. # noqa: E501
124
+ :rtype: str
125
+ """
126
+ return self._name
127
+
128
+ @name.setter
129
+ def name(self, name):
130
+ """Sets the name of this DatasetMetrics.
131
+
132
+
133
+ :param name: The name of this DatasetMetrics. # noqa: E501
134
+ :type: str
135
+ """
136
+ if self.local_vars_configuration.client_side_validation and name is None: # noqa: E501
137
+ raise ValueError("Invalid value for `name`, must not be `None`") # noqa: E501
138
+
139
+ self._name = name
140
+
141
+ @property
142
+ def job_id(self):
143
+ """Gets the job_id of this DatasetMetrics. # noqa: E501
144
+
145
+
146
+ :return: The job_id of this DatasetMetrics. # noqa: E501
147
+ :rtype: str
148
+ """
149
+ return self._job_id
150
+
151
+ @job_id.setter
152
+ def job_id(self, job_id):
153
+ """Sets the job_id of this DatasetMetrics.
154
+
155
+
156
+ :param job_id: The job_id of this DatasetMetrics. # noqa: E501
157
+ :type: str
158
+ """
159
+ if self.local_vars_configuration.client_side_validation and job_id is None: # noqa: E501
160
+ raise ValueError("Invalid value for `job_id`, must not be `None`") # noqa: E501
161
+
162
+ self._job_id = job_id
163
+
164
+ @property
165
+ def session_name(self):
166
+ """Gets the session_name of this DatasetMetrics. # noqa: E501
167
+
168
+
169
+ :return: The session_name of this DatasetMetrics. # noqa: E501
170
+ :rtype: str
171
+ """
172
+ return self._session_name
173
+
174
+ @session_name.setter
175
+ def session_name(self, session_name):
176
+ """Sets the session_name of this DatasetMetrics.
177
+
178
+
179
+ :param session_name: The session_name of this DatasetMetrics. # noqa: E501
180
+ :type: str
181
+ """
182
+ if self.local_vars_configuration.client_side_validation and session_name is None: # noqa: E501
183
+ raise ValueError("Invalid value for `session_name`, must not be `None`") # noqa: E501
184
+
185
+ self._session_name = session_name
186
+
187
+ @property
188
+ def state(self):
189
+ """Gets the state of this DatasetMetrics. # noqa: E501
190
+
191
+
192
+ :return: The state of this DatasetMetrics. # noqa: E501
193
+ :rtype: DatasetState
194
+ """
195
+ return self._state
196
+
197
+ @state.setter
198
+ def state(self, state):
199
+ """Sets the state of this DatasetMetrics.
200
+
201
+
202
+ :param state: The state of this DatasetMetrics. # noqa: E501
203
+ :type: DatasetState
204
+ """
205
+ if self.local_vars_configuration.client_side_validation and state is None: # noqa: E501
206
+ raise ValueError("Invalid value for `state`, must not be `None`") # noqa: E501
207
+
208
+ self._state = state
209
+
210
+ @property
211
+ def progress(self):
212
+ """Gets the progress of this DatasetMetrics. # noqa: E501
213
+
214
+
215
+ :return: The progress of this DatasetMetrics. # noqa: E501
216
+ :rtype: int
217
+ """
218
+ return self._progress
219
+
220
+ @progress.setter
221
+ def progress(self, progress):
222
+ """Sets the progress of this DatasetMetrics.
223
+
224
+
225
+ :param progress: The progress of this DatasetMetrics. # noqa: E501
226
+ :type: int
227
+ """
228
+ if self.local_vars_configuration.client_side_validation and progress is None: # noqa: E501
229
+ raise ValueError("Invalid value for `progress`, must not be `None`") # noqa: E501
230
+
231
+ self._progress = progress
232
+
233
+ @property
234
+ def total(self):
235
+ """Gets the total of this DatasetMetrics. # noqa: E501
236
+
237
+
238
+ :return: The total of this DatasetMetrics. # noqa: E501
239
+ :rtype: int
240
+ """
241
+ return self._total
242
+
243
+ @total.setter
244
+ def total(self, total):
245
+ """Sets the total of this DatasetMetrics.
246
+
247
+
248
+ :param total: The total of this DatasetMetrics. # noqa: E501
249
+ :type: int
250
+ """
251
+ if self.local_vars_configuration.client_side_validation and total is None: # noqa: E501
252
+ raise ValueError("Invalid value for `total`, must not be `None`") # noqa: E501
253
+
254
+ self._total = total
255
+
256
+ @property
257
+ def start_time(self):
258
+ """Gets the start_time of this DatasetMetrics. # noqa: E501
259
+
260
+
261
+ :return: The start_time of this DatasetMetrics. # noqa: E501
262
+ :rtype: int
263
+ """
264
+ return self._start_time
265
+
266
+ @start_time.setter
267
+ def start_time(self, start_time):
268
+ """Sets the start_time of this DatasetMetrics.
269
+
270
+
271
+ :param start_time: The start_time of this DatasetMetrics. # noqa: E501
272
+ :type: int
273
+ """
274
+ if self.local_vars_configuration.client_side_validation and start_time is None: # noqa: E501
275
+ raise ValueError("Invalid value for `start_time`, must not be `None`") # noqa: E501
276
+
277
+ self._start_time = start_time
278
+
279
+ @property
280
+ def end_time(self):
281
+ """Gets the end_time of this DatasetMetrics. # noqa: E501
282
+
283
+
284
+ :return: The end_time of this DatasetMetrics. # noqa: E501
285
+ :rtype: int
286
+ """
287
+ return self._end_time
288
+
289
+ @end_time.setter
290
+ def end_time(self, end_time):
291
+ """Sets the end_time of this DatasetMetrics.
292
+
293
+
294
+ :param end_time: The end_time of this DatasetMetrics. # noqa: E501
295
+ :type: int
296
+ """
297
+
298
+ self._end_time = end_time
299
+
300
+ @property
301
+ def operator_metrics(self):
302
+ """Gets the operator_metrics of this DatasetMetrics. # noqa: E501
303
+
304
+
305
+ :return: The operator_metrics of this DatasetMetrics. # noqa: E501
306
+ :rtype: list[OperatorMetrics]
307
+ """
308
+ return self._operator_metrics
309
+
310
+ @operator_metrics.setter
311
+ def operator_metrics(self, operator_metrics):
312
+ """Sets the operator_metrics of this DatasetMetrics.
313
+
314
+
315
+ :param operator_metrics: The operator_metrics of this DatasetMetrics. # noqa: E501
316
+ :type: list[OperatorMetrics]
317
+ """
318
+ if self.local_vars_configuration.client_side_validation and operator_metrics is None: # noqa: E501
319
+ raise ValueError("Invalid value for `operator_metrics`, must not be `None`") # noqa: E501
320
+
321
+ self._operator_metrics = operator_metrics
322
+
323
+ @property
324
+ def metrics(self):
325
+ """Gets the metrics of this DatasetMetrics. # noqa: E501
326
+
327
+
328
+ :return: The metrics of this DatasetMetrics. # noqa: E501
329
+ :rtype: dict(str, Metric)
330
+ """
331
+ return self._metrics
332
+
333
+ @metrics.setter
334
+ def metrics(self, metrics):
335
+ """Sets the metrics of this DatasetMetrics.
336
+
337
+
338
+ :param metrics: The metrics of this DatasetMetrics. # noqa: E501
339
+ :type: dict(str, Metric)
340
+ """
341
+ if self.local_vars_configuration.client_side_validation and metrics is None: # noqa: E501
342
+ raise ValueError("Invalid value for `metrics`, must not be `None`") # noqa: E501
343
+
344
+ self._metrics = metrics
345
+
346
+ def to_dict(self):
347
+ """Returns the model properties as a dict"""
348
+ result = {}
349
+
350
+ for attr, _ in six.iteritems(self.openapi_types):
351
+ value = getattr(self, attr)
352
+ if isinstance(value, list):
353
+ result[attr] = list(map(
354
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
355
+ value
356
+ ))
357
+ elif hasattr(value, "to_dict"):
358
+ result[attr] = value.to_dict()
359
+ elif isinstance(value, dict):
360
+ result[attr] = dict(map(
361
+ lambda item: (item[0], item[1].to_dict())
362
+ if hasattr(item[1], "to_dict") else item,
363
+ value.items()
364
+ ))
365
+ else:
366
+ result[attr] = value
367
+
368
+ return result
369
+
370
+ def to_str(self):
371
+ """Returns the string representation of the model"""
372
+ return pprint.pformat(self.to_dict())
373
+
374
+ def __repr__(self):
375
+ """For `print` and `pprint`"""
376
+ return self.to_str()
377
+
378
+ def __eq__(self, other):
379
+ """Returns true if both objects are equal"""
380
+ if not isinstance(other, DatasetMetrics):
381
+ return False
382
+
383
+ return self.to_dict() == other.to_dict()
384
+
385
+ def __ne__(self, other):
386
+ """Returns true if both objects are not equal"""
387
+ if not isinstance(other, DatasetMetrics):
388
+ return True
389
+
390
+ return self.to_dict() != other.to_dict()
@@ -1,7 +1,7 @@
1
1
  # coding: utf-8
2
2
 
3
3
  """
4
- Anyscale API
4
+ Managed Ray API
5
5
 
6
6
  No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501
7
7
 
@@ -15,10 +15,10 @@ import re # noqa: F401
15
15
 
16
16
  import six
17
17
 
18
- from anyscale_client.configuration import Configuration
18
+ from openapi_client.configuration import Configuration
19
19
 
20
20
 
21
- class SessionCommandTypes(object):
21
+ class DatasetState(object):
22
22
  """NOTE: This class is auto generated by OpenAPI Generator.
23
23
  Ref: https://openapi-generator.tech
24
24
 
@@ -28,10 +28,12 @@ class SessionCommandTypes(object):
28
28
  """
29
29
  allowed enum values
30
30
  """
31
- WEBTERMINAL = "WEBTERMINAL"
32
- COMMAND_LINE_RUNNER = "COMMAND_LINE_RUNNER"
31
+ UNKNOWN = "UNKNOWN"
32
+ RUNNING = "RUNNING"
33
+ FAILED = "FAILED"
34
+ FINISHED = "FINISHED"
33
35
 
34
- allowable_values = [WEBTERMINAL, COMMAND_LINE_RUNNER] # noqa: E501
36
+ allowable_values = [UNKNOWN, RUNNING, FAILED, FINISHED] # noqa: E501
35
37
 
36
38
  """
37
39
  Attributes:
@@ -47,7 +49,7 @@ class SessionCommandTypes(object):
47
49
  }
48
50
 
49
51
  def __init__(self, local_vars_configuration=None): # noqa: E501
50
- """SessionCommandTypes - a model defined in OpenAPI""" # noqa: E501
52
+ """DatasetState - a model defined in OpenAPI""" # noqa: E501
51
53
  if local_vars_configuration is None:
52
54
  local_vars_configuration = Configuration()
53
55
  self.local_vars_configuration = local_vars_configuration
@@ -87,14 +89,14 @@ class SessionCommandTypes(object):
87
89
 
88
90
  def __eq__(self, other):
89
91
  """Returns true if both objects are equal"""
90
- if not isinstance(other, SessionCommandTypes):
92
+ if not isinstance(other, DatasetState):
91
93
  return False
92
94
 
93
95
  return self.to_dict() == other.to_dict()
94
96
 
95
97
  def __ne__(self, other):
96
98
  """Returns true if both objects are not equal"""
97
- if not isinstance(other, SessionCommandTypes):
99
+ if not isinstance(other, DatasetState):
98
100
  return True
99
101
 
100
102
  return self.to_dict() != other.to_dict()
@@ -18,7 +18,7 @@ import six
18
18
  from openapi_client.configuration import Configuration
19
19
 
20
20
 
21
- class DecoratedjobListResponse(object):
21
+ class Metric(object):
22
22
  """NOTE: This class is auto generated by OpenAPI Generator.
23
23
  Ref: https://openapi-generator.tech
24
24
 
@@ -33,72 +33,98 @@ class DecoratedjobListResponse(object):
33
33
  and the value is json key in definition.
34
34
  """
35
35
  openapi_types = {
36
- 'results': 'list[DecoratedJob]',
37
- 'metadata': 'ListResponseMetadata'
36
+ 'name': 'str',
37
+ 'current_value': 'float',
38
+ 'max_over_time': 'float'
38
39
  }
39
40
 
40
41
  attribute_map = {
41
- 'results': 'results',
42
- 'metadata': 'metadata'
42
+ 'name': 'name',
43
+ 'current_value': 'current_value',
44
+ 'max_over_time': 'max_over_time'
43
45
  }
44
46
 
45
- def __init__(self, results=None, metadata=None, local_vars_configuration=None): # noqa: E501
46
- """DecoratedjobListResponse - a model defined in OpenAPI""" # noqa: E501
47
+ def __init__(self, name=None, current_value=None, max_over_time=None, local_vars_configuration=None): # noqa: E501
48
+ """Metric - a model defined in OpenAPI""" # noqa: E501
47
49
  if local_vars_configuration is None:
48
50
  local_vars_configuration = Configuration()
49
51
  self.local_vars_configuration = local_vars_configuration
50
52
 
51
- self._results = None
52
- self._metadata = None
53
+ self._name = None
54
+ self._current_value = None
55
+ self._max_over_time = None
53
56
  self.discriminator = None
54
57
 
55
- self.results = results
56
- if metadata is not None:
57
- self.metadata = metadata
58
+ self.name = name
59
+ if current_value is not None:
60
+ self.current_value = current_value
61
+ if max_over_time is not None:
62
+ self.max_over_time = max_over_time
58
63
 
59
64
  @property
60
- def results(self):
61
- """Gets the results of this DecoratedjobListResponse. # noqa: E501
65
+ def name(self):
66
+ """Gets the name of this Metric. # noqa: E501
62
67
 
63
68
 
64
- :return: The results of this DecoratedjobListResponse. # noqa: E501
65
- :rtype: list[DecoratedJob]
69
+ :return: The name of this Metric. # noqa: E501
70
+ :rtype: str
66
71
  """
67
- return self._results
72
+ return self._name
68
73
 
69
- @results.setter
70
- def results(self, results):
71
- """Sets the results of this DecoratedjobListResponse.
74
+ @name.setter
75
+ def name(self, name):
76
+ """Sets the name of this Metric.
72
77
 
73
78
 
74
- :param results: The results of this DecoratedjobListResponse. # noqa: E501
75
- :type: list[DecoratedJob]
79
+ :param name: The name of this Metric. # noqa: E501
80
+ :type: str
76
81
  """
77
- if self.local_vars_configuration.client_side_validation and results is None: # noqa: E501
78
- raise ValueError("Invalid value for `results`, must not be `None`") # noqa: E501
82
+ if self.local_vars_configuration.client_side_validation and name is None: # noqa: E501
83
+ raise ValueError("Invalid value for `name`, must not be `None`") # noqa: E501
79
84
 
80
- self._results = results
85
+ self._name = name
81
86
 
82
87
  @property
83
- def metadata(self):
84
- """Gets the metadata of this DecoratedjobListResponse. # noqa: E501
88
+ def current_value(self):
89
+ """Gets the current_value of this Metric. # noqa: E501
85
90
 
86
91
 
87
- :return: The metadata of this DecoratedjobListResponse. # noqa: E501
88
- :rtype: ListResponseMetadata
92
+ :return: The current_value of this Metric. # noqa: E501
93
+ :rtype: float
89
94
  """
90
- return self._metadata
95
+ return self._current_value
91
96
 
92
- @metadata.setter
93
- def metadata(self, metadata):
94
- """Sets the metadata of this DecoratedjobListResponse.
97
+ @current_value.setter
98
+ def current_value(self, current_value):
99
+ """Sets the current_value of this Metric.
95
100
 
96
101
 
97
- :param metadata: The metadata of this DecoratedjobListResponse. # noqa: E501
98
- :type: ListResponseMetadata
102
+ :param current_value: The current_value of this Metric. # noqa: E501
103
+ :type: float
99
104
  """
100
105
 
101
- self._metadata = metadata
106
+ self._current_value = current_value
107
+
108
+ @property
109
+ def max_over_time(self):
110
+ """Gets the max_over_time of this Metric. # noqa: E501
111
+
112
+
113
+ :return: The max_over_time of this Metric. # noqa: E501
114
+ :rtype: float
115
+ """
116
+ return self._max_over_time
117
+
118
+ @max_over_time.setter
119
+ def max_over_time(self, max_over_time):
120
+ """Sets the max_over_time of this Metric.
121
+
122
+
123
+ :param max_over_time: The max_over_time of this Metric. # noqa: E501
124
+ :type: float
125
+ """
126
+
127
+ self._max_over_time = max_over_time
102
128
 
103
129
  def to_dict(self):
104
130
  """Returns the model properties as a dict"""
@@ -134,14 +160,14 @@ class DecoratedjobListResponse(object):
134
160
 
135
161
  def __eq__(self, other):
136
162
  """Returns true if both objects are equal"""
137
- if not isinstance(other, DecoratedjobListResponse):
163
+ if not isinstance(other, Metric):
138
164
  return False
139
165
 
140
166
  return self.to_dict() == other.to_dict()
141
167
 
142
168
  def __ne__(self, other):
143
169
  """Returns true if both objects are not equal"""
144
- if not isinstance(other, DecoratedjobListResponse):
170
+ if not isinstance(other, Metric):
145
171
  return True
146
172
 
147
173
  return self.to_dict() != other.to_dict()