huaweicloudsdkivs 3.1.160__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 (58) hide show
  1. huaweicloudsdkivs/__init__.py +0 -0
  2. huaweicloudsdkivs/v2/__init__.py +54 -0
  3. huaweicloudsdkivs/v2/ivs_async_client.py +485 -0
  4. huaweicloudsdkivs/v2/ivs_client.py +482 -0
  5. huaweicloudsdkivs/v2/model/__init__.py +51 -0
  6. huaweicloudsdkivs/v2/model/actions_list.py +142 -0
  7. huaweicloudsdkivs/v2/model/detect_extention_by_id_card_image_request.py +140 -0
  8. huaweicloudsdkivs/v2/model/detect_extention_by_id_card_image_response.py +162 -0
  9. huaweicloudsdkivs/v2/model/detect_extention_by_name_and_id_request.py +140 -0
  10. huaweicloudsdkivs/v2/model/detect_extention_by_name_and_id_response.py +162 -0
  11. huaweicloudsdkivs/v2/model/detect_standard_by_id_card_image_request.py +140 -0
  12. huaweicloudsdkivs/v2/model/detect_standard_by_id_card_image_response.py +162 -0
  13. huaweicloudsdkivs/v2/model/detect_standard_by_name_and_id_request.py +140 -0
  14. huaweicloudsdkivs/v2/model/detect_standard_by_name_and_id_response.py +162 -0
  15. huaweicloudsdkivs/v2/model/detect_standard_by_video_and_id_card_image_request.py +140 -0
  16. huaweicloudsdkivs/v2/model/detect_standard_by_video_and_id_card_image_response.py +162 -0
  17. huaweicloudsdkivs/v2/model/detect_standard_by_video_and_name_and_id_request.py +140 -0
  18. huaweicloudsdkivs/v2/model/detect_standard_by_video_and_name_and_id_response.py +162 -0
  19. huaweicloudsdkivs/v2/model/extention_req_data_by_id_card_image.py +143 -0
  20. huaweicloudsdkivs/v2/model/extention_req_data_by_name_and_id.py +142 -0
  21. huaweicloudsdkivs/v2/model/extention_resp_data_by_id_card_image.py +198 -0
  22. huaweicloudsdkivs/v2/model/extention_resp_data_by_name_and_id.py +173 -0
  23. huaweicloudsdkivs/v2/model/idcard_result.py +341 -0
  24. huaweicloudsdkivs/v2/model/ivs_extention_by_id_card_image_request_body.py +134 -0
  25. huaweicloudsdkivs/v2/model/ivs_extention_by_id_card_image_request_body_data.py +115 -0
  26. huaweicloudsdkivs/v2/model/ivs_extention_by_id_card_image_response_body_result.py +173 -0
  27. huaweicloudsdkivs/v2/model/ivs_extention_by_name_and_id_request_body.py +134 -0
  28. huaweicloudsdkivs/v2/model/ivs_extention_by_name_and_id_request_body_data.py +115 -0
  29. huaweicloudsdkivs/v2/model/ivs_extention_by_name_and_id_response_body_result.py +173 -0
  30. huaweicloudsdkivs/v2/model/ivs_standard_by_id_card_image_request_body.py +134 -0
  31. huaweicloudsdkivs/v2/model/ivs_standard_by_id_card_image_request_body_data.py +115 -0
  32. huaweicloudsdkivs/v2/model/ivs_standard_by_id_card_image_response_body_result.py +170 -0
  33. huaweicloudsdkivs/v2/model/ivs_standard_by_name_and_id_request_body.py +134 -0
  34. huaweicloudsdkivs/v2/model/ivs_standard_by_name_and_id_request_body_data.py +115 -0
  35. huaweicloudsdkivs/v2/model/ivs_standard_by_name_and_id_response_body_result.py +170 -0
  36. huaweicloudsdkivs/v2/model/ivs_standard_by_video_and_id_card_image_request_body.py +134 -0
  37. huaweicloudsdkivs/v2/model/ivs_standard_by_video_and_id_card_image_request_body_data.py +115 -0
  38. huaweicloudsdkivs/v2/model/ivs_standard_by_video_and_id_card_image_response_body_result.py +170 -0
  39. huaweicloudsdkivs/v2/model/ivs_standard_by_video_and_name_and_id_request_body.py +134 -0
  40. huaweicloudsdkivs/v2/model/ivs_standard_by_video_and_name_and_id_request_body_data.py +115 -0
  41. huaweicloudsdkivs/v2/model/ivs_standard_by_video_and_name_and_id_response_body_result.py +170 -0
  42. huaweicloudsdkivs/v2/model/meta.py +115 -0
  43. huaweicloudsdkivs/v2/model/req_data_by_id_card_image.py +229 -0
  44. huaweicloudsdkivs/v2/model/req_data_by_video_and_id_card_image.py +257 -0
  45. huaweicloudsdkivs/v2/model/resp_data_by_id_card_image.py +222 -0
  46. huaweicloudsdkivs/v2/model/resp_data_by_video_and_id_card_image.py +246 -0
  47. huaweicloudsdkivs/v2/model/standard_req_data_by_name_and_id.py +228 -0
  48. huaweicloudsdkivs/v2/model/standard_req_data_by_video_and_name_and_id.py +256 -0
  49. huaweicloudsdkivs/v2/model/standard_resp_data_by_name_and_id.py +198 -0
  50. huaweicloudsdkivs/v2/model/standard_resp_data_by_video_and_name_and_id.py +222 -0
  51. huaweicloudsdkivs/v2/model/video_result.py +170 -0
  52. huaweicloudsdkivs/v2/region/__init__.py +0 -0
  53. huaweicloudsdkivs/v2/region/ivs_region.py +34 -0
  54. huaweicloudsdkivs-3.1.160.dist-info/LICENSE +13 -0
  55. huaweicloudsdkivs-3.1.160.dist-info/METADATA +26 -0
  56. huaweicloudsdkivs-3.1.160.dist-info/RECORD +58 -0
  57. huaweicloudsdkivs-3.1.160.dist-info/WHEEL +5 -0
  58. huaweicloudsdkivs-3.1.160.dist-info/top_level.txt +1 -0
@@ -0,0 +1,134 @@
1
+ # coding: utf-8
2
+
3
+ import six
4
+
5
+ from huaweicloudsdkcore.utils.http_utils import sanitize_for_serialization
6
+
7
+
8
+ class IvsStandardByVideoAndNameAndIdRequestBody:
9
+
10
+ """
11
+ Attributes:
12
+ openapi_types (dict): The key is attribute name
13
+ and the value is attribute type.
14
+ attribute_map (dict): The key is attribute name
15
+ and the value is json key in definition.
16
+ """
17
+ sensitive_list = []
18
+
19
+ openapi_types = {
20
+ 'meta': 'Meta',
21
+ 'data': 'IvsStandardByVideoAndNameAndIdRequestBodyData'
22
+ }
23
+
24
+ attribute_map = {
25
+ 'meta': 'meta',
26
+ 'data': 'data'
27
+ }
28
+
29
+ def __init__(self, meta=None, data=None):
30
+ r"""IvsStandardByVideoAndNameAndIdRequestBody
31
+
32
+ The model defined in huaweicloud sdk
33
+
34
+ :param meta:
35
+ :type meta: :class:`huaweicloudsdkivs.v2.Meta`
36
+ :param data:
37
+ :type data: :class:`huaweicloudsdkivs.v2.IvsStandardByVideoAndNameAndIdRequestBodyData`
38
+ """
39
+
40
+
41
+
42
+ self._meta = None
43
+ self._data = None
44
+ self.discriminator = None
45
+
46
+ self.meta = meta
47
+ self.data = data
48
+
49
+ @property
50
+ def meta(self):
51
+ r"""Gets the meta of this IvsStandardByVideoAndNameAndIdRequestBody.
52
+
53
+ :return: The meta of this IvsStandardByVideoAndNameAndIdRequestBody.
54
+ :rtype: :class:`huaweicloudsdkivs.v2.Meta`
55
+ """
56
+ return self._meta
57
+
58
+ @meta.setter
59
+ def meta(self, meta):
60
+ r"""Sets the meta of this IvsStandardByVideoAndNameAndIdRequestBody.
61
+
62
+ :param meta: The meta of this IvsStandardByVideoAndNameAndIdRequestBody.
63
+ :type meta: :class:`huaweicloudsdkivs.v2.Meta`
64
+ """
65
+ self._meta = meta
66
+
67
+ @property
68
+ def data(self):
69
+ r"""Gets the data of this IvsStandardByVideoAndNameAndIdRequestBody.
70
+
71
+ :return: The data of this IvsStandardByVideoAndNameAndIdRequestBody.
72
+ :rtype: :class:`huaweicloudsdkivs.v2.IvsStandardByVideoAndNameAndIdRequestBodyData`
73
+ """
74
+ return self._data
75
+
76
+ @data.setter
77
+ def data(self, data):
78
+ r"""Sets the data of this IvsStandardByVideoAndNameAndIdRequestBody.
79
+
80
+ :param data: The data of this IvsStandardByVideoAndNameAndIdRequestBody.
81
+ :type data: :class:`huaweicloudsdkivs.v2.IvsStandardByVideoAndNameAndIdRequestBodyData`
82
+ """
83
+ self._data = data
84
+
85
+ def to_dict(self):
86
+ """Returns the model properties as a dict"""
87
+ result = {}
88
+
89
+ for attr, _ in six.iteritems(self.openapi_types):
90
+ value = getattr(self, attr)
91
+ if isinstance(value, list):
92
+ result[attr] = list(map(
93
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
94
+ value
95
+ ))
96
+ elif hasattr(value, "to_dict"):
97
+ result[attr] = value.to_dict()
98
+ elif isinstance(value, dict):
99
+ result[attr] = dict(map(
100
+ lambda item: (item[0], item[1].to_dict())
101
+ if hasattr(item[1], "to_dict") else item,
102
+ value.items()
103
+ ))
104
+ else:
105
+ if attr in self.sensitive_list:
106
+ result[attr] = "****"
107
+ else:
108
+ result[attr] = value
109
+
110
+ return result
111
+
112
+ def to_str(self):
113
+ """Returns the string representation of the model"""
114
+ import simplejson as json
115
+ if six.PY2:
116
+ import sys
117
+ reload(sys)
118
+ sys.setdefaultencoding("utf-8")
119
+ return json.dumps(sanitize_for_serialization(self), ensure_ascii=False)
120
+
121
+ def __repr__(self):
122
+ """For `print`"""
123
+ return self.to_str()
124
+
125
+ def __eq__(self, other):
126
+ """Returns true if both objects are equal"""
127
+ if not isinstance(other, IvsStandardByVideoAndNameAndIdRequestBody):
128
+ return False
129
+
130
+ return self.__dict__ == other.__dict__
131
+
132
+ def __ne__(self, other):
133
+ """Returns true if both objects are not equal"""
134
+ return not self == other
@@ -0,0 +1,115 @@
1
+ # coding: utf-8
2
+
3
+ import six
4
+
5
+ from huaweicloudsdkcore.utils.http_utils import sanitize_for_serialization
6
+
7
+
8
+ class IvsStandardByVideoAndNameAndIdRequestBodyData:
9
+
10
+ """
11
+ Attributes:
12
+ openapi_types (dict): The key is attribute name
13
+ and the value is attribute type.
14
+ attribute_map (dict): The key is attribute name
15
+ and the value is json key in definition.
16
+ """
17
+ sensitive_list = []
18
+
19
+ openapi_types = {
20
+ 'req_data': 'list[StandardReqDataByVideoAndNameAndId]'
21
+ }
22
+
23
+ attribute_map = {
24
+ 'req_data': 'req_data'
25
+ }
26
+
27
+ def __init__(self, req_data=None):
28
+ r"""IvsStandardByVideoAndNameAndIdRequestBodyData
29
+
30
+ The model defined in huaweicloud sdk
31
+
32
+ :param req_data: 请求列表,用于支持批量调用。目前暂时只支持单个数据查询。
33
+ :type req_data: list[:class:`huaweicloudsdkivs.v2.StandardReqDataByVideoAndNameAndId`]
34
+ """
35
+
36
+
37
+
38
+ self._req_data = None
39
+ self.discriminator = None
40
+
41
+ if req_data is not None:
42
+ self.req_data = req_data
43
+
44
+ @property
45
+ def req_data(self):
46
+ r"""Gets the req_data of this IvsStandardByVideoAndNameAndIdRequestBodyData.
47
+
48
+ 请求列表,用于支持批量调用。目前暂时只支持单个数据查询。
49
+
50
+ :return: The req_data of this IvsStandardByVideoAndNameAndIdRequestBodyData.
51
+ :rtype: list[:class:`huaweicloudsdkivs.v2.StandardReqDataByVideoAndNameAndId`]
52
+ """
53
+ return self._req_data
54
+
55
+ @req_data.setter
56
+ def req_data(self, req_data):
57
+ r"""Sets the req_data of this IvsStandardByVideoAndNameAndIdRequestBodyData.
58
+
59
+ 请求列表,用于支持批量调用。目前暂时只支持单个数据查询。
60
+
61
+ :param req_data: The req_data of this IvsStandardByVideoAndNameAndIdRequestBodyData.
62
+ :type req_data: list[:class:`huaweicloudsdkivs.v2.StandardReqDataByVideoAndNameAndId`]
63
+ """
64
+ self._req_data = req_data
65
+
66
+ def to_dict(self):
67
+ """Returns the model properties as a dict"""
68
+ result = {}
69
+
70
+ for attr, _ in six.iteritems(self.openapi_types):
71
+ value = getattr(self, attr)
72
+ if isinstance(value, list):
73
+ result[attr] = list(map(
74
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
75
+ value
76
+ ))
77
+ elif hasattr(value, "to_dict"):
78
+ result[attr] = value.to_dict()
79
+ elif isinstance(value, dict):
80
+ result[attr] = dict(map(
81
+ lambda item: (item[0], item[1].to_dict())
82
+ if hasattr(item[1], "to_dict") else item,
83
+ value.items()
84
+ ))
85
+ else:
86
+ if attr in self.sensitive_list:
87
+ result[attr] = "****"
88
+ else:
89
+ result[attr] = value
90
+
91
+ return result
92
+
93
+ def to_str(self):
94
+ """Returns the string representation of the model"""
95
+ import simplejson as json
96
+ if six.PY2:
97
+ import sys
98
+ reload(sys)
99
+ sys.setdefaultencoding("utf-8")
100
+ return json.dumps(sanitize_for_serialization(self), ensure_ascii=False)
101
+
102
+ def __repr__(self):
103
+ """For `print`"""
104
+ return self.to_str()
105
+
106
+ def __eq__(self, other):
107
+ """Returns true if both objects are equal"""
108
+ if not isinstance(other, IvsStandardByVideoAndNameAndIdRequestBodyData):
109
+ return False
110
+
111
+ return self.__dict__ == other.__dict__
112
+
113
+ def __ne__(self, other):
114
+ """Returns true if both objects are not equal"""
115
+ return not self == other
@@ -0,0 +1,170 @@
1
+ # coding: utf-8
2
+
3
+ import six
4
+
5
+ from huaweicloudsdkcore.utils.http_utils import sanitize_for_serialization
6
+
7
+
8
+ class IvsStandardByVideoAndNameAndIdResponseBodyResult:
9
+
10
+ """
11
+ Attributes:
12
+ openapi_types (dict): The key is attribute name
13
+ and the value is attribute type.
14
+ attribute_map (dict): The key is attribute name
15
+ and the value is json key in definition.
16
+ """
17
+ sensitive_list = []
18
+
19
+ openapi_types = {
20
+ 'service_name': 'str',
21
+ 'count': 'int',
22
+ 'resp_data': 'list[StandardRespDataByVideoAndNameAndId]'
23
+ }
24
+
25
+ attribute_map = {
26
+ 'service_name': 'service_name',
27
+ 'count': 'count',
28
+ 'resp_data': 'resp_data'
29
+ }
30
+
31
+ def __init__(self, service_name=None, count=None, resp_data=None):
32
+ r"""IvsStandardByVideoAndNameAndIdResponseBodyResult
33
+
34
+ The model defined in huaweicloud sdk
35
+
36
+ :param service_name: 子服务名称。
37
+ :type service_name: str
38
+ :param count: 成功的结果数量,与resp_data字段对应。
39
+ :type count: int
40
+ :param resp_data: 请求列表,用于支持批量调用。目前暂时只支持单个数据查询。
41
+ :type resp_data: list[:class:`huaweicloudsdkivs.v2.StandardRespDataByVideoAndNameAndId`]
42
+ """
43
+
44
+
45
+
46
+ self._service_name = None
47
+ self._count = None
48
+ self._resp_data = None
49
+ self.discriminator = None
50
+
51
+ self.service_name = service_name
52
+ self.count = count
53
+ self.resp_data = resp_data
54
+
55
+ @property
56
+ def service_name(self):
57
+ r"""Gets the service_name of this IvsStandardByVideoAndNameAndIdResponseBodyResult.
58
+
59
+ 子服务名称。
60
+
61
+ :return: The service_name of this IvsStandardByVideoAndNameAndIdResponseBodyResult.
62
+ :rtype: str
63
+ """
64
+ return self._service_name
65
+
66
+ @service_name.setter
67
+ def service_name(self, service_name):
68
+ r"""Sets the service_name of this IvsStandardByVideoAndNameAndIdResponseBodyResult.
69
+
70
+ 子服务名称。
71
+
72
+ :param service_name: The service_name of this IvsStandardByVideoAndNameAndIdResponseBodyResult.
73
+ :type service_name: str
74
+ """
75
+ self._service_name = service_name
76
+
77
+ @property
78
+ def count(self):
79
+ r"""Gets the count of this IvsStandardByVideoAndNameAndIdResponseBodyResult.
80
+
81
+ 成功的结果数量,与resp_data字段对应。
82
+
83
+ :return: The count of this IvsStandardByVideoAndNameAndIdResponseBodyResult.
84
+ :rtype: int
85
+ """
86
+ return self._count
87
+
88
+ @count.setter
89
+ def count(self, count):
90
+ r"""Sets the count of this IvsStandardByVideoAndNameAndIdResponseBodyResult.
91
+
92
+ 成功的结果数量,与resp_data字段对应。
93
+
94
+ :param count: The count of this IvsStandardByVideoAndNameAndIdResponseBodyResult.
95
+ :type count: int
96
+ """
97
+ self._count = count
98
+
99
+ @property
100
+ def resp_data(self):
101
+ r"""Gets the resp_data of this IvsStandardByVideoAndNameAndIdResponseBodyResult.
102
+
103
+ 请求列表,用于支持批量调用。目前暂时只支持单个数据查询。
104
+
105
+ :return: The resp_data of this IvsStandardByVideoAndNameAndIdResponseBodyResult.
106
+ :rtype: list[:class:`huaweicloudsdkivs.v2.StandardRespDataByVideoAndNameAndId`]
107
+ """
108
+ return self._resp_data
109
+
110
+ @resp_data.setter
111
+ def resp_data(self, resp_data):
112
+ r"""Sets the resp_data of this IvsStandardByVideoAndNameAndIdResponseBodyResult.
113
+
114
+ 请求列表,用于支持批量调用。目前暂时只支持单个数据查询。
115
+
116
+ :param resp_data: The resp_data of this IvsStandardByVideoAndNameAndIdResponseBodyResult.
117
+ :type resp_data: list[:class:`huaweicloudsdkivs.v2.StandardRespDataByVideoAndNameAndId`]
118
+ """
119
+ self._resp_data = resp_data
120
+
121
+ def to_dict(self):
122
+ """Returns the model properties as a dict"""
123
+ result = {}
124
+
125
+ for attr, _ in six.iteritems(self.openapi_types):
126
+ value = getattr(self, attr)
127
+ if isinstance(value, list):
128
+ result[attr] = list(map(
129
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
130
+ value
131
+ ))
132
+ elif hasattr(value, "to_dict"):
133
+ result[attr] = value.to_dict()
134
+ elif isinstance(value, dict):
135
+ result[attr] = dict(map(
136
+ lambda item: (item[0], item[1].to_dict())
137
+ if hasattr(item[1], "to_dict") else item,
138
+ value.items()
139
+ ))
140
+ else:
141
+ if attr in self.sensitive_list:
142
+ result[attr] = "****"
143
+ else:
144
+ result[attr] = value
145
+
146
+ return result
147
+
148
+ def to_str(self):
149
+ """Returns the string representation of the model"""
150
+ import simplejson as json
151
+ if six.PY2:
152
+ import sys
153
+ reload(sys)
154
+ sys.setdefaultencoding("utf-8")
155
+ return json.dumps(sanitize_for_serialization(self), ensure_ascii=False)
156
+
157
+ def __repr__(self):
158
+ """For `print`"""
159
+ return self.to_str()
160
+
161
+ def __eq__(self, other):
162
+ """Returns true if both objects are equal"""
163
+ if not isinstance(other, IvsStandardByVideoAndNameAndIdResponseBodyResult):
164
+ return False
165
+
166
+ return self.__dict__ == other.__dict__
167
+
168
+ def __ne__(self, other):
169
+ """Returns true if both objects are not equal"""
170
+ return not self == other
@@ -0,0 +1,115 @@
1
+ # coding: utf-8
2
+
3
+ import six
4
+
5
+ from huaweicloudsdkcore.utils.http_utils import sanitize_for_serialization
6
+
7
+
8
+ class Meta:
9
+
10
+ """
11
+ Attributes:
12
+ openapi_types (dict): The key is attribute name
13
+ and the value is attribute type.
14
+ attribute_map (dict): The key is attribute name
15
+ and the value is json key in definition.
16
+ """
17
+ sensitive_list = []
18
+
19
+ openapi_types = {
20
+ 'uuid': 'str'
21
+ }
22
+
23
+ attribute_map = {
24
+ 'uuid': 'uuid'
25
+ }
26
+
27
+ def __init__(self, uuid=None):
28
+ r"""Meta
29
+
30
+ The model defined in huaweicloud sdk
31
+
32
+ :param uuid: 唯一标识此次请求的ID,用户自定义,不超过64位。
33
+ :type uuid: str
34
+ """
35
+
36
+
37
+
38
+ self._uuid = None
39
+ self.discriminator = None
40
+
41
+ if uuid is not None:
42
+ self.uuid = uuid
43
+
44
+ @property
45
+ def uuid(self):
46
+ r"""Gets the uuid of this Meta.
47
+
48
+ 唯一标识此次请求的ID,用户自定义,不超过64位。
49
+
50
+ :return: The uuid of this Meta.
51
+ :rtype: str
52
+ """
53
+ return self._uuid
54
+
55
+ @uuid.setter
56
+ def uuid(self, uuid):
57
+ r"""Sets the uuid of this Meta.
58
+
59
+ 唯一标识此次请求的ID,用户自定义,不超过64位。
60
+
61
+ :param uuid: The uuid of this Meta.
62
+ :type uuid: str
63
+ """
64
+ self._uuid = uuid
65
+
66
+ def to_dict(self):
67
+ """Returns the model properties as a dict"""
68
+ result = {}
69
+
70
+ for attr, _ in six.iteritems(self.openapi_types):
71
+ value = getattr(self, attr)
72
+ if isinstance(value, list):
73
+ result[attr] = list(map(
74
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
75
+ value
76
+ ))
77
+ elif hasattr(value, "to_dict"):
78
+ result[attr] = value.to_dict()
79
+ elif isinstance(value, dict):
80
+ result[attr] = dict(map(
81
+ lambda item: (item[0], item[1].to_dict())
82
+ if hasattr(item[1], "to_dict") else item,
83
+ value.items()
84
+ ))
85
+ else:
86
+ if attr in self.sensitive_list:
87
+ result[attr] = "****"
88
+ else:
89
+ result[attr] = value
90
+
91
+ return result
92
+
93
+ def to_str(self):
94
+ """Returns the string representation of the model"""
95
+ import simplejson as json
96
+ if six.PY2:
97
+ import sys
98
+ reload(sys)
99
+ sys.setdefaultencoding("utf-8")
100
+ return json.dumps(sanitize_for_serialization(self), ensure_ascii=False)
101
+
102
+ def __repr__(self):
103
+ """For `print`"""
104
+ return self.to_str()
105
+
106
+ def __eq__(self, other):
107
+ """Returns true if both objects are equal"""
108
+ if not isinstance(other, Meta):
109
+ return False
110
+
111
+ return self.__dict__ == other.__dict__
112
+
113
+ def __ne__(self, other):
114
+ """Returns true if both objects are not equal"""
115
+ return not self == other