antchain-gesaas 1.0.2__tar.gz

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.
@@ -0,0 +1,13 @@
1
+ Copyright (c) 2009-present, Alibaba Cloud All rights reserved.
2
+
3
+ Licensed under the Apache License, Version 2.0 (the "License");
4
+ you may not use this file except in compliance with the License.
5
+ You may obtain a copy of the License at
6
+
7
+ http://www.apache.org/licenses/LICENSE-2.0
8
+
9
+ Unless required by applicable law or agreed to in writing, software
10
+ distributed under the License is distributed on an "AS IS" BASIS,
11
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ See the License for the specific language governing permissions and
13
+ limitations under the License.
@@ -0,0 +1,2 @@
1
+ include LICENSE
2
+ include *.md
@@ -0,0 +1,63 @@
1
+ Metadata-Version: 2.1
2
+ Name: antchain_gesaas
3
+ Version: 1.0.2
4
+ Summary: Ant Chain GESAAS SDK Library for Python
5
+ Home-page: https://github.com/alipay/antchain-openapi-prod-sdk
6
+ Author: Ant Chain SDK
7
+ Author-email: sdk-team@alibabacloud.com
8
+ License: Apache License 2.0
9
+ Description: English | [简体中文](README-CN.md)
10
+
11
+ ## Ant Chain GESAAS SDK for Python
12
+
13
+ ## Requirements
14
+
15
+ - Python >= 3.6
16
+
17
+ ## Installation
18
+
19
+ - **Install with pip**
20
+
21
+ Python SDK uses a common package management tool named `pip`. If pip is not installed, see the [pip user guide](https://pip.pypa.io/en/stable/installing/ "pip User Guide") to install pip.
22
+
23
+ ```bash
24
+ # Install the antchain-gesaas
25
+ pip install antchain-gesaas
26
+ ```
27
+
28
+ ## Issues
29
+
30
+ [Opening an Issue](https://github.com/alipay/antchain-openapi-prod-sdk/issues/new), Issues not conforming to the guidelines may be closed immediately.
31
+
32
+ ## Usage
33
+
34
+ [Quick Examples](https://github.com/alipay/antchain-openapi-prod-sdk)
35
+
36
+ ## Changelog
37
+
38
+ Detailed changes for each release are documented in the [release notes](./ChangeLog.md).
39
+
40
+ ## References
41
+
42
+ - [Latest Release](https://github.com/alipay/antchain-openapi-prod-sdk/tree/master/python)
43
+
44
+ ## License
45
+
46
+ [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0)
47
+
48
+ Copyright (c) 2009-present, Alibaba Cloud All rights reserved.
49
+
50
+ Keywords: antchain,gesaas
51
+ Platform: any
52
+ Classifier: Development Status :: 4 - Beta
53
+ Classifier: Intended Audience :: Developers
54
+ Classifier: License :: OSI Approved :: Apache Software License
55
+ Classifier: Programming Language :: Python
56
+ Classifier: Programming Language :: Python :: 3
57
+ Classifier: Programming Language :: Python :: 3.6
58
+ Classifier: Programming Language :: Python :: 3.7
59
+ Classifier: Programming Language :: Python :: 3.8
60
+ Classifier: Programming Language :: Python :: 3.9
61
+ Classifier: Topic :: Software Development
62
+ Requires-Python: >=3.6
63
+ Description-Content-Type: text/markdown
@@ -0,0 +1,38 @@
1
+ [English](README.md) | 简体中文
2
+
3
+ ## Ant Chain GESAAS SDK for Python
4
+
5
+ ## 要求
6
+
7
+ - Python >= 3.6
8
+
9
+ ## 安装
10
+
11
+ - **使用 pip 安装(推荐)**
12
+
13
+ 如未安装 `pip`, 请先至pip官网 [pip user guide](https://pip.pypa.io/en/stable/installing/ "pip User Guide") 安装pip .
14
+
15
+ ```bash
16
+ # 安装 antchain-gesaas
17
+ pip install antchain-gesaas
18
+ ```
19
+
20
+ ## 问题
21
+
22
+ [提交 Issue](https://github.com/alipay/antchain-openapi-prod-sdk/issues/new),不符合指南的问题可能会立即关闭。
23
+
24
+ ## 使用说明
25
+
26
+ [快速使用](https://github.com/alipay/antchain-openapi-prod-sdk)
27
+
28
+ ## 发行说明
29
+
30
+ 每个版本的详细更改记录在[发行说明](./ChangeLog.md)中。
31
+
32
+ ## 相关
33
+
34
+ - [最新源码](https://github.com/alipay/antchain-openapi-prod-sdk/)
35
+
36
+ ## 许可证
37
+
38
+ [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0)
@@ -0,0 +1,40 @@
1
+ English | [简体中文](README-CN.md)
2
+
3
+ ## Ant Chain GESAAS SDK for Python
4
+
5
+ ## Requirements
6
+
7
+ - Python >= 3.6
8
+
9
+ ## Installation
10
+
11
+ - **Install with pip**
12
+
13
+ Python SDK uses a common package management tool named `pip`. If pip is not installed, see the [pip user guide](https://pip.pypa.io/en/stable/installing/ "pip User Guide") to install pip.
14
+
15
+ ```bash
16
+ # Install the antchain-gesaas
17
+ pip install antchain-gesaas
18
+ ```
19
+
20
+ ## Issues
21
+
22
+ [Opening an Issue](https://github.com/alipay/antchain-openapi-prod-sdk/issues/new), Issues not conforming to the guidelines may be closed immediately.
23
+
24
+ ## Usage
25
+
26
+ [Quick Examples](https://github.com/alipay/antchain-openapi-prod-sdk)
27
+
28
+ ## Changelog
29
+
30
+ Detailed changes for each release are documented in the [release notes](./ChangeLog.md).
31
+
32
+ ## References
33
+
34
+ - [Latest Release](https://github.com/alipay/antchain-openapi-prod-sdk/tree/master/python)
35
+
36
+ ## License
37
+
38
+ [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0)
39
+
40
+ Copyright (c) 2009-present, Alibaba Cloud All rights reserved.
@@ -0,0 +1,63 @@
1
+ Metadata-Version: 2.1
2
+ Name: antchain-gesaas
3
+ Version: 1.0.2
4
+ Summary: Ant Chain GESAAS SDK Library for Python
5
+ Home-page: https://github.com/alipay/antchain-openapi-prod-sdk
6
+ Author: Ant Chain SDK
7
+ Author-email: sdk-team@alibabacloud.com
8
+ License: Apache License 2.0
9
+ Description: English | [简体中文](README-CN.md)
10
+
11
+ ## Ant Chain GESAAS SDK for Python
12
+
13
+ ## Requirements
14
+
15
+ - Python >= 3.6
16
+
17
+ ## Installation
18
+
19
+ - **Install with pip**
20
+
21
+ Python SDK uses a common package management tool named `pip`. If pip is not installed, see the [pip user guide](https://pip.pypa.io/en/stable/installing/ "pip User Guide") to install pip.
22
+
23
+ ```bash
24
+ # Install the antchain-gesaas
25
+ pip install antchain-gesaas
26
+ ```
27
+
28
+ ## Issues
29
+
30
+ [Opening an Issue](https://github.com/alipay/antchain-openapi-prod-sdk/issues/new), Issues not conforming to the guidelines may be closed immediately.
31
+
32
+ ## Usage
33
+
34
+ [Quick Examples](https://github.com/alipay/antchain-openapi-prod-sdk)
35
+
36
+ ## Changelog
37
+
38
+ Detailed changes for each release are documented in the [release notes](./ChangeLog.md).
39
+
40
+ ## References
41
+
42
+ - [Latest Release](https://github.com/alipay/antchain-openapi-prod-sdk/tree/master/python)
43
+
44
+ ## License
45
+
46
+ [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0)
47
+
48
+ Copyright (c) 2009-present, Alibaba Cloud All rights reserved.
49
+
50
+ Keywords: antchain,gesaas
51
+ Platform: any
52
+ Classifier: Development Status :: 4 - Beta
53
+ Classifier: Intended Audience :: Developers
54
+ Classifier: License :: OSI Approved :: Apache Software License
55
+ Classifier: Programming Language :: Python
56
+ Classifier: Programming Language :: Python :: 3
57
+ Classifier: Programming Language :: Python :: 3.6
58
+ Classifier: Programming Language :: Python :: 3.7
59
+ Classifier: Programming Language :: Python :: 3.8
60
+ Classifier: Programming Language :: Python :: 3.9
61
+ Classifier: Topic :: Software Development
62
+ Requires-Python: >=3.6
63
+ Description-Content-Type: text/markdown
@@ -0,0 +1,14 @@
1
+ LICENSE
2
+ MANIFEST.in
3
+ README-CN.md
4
+ README.md
5
+ setup.cfg
6
+ setup.py
7
+ antchain_gesaas.egg-info/PKG-INFO
8
+ antchain_gesaas.egg-info/SOURCES.txt
9
+ antchain_gesaas.egg-info/dependency_links.txt
10
+ antchain_gesaas.egg-info/requires.txt
11
+ antchain_gesaas.egg-info/top_level.txt
12
+ antchain_sdk_gesaas/__init__.py
13
+ antchain_sdk_gesaas/client.py
14
+ antchain_sdk_gesaas/models.py
@@ -0,0 +1,3 @@
1
+ antchain_alipay_util<2.0.0,>=1.0.1
2
+ alibabacloud_tea_util<1.0.0,>=0.3.13
3
+ alibabacloud_rpc_util<1.0.0,>=0.0.4
@@ -0,0 +1 @@
1
+ antchain_sdk_gesaas
@@ -0,0 +1 @@
1
+ __version__ = '1.0.2'
@@ -0,0 +1,388 @@
1
+ # -*- coding: utf-8 -*-
2
+ # This file is auto-generated, don't edit it. Thanks.
3
+ import time
4
+
5
+ from Tea.exceptions import TeaException, UnretryableException
6
+ from Tea.request import TeaRequest
7
+ from Tea.core import TeaCore
8
+ from antchain_alipay_util.antchain_utils import AntchainUtils
9
+ from typing import Dict
10
+
11
+ from antchain_sdk_gesaas import models as gesaas_models
12
+ from alibabacloud_tea_util.client import Client as UtilClient
13
+ from alibabacloud_tea_util import models as util_models
14
+ from alibabacloud_rpc_util.client import Client as RPCUtilClient
15
+
16
+
17
+ class Client:
18
+ _endpoint: str = None
19
+ _region_id: str = None
20
+ _access_key_id: str = None
21
+ _access_key_secret: str = None
22
+ _protocol: str = None
23
+ _user_agent: str = None
24
+ _read_timeout: int = None
25
+ _connect_timeout: int = None
26
+ _http_proxy: str = None
27
+ _https_proxy: str = None
28
+ _socks_5proxy: str = None
29
+ _socks_5net_work: str = None
30
+ _no_proxy: str = None
31
+ _max_idle_conns: int = None
32
+ _security_token: str = None
33
+ _max_idle_time_millis: int = None
34
+ _keep_alive_duration_millis: int = None
35
+ _max_requests: int = None
36
+ _max_requests_per_host: int = None
37
+
38
+ def __init__(
39
+ self,
40
+ config: gesaas_models.Config,
41
+ ):
42
+ """
43
+ Init client with Config
44
+ @param config: config contains the necessary information to create a client
45
+ """
46
+ if UtilClient.is_unset(config):
47
+ raise TeaException({
48
+ 'code': 'ParameterMissing',
49
+ 'message': "'config' can not be unset"
50
+ })
51
+ self._access_key_id = config.access_key_id
52
+ self._access_key_secret = config.access_key_secret
53
+ self._security_token = config.security_token
54
+ self._endpoint = config.endpoint
55
+ self._protocol = config.protocol
56
+ self._user_agent = config.user_agent
57
+ self._read_timeout = UtilClient.default_number(config.read_timeout, 20000)
58
+ self._connect_timeout = UtilClient.default_number(config.connect_timeout, 20000)
59
+ self._http_proxy = config.http_proxy
60
+ self._https_proxy = config.https_proxy
61
+ self._no_proxy = config.no_proxy
62
+ self._socks_5proxy = config.socks_5proxy
63
+ self._socks_5net_work = config.socks_5net_work
64
+ self._max_idle_conns = UtilClient.default_number(config.max_idle_conns, 60000)
65
+ self._max_idle_time_millis = UtilClient.default_number(config.max_idle_time_millis, 5)
66
+ self._keep_alive_duration_millis = UtilClient.default_number(config.keep_alive_duration_millis, 5000)
67
+ self._max_requests = UtilClient.default_number(config.max_requests, 100)
68
+ self._max_requests_per_host = UtilClient.default_number(config.max_requests_per_host, 100)
69
+
70
+ def do_request(
71
+ self,
72
+ version: str,
73
+ action: str,
74
+ protocol: str,
75
+ method: str,
76
+ pathname: str,
77
+ request: dict,
78
+ headers: Dict[str, str],
79
+ runtime: util_models.RuntimeOptions,
80
+ ) -> dict:
81
+ """
82
+ Encapsulate the request and invoke the network
83
+ @param action: api name
84
+ @param protocol: http or https
85
+ @param method: e.g. GET
86
+ @param pathname: pathname of every api
87
+ @param request: which contains request params
88
+ @param runtime: which controls some details of call api, such as retry times
89
+ @return: the response
90
+ """
91
+ runtime.validate()
92
+ _runtime = {
93
+ 'timeouted': 'retry',
94
+ 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout),
95
+ 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout),
96
+ 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy),
97
+ 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy),
98
+ 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy),
99
+ 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns),
100
+ 'maxIdleTimeMillis': self._max_idle_time_millis,
101
+ 'keepAliveDuration': self._keep_alive_duration_millis,
102
+ 'maxRequests': self._max_requests,
103
+ 'maxRequestsPerHost': self._max_requests_per_host,
104
+ 'retry': {
105
+ 'retryable': runtime.autoretry,
106
+ 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3)
107
+ },
108
+ 'backoff': {
109
+ 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'),
110
+ 'period': UtilClient.default_number(runtime.backoff_period, 1)
111
+ },
112
+ 'ignoreSSL': runtime.ignore_ssl,
113
+ # 订单详情列表
114
+ }
115
+ _last_request = None
116
+ _last_exception = None
117
+ _now = time.time()
118
+ _retry_times = 0
119
+ while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now):
120
+ if _retry_times > 0:
121
+ _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times)
122
+ if _backoff_time > 0:
123
+ TeaCore.sleep(_backoff_time)
124
+ _retry_times = _retry_times + 1
125
+ try:
126
+ _request = TeaRequest()
127
+ _request.protocol = UtilClient.default_string(self._protocol, protocol)
128
+ _request.method = method
129
+ _request.pathname = pathname
130
+ _request.query = {
131
+ 'method': action,
132
+ 'version': version,
133
+ 'sign_type': 'HmacSHA1',
134
+ 'req_time': AntchainUtils.get_timestamp(),
135
+ 'req_msg_id': AntchainUtils.get_nonce(),
136
+ 'access_key': self._access_key_id,
137
+ 'base_sdk_version': 'TeaSDK-2.0',
138
+ 'sdk_version': '1.0.2',
139
+ '_prod_code': 'GESAAS',
140
+ '_prod_channel': 'default'
141
+ }
142
+ if not UtilClient.empty(self._security_token):
143
+ _request.query['security_token'] = self._security_token
144
+ _request.headers = TeaCore.merge({
145
+ 'host': UtilClient.default_string(self._endpoint, 'openapi.antchain.antgroup.com'),
146
+ 'user-agent': UtilClient.get_user_agent(self._user_agent)
147
+ }, headers)
148
+ tmp = UtilClient.anyify_map_value(RPCUtilClient.query(request))
149
+ _request.body = UtilClient.to_form_string(tmp)
150
+ _request.headers['content-type'] = 'application/x-www-form-urlencoded'
151
+ signed_param = TeaCore.merge(_request.query,
152
+ RPCUtilClient.query(request))
153
+ _request.query['sign'] = AntchainUtils.get_signature(signed_param, self._access_key_secret)
154
+ _last_request = _request
155
+ _response = TeaCore.do_action(_request, _runtime)
156
+ raw = UtilClient.read_as_string(_response.body)
157
+ obj = UtilClient.parse_json(raw)
158
+ res = UtilClient.assert_as_map(obj)
159
+ resp = UtilClient.assert_as_map(res.get('response'))
160
+ if AntchainUtils.has_error(raw, self._access_key_secret):
161
+ raise TeaException({
162
+ 'message': resp.get('result_msg'),
163
+ 'data': resp,
164
+ 'code': resp.get('result_code')
165
+ })
166
+ return resp
167
+ except Exception as e:
168
+ if TeaCore.is_retryable(e):
169
+ _last_exception = e
170
+ continue
171
+ raise e
172
+ raise UnretryableException(_last_request, _last_exception)
173
+
174
+ async def do_request_async(
175
+ self,
176
+ version: str,
177
+ action: str,
178
+ protocol: str,
179
+ method: str,
180
+ pathname: str,
181
+ request: dict,
182
+ headers: Dict[str, str],
183
+ runtime: util_models.RuntimeOptions,
184
+ ) -> dict:
185
+ """
186
+ Encapsulate the request and invoke the network
187
+ @param action: api name
188
+ @param protocol: http or https
189
+ @param method: e.g. GET
190
+ @param pathname: pathname of every api
191
+ @param request: which contains request params
192
+ @param runtime: which controls some details of call api, such as retry times
193
+ @return: the response
194
+ """
195
+ runtime.validate()
196
+ _runtime = {
197
+ 'timeouted': 'retry',
198
+ 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout),
199
+ 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout),
200
+ 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy),
201
+ 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy),
202
+ 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy),
203
+ 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns),
204
+ 'maxIdleTimeMillis': self._max_idle_time_millis,
205
+ 'keepAliveDuration': self._keep_alive_duration_millis,
206
+ 'maxRequests': self._max_requests,
207
+ 'maxRequestsPerHost': self._max_requests_per_host,
208
+ 'retry': {
209
+ 'retryable': runtime.autoretry,
210
+ 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3)
211
+ },
212
+ 'backoff': {
213
+ 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'),
214
+ 'period': UtilClient.default_number(runtime.backoff_period, 1)
215
+ },
216
+ 'ignoreSSL': runtime.ignore_ssl,
217
+ # 订单详情列表
218
+ }
219
+ _last_request = None
220
+ _last_exception = None
221
+ _now = time.time()
222
+ _retry_times = 0
223
+ while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now):
224
+ if _retry_times > 0:
225
+ _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times)
226
+ if _backoff_time > 0:
227
+ TeaCore.sleep(_backoff_time)
228
+ _retry_times = _retry_times + 1
229
+ try:
230
+ _request = TeaRequest()
231
+ _request.protocol = UtilClient.default_string(self._protocol, protocol)
232
+ _request.method = method
233
+ _request.pathname = pathname
234
+ _request.query = {
235
+ 'method': action,
236
+ 'version': version,
237
+ 'sign_type': 'HmacSHA1',
238
+ 'req_time': AntchainUtils.get_timestamp(),
239
+ 'req_msg_id': AntchainUtils.get_nonce(),
240
+ 'access_key': self._access_key_id,
241
+ 'base_sdk_version': 'TeaSDK-2.0',
242
+ 'sdk_version': '1.0.2',
243
+ '_prod_code': 'GESAAS',
244
+ '_prod_channel': 'default'
245
+ }
246
+ if not UtilClient.empty(self._security_token):
247
+ _request.query['security_token'] = self._security_token
248
+ _request.headers = TeaCore.merge({
249
+ 'host': UtilClient.default_string(self._endpoint, 'openapi.antchain.antgroup.com'),
250
+ 'user-agent': UtilClient.get_user_agent(self._user_agent)
251
+ }, headers)
252
+ tmp = UtilClient.anyify_map_value(RPCUtilClient.query(request))
253
+ _request.body = UtilClient.to_form_string(tmp)
254
+ _request.headers['content-type'] = 'application/x-www-form-urlencoded'
255
+ signed_param = TeaCore.merge(_request.query,
256
+ RPCUtilClient.query(request))
257
+ _request.query['sign'] = AntchainUtils.get_signature(signed_param, self._access_key_secret)
258
+ _last_request = _request
259
+ _response = await TeaCore.async_do_action(_request, _runtime)
260
+ raw = await UtilClient.read_as_string_async(_response.body)
261
+ obj = UtilClient.parse_json(raw)
262
+ res = UtilClient.assert_as_map(obj)
263
+ resp = UtilClient.assert_as_map(res.get('response'))
264
+ if AntchainUtils.has_error(raw, self._access_key_secret):
265
+ raise TeaException({
266
+ 'message': resp.get('result_msg'),
267
+ 'data': resp,
268
+ 'code': resp.get('result_code')
269
+ })
270
+ return resp
271
+ except Exception as e:
272
+ if TeaCore.is_retryable(e):
273
+ _last_exception = e
274
+ continue
275
+ raise e
276
+ raise UnretryableException(_last_request, _last_exception)
277
+
278
+ def submit_rightsprod_grant(
279
+ self,
280
+ request: gesaas_models.SubmitRightsprodGrantRequest,
281
+ ) -> gesaas_models.SubmitRightsprodGrantResponse:
282
+ """
283
+ Description: 权益中心权益发放
284
+ Summary: 权益发放
285
+ """
286
+ runtime = util_models.RuntimeOptions()
287
+ headers = {}
288
+ return self.submit_rightsprod_grant_ex(request, headers, runtime)
289
+
290
+ async def submit_rightsprod_grant_async(
291
+ self,
292
+ request: gesaas_models.SubmitRightsprodGrantRequest,
293
+ ) -> gesaas_models.SubmitRightsprodGrantResponse:
294
+ """
295
+ Description: 权益中心权益发放
296
+ Summary: 权益发放
297
+ """
298
+ runtime = util_models.RuntimeOptions()
299
+ headers = {}
300
+ return await self.submit_rightsprod_grant_ex_async(request, headers, runtime)
301
+
302
+ def submit_rightsprod_grant_ex(
303
+ self,
304
+ request: gesaas_models.SubmitRightsprodGrantRequest,
305
+ headers: Dict[str, str],
306
+ runtime: util_models.RuntimeOptions,
307
+ ) -> gesaas_models.SubmitRightsprodGrantResponse:
308
+ """
309
+ Description: 权益中心权益发放
310
+ Summary: 权益发放
311
+ """
312
+ UtilClient.validate_model(request)
313
+ return TeaCore.from_map(
314
+ gesaas_models.SubmitRightsprodGrantResponse(),
315
+ self.do_request('1.0', 'antdigital.gesaas.rightsprod.grant.submit', 'HTTPS', 'POST', f'/gateway.do', TeaCore.to_map(request), headers, runtime)
316
+ )
317
+
318
+ async def submit_rightsprod_grant_ex_async(
319
+ self,
320
+ request: gesaas_models.SubmitRightsprodGrantRequest,
321
+ headers: Dict[str, str],
322
+ runtime: util_models.RuntimeOptions,
323
+ ) -> gesaas_models.SubmitRightsprodGrantResponse:
324
+ """
325
+ Description: 权益中心权益发放
326
+ Summary: 权益发放
327
+ """
328
+ UtilClient.validate_model(request)
329
+ return TeaCore.from_map(
330
+ gesaas_models.SubmitRightsprodGrantResponse(),
331
+ await self.do_request_async('1.0', 'antdigital.gesaas.rightsprod.grant.submit', 'HTTPS', 'POST', f'/gateway.do', TeaCore.to_map(request), headers, runtime)
332
+ )
333
+
334
+ def query_rightsprod_grant(
335
+ self,
336
+ request: gesaas_models.QueryRightsprodGrantRequest,
337
+ ) -> gesaas_models.QueryRightsprodGrantResponse:
338
+ """
339
+ Description: 权益发放结果查询
340
+ Summary: 权益发放结果查询
341
+ """
342
+ runtime = util_models.RuntimeOptions()
343
+ headers = {}
344
+ return self.query_rightsprod_grant_ex(request, headers, runtime)
345
+
346
+ async def query_rightsprod_grant_async(
347
+ self,
348
+ request: gesaas_models.QueryRightsprodGrantRequest,
349
+ ) -> gesaas_models.QueryRightsprodGrantResponse:
350
+ """
351
+ Description: 权益发放结果查询
352
+ Summary: 权益发放结果查询
353
+ """
354
+ runtime = util_models.RuntimeOptions()
355
+ headers = {}
356
+ return await self.query_rightsprod_grant_ex_async(request, headers, runtime)
357
+
358
+ def query_rightsprod_grant_ex(
359
+ self,
360
+ request: gesaas_models.QueryRightsprodGrantRequest,
361
+ headers: Dict[str, str],
362
+ runtime: util_models.RuntimeOptions,
363
+ ) -> gesaas_models.QueryRightsprodGrantResponse:
364
+ """
365
+ Description: 权益发放结果查询
366
+ Summary: 权益发放结果查询
367
+ """
368
+ UtilClient.validate_model(request)
369
+ return TeaCore.from_map(
370
+ gesaas_models.QueryRightsprodGrantResponse(),
371
+ self.do_request('1.0', 'antdigital.gesaas.rightsprod.grant.query', 'HTTPS', 'POST', f'/gateway.do', TeaCore.to_map(request), headers, runtime)
372
+ )
373
+
374
+ async def query_rightsprod_grant_ex_async(
375
+ self,
376
+ request: gesaas_models.QueryRightsprodGrantRequest,
377
+ headers: Dict[str, str],
378
+ runtime: util_models.RuntimeOptions,
379
+ ) -> gesaas_models.QueryRightsprodGrantResponse:
380
+ """
381
+ Description: 权益发放结果查询
382
+ Summary: 权益发放结果查询
383
+ """
384
+ UtilClient.validate_model(request)
385
+ return TeaCore.from_map(
386
+ gesaas_models.QueryRightsprodGrantResponse(),
387
+ await self.do_request_async('1.0', 'antdigital.gesaas.rightsprod.grant.query', 'HTTPS', 'POST', f'/gateway.do', TeaCore.to_map(request), headers, runtime)
388
+ )
@@ -0,0 +1,547 @@
1
+ # -*- coding: utf-8 -*-
2
+ # This file is auto-generated, don't edit it. Thanks.
3
+ from Tea.model import TeaModel
4
+ from typing import List
5
+
6
+
7
+ class Config(TeaModel):
8
+ """
9
+ Model for initing client
10
+ """
11
+ def __init__(
12
+ self,
13
+ access_key_id: str = None,
14
+ access_key_secret: str = None,
15
+ security_token: str = None,
16
+ protocol: str = None,
17
+ read_timeout: int = None,
18
+ connect_timeout: int = None,
19
+ http_proxy: str = None,
20
+ https_proxy: str = None,
21
+ endpoint: str = None,
22
+ no_proxy: str = None,
23
+ max_idle_conns: int = None,
24
+ user_agent: str = None,
25
+ socks_5proxy: str = None,
26
+ socks_5net_work: str = None,
27
+ max_idle_time_millis: int = None,
28
+ keep_alive_duration_millis: int = None,
29
+ max_requests: int = None,
30
+ max_requests_per_host: int = None,
31
+ ):
32
+ # accesskey id
33
+ self.access_key_id = access_key_id
34
+ # accesskey secret
35
+ self.access_key_secret = access_key_secret
36
+ # security token
37
+ self.security_token = security_token
38
+ # http protocol
39
+ self.protocol = protocol
40
+ # read timeout
41
+ self.read_timeout = read_timeout
42
+ # connect timeout
43
+ self.connect_timeout = connect_timeout
44
+ # http proxy
45
+ self.http_proxy = http_proxy
46
+ # https proxy
47
+ self.https_proxy = https_proxy
48
+ # endpoint
49
+ self.endpoint = endpoint
50
+ # proxy white list
51
+ self.no_proxy = no_proxy
52
+ # max idle conns
53
+ self.max_idle_conns = max_idle_conns
54
+ # user agent
55
+ self.user_agent = user_agent
56
+ # socks5 proxy
57
+ self.socks_5proxy = socks_5proxy
58
+ # socks5 network
59
+ self.socks_5net_work = socks_5net_work
60
+ # 长链接最大空闲时长
61
+ self.max_idle_time_millis = max_idle_time_millis
62
+ # 长链接最大连接时长
63
+ self.keep_alive_duration_millis = keep_alive_duration_millis
64
+ # 最大连接数(长链接最大总数)
65
+ self.max_requests = max_requests
66
+ # 每个目标主机的最大连接数(分主机域名的长链接最大总数
67
+ self.max_requests_per_host = max_requests_per_host
68
+
69
+ def validate(self):
70
+ pass
71
+
72
+ def to_map(self):
73
+ _map = super().to_map()
74
+ if _map is not None:
75
+ return _map
76
+
77
+ result = dict()
78
+ if self.access_key_id is not None:
79
+ result['accessKeyId'] = self.access_key_id
80
+ if self.access_key_secret is not None:
81
+ result['accessKeySecret'] = self.access_key_secret
82
+ if self.security_token is not None:
83
+ result['securityToken'] = self.security_token
84
+ if self.protocol is not None:
85
+ result['protocol'] = self.protocol
86
+ if self.read_timeout is not None:
87
+ result['readTimeout'] = self.read_timeout
88
+ if self.connect_timeout is not None:
89
+ result['connectTimeout'] = self.connect_timeout
90
+ if self.http_proxy is not None:
91
+ result['httpProxy'] = self.http_proxy
92
+ if self.https_proxy is not None:
93
+ result['httpsProxy'] = self.https_proxy
94
+ if self.endpoint is not None:
95
+ result['endpoint'] = self.endpoint
96
+ if self.no_proxy is not None:
97
+ result['noProxy'] = self.no_proxy
98
+ if self.max_idle_conns is not None:
99
+ result['maxIdleConns'] = self.max_idle_conns
100
+ if self.user_agent is not None:
101
+ result['userAgent'] = self.user_agent
102
+ if self.socks_5proxy is not None:
103
+ result['socks5Proxy'] = self.socks_5proxy
104
+ if self.socks_5net_work is not None:
105
+ result['socks5NetWork'] = self.socks_5net_work
106
+ if self.max_idle_time_millis is not None:
107
+ result['maxIdleTimeMillis'] = self.max_idle_time_millis
108
+ if self.keep_alive_duration_millis is not None:
109
+ result['keepAliveDurationMillis'] = self.keep_alive_duration_millis
110
+ if self.max_requests is not None:
111
+ result['maxRequests'] = self.max_requests
112
+ if self.max_requests_per_host is not None:
113
+ result['maxRequestsPerHost'] = self.max_requests_per_host
114
+ return result
115
+
116
+ def from_map(self, m: dict = None):
117
+ m = m or dict()
118
+ if m.get('accessKeyId') is not None:
119
+ self.access_key_id = m.get('accessKeyId')
120
+ if m.get('accessKeySecret') is not None:
121
+ self.access_key_secret = m.get('accessKeySecret')
122
+ if m.get('securityToken') is not None:
123
+ self.security_token = m.get('securityToken')
124
+ if m.get('protocol') is not None:
125
+ self.protocol = m.get('protocol')
126
+ if m.get('readTimeout') is not None:
127
+ self.read_timeout = m.get('readTimeout')
128
+ if m.get('connectTimeout') is not None:
129
+ self.connect_timeout = m.get('connectTimeout')
130
+ if m.get('httpProxy') is not None:
131
+ self.http_proxy = m.get('httpProxy')
132
+ if m.get('httpsProxy') is not None:
133
+ self.https_proxy = m.get('httpsProxy')
134
+ if m.get('endpoint') is not None:
135
+ self.endpoint = m.get('endpoint')
136
+ if m.get('noProxy') is not None:
137
+ self.no_proxy = m.get('noProxy')
138
+ if m.get('maxIdleConns') is not None:
139
+ self.max_idle_conns = m.get('maxIdleConns')
140
+ if m.get('userAgent') is not None:
141
+ self.user_agent = m.get('userAgent')
142
+ if m.get('socks5Proxy') is not None:
143
+ self.socks_5proxy = m.get('socks5Proxy')
144
+ if m.get('socks5NetWork') is not None:
145
+ self.socks_5net_work = m.get('socks5NetWork')
146
+ if m.get('maxIdleTimeMillis') is not None:
147
+ self.max_idle_time_millis = m.get('maxIdleTimeMillis')
148
+ if m.get('keepAliveDurationMillis') is not None:
149
+ self.keep_alive_duration_millis = m.get('keepAliveDurationMillis')
150
+ if m.get('maxRequests') is not None:
151
+ self.max_requests = m.get('maxRequests')
152
+ if m.get('maxRequestsPerHost') is not None:
153
+ self.max_requests_per_host = m.get('maxRequestsPerHost')
154
+ return self
155
+
156
+
157
+ class OrderDetail(TeaModel):
158
+ def __init__(
159
+ self,
160
+ voucher_code: str = None,
161
+ ):
162
+ # 凭证编号
163
+ self.voucher_code = voucher_code
164
+
165
+ def validate(self):
166
+ self.validate_required(self.voucher_code, 'voucher_code')
167
+
168
+ def to_map(self):
169
+ _map = super().to_map()
170
+ if _map is not None:
171
+ return _map
172
+
173
+ result = dict()
174
+ if self.voucher_code is not None:
175
+ result['voucher_code'] = self.voucher_code
176
+ return result
177
+
178
+ def from_map(self, m: dict = None):
179
+ m = m or dict()
180
+ if m.get('voucher_code') is not None:
181
+ self.voucher_code = m.get('voucher_code')
182
+ return self
183
+
184
+
185
+ class CommonResponse(TeaModel):
186
+ def __init__(
187
+ self,
188
+ code: str = None,
189
+ msg: str = None,
190
+ sub_code: str = None,
191
+ sub_msg: str = None,
192
+ retry: bool = None,
193
+ ):
194
+ # 结果码
195
+ self.code = code
196
+ # 返回码描述
197
+ self.msg = msg
198
+ # 业务处理结果码
199
+ #
200
+ self.sub_code = sub_code
201
+ # 返回的提示信息
202
+ self.sub_msg = sub_msg
203
+ # 可否重试
204
+ self.retry = retry
205
+
206
+ def validate(self):
207
+ self.validate_required(self.code, 'code')
208
+ self.validate_required(self.msg, 'msg')
209
+
210
+ def to_map(self):
211
+ _map = super().to_map()
212
+ if _map is not None:
213
+ return _map
214
+
215
+ result = dict()
216
+ if self.code is not None:
217
+ result['code'] = self.code
218
+ if self.msg is not None:
219
+ result['msg'] = self.msg
220
+ if self.sub_code is not None:
221
+ result['sub_code'] = self.sub_code
222
+ if self.sub_msg is not None:
223
+ result['sub_msg'] = self.sub_msg
224
+ if self.retry is not None:
225
+ result['retry'] = self.retry
226
+ return result
227
+
228
+ def from_map(self, m: dict = None):
229
+ m = m or dict()
230
+ if m.get('code') is not None:
231
+ self.code = m.get('code')
232
+ if m.get('msg') is not None:
233
+ self.msg = m.get('msg')
234
+ if m.get('sub_code') is not None:
235
+ self.sub_code = m.get('sub_code')
236
+ if m.get('sub_msg') is not None:
237
+ self.sub_msg = m.get('sub_msg')
238
+ if m.get('retry') is not None:
239
+ self.retry = m.get('retry')
240
+ return self
241
+
242
+
243
+ class RightsGrantResultVO(TeaModel):
244
+ def __init__(
245
+ self,
246
+ expire_time: str = None,
247
+ effect_time: str = None,
248
+ grant_status: str = None,
249
+ order_details: List[OrderDetail] = None,
250
+ ):
251
+ # 过期时间
252
+ self.expire_time = expire_time
253
+ # 生效时间
254
+ self.effect_time = effect_time
255
+ # 发放状态:
256
+ # GRANTING:发放处理中 GRANT_SUCCESS:发放成功 GRANT_FAIL:发放失败
257
+ self.grant_status = grant_status
258
+ # 订单详情列表
259
+ self.order_details = order_details
260
+
261
+ def validate(self):
262
+ if self.expire_time is not None:
263
+ self.validate_pattern(self.expire_time, 'expire_time', '\\d{4}[-]\\d{1,2}[-]\\d{1,2}[T]\\d{2}:\\d{2}:\\d{2}([Z]|([\\.]\\d{1,9})?[\\+]\\d{2}[\\:]?\\d{2})')
264
+ if self.effect_time is not None:
265
+ self.validate_pattern(self.effect_time, 'effect_time', '\\d{4}[-]\\d{1,2}[-]\\d{1,2}[T]\\d{2}:\\d{2}:\\d{2}([Z]|([\\.]\\d{1,9})?[\\+]\\d{2}[\\:]?\\d{2})')
266
+ self.validate_required(self.grant_status, 'grant_status')
267
+ if self.order_details:
268
+ for k in self.order_details:
269
+ if k:
270
+ k.validate()
271
+
272
+ def to_map(self):
273
+ _map = super().to_map()
274
+ if _map is not None:
275
+ return _map
276
+
277
+ result = dict()
278
+ if self.expire_time is not None:
279
+ result['expire_time'] = self.expire_time
280
+ if self.effect_time is not None:
281
+ result['effect_time'] = self.effect_time
282
+ if self.grant_status is not None:
283
+ result['grant_status'] = self.grant_status
284
+ result['order_details'] = []
285
+ if self.order_details is not None:
286
+ for k in self.order_details:
287
+ result['order_details'].append(k.to_map() if k else None)
288
+ return result
289
+
290
+ def from_map(self, m: dict = None):
291
+ m = m or dict()
292
+ if m.get('expire_time') is not None:
293
+ self.expire_time = m.get('expire_time')
294
+ if m.get('effect_time') is not None:
295
+ self.effect_time = m.get('effect_time')
296
+ if m.get('grant_status') is not None:
297
+ self.grant_status = m.get('grant_status')
298
+ self.order_details = []
299
+ if m.get('order_details') is not None:
300
+ for k in m.get('order_details'):
301
+ temp_model = OrderDetail()
302
+ self.order_details.append(temp_model.from_map(k))
303
+ return self
304
+
305
+
306
+ class SubmitRightsprodGrantRequest(TeaModel):
307
+ def __init__(
308
+ self,
309
+ auth_token: str = None,
310
+ product_instance_id: str = None,
311
+ user_id: str = None,
312
+ phone_number: str = None,
313
+ merchant_no: str = None,
314
+ rights_code: str = None,
315
+ grant_num: int = None,
316
+ face_value: str = None,
317
+ out_grant_order_no: str = None,
318
+ ext_info: str = None,
319
+ grant_info: str = None,
320
+ ):
321
+ # OAuth模式下的授权token
322
+ self.auth_token = auth_token
323
+ self.product_instance_id = product_instance_id
324
+ # 2088xxxx123
325
+ self.user_id = user_id
326
+ # 用户手机号
327
+ self.phone_number = phone_number
328
+ # 商户编号
329
+ self.merchant_no = merchant_no
330
+ # 权益编码
331
+ self.rights_code = rights_code
332
+ # 发放数量
333
+ self.grant_num = grant_num
334
+ # 面额,动态面额类型必传
335
+ self.face_value = face_value
336
+ # 外部发放订单号
337
+ self.out_grant_order_no = out_grant_order_no
338
+ # 扩展信息
339
+ self.ext_info = ext_info
340
+ # 发放信息,如活动ID等信息
341
+ self.grant_info = grant_info
342
+
343
+ def validate(self):
344
+ self.validate_required(self.rights_code, 'rights_code')
345
+ self.validate_required(self.grant_num, 'grant_num')
346
+ self.validate_required(self.out_grant_order_no, 'out_grant_order_no')
347
+
348
+ def to_map(self):
349
+ _map = super().to_map()
350
+ if _map is not None:
351
+ return _map
352
+
353
+ result = dict()
354
+ if self.auth_token is not None:
355
+ result['auth_token'] = self.auth_token
356
+ if self.product_instance_id is not None:
357
+ result['product_instance_id'] = self.product_instance_id
358
+ if self.user_id is not None:
359
+ result['user_id'] = self.user_id
360
+ if self.phone_number is not None:
361
+ result['phone_number'] = self.phone_number
362
+ if self.merchant_no is not None:
363
+ result['merchant_no'] = self.merchant_no
364
+ if self.rights_code is not None:
365
+ result['rights_code'] = self.rights_code
366
+ if self.grant_num is not None:
367
+ result['grant_num'] = self.grant_num
368
+ if self.face_value is not None:
369
+ result['face_value'] = self.face_value
370
+ if self.out_grant_order_no is not None:
371
+ result['out_grant_order_no'] = self.out_grant_order_no
372
+ if self.ext_info is not None:
373
+ result['ext_info'] = self.ext_info
374
+ if self.grant_info is not None:
375
+ result['grant_info'] = self.grant_info
376
+ return result
377
+
378
+ def from_map(self, m: dict = None):
379
+ m = m or dict()
380
+ if m.get('auth_token') is not None:
381
+ self.auth_token = m.get('auth_token')
382
+ if m.get('product_instance_id') is not None:
383
+ self.product_instance_id = m.get('product_instance_id')
384
+ if m.get('user_id') is not None:
385
+ self.user_id = m.get('user_id')
386
+ if m.get('phone_number') is not None:
387
+ self.phone_number = m.get('phone_number')
388
+ if m.get('merchant_no') is not None:
389
+ self.merchant_no = m.get('merchant_no')
390
+ if m.get('rights_code') is not None:
391
+ self.rights_code = m.get('rights_code')
392
+ if m.get('grant_num') is not None:
393
+ self.grant_num = m.get('grant_num')
394
+ if m.get('face_value') is not None:
395
+ self.face_value = m.get('face_value')
396
+ if m.get('out_grant_order_no') is not None:
397
+ self.out_grant_order_no = m.get('out_grant_order_no')
398
+ if m.get('ext_info') is not None:
399
+ self.ext_info = m.get('ext_info')
400
+ if m.get('grant_info') is not None:
401
+ self.grant_info = m.get('grant_info')
402
+ return self
403
+
404
+
405
+ class SubmitRightsprodGrantResponse(TeaModel):
406
+ def __init__(
407
+ self,
408
+ req_msg_id: str = None,
409
+ result_code: str = None,
410
+ result_msg: str = None,
411
+ rights_grant_result: RightsGrantResultVO = None,
412
+ ):
413
+ # 请求唯一ID,用于链路跟踪和问题排查
414
+ self.req_msg_id = req_msg_id
415
+ # 结果码,一般OK表示调用成功
416
+ self.result_code = result_code
417
+ # 异常信息的文本描述
418
+ self.result_msg = result_msg
419
+ # 权益发放结果
420
+ self.rights_grant_result = rights_grant_result
421
+
422
+ def validate(self):
423
+ if self.rights_grant_result:
424
+ self.rights_grant_result.validate()
425
+
426
+ def to_map(self):
427
+ _map = super().to_map()
428
+ if _map is not None:
429
+ return _map
430
+
431
+ result = dict()
432
+ if self.req_msg_id is not None:
433
+ result['req_msg_id'] = self.req_msg_id
434
+ if self.result_code is not None:
435
+ result['result_code'] = self.result_code
436
+ if self.result_msg is not None:
437
+ result['result_msg'] = self.result_msg
438
+ if self.rights_grant_result is not None:
439
+ result['rights_grant_result'] = self.rights_grant_result.to_map()
440
+ return result
441
+
442
+ def from_map(self, m: dict = None):
443
+ m = m or dict()
444
+ if m.get('req_msg_id') is not None:
445
+ self.req_msg_id = m.get('req_msg_id')
446
+ if m.get('result_code') is not None:
447
+ self.result_code = m.get('result_code')
448
+ if m.get('result_msg') is not None:
449
+ self.result_msg = m.get('result_msg')
450
+ if m.get('rights_grant_result') is not None:
451
+ temp_model = RightsGrantResultVO()
452
+ self.rights_grant_result = temp_model.from_map(m['rights_grant_result'])
453
+ return self
454
+
455
+
456
+ class QueryRightsprodGrantRequest(TeaModel):
457
+ def __init__(
458
+ self,
459
+ auth_token: str = None,
460
+ product_instance_id: str = None,
461
+ out_grant_order_no: str = None,
462
+ ):
463
+ # OAuth模式下的授权token
464
+ self.auth_token = auth_token
465
+ self.product_instance_id = product_instance_id
466
+ # 外部发放订单号
467
+ self.out_grant_order_no = out_grant_order_no
468
+
469
+ def validate(self):
470
+ self.validate_required(self.out_grant_order_no, 'out_grant_order_no')
471
+
472
+ def to_map(self):
473
+ _map = super().to_map()
474
+ if _map is not None:
475
+ return _map
476
+
477
+ result = dict()
478
+ if self.auth_token is not None:
479
+ result['auth_token'] = self.auth_token
480
+ if self.product_instance_id is not None:
481
+ result['product_instance_id'] = self.product_instance_id
482
+ if self.out_grant_order_no is not None:
483
+ result['out_grant_order_no'] = self.out_grant_order_no
484
+ return result
485
+
486
+ def from_map(self, m: dict = None):
487
+ m = m or dict()
488
+ if m.get('auth_token') is not None:
489
+ self.auth_token = m.get('auth_token')
490
+ if m.get('product_instance_id') is not None:
491
+ self.product_instance_id = m.get('product_instance_id')
492
+ if m.get('out_grant_order_no') is not None:
493
+ self.out_grant_order_no = m.get('out_grant_order_no')
494
+ return self
495
+
496
+
497
+ class QueryRightsprodGrantResponse(TeaModel):
498
+ def __init__(
499
+ self,
500
+ req_msg_id: str = None,
501
+ result_code: str = None,
502
+ result_msg: str = None,
503
+ rights_grant_result: RightsGrantResultVO = None,
504
+ ):
505
+ # 请求唯一ID,用于链路跟踪和问题排查
506
+ self.req_msg_id = req_msg_id
507
+ # 结果码,一般OK表示调用成功
508
+ self.result_code = result_code
509
+ # 异常信息的文本描述
510
+ self.result_msg = result_msg
511
+ # 权益发放结果
512
+ self.rights_grant_result = rights_grant_result
513
+
514
+ def validate(self):
515
+ if self.rights_grant_result:
516
+ self.rights_grant_result.validate()
517
+
518
+ def to_map(self):
519
+ _map = super().to_map()
520
+ if _map is not None:
521
+ return _map
522
+
523
+ result = dict()
524
+ if self.req_msg_id is not None:
525
+ result['req_msg_id'] = self.req_msg_id
526
+ if self.result_code is not None:
527
+ result['result_code'] = self.result_code
528
+ if self.result_msg is not None:
529
+ result['result_msg'] = self.result_msg
530
+ if self.rights_grant_result is not None:
531
+ result['rights_grant_result'] = self.rights_grant_result.to_map()
532
+ return result
533
+
534
+ def from_map(self, m: dict = None):
535
+ m = m or dict()
536
+ if m.get('req_msg_id') is not None:
537
+ self.req_msg_id = m.get('req_msg_id')
538
+ if m.get('result_code') is not None:
539
+ self.result_code = m.get('result_code')
540
+ if m.get('result_msg') is not None:
541
+ self.result_msg = m.get('result_msg')
542
+ if m.get('rights_grant_result') is not None:
543
+ temp_model = RightsGrantResultVO()
544
+ self.rights_grant_result = temp_model.from_map(m['rights_grant_result'])
545
+ return self
546
+
547
+
@@ -0,0 +1,7 @@
1
+ [metadata]
2
+ license_file = LICENSE
3
+
4
+ [egg_info]
5
+ tag_build =
6
+ tag_date = 0
7
+
@@ -0,0 +1,78 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ Licensed to the Apache Software Foundation (ASF) under one
4
+ or more contributor license agreements. See the NOTICE file
5
+ distributed with this work for additional information
6
+ regarding copyright ownership. The ASF licenses this file
7
+ to you under the Apache License, Version 2.0 (the
8
+ "License"); you may not use this file except in compliance
9
+ with the License. You may obtain a copy of the License at
10
+
11
+ http://www.apache.org/licenses/LICENSE-2.0
12
+
13
+ Unless required by applicable law or agreed to in writing,
14
+ software distributed under the License is distributed on an
15
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
+ KIND, either express or implied. See the License for the
17
+ specific language governing permissions and limitations
18
+ under the License.
19
+ """
20
+
21
+ import os
22
+ from setuptools import setup, find_packages
23
+
24
+ """
25
+ setup module for antchain_gesaas.
26
+
27
+ Created on 24/07/2025
28
+
29
+ @author: Ant Chain SDK
30
+ """
31
+
32
+ PACKAGE = "antchain_sdk_gesaas"
33
+ NAME = "antchain_gesaas" or "alibabacloud-package"
34
+ DESCRIPTION = "Ant Chain GESAAS SDK Library for Python"
35
+ AUTHOR = "Ant Chain SDK"
36
+ AUTHOR_EMAIL = "sdk-team@alibabacloud.com"
37
+ URL = "https://github.com/alipay/antchain-openapi-prod-sdk"
38
+ VERSION = __import__(PACKAGE).__version__
39
+ REQUIRES = [
40
+ "antchain_alipay_util>=1.0.1, <2.0.0",
41
+ "alibabacloud_tea_util>=0.3.13, <1.0.0",
42
+ "alibabacloud_rpc_util>=0.0.4, <1.0.0"
43
+ ]
44
+
45
+ LONG_DESCRIPTION = ''
46
+ if os.path.exists('./README.md'):
47
+ with open("README.md", encoding='utf-8') as fp:
48
+ LONG_DESCRIPTION = fp.read()
49
+
50
+ setup(
51
+ name=NAME,
52
+ version=VERSION,
53
+ description=DESCRIPTION,
54
+ long_description=LONG_DESCRIPTION,
55
+ long_description_content_type='text/markdown',
56
+ author=AUTHOR,
57
+ author_email=AUTHOR_EMAIL,
58
+ license="Apache License 2.0",
59
+ url=URL,
60
+ keywords=["antchain","gesaas"],
61
+ packages=find_packages(exclude=["tests*"]),
62
+ include_package_data=True,
63
+ platforms="any",
64
+ install_requires=REQUIRES,
65
+ python_requires=">=3.6",
66
+ classifiers=(
67
+ "Development Status :: 4 - Beta",
68
+ "Intended Audience :: Developers",
69
+ "License :: OSI Approved :: Apache Software License",
70
+ "Programming Language :: Python",
71
+ "Programming Language :: Python :: 3",
72
+ "Programming Language :: Python :: 3.6",
73
+ 'Programming Language :: Python :: 3.7',
74
+ 'Programming Language :: Python :: 3.8',
75
+ 'Programming Language :: Python :: 3.9',
76
+ "Topic :: Software Development"
77
+ )
78
+ )