bizyengine 1.1.2__tar.gz → 1.2.1__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.
- {bizyengine-1.1.2 → bizyengine-1.2.1}/PKG-INFO +2 -2
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/bizy_server/api_client.py +349 -42
- bizyengine-1.2.1/bizyengine/bizy_server/errno.py +444 -0
- bizyengine-1.2.1/bizyengine/bizy_server/profile.py +90 -0
- bizyengine-1.2.1/bizyengine/bizy_server/resp.py +28 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/bizy_server/server.py +194 -1
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/bizy_server/utils.py +11 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/bizyair_extras/nodes_comfyui_instantid.py +11 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/bizyair_extras/nodes_comfyui_pulid_flux.py +15 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/bizyair_extras/nodes_ipadapter_plus/nodes_ipadapter_plus.py +39 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/bizyair_extras/nodes_kolors_mz/__init__.py +41 -1
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/bizyair_extras/nodes_upscale_model.py +11 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/core/commands/processors/prompt_processor.py +14 -7
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/core/common/client.py +22 -8
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/core/common/env_var.py +7 -4
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/core/configs/models.yaml +11 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/core/nodes_base.py +20 -1
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/core/path_utils/path_manager.py +62 -9
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/misc/nodes.py +219 -3
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/misc/supernode.py +0 -36
- bizyengine-1.2.1/bizyengine/version.txt +1 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine.egg-info/PKG-INFO +2 -2
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine.egg-info/SOURCES.txt +1 -0
- bizyengine-1.1.2/bizyengine/bizy_server/errno.py +0 -122
- bizyengine-1.1.2/bizyengine/bizy_server/resp.py +0 -24
- bizyengine-1.1.2/bizyengine/version.txt +0 -1
- {bizyengine-1.1.2 → bizyengine-1.2.1}/MANIFEST.in +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/README.md +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/__init__.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/bizy_server/__init__.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/bizy_server/error_handler.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/bizy_server/execution.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/bizyair_extras/__init__.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/bizyair_extras/nodes_advanced_refluxcontrol.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/bizyair_extras/nodes_cogview4.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/bizyair_extras/nodes_comfyui_detail_daemon.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/bizyair_extras/nodes_comfyui_layerstyle_advance.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/bizyair_extras/nodes_controlnet.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/bizyair_extras/nodes_custom_sampler.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/bizyair_extras/nodes_dataset.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/bizyair_extras/nodes_differential_diffusion.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/bizyair_extras/nodes_flux.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/bizyair_extras/nodes_image_utils.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/bizyair_extras/nodes_ip2p.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/bizyair_extras/nodes_ipadapter_plus/__init__.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/bizyair_extras/nodes_janus_pro.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/bizyair_extras/nodes_model_advanced.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/bizyair_extras/nodes_sd3.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/bizyair_extras/nodes_segment_anything.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/bizyair_extras/nodes_segment_anything_utils.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/bizyair_extras/nodes_testing_utils.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/bizyair_extras/nodes_trellis.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/bizyair_extras/nodes_ultimatesdupscale.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/bizyair_extras/nodes_wan_video.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/bizyair_extras/oauth_callback/main.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/bizyair_extras/route_bizyair_tools.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/core/__init__.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/core/commands/__init__.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/core/commands/base.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/core/commands/invoker.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/core/commands/processors/model_hosting_processor.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/core/commands/servers/model_server.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/core/commands/servers/prompt_server.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/core/common/__init__.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/core/common/caching.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/core/common/utils.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/core/configs/conf.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/core/configs/models.json +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/core/data_types.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/core/image_utils.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/core/nodes_io.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/core/path_utils/__init__.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/core/path_utils/utils.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/misc/__init__.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/misc/auth.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/misc/llm.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/misc/mzkolors.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/misc/nodes_controlnet_aux.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/misc/nodes_controlnet_union_sdxl.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/misc/route_sam.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/misc/segment_anything.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine/misc/utils.py +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine.egg-info/dependency_links.txt +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine.egg-info/requires.txt +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/bizyengine.egg-info/top_level.txt +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/pyproject.toml +0 -0
- {bizyengine-1.1.2 → bizyengine-1.2.1}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: bizyengine
|
|
3
|
-
Version: 1.1
|
|
3
|
+
Version: 1.2.1
|
|
4
4
|
Summary: [a/BizyAir](https://github.com/siliconflow/BizyAir) Comfy Nodes that can run in any environment.
|
|
5
5
|
Author-email: SiliconFlow <yaochi@siliconflow.cn>
|
|
6
6
|
Project-URL: Repository, https://github.com/siliconflow/BizyAir
|
|
@@ -6,15 +6,18 @@ import bizyengine.core as core
|
|
|
6
6
|
from bizyengine.core.common import get_api_key
|
|
7
7
|
from bizyengine.core.common.env_var import (
|
|
8
8
|
BIZYAIR_PRODUCTION_TEST,
|
|
9
|
-
|
|
9
|
+
BIZYAIR_X_SERVER,
|
|
10
|
+
BIZYAIR_Y_SERVER,
|
|
10
11
|
)
|
|
11
12
|
|
|
12
13
|
from .errno import ErrorNo, errnos
|
|
13
14
|
from .error_handler import ErrorHandler
|
|
15
|
+
from .profile import user_profile
|
|
14
16
|
from .utils import is_string_valid
|
|
15
17
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
+
version_path = os.path.join(os.path.dirname(__file__), "..", "version.txt")
|
|
19
|
+
with open(version_path, "r") as file:
|
|
20
|
+
CLIENT_VERSION = file.read().strip()
|
|
18
21
|
|
|
19
22
|
|
|
20
23
|
class APIClient:
|
|
@@ -34,9 +37,13 @@ class APIClient:
|
|
|
34
37
|
"content-type": "application/json",
|
|
35
38
|
"authorization": auth,
|
|
36
39
|
"x-bizyair-client-version": CLIENT_VERSION,
|
|
40
|
+
"X-Client-Type": "bizyair",
|
|
37
41
|
}
|
|
38
42
|
if BIZYAIR_PRODUCTION_TEST != None:
|
|
39
43
|
headers["x-bizyair-production-test"] = BIZYAIR_PRODUCTION_TEST
|
|
44
|
+
if user_profile.getLang():
|
|
45
|
+
headers["lang"] = user_profile.getLang()
|
|
46
|
+
|
|
40
47
|
return headers, None
|
|
41
48
|
except ValueError as e:
|
|
42
49
|
error_message = e.args[0] if e.args else "Invalid API key"
|
|
@@ -55,7 +62,11 @@ class APIClient:
|
|
|
55
62
|
response.status,
|
|
56
63
|
resp_json.get("code", response.status),
|
|
57
64
|
None,
|
|
58
|
-
|
|
65
|
+
{
|
|
66
|
+
user_profile.getLang(): resp_json.get(
|
|
67
|
+
"message", await response.text()
|
|
68
|
+
)
|
|
69
|
+
},
|
|
59
70
|
)
|
|
60
71
|
return resp_json, None
|
|
61
72
|
|
|
@@ -68,7 +79,11 @@ class APIClient:
|
|
|
68
79
|
response.status,
|
|
69
80
|
resp_json.get("code", response.status),
|
|
70
81
|
None,
|
|
71
|
-
|
|
82
|
+
{
|
|
83
|
+
user_profile.getLang(): resp_json.get(
|
|
84
|
+
"message", await response.text()
|
|
85
|
+
)
|
|
86
|
+
},
|
|
72
87
|
)
|
|
73
88
|
return resp_json, None
|
|
74
89
|
|
|
@@ -81,7 +96,11 @@ class APIClient:
|
|
|
81
96
|
response.status,
|
|
82
97
|
resp_json.get("code", response.status),
|
|
83
98
|
None,
|
|
84
|
-
|
|
99
|
+
{
|
|
100
|
+
user_profile.getLang(): resp_json.get(
|
|
101
|
+
"message", await response.text()
|
|
102
|
+
)
|
|
103
|
+
},
|
|
85
104
|
)
|
|
86
105
|
return resp_json, None
|
|
87
106
|
|
|
@@ -94,7 +113,11 @@ class APIClient:
|
|
|
94
113
|
response.status,
|
|
95
114
|
resp_json.get("code", response.status),
|
|
96
115
|
None,
|
|
97
|
-
|
|
116
|
+
{
|
|
117
|
+
user_profile.getLang(): resp_json.get(
|
|
118
|
+
"message", await response.text()
|
|
119
|
+
)
|
|
120
|
+
},
|
|
98
121
|
)
|
|
99
122
|
return resp_json, None
|
|
100
123
|
|
|
@@ -103,7 +126,7 @@ class APIClient:
|
|
|
103
126
|
if err is not None:
|
|
104
127
|
return None, err
|
|
105
128
|
|
|
106
|
-
server_url = f"{
|
|
129
|
+
server_url = f"{BIZYAIR_X_SERVER}/user/info"
|
|
107
130
|
try:
|
|
108
131
|
ret, err = await self.do_get(server_url, headers=headers)
|
|
109
132
|
if err is not None:
|
|
@@ -117,7 +140,7 @@ class APIClient:
|
|
|
117
140
|
async def sign(
|
|
118
141
|
self, signature: str, type: str
|
|
119
142
|
) -> tuple[dict | None, ErrorNo | None]:
|
|
120
|
-
server_url = f"{
|
|
143
|
+
server_url = f"{BIZYAIR_X_SERVER}/files/{signature}"
|
|
121
144
|
params = None
|
|
122
145
|
if is_string_valid(type):
|
|
123
146
|
params = {"type": type}
|
|
@@ -140,7 +163,7 @@ class APIClient:
|
|
|
140
163
|
async def commit_file(
|
|
141
164
|
self, signature: str, object_key: str, md5_hash: str, type: str
|
|
142
165
|
) -> tuple[dict | None, ErrorNo | None]:
|
|
143
|
-
server_url = f"{
|
|
166
|
+
server_url = f"{BIZYAIR_X_SERVER}/files"
|
|
144
167
|
|
|
145
168
|
payload = {
|
|
146
169
|
"sign": signature,
|
|
@@ -163,7 +186,7 @@ class APIClient:
|
|
|
163
186
|
return None, errnos.COMMIT_FILE
|
|
164
187
|
|
|
165
188
|
async def commit_bizy_model(self, payload) -> tuple[dict | None, ErrorNo | None]:
|
|
166
|
-
server_url = f"{
|
|
189
|
+
server_url = f"{BIZYAIR_X_SERVER}/bizy_models"
|
|
167
190
|
|
|
168
191
|
headers, err = self.auth_header()
|
|
169
192
|
if err is not None:
|
|
@@ -182,7 +205,7 @@ class APIClient:
|
|
|
182
205
|
async def delete_bizy_model(
|
|
183
206
|
self, model_id: int
|
|
184
207
|
) -> tuple[dict | None, ErrorNo | None]:
|
|
185
|
-
server_url = f"{
|
|
208
|
+
server_url = f"{BIZYAIR_X_SERVER}/bizy_models/{model_id}"
|
|
186
209
|
|
|
187
210
|
headers, err = self.auth_header()
|
|
188
211
|
if err is not None:
|
|
@@ -207,7 +230,7 @@ class APIClient:
|
|
|
207
230
|
base_models: list[str] = None,
|
|
208
231
|
sort: str = None,
|
|
209
232
|
) -> tuple[dict | None, ErrorNo | None]:
|
|
210
|
-
server_url = f"{
|
|
233
|
+
server_url = f"{BIZYAIR_X_SERVER}/bizy_models/community"
|
|
211
234
|
params = {"current": current, "page_size": page_size}
|
|
212
235
|
if keyword:
|
|
213
236
|
params["keyword"] = keyword
|
|
@@ -241,7 +264,7 @@ class APIClient:
|
|
|
241
264
|
base_models: list[str] = None,
|
|
242
265
|
sort: str = None,
|
|
243
266
|
) -> tuple[dict | None, ErrorNo | None]:
|
|
244
|
-
server_url = f"{
|
|
267
|
+
server_url = f"{BIZYAIR_X_SERVER}/bizy_models/official"
|
|
245
268
|
params = {"current": current, "page_size": page_size}
|
|
246
269
|
if keyword:
|
|
247
270
|
params["keyword"] = keyword
|
|
@@ -276,7 +299,7 @@ class APIClient:
|
|
|
276
299
|
base_models: list[str] = None,
|
|
277
300
|
sort: str = None,
|
|
278
301
|
) -> tuple[dict | None, ErrorNo | None]:
|
|
279
|
-
server_url = f"{
|
|
302
|
+
server_url = f"{BIZYAIR_X_SERVER}/bizy_models/{mode}"
|
|
280
303
|
params = {"current": current, "page_size": page_size}
|
|
281
304
|
if keyword:
|
|
282
305
|
params["keyword"] = keyword
|
|
@@ -304,9 +327,7 @@ class APIClient:
|
|
|
304
327
|
async def get_model_detail(
|
|
305
328
|
self, model_id: int, source: str
|
|
306
329
|
) -> tuple[dict | None, ErrorNo | None]:
|
|
307
|
-
server_url =
|
|
308
|
-
f"{BIZYAIR_SERVER_ADDRESS}/bizy_models/{model_id}/detail?source={source}"
|
|
309
|
-
)
|
|
330
|
+
server_url = f"{BIZYAIR_X_SERVER}/bizy_models/{model_id}/detail?source={source}"
|
|
310
331
|
|
|
311
332
|
headers, err = self.auth_header()
|
|
312
333
|
if err is not None:
|
|
@@ -325,7 +346,7 @@ class APIClient:
|
|
|
325
346
|
async def get_model_version_detail(
|
|
326
347
|
self, version_id: int
|
|
327
348
|
) -> tuple[dict | None, ErrorNo | None]:
|
|
328
|
-
server_url = f"{
|
|
349
|
+
server_url = f"{BIZYAIR_X_SERVER}/bizy_models/versions/{version_id}"
|
|
329
350
|
|
|
330
351
|
headers, err = self.auth_header()
|
|
331
352
|
if err is not None:
|
|
@@ -344,7 +365,7 @@ class APIClient:
|
|
|
344
365
|
return None, errnos.GET_MODEL_VERSION_DETAIL
|
|
345
366
|
|
|
346
367
|
async def fork_model_version(self, version_id: int) -> tuple[None, ErrorNo | None]:
|
|
347
|
-
server_url = f"{
|
|
368
|
+
server_url = f"{BIZYAIR_X_SERVER}/bizy_models/versions/{version_id}/fork"
|
|
348
369
|
|
|
349
370
|
headers, err = self.auth_header()
|
|
350
371
|
if err is not None:
|
|
@@ -363,7 +384,7 @@ class APIClient:
|
|
|
363
384
|
async def unfork_model_version(
|
|
364
385
|
self, version_id: int
|
|
365
386
|
) -> tuple[None, ErrorNo | None]:
|
|
366
|
-
server_url = f"{
|
|
387
|
+
server_url = f"{BIZYAIR_X_SERVER}/bizy_models/versions/{version_id}/fork"
|
|
367
388
|
|
|
368
389
|
headers, err = self.auth_header()
|
|
369
390
|
if err is not None:
|
|
@@ -382,7 +403,7 @@ class APIClient:
|
|
|
382
403
|
async def update_model(
|
|
383
404
|
self, model_id: int, name: str, type_: str, versions: list[dict]
|
|
384
405
|
) -> tuple[dict | None, ErrorNo | None]:
|
|
385
|
-
server_url = f"{
|
|
406
|
+
server_url = f"{BIZYAIR_X_SERVER}/bizy_models/{model_id}"
|
|
386
407
|
|
|
387
408
|
headers, err = self.auth_header()
|
|
388
409
|
if err is not None:
|
|
@@ -403,7 +424,7 @@ class APIClient:
|
|
|
403
424
|
async def get_upload_token(
|
|
404
425
|
self, filename: str
|
|
405
426
|
) -> tuple[dict | None, ErrorNo | None]:
|
|
406
|
-
server_url = f"{
|
|
427
|
+
server_url = f"{BIZYAIR_X_SERVER}/upload/token?file_name={filename}"
|
|
407
428
|
|
|
408
429
|
headers, err = self.auth_header()
|
|
409
430
|
if err is not None:
|
|
@@ -423,9 +444,7 @@ class APIClient:
|
|
|
423
444
|
self, like_type: str, object_id: str
|
|
424
445
|
) -> tuple[dict | None, ErrorNo | None]:
|
|
425
446
|
if like_type == "model_version":
|
|
426
|
-
server_url =
|
|
427
|
-
f"{BIZYAIR_SERVER_ADDRESS}/bizy_models/versions/{object_id}/like"
|
|
428
|
-
)
|
|
447
|
+
server_url = f"{BIZYAIR_X_SERVER}/bizy_models/versions/{object_id}/like"
|
|
429
448
|
else:
|
|
430
449
|
return None, errnos.UNSUPPORT_LIKE_TYPE
|
|
431
450
|
|
|
@@ -446,7 +465,7 @@ class APIClient:
|
|
|
446
465
|
async def get_download_url(
|
|
447
466
|
self, sign: str, model_version_id: int
|
|
448
467
|
) -> tuple[str | None, ErrorNo | None]:
|
|
449
|
-
server_url = f"{
|
|
468
|
+
server_url = f"{BIZYAIR_X_SERVER}/files/temp-download/{sign}?version_id={model_version_id}"
|
|
450
469
|
|
|
451
470
|
headers, err = self.auth_header()
|
|
452
471
|
if err is not None:
|
|
@@ -463,12 +482,14 @@ class APIClient:
|
|
|
463
482
|
return None, errnos.GET_DOWNLOAD_URL
|
|
464
483
|
|
|
465
484
|
async def get_share_model_files(self, shareId, payload) -> (dict, ErrorNo):
|
|
466
|
-
server_url = f"{
|
|
485
|
+
server_url = f"{BIZYAIR_X_SERVER}/{shareId}/models/files"
|
|
467
486
|
try:
|
|
468
487
|
|
|
469
488
|
def callback(ret: dict):
|
|
470
489
|
if ret["code"] != errnos.OK.code:
|
|
471
|
-
return [], ErrorNo(
|
|
490
|
+
return [], ErrorNo(
|
|
491
|
+
500, ret["code"], None, {user_profile.getLang(): ret["message"]}
|
|
492
|
+
)
|
|
472
493
|
if not ret or "data" not in ret or ret["data"] is None:
|
|
473
494
|
return [], None
|
|
474
495
|
|
|
@@ -492,7 +513,7 @@ class APIClient:
|
|
|
492
513
|
return [], errnos.LIST_SHARE_MODEL_FILE_ERR
|
|
493
514
|
|
|
494
515
|
async def commit_dataset(self, payload) -> tuple[dict | None, ErrorNo | None]:
|
|
495
|
-
server_url = f"{
|
|
516
|
+
server_url = f"{BIZYAIR_X_SERVER}/datasets"
|
|
496
517
|
|
|
497
518
|
headers, err = self.auth_header()
|
|
498
519
|
if err is not None:
|
|
@@ -511,7 +532,7 @@ class APIClient:
|
|
|
511
532
|
async def update_dataset(
|
|
512
533
|
self, dataset_id: int, name: str, versions: list[dict]
|
|
513
534
|
) -> tuple[dict | None, ErrorNo | None]:
|
|
514
|
-
server_url = f"{
|
|
535
|
+
server_url = f"{BIZYAIR_X_SERVER}/datasets/{dataset_id}"
|
|
515
536
|
|
|
516
537
|
headers, err = self.auth_header()
|
|
517
538
|
if err is not None:
|
|
@@ -532,7 +553,7 @@ class APIClient:
|
|
|
532
553
|
async def get_dataset_version_detail(
|
|
533
554
|
self, version_id: int
|
|
534
555
|
) -> tuple[dict | None, ErrorNo | None]:
|
|
535
|
-
server_url = f"{
|
|
556
|
+
server_url = f"{BIZYAIR_X_SERVER}/datasets/versions/{version_id}"
|
|
536
557
|
|
|
537
558
|
headers, err = self.auth_header()
|
|
538
559
|
if err is not None:
|
|
@@ -553,7 +574,7 @@ class APIClient:
|
|
|
553
574
|
async def delete_dataset(
|
|
554
575
|
self, dataset_id: int
|
|
555
576
|
) -> tuple[dict | None, ErrorNo | None]:
|
|
556
|
-
server_url = f"{
|
|
577
|
+
server_url = f"{BIZYAIR_X_SERVER}/datasets/{dataset_id}"
|
|
557
578
|
|
|
558
579
|
headers, err = self.auth_header()
|
|
559
580
|
if err is not None:
|
|
@@ -576,7 +597,7 @@ class APIClient:
|
|
|
576
597
|
keyword: str = None,
|
|
577
598
|
annotated: str = None,
|
|
578
599
|
) -> tuple[dict | None, ErrorNo | None]:
|
|
579
|
-
server_url = f"{
|
|
600
|
+
server_url = f"{BIZYAIR_X_SERVER}/datasets"
|
|
580
601
|
params = {"current": current, "page_size": page_size}
|
|
581
602
|
if keyword:
|
|
582
603
|
params["keyword"] = keyword
|
|
@@ -600,7 +621,7 @@ class APIClient:
|
|
|
600
621
|
async def get_dataset_detail(
|
|
601
622
|
self, dataset_id: int
|
|
602
623
|
) -> tuple[dict | None, ErrorNo | None]:
|
|
603
|
-
server_url = f"{
|
|
624
|
+
server_url = f"{BIZYAIR_X_SERVER}/datasets/{dataset_id}/detail"
|
|
604
625
|
|
|
605
626
|
headers, err = self.auth_header()
|
|
606
627
|
if err is not None:
|
|
@@ -617,7 +638,7 @@ class APIClient:
|
|
|
617
638
|
return None, errnos.GET_DATASET_DETAIL
|
|
618
639
|
|
|
619
640
|
async def create_share(self, payload) -> tuple[dict | None, ErrorNo | None]:
|
|
620
|
-
server_url = f"{
|
|
641
|
+
server_url = f"{BIZYAIR_X_SERVER}/share"
|
|
621
642
|
|
|
622
643
|
headers, err = self.auth_header()
|
|
623
644
|
if err is not None:
|
|
@@ -633,7 +654,7 @@ class APIClient:
|
|
|
633
654
|
return None, errnos.CREATE_SHARE
|
|
634
655
|
|
|
635
656
|
async def get_share_detail(self, code: str) -> tuple[dict | None, ErrorNo | None]:
|
|
636
|
-
server_url = f"{
|
|
657
|
+
server_url = f"{BIZYAIR_X_SERVER}/share/{code}"
|
|
637
658
|
|
|
638
659
|
headers, err = self.auth_header()
|
|
639
660
|
if err is not None:
|
|
@@ -650,7 +671,7 @@ class APIClient:
|
|
|
650
671
|
return None, errnos.GET_SHARE_DETAIL
|
|
651
672
|
|
|
652
673
|
async def get_data_dict(self) -> tuple[dict | None, ErrorNo | None]:
|
|
653
|
-
server_url = f"{
|
|
674
|
+
server_url = f"{BIZYAIR_X_SERVER}/dict"
|
|
654
675
|
headers, err = self.auth_header()
|
|
655
676
|
if err is not None:
|
|
656
677
|
return None, err
|
|
@@ -666,7 +687,7 @@ class APIClient:
|
|
|
666
687
|
return None, errnos.GET_DATA_DICT
|
|
667
688
|
|
|
668
689
|
async def get_notification_unread_count(self) -> tuple[dict | None, ErrorNo | None]:
|
|
669
|
-
server_url = f"{
|
|
690
|
+
server_url = f"{BIZYAIR_X_SERVER}/notifications/unread_count"
|
|
670
691
|
headers, err = self.auth_header()
|
|
671
692
|
if err is not None:
|
|
672
693
|
return None, err
|
|
@@ -691,7 +712,7 @@ class APIClient:
|
|
|
691
712
|
types: list | None,
|
|
692
713
|
read_status: bool | None,
|
|
693
714
|
) -> tuple[dict | None, ErrorNo | None]:
|
|
694
|
-
server_url = f"{
|
|
715
|
+
server_url = f"{BIZYAIR_X_SERVER}/notifications"
|
|
695
716
|
headers, err = self.auth_header()
|
|
696
717
|
if err is not None:
|
|
697
718
|
return None, err
|
|
@@ -719,7 +740,7 @@ class APIClient:
|
|
|
719
740
|
async def read_notifications(
|
|
720
741
|
self, notif_ids: list[int]
|
|
721
742
|
) -> tuple[dict | None, ErrorNo | None]:
|
|
722
|
-
server_url = f"{
|
|
743
|
+
server_url = f"{BIZYAIR_X_SERVER}/notifications/read"
|
|
723
744
|
headers, err = self.auth_header()
|
|
724
745
|
if err is not None:
|
|
725
746
|
return None, err
|
|
@@ -744,7 +765,7 @@ class APIClient:
|
|
|
744
765
|
async def read_all_notifications(
|
|
745
766
|
self, type: int
|
|
746
767
|
) -> tuple[dict | None, ErrorNo | None]:
|
|
747
|
-
server_url = f"{
|
|
768
|
+
server_url = f"{BIZYAIR_X_SERVER}/notifications/read_all"
|
|
748
769
|
headers, err = self.auth_header()
|
|
749
770
|
if err is not None:
|
|
750
771
|
return None, err
|
|
@@ -764,3 +785,289 @@ class APIClient:
|
|
|
764
785
|
f"\033[31m[BizyAir]\033[0m Fail to mark all notifications as read: {str(e)}"
|
|
765
786
|
)
|
|
766
787
|
return None, errnos.READ_ALL_NOTIF
|
|
788
|
+
|
|
789
|
+
async def get_wallet(self) -> tuple[dict | None, ErrorNo | None]:
|
|
790
|
+
server_url = f"{BIZYAIR_Y_SERVER}/wallet"
|
|
791
|
+
headers, err = self.auth_header()
|
|
792
|
+
if err is not None:
|
|
793
|
+
return None, err
|
|
794
|
+
|
|
795
|
+
try:
|
|
796
|
+
ret, err = await self.do_get(server_url, headers=headers)
|
|
797
|
+
if err is not None:
|
|
798
|
+
return None, err
|
|
799
|
+
|
|
800
|
+
return ret["data"], None
|
|
801
|
+
except Exception as e:
|
|
802
|
+
print(f"\033[31m[BizyAir]\033[0m Fail to get wallet info: {str(e)}")
|
|
803
|
+
return None, errnos.GET_WALLET_INFO
|
|
804
|
+
|
|
805
|
+
async def query_coins(
|
|
806
|
+
self, current: int, page_size: int, coin_type: int = 0, expire_days: int = 0
|
|
807
|
+
) -> tuple[dict | None, ErrorNo | None]:
|
|
808
|
+
server_url = f"{BIZYAIR_Y_SERVER}/coins"
|
|
809
|
+
headers, err = self.auth_header()
|
|
810
|
+
if err is not None:
|
|
811
|
+
return None, err
|
|
812
|
+
|
|
813
|
+
params = {"current": current, "page_size": page_size}
|
|
814
|
+
if coin_type > 0:
|
|
815
|
+
params["coin_type"] = coin_type
|
|
816
|
+
if expire_days > 0:
|
|
817
|
+
params["expire_days"] = expire_days
|
|
818
|
+
|
|
819
|
+
try:
|
|
820
|
+
ret, err = await self.do_get(server_url, headers=headers, params=params)
|
|
821
|
+
if err is not None:
|
|
822
|
+
return None, err
|
|
823
|
+
|
|
824
|
+
return ret["data"], None
|
|
825
|
+
except Exception as e:
|
|
826
|
+
print(f"\033[31m[BizyAir]\033[0m Fail to query coins: {str(e)}")
|
|
827
|
+
return None, errnos.QUERY_COINS
|
|
828
|
+
|
|
829
|
+
async def get_user_metadata(self) -> tuple[dict | None, ErrorNo | None]:
|
|
830
|
+
server_url = f"{BIZYAIR_X_SERVER}/user/metadata"
|
|
831
|
+
headers, err = self.auth_header()
|
|
832
|
+
if err is not None:
|
|
833
|
+
return None, err
|
|
834
|
+
|
|
835
|
+
try:
|
|
836
|
+
ret, err = await self.do_get(server_url, headers=headers)
|
|
837
|
+
if err is not None:
|
|
838
|
+
return None, err
|
|
839
|
+
|
|
840
|
+
return ret["data"], None
|
|
841
|
+
except Exception as e:
|
|
842
|
+
print(f"\033[31m[BizyAir]\033[0m Fail to get user metadata: {str(e)}")
|
|
843
|
+
return None, errnos.GET_USER_METADATA
|
|
844
|
+
|
|
845
|
+
async def update_user_info(
|
|
846
|
+
self, name: str = None, avatar: str = None, introduction: str = None
|
|
847
|
+
) -> tuple[dict | None, ErrorNo | None]:
|
|
848
|
+
server_url = f"{BIZYAIR_X_SERVER}/user/metadata"
|
|
849
|
+
headers, err = self.auth_header()
|
|
850
|
+
if err is not None:
|
|
851
|
+
return None, err
|
|
852
|
+
|
|
853
|
+
payload = {}
|
|
854
|
+
if name is not None:
|
|
855
|
+
payload["name"] = name
|
|
856
|
+
if avatar is not None:
|
|
857
|
+
payload["avatar"] = avatar
|
|
858
|
+
if introduction is not None:
|
|
859
|
+
payload["introduction"] = introduction
|
|
860
|
+
|
|
861
|
+
try:
|
|
862
|
+
ret, err = await self.do_put(server_url, headers=headers, data=payload)
|
|
863
|
+
if err is not None:
|
|
864
|
+
return None, err
|
|
865
|
+
|
|
866
|
+
return ret["data"], None
|
|
867
|
+
except Exception as e:
|
|
868
|
+
print(f"\033[31m[BizyAir]\033[0m Fail to update user info: {str(e)}")
|
|
869
|
+
return None, errnos.UPDATE_USER_INFO
|
|
870
|
+
|
|
871
|
+
async def user_real_name(self) -> tuple[dict | None, ErrorNo | None]:
|
|
872
|
+
server_url = f"{BIZYAIR_X_SERVER}/user/real_name"
|
|
873
|
+
headers, err = self.auth_header()
|
|
874
|
+
if err is not None:
|
|
875
|
+
return None, err
|
|
876
|
+
|
|
877
|
+
try:
|
|
878
|
+
ret, err = await self.do_post(server_url, headers=headers)
|
|
879
|
+
if err is not None:
|
|
880
|
+
return None, err
|
|
881
|
+
|
|
882
|
+
return ret["data"], None
|
|
883
|
+
except Exception as e:
|
|
884
|
+
print(f"\033[31m[BizyAir]\033[0m Fail to verify real name: {str(e)}")
|
|
885
|
+
return None, errnos.USER_REAL_NAME
|
|
886
|
+
|
|
887
|
+
async def buy_product(
|
|
888
|
+
self, product_id: int, platform: str
|
|
889
|
+
) -> tuple[dict | None, ErrorNo | None]:
|
|
890
|
+
server_url = f"{BIZYAIR_Y_SERVER}/pay/product/{product_id}"
|
|
891
|
+
headers, err = self.auth_header()
|
|
892
|
+
if err is not None:
|
|
893
|
+
return None, err
|
|
894
|
+
|
|
895
|
+
payload = {}
|
|
896
|
+
if platform is not None:
|
|
897
|
+
payload["platform"] = platform
|
|
898
|
+
|
|
899
|
+
try:
|
|
900
|
+
ret, err = await self.do_post(server_url, headers=headers, data=payload)
|
|
901
|
+
if err is not None:
|
|
902
|
+
return None, err
|
|
903
|
+
|
|
904
|
+
return ret["data"], None
|
|
905
|
+
except Exception as e:
|
|
906
|
+
print(f"\033[31m[BizyAir]\033[0m Fail to buy product: {str(e)}")
|
|
907
|
+
return None, errnos.BUY_PRODUCT
|
|
908
|
+
|
|
909
|
+
async def get_pay_status(self, orderNum: str) -> tuple[dict | None, ErrorNo | None]:
|
|
910
|
+
server_url = f"{BIZYAIR_Y_SERVER}/pay/orders/{orderNum}"
|
|
911
|
+
headers, err = self.auth_header()
|
|
912
|
+
if err is not None:
|
|
913
|
+
return None, err
|
|
914
|
+
|
|
915
|
+
try:
|
|
916
|
+
ret, err = await self.do_get(server_url, headers=headers)
|
|
917
|
+
if err is not None:
|
|
918
|
+
return None, err
|
|
919
|
+
|
|
920
|
+
return ret["data"], None
|
|
921
|
+
except Exception as e:
|
|
922
|
+
print(f"\033[31m[BizyAir]\033[0m Fail to get pay status: {str(e)}")
|
|
923
|
+
return None, errnos.PAY_STATUS
|
|
924
|
+
|
|
925
|
+
async def cancel_pay_order(
|
|
926
|
+
self, orderNum: str
|
|
927
|
+
) -> tuple[dict | None, ErrorNo | None]:
|
|
928
|
+
server_url = f"{BIZYAIR_Y_SERVER}/pay/orders/{orderNum}"
|
|
929
|
+
headers, err = self.auth_header()
|
|
930
|
+
if err is not None:
|
|
931
|
+
return None, err
|
|
932
|
+
|
|
933
|
+
try:
|
|
934
|
+
ret, err = await self.do_delete(server_url, headers=headers)
|
|
935
|
+
if err is not None:
|
|
936
|
+
return None, err
|
|
937
|
+
|
|
938
|
+
return ret["data"], None
|
|
939
|
+
except Exception as e:
|
|
940
|
+
print(f"\033[31m[BizyAir]\033[0m Fail to cancel payment: {str(e)}")
|
|
941
|
+
return None, errnos.PAY_CANCEL
|
|
942
|
+
|
|
943
|
+
async def list_pay_orders(
|
|
944
|
+
self, current: int, page_size: int, status: str | None
|
|
945
|
+
) -> tuple[dict | None, ErrorNo | None]:
|
|
946
|
+
server_url = f"{BIZYAIR_Y_SERVER}/pay/page"
|
|
947
|
+
headers, err = self.auth_header()
|
|
948
|
+
if err is not None:
|
|
949
|
+
return None, err
|
|
950
|
+
|
|
951
|
+
params = {"current": current, "page_size": page_size}
|
|
952
|
+
if status is not None:
|
|
953
|
+
params["status"] = status
|
|
954
|
+
|
|
955
|
+
try:
|
|
956
|
+
ret, err = await self.do_get(server_url, headers=headers, params=params)
|
|
957
|
+
if err is not None:
|
|
958
|
+
return None, err
|
|
959
|
+
|
|
960
|
+
return ret["data"], None
|
|
961
|
+
except Exception as e:
|
|
962
|
+
print(f"\033[31m[BizyAir]\033[0m Fail to list pay orders: {str(e)}")
|
|
963
|
+
return None, errnos.LIST_PAY_ORDER
|
|
964
|
+
|
|
965
|
+
async def list_products(self) -> tuple[dict | None, ErrorNo | None]:
|
|
966
|
+
server_url = f"{BIZYAIR_Y_SERVER}/products"
|
|
967
|
+
headers, err = self.auth_header()
|
|
968
|
+
if err is not None:
|
|
969
|
+
return None, err
|
|
970
|
+
|
|
971
|
+
try:
|
|
972
|
+
ret, err = await self.do_get(server_url, headers=headers)
|
|
973
|
+
if err is not None:
|
|
974
|
+
return None, err
|
|
975
|
+
|
|
976
|
+
return ret["data"], None
|
|
977
|
+
except Exception as e:
|
|
978
|
+
print(f"\033[31m[BizyAir]\033[0m Fail to list products: {str(e)}")
|
|
979
|
+
return None, errnos.LIST_PRODUCTS
|
|
980
|
+
|
|
981
|
+
async def get_year_cost(
|
|
982
|
+
self, year: str = None, api_key: str = None
|
|
983
|
+
) -> tuple[dict | None, ErrorNo | None]:
|
|
984
|
+
server_url = f"{BIZYAIR_Y_SERVER}/invoices/year_cost"
|
|
985
|
+
params = {}
|
|
986
|
+
if year:
|
|
987
|
+
params["year"] = year
|
|
988
|
+
if api_key:
|
|
989
|
+
params["api_key"] = api_key
|
|
990
|
+
|
|
991
|
+
headers, err = self.auth_header()
|
|
992
|
+
if err is not None:
|
|
993
|
+
return None, err
|
|
994
|
+
|
|
995
|
+
try:
|
|
996
|
+
ret, err = await self.do_get(server_url, params=params, headers=headers)
|
|
997
|
+
if err is not None:
|
|
998
|
+
return None, err
|
|
999
|
+
|
|
1000
|
+
return ret["data"], None
|
|
1001
|
+
except Exception as e:
|
|
1002
|
+
print(f"\033[31m[BizyAir]\033[0m Fail to get year cost: {str(e)}")
|
|
1003
|
+
return None, errnos.GET_YEAR_COST
|
|
1004
|
+
|
|
1005
|
+
async def get_month_cost(
|
|
1006
|
+
self, month: str = None, api_key: str = None
|
|
1007
|
+
) -> tuple[dict | None, ErrorNo | None]:
|
|
1008
|
+
server_url = f"{BIZYAIR_Y_SERVER}/invoices/month_cost"
|
|
1009
|
+
params = {}
|
|
1010
|
+
if month:
|
|
1011
|
+
params["month"] = month
|
|
1012
|
+
if api_key:
|
|
1013
|
+
params["api_key"] = api_key
|
|
1014
|
+
|
|
1015
|
+
headers, err = self.auth_header()
|
|
1016
|
+
if err is not None:
|
|
1017
|
+
return None, err
|
|
1018
|
+
|
|
1019
|
+
try:
|
|
1020
|
+
ret, err = await self.do_get(server_url, params=params, headers=headers)
|
|
1021
|
+
if err is not None:
|
|
1022
|
+
return None, err
|
|
1023
|
+
|
|
1024
|
+
return ret["data"], None
|
|
1025
|
+
except Exception as e:
|
|
1026
|
+
print(f"\033[31m[BizyAir]\033[0m Fail to get month cost: {str(e)}")
|
|
1027
|
+
return None, errnos.GET_MONTH_COST
|
|
1028
|
+
|
|
1029
|
+
async def get_day_cost(
|
|
1030
|
+
self, day: str = None, api_key: str = None
|
|
1031
|
+
) -> tuple[dict | None, ErrorNo | None]:
|
|
1032
|
+
server_url = f"{BIZYAIR_Y_SERVER}/invoices/day_cost"
|
|
1033
|
+
params = {}
|
|
1034
|
+
if day:
|
|
1035
|
+
params["date"] = day
|
|
1036
|
+
if api_key:
|
|
1037
|
+
params["api_key"] = api_key
|
|
1038
|
+
|
|
1039
|
+
headers, err = self.auth_header()
|
|
1040
|
+
if err is not None:
|
|
1041
|
+
return None, err
|
|
1042
|
+
|
|
1043
|
+
try:
|
|
1044
|
+
ret, err = await self.do_get(server_url, params=params, headers=headers)
|
|
1045
|
+
if err is not None:
|
|
1046
|
+
return None, err
|
|
1047
|
+
|
|
1048
|
+
return ret["data"], None
|
|
1049
|
+
except Exception as e:
|
|
1050
|
+
print(f"\033[31m[BizyAir]\033[0m Fail to get day cost: {str(e)}")
|
|
1051
|
+
return None, errnos.GET_DAY_COST
|
|
1052
|
+
|
|
1053
|
+
async def get_recent_cost(
|
|
1054
|
+
self, api_key: str = None
|
|
1055
|
+
) -> tuple[dict | None, ErrorNo | None]:
|
|
1056
|
+
server_url = f"{BIZYAIR_Y_SERVER}/invoices/recent_cost"
|
|
1057
|
+
params = {}
|
|
1058
|
+
if api_key:
|
|
1059
|
+
params["api_key"] = api_key
|
|
1060
|
+
|
|
1061
|
+
headers, err = self.auth_header()
|
|
1062
|
+
if err is not None:
|
|
1063
|
+
return None, err
|
|
1064
|
+
|
|
1065
|
+
try:
|
|
1066
|
+
ret, err = await self.do_get(server_url, params=params, headers=headers)
|
|
1067
|
+
if err is not None:
|
|
1068
|
+
return None, err
|
|
1069
|
+
|
|
1070
|
+
return ret["data"], None
|
|
1071
|
+
except Exception as e:
|
|
1072
|
+
print(f"\033[31m[BizyAir]\033[0m Fail to get recent cost: {str(e)}")
|
|
1073
|
+
return None, errnos.GET_RECENT_COST
|