pybioos 0.0.16__py3-none-any.whl → 0.0.18__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.
Potentially problematic release.
This version of pybioos might be problematic. Click here for more details.
- bioos/__about__.py +1 -1
- bioos/bioos.py +32 -7
- bioos/bioos_workflow.py +13 -3
- bioos/bw_import.py +5 -24
- bioos/bw_import_status_check.py +7 -2
- bioos/bw_status_check.py +7 -2
- bioos/config.py +4 -1
- bioos/get_submission_logs.py +7 -2
- bioos/resource/workflows.py +3 -1
- bioos/resource/workspaces.py +5 -0
- bioos/service/BioOsService.py +15 -0
- bioos/workflow_info.py +2 -3
- {pybioos-0.0.16.dist-info → pybioos-0.0.18.dist-info}/METADATA +12 -10
- {pybioos-0.0.16.dist-info → pybioos-0.0.18.dist-info}/RECORD +18 -18
- {pybioos-0.0.16.dist-info → pybioos-0.0.18.dist-info}/WHEEL +1 -1
- {pybioos-0.0.16.dist-info → pybioos-0.0.18.dist-info}/entry_points.txt +1 -0
- {pybioos-0.0.16.dist-info → pybioos-0.0.18.dist-info}/LICENSE +0 -0
- {pybioos-0.0.16.dist-info → pybioos-0.0.18.dist-info}/top_level.txt +0 -0
bioos/__about__.py
CHANGED
bioos/bioos.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from pandas import DataFrame
|
|
2
2
|
from volcengine.const.Const import REGION_CN_NORTH1
|
|
3
3
|
|
|
4
|
-
from bioos.config import Config
|
|
4
|
+
from bioos.config import Config,DEFAULT_ENDPOINT
|
|
5
5
|
from bioos.resource.utility import UtilityResource
|
|
6
6
|
from bioos.resource.workspaces import Workspace
|
|
7
7
|
|
|
@@ -20,9 +20,9 @@ def status() -> Config.LoginInfo:
|
|
|
20
20
|
return Config.login_info()
|
|
21
21
|
|
|
22
22
|
|
|
23
|
-
def login(
|
|
24
|
-
access_key: str,
|
|
23
|
+
def login(access_key: str,
|
|
25
24
|
secret_key: str,
|
|
25
|
+
endpoint: str = DEFAULT_ENDPOINT,
|
|
26
26
|
region: str = REGION_CN_NORTH1) -> bool:
|
|
27
27
|
"""Login to the given endpoint using specified account and password.
|
|
28
28
|
|
|
@@ -35,14 +35,16 @@ def login(endpoint: str,
|
|
|
35
35
|
*Example*:
|
|
36
36
|
::
|
|
37
37
|
|
|
38
|
-
bioos.login(
|
|
38
|
+
bioos.login(access_key="xxxxxxxx", secret_key="xxxxxxxx")
|
|
39
|
+
# or specify endpoint explicitly:
|
|
40
|
+
bioos.login(access_key="xxxxxxxx", secret_key="xxxxxxxx", endpoint="https://cloud.xxxxx.xxx.cn")
|
|
39
41
|
|
|
40
|
-
:param endpoint: The environment to be logged in
|
|
41
|
-
:type endpoint: str
|
|
42
42
|
:param access_key: The specified account's access key
|
|
43
43
|
:type access_key: str
|
|
44
44
|
:param secret_key: Corresponding secret key of the access key
|
|
45
45
|
:type secret_key: str
|
|
46
|
+
:param endpoint: The environment to be logged in (optional, defaults to Config._endpoint)
|
|
47
|
+
:type endpoint: str
|
|
46
48
|
:param region: The region to be logged in
|
|
47
49
|
:type region: str
|
|
48
50
|
:return: Login result
|
|
@@ -50,7 +52,8 @@ def login(endpoint: str,
|
|
|
50
52
|
"""
|
|
51
53
|
Config.set_access_key(access_key)
|
|
52
54
|
Config.set_secret_key(secret_key)
|
|
53
|
-
|
|
55
|
+
if endpoint is not None:
|
|
56
|
+
Config.set_endpoint(endpoint)
|
|
54
57
|
Config.set_region(region)
|
|
55
58
|
return Config.login_info().login_status == "Already logged in"
|
|
56
59
|
|
|
@@ -70,6 +73,28 @@ def list_workspaces() -> DataFrame:
|
|
|
70
73
|
}).get("Items"))
|
|
71
74
|
|
|
72
75
|
|
|
76
|
+
def create_workspace(name: str, description: str) -> dict:
|
|
77
|
+
"""Creates a new workspace in the login environment.
|
|
78
|
+
|
|
79
|
+
*Example*:
|
|
80
|
+
::
|
|
81
|
+
|
|
82
|
+
bioos.create_workspace(name="My Workspace", description="This is my new workspace")
|
|
83
|
+
|
|
84
|
+
:param name: Name of the workspace to create
|
|
85
|
+
:type name: str
|
|
86
|
+
:param description: Description of the workspace
|
|
87
|
+
:type description: str
|
|
88
|
+
:return: Creation result containing workspace information
|
|
89
|
+
:rtype: dict
|
|
90
|
+
"""
|
|
91
|
+
params = {
|
|
92
|
+
"Name": name,
|
|
93
|
+
"Description": description
|
|
94
|
+
}
|
|
95
|
+
return Config.service().create_workspace(params)
|
|
96
|
+
|
|
97
|
+
|
|
73
98
|
def workspace(id_: str) -> Workspace: # 这里是workspace的入口
|
|
74
99
|
"""Returns the workspace for the given name .
|
|
75
100
|
|
bioos/bioos_workflow.py
CHANGED
|
@@ -10,6 +10,7 @@ import pandas as pd
|
|
|
10
10
|
|
|
11
11
|
from bioos import bioos
|
|
12
12
|
from bioos.errors import NotFoundError, ParameterError
|
|
13
|
+
from bioos.config import DEFAULT_ENDPOINT
|
|
13
14
|
|
|
14
15
|
def uniquify_columns(cols: list[str]) -> list[str]:
|
|
15
16
|
seen, out = {}, []
|
|
@@ -177,7 +178,8 @@ class Bioos_workflow:
|
|
|
177
178
|
data_model_name: str = "dm",
|
|
178
179
|
submission_desc: str = "Submit by pybioos",
|
|
179
180
|
call_caching: bool = True,
|
|
180
|
-
force_reupload: bool = False
|
|
181
|
+
force_reupload: bool = False,
|
|
182
|
+
mount_tos: bool = False):
|
|
181
183
|
if not os.path.isfile(input_json_file):
|
|
182
184
|
raise ParameterError('Input_json_file is not found.')
|
|
183
185
|
#给每一个data_model加一个uuid,保证不重复
|
|
@@ -228,6 +230,7 @@ class Bioos_workflow:
|
|
|
228
230
|
"outputs": "{}",
|
|
229
231
|
"submission_desc": submission_desc,
|
|
230
232
|
"call_caching": call_caching,
|
|
233
|
+
"mount_tos": mount_tos,
|
|
231
234
|
}
|
|
232
235
|
|
|
233
236
|
# if the input json is a batch or singleton submission
|
|
@@ -323,7 +326,7 @@ def bioos_workflow():
|
|
|
323
326
|
parser.add_argument("--endpoint",
|
|
324
327
|
type=str,
|
|
325
328
|
help="Bio-OS instance platform endpoint",
|
|
326
|
-
default=
|
|
329
|
+
default=DEFAULT_ENDPOINT)
|
|
327
330
|
parser.add_argument(
|
|
328
331
|
"--ak",
|
|
329
332
|
type=str,
|
|
@@ -362,6 +365,12 @@ def bioos_workflow():
|
|
|
362
365
|
action='store_true',
|
|
363
366
|
help="Force reupolad tos existed files.")
|
|
364
367
|
|
|
368
|
+
parser.add_argument(
|
|
369
|
+
"--mount_tos",
|
|
370
|
+
action='store_true',
|
|
371
|
+
help="是否挂载tos",
|
|
372
|
+
default=False)
|
|
373
|
+
|
|
365
374
|
parser.add_argument(
|
|
366
375
|
"--monitor",
|
|
367
376
|
action='store_true',
|
|
@@ -393,7 +402,8 @@ def bioos_workflow():
|
|
|
393
402
|
data_model_name=parsed_args.data_model_name,
|
|
394
403
|
submission_desc=parsed_args.submission_desc,
|
|
395
404
|
call_caching=parsed_args.call_caching,
|
|
396
|
-
force_reupload=parsed_args.force_reupload
|
|
405
|
+
force_reupload=parsed_args.force_reupload,
|
|
406
|
+
mount_tos=parsed_args.mount_tos)
|
|
397
407
|
bw.submit_workflow_bioosapi()
|
|
398
408
|
|
|
399
409
|
# moniter
|
bioos/bw_import.py
CHANGED
|
@@ -1,17 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env python3
|
|
2
2
|
# coding: utf-8
|
|
3
|
-
|
|
4
3
|
import argparse
|
|
5
4
|
import logging
|
|
6
5
|
import os
|
|
7
6
|
import sys
|
|
8
7
|
import time
|
|
9
|
-
|
|
10
8
|
from bioos import bioos
|
|
11
|
-
from bioos.config import Config
|
|
9
|
+
from bioos.config import Config, DEFAULT_ENDPOINT
|
|
12
10
|
from bioos.resource.workflows import WorkflowResource
|
|
13
|
-
|
|
14
|
-
|
|
15
11
|
def get_logger():
|
|
16
12
|
"""Setup logger"""
|
|
17
13
|
logger = logging.getLogger('bw_import')
|
|
@@ -23,14 +19,11 @@ def get_logger():
|
|
|
23
19
|
logger.addHandler(handler)
|
|
24
20
|
logger.setLevel(logging.INFO)
|
|
25
21
|
return logger
|
|
26
|
-
|
|
27
|
-
|
|
28
22
|
def bioos_workflow_import():
|
|
29
23
|
"""Command line entry point"""
|
|
30
24
|
parser = argparse.ArgumentParser(
|
|
31
25
|
description='Bio-OS Workflow Import Tool',
|
|
32
26
|
formatter_class=argparse.RawDescriptionHelpFormatter)
|
|
33
|
-
|
|
34
27
|
# 必需参数
|
|
35
28
|
parser.add_argument(
|
|
36
29
|
'--ak',
|
|
@@ -49,8 +42,10 @@ def bioos_workflow_import():
|
|
|
49
42
|
parser.add_argument('--workflow_source',
|
|
50
43
|
required=True,
|
|
51
44
|
help='Local WDL file path or git repository URL')
|
|
52
|
-
|
|
53
45
|
# 可选参数
|
|
46
|
+
parser.add_argument('--endpoint',
|
|
47
|
+
help='Bio-OS instance platform endpoint',
|
|
48
|
+
default=DEFAULT_ENDPOINT)
|
|
54
49
|
parser.add_argument('--workflow_desc',
|
|
55
50
|
help='Description for the workflow',
|
|
56
51
|
default='')
|
|
@@ -67,16 +62,13 @@ def bioos_workflow_import():
|
|
|
67
62
|
type=int,
|
|
68
63
|
default=60,
|
|
69
64
|
help='Time interval in seconds for checking workflow status')
|
|
70
|
-
|
|
71
65
|
args = parser.parse_args()
|
|
72
66
|
logger = get_logger()
|
|
73
|
-
|
|
74
67
|
try:
|
|
75
68
|
# 配置Bio-OS
|
|
76
69
|
Config.set_access_key(args.ak)
|
|
77
70
|
Config.set_secret_key(args.sk)
|
|
78
|
-
Config.set_endpoint(
|
|
79
|
-
|
|
71
|
+
Config.set_endpoint(args.endpoint)
|
|
80
72
|
# 获取workspace ID
|
|
81
73
|
workspaces = bioos.list_workspaces()
|
|
82
74
|
workspace_info = workspaces.query(f"Name=='{args.workspace_name}'")
|
|
@@ -84,10 +76,8 @@ def bioos_workflow_import():
|
|
|
84
76
|
logger.error(f"Workspace {args.workspace_name} not found")
|
|
85
77
|
sys.exit(1)
|
|
86
78
|
workspace_id = workspace_info["ID"].iloc[0]
|
|
87
|
-
|
|
88
79
|
# 创建WorkflowResource实例
|
|
89
80
|
workflow_resource = WorkflowResource(workspace_id)
|
|
90
|
-
|
|
91
81
|
# 导入workflow
|
|
92
82
|
try:
|
|
93
83
|
result = workflow_resource.import_workflow(
|
|
@@ -99,19 +89,15 @@ def bioos_workflow_import():
|
|
|
99
89
|
logger.info(
|
|
100
90
|
f"Successfully uploaded workflow: {result}, validating..., please wait..."
|
|
101
91
|
)
|
|
102
|
-
|
|
103
92
|
# 如果设置了monitor参数,则监控工作流状态
|
|
104
93
|
if args.monitor:
|
|
105
94
|
max_retries = 10 # 最大重试次数
|
|
106
95
|
retry_count = 0
|
|
107
|
-
|
|
108
96
|
while retry_count < max_retries:
|
|
109
97
|
df = workflow_resource.list()
|
|
110
98
|
workflow_info = df[df.Name == args.workflow_name]
|
|
111
|
-
|
|
112
99
|
if len(workflow_info) == 1:
|
|
113
100
|
status = workflow_info.iloc[0]["Status"]["Phase"]
|
|
114
|
-
|
|
115
101
|
if status == "Succeeded":
|
|
116
102
|
logger.info(
|
|
117
103
|
f"Workflow {args.workflow_name} validated successfully"
|
|
@@ -138,7 +124,6 @@ def bioos_workflow_import():
|
|
|
138
124
|
f"Workflow {args.workflow_name} not found after import"
|
|
139
125
|
)
|
|
140
126
|
sys.exit(1)
|
|
141
|
-
|
|
142
127
|
logger.error(
|
|
143
128
|
f"Workflow validation timeout after {max_retries} retries")
|
|
144
129
|
sys.exit(1)
|
|
@@ -148,15 +133,11 @@ def bioos_workflow_import():
|
|
|
148
133
|
f"Workflow {args.workflow_name} is still validating, {result}, please wait and check the status later."
|
|
149
134
|
)
|
|
150
135
|
sys.exit(0)
|
|
151
|
-
|
|
152
136
|
except Exception as e:
|
|
153
137
|
logger.error(f"Failed to import workflow: {str(e)}")
|
|
154
138
|
sys.exit(1)
|
|
155
|
-
|
|
156
139
|
except Exception as e:
|
|
157
140
|
logger.error(f"Error: {str(e)}")
|
|
158
141
|
sys.exit(1)
|
|
159
|
-
|
|
160
|
-
|
|
161
142
|
if __name__ == '__main__':
|
|
162
143
|
bioos_workflow_import()
|
bioos/bw_import_status_check.py
CHANGED
|
@@ -6,7 +6,7 @@ import logging
|
|
|
6
6
|
import sys
|
|
7
7
|
|
|
8
8
|
from bioos import bioos
|
|
9
|
-
from bioos.config import Config
|
|
9
|
+
from bioos.config import Config, DEFAULT_ENDPOINT
|
|
10
10
|
from bioos.resource.workflows import WorkflowResource
|
|
11
11
|
|
|
12
12
|
|
|
@@ -44,6 +44,11 @@ def bioos_workflow_status_check():
|
|
|
44
44
|
parser.add_argument('--workflow_id',
|
|
45
45
|
required=True,
|
|
46
46
|
help='ID of the workflow to check')
|
|
47
|
+
|
|
48
|
+
# 可选参数
|
|
49
|
+
parser.add_argument('--endpoint',
|
|
50
|
+
help='Bio-OS instance platform endpoint',
|
|
51
|
+
default=DEFAULT_ENDPOINT)
|
|
47
52
|
|
|
48
53
|
args = parser.parse_args()
|
|
49
54
|
logger = get_logger()
|
|
@@ -52,7 +57,7 @@ def bioos_workflow_status_check():
|
|
|
52
57
|
# 配置Bio-OS
|
|
53
58
|
Config.set_access_key(args.ak)
|
|
54
59
|
Config.set_secret_key(args.sk)
|
|
55
|
-
Config.set_endpoint(
|
|
60
|
+
Config.set_endpoint(args.endpoint)
|
|
56
61
|
|
|
57
62
|
# 获取workspace ID
|
|
58
63
|
workspaces = bioos.list_workspaces()
|
bioos/bw_status_check.py
CHANGED
|
@@ -6,7 +6,7 @@ import logging
|
|
|
6
6
|
import sys
|
|
7
7
|
|
|
8
8
|
from bioos import bioos
|
|
9
|
-
from bioos.config import Config
|
|
9
|
+
from bioos.config import Config, DEFAULT_ENDPOINT
|
|
10
10
|
from bioos.resource.workflows import WorkflowResource
|
|
11
11
|
|
|
12
12
|
|
|
@@ -44,6 +44,11 @@ def bioos_workflow_status_check():
|
|
|
44
44
|
parser.add_argument('--submission_id',
|
|
45
45
|
required=True,
|
|
46
46
|
help='ID of the submission to check')
|
|
47
|
+
|
|
48
|
+
# 可选参数
|
|
49
|
+
parser.add_argument('--endpoint',
|
|
50
|
+
help='Bio-OS instance platform endpoint',
|
|
51
|
+
default=DEFAULT_ENDPOINT)
|
|
47
52
|
|
|
48
53
|
args = parser.parse_args()
|
|
49
54
|
logger = get_logger()
|
|
@@ -52,7 +57,7 @@ def bioos_workflow_status_check():
|
|
|
52
57
|
# 配置Bio-OS
|
|
53
58
|
Config.set_access_key(args.ak)
|
|
54
59
|
Config.set_secret_key(args.sk)
|
|
55
|
-
Config.set_endpoint(
|
|
60
|
+
Config.set_endpoint(args.endpoint)
|
|
56
61
|
|
|
57
62
|
# 获取workspace ID
|
|
58
63
|
workspaces = bioos.list_workspaces()
|
bioos/config.py
CHANGED
|
@@ -7,6 +7,9 @@ from bioos.errors import ConfigurationError
|
|
|
7
7
|
from bioos.log import PyLogger
|
|
8
8
|
from bioos.service.BioOsService import BioOsService
|
|
9
9
|
|
|
10
|
+
# 默认的 Bio-OS endpoint
|
|
11
|
+
DEFAULT_ENDPOINT = "https://bio-top.miracle.ac.cn"
|
|
12
|
+
|
|
10
13
|
LOGIN_STATUS = Literal['Already logged in', 'Not logged in']
|
|
11
14
|
|
|
12
15
|
|
|
@@ -14,7 +17,7 @@ class Config:
|
|
|
14
17
|
_service: BioOsService = None
|
|
15
18
|
_access_key: str = os.environ.get('VOLC_ACCESSKEY')
|
|
16
19
|
_secret_key: str = os.environ.get('VOLC_SECRETKEY')
|
|
17
|
-
_endpoint: str = os.environ.get('BIOOS_ENDPOINT')
|
|
20
|
+
_endpoint: str = os.environ.get('BIOOS_ENDPOINT', DEFAULT_ENDPOINT)
|
|
18
21
|
_region: str = REGION_CN_NORTH1
|
|
19
22
|
Logger = PyLogger() # 这里是把类赋给了Logger变量
|
|
20
23
|
|
bioos/get_submission_logs.py
CHANGED
|
@@ -7,7 +7,7 @@ import os
|
|
|
7
7
|
import sys
|
|
8
8
|
|
|
9
9
|
from bioos import bioos
|
|
10
|
-
from bioos.config import Config
|
|
10
|
+
from bioos.config import Config, DEFAULT_ENDPOINT
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
def get_logger():
|
|
@@ -48,6 +48,11 @@ def get_submission_logs():
|
|
|
48
48
|
'--output_dir',
|
|
49
49
|
default='.',
|
|
50
50
|
help='Local directory to save the logs (default: current directory)')
|
|
51
|
+
|
|
52
|
+
# 可选参数
|
|
53
|
+
parser.add_argument('--endpoint',
|
|
54
|
+
help='Bio-OS instance platform endpoint',
|
|
55
|
+
default=DEFAULT_ENDPOINT)
|
|
51
56
|
|
|
52
57
|
args = parser.parse_args()
|
|
53
58
|
logger = get_logger()
|
|
@@ -56,7 +61,7 @@ def get_submission_logs():
|
|
|
56
61
|
# 配置Bio-OS
|
|
57
62
|
Config.set_access_key(args.ak)
|
|
58
63
|
Config.set_secret_key(args.sk)
|
|
59
|
-
Config.set_endpoint(
|
|
64
|
+
Config.set_endpoint(args.endpoint)
|
|
60
65
|
|
|
61
66
|
# 获取workspace ID
|
|
62
67
|
workspaces = bioos.list_workspaces()
|
bioos/resource/workflows.py
CHANGED
|
@@ -795,7 +795,8 @@ class Workflow(metaclass=SingletonType):
|
|
|
795
795
|
call_caching: bool,
|
|
796
796
|
submission_name_suffix: str = "",
|
|
797
797
|
row_ids: List[str] = [],
|
|
798
|
-
data_model_name: str = ''
|
|
798
|
+
data_model_name: str = '',
|
|
799
|
+
mount_tos: bool = False) -> List[Run]:
|
|
799
800
|
"""Submit an existed workflow.
|
|
800
801
|
|
|
801
802
|
*Example*:
|
|
@@ -846,6 +847,7 @@ class Workflow(metaclass=SingletonType):
|
|
|
846
847
|
'Inputs': inputs,
|
|
847
848
|
'ExposedOptions': {
|
|
848
849
|
"ReadFromCache": call_caching,
|
|
850
|
+
"MountTOS": mount_tos,
|
|
849
851
|
# TODO this may change in the future
|
|
850
852
|
"ExecutionRootDir": f"s3://{self.bucket}"
|
|
851
853
|
},
|
bioos/resource/workspaces.py
CHANGED
|
@@ -121,3 +121,8 @@ class Workspace(metaclass=SingletonType):
|
|
|
121
121
|
if not self._bucket:
|
|
122
122
|
self._bucket = self.basic_info.get("s3_bucket")
|
|
123
123
|
return Workflow(name, self._id, self._bucket)
|
|
124
|
+
|
|
125
|
+
def bind_cluster(self, cluster_id: str, type_: str = "workflow") -> dict:
|
|
126
|
+
"""把当前 Workspace 绑定到指定集群"""
|
|
127
|
+
params = {"ClusterID": cluster_id, "Type": type_, "ID": self._id}
|
|
128
|
+
return Config.service().bind_cluster_to_workspace(params)
|
bioos/service/BioOsService.py
CHANGED
|
@@ -47,6 +47,11 @@ class BioOsService(Service):
|
|
|
47
47
|
'Action': 'ListWorkspaces',
|
|
48
48
|
'Version': '2021-03-04'
|
|
49
49
|
}, {}, {}),
|
|
50
|
+
'CreateWorkspace':
|
|
51
|
+
ApiInfo('POST', '/', {
|
|
52
|
+
'Action': 'CreateWorkspace',
|
|
53
|
+
'Version': '2021-03-04'
|
|
54
|
+
}, {}, {}),
|
|
50
55
|
'CreateDataModel':
|
|
51
56
|
ApiInfo('POST', '/', {
|
|
52
57
|
'Action': 'CreateDataModel',
|
|
@@ -127,12 +132,19 @@ class BioOsService(Service):
|
|
|
127
132
|
'Action': 'DeleteWorkflow',
|
|
128
133
|
'Version': '2021-03-04'
|
|
129
134
|
}, {}, {}),
|
|
135
|
+
'BindClusterToWorkspace':
|
|
136
|
+
ApiInfo('POST', '/', {
|
|
137
|
+
'Action': 'BindClusterToWorkspace',
|
|
138
|
+
'Version': '2021-03-04'
|
|
139
|
+
}, {}, {}),
|
|
130
140
|
}
|
|
131
141
|
return api_info
|
|
132
142
|
|
|
133
143
|
def list_workspaces(self, params): # 以下各方法的params需要在外部使用时构建
|
|
134
144
|
return self.__request('ListWorkspaces', params)
|
|
135
145
|
|
|
146
|
+
def create_workspace(self, params):
|
|
147
|
+
return self.__request('CreateWorkspace', params)
|
|
136
148
|
def create_data_model(self, params):
|
|
137
149
|
return self.__request('CreateDataModel', params)
|
|
138
150
|
|
|
@@ -181,6 +193,9 @@ class BioOsService(Service):
|
|
|
181
193
|
def delete_workflow(self, params):
|
|
182
194
|
return self.__request("DeleteWorkflow", params)
|
|
183
195
|
|
|
196
|
+
def bind_cluster_to_workspace(self, params):
|
|
197
|
+
return self.__request("BindClusterToWorkspace", params)
|
|
198
|
+
|
|
184
199
|
def __request(self, action, params):
|
|
185
200
|
res = self.json(
|
|
186
201
|
action, dict(),
|
bioos/workflow_info.py
CHANGED
|
@@ -2,14 +2,13 @@ from typing import Dict, Any, List, Optional
|
|
|
2
2
|
import pandas as pd
|
|
3
3
|
|
|
4
4
|
from bioos import bioos
|
|
5
|
-
from bioos.config import Config
|
|
5
|
+
from bioos.config import Config, DEFAULT_ENDPOINT
|
|
6
6
|
from bioos.errors import NotFoundError
|
|
7
7
|
|
|
8
|
-
|
|
9
8
|
class WorkflowInfo:
|
|
10
9
|
"""Bio-OS 工作流信息查询类"""
|
|
11
10
|
|
|
12
|
-
def __init__(self, ak: str, sk: str, endpoint: str =
|
|
11
|
+
def __init__(self, ak: str, sk: str, endpoint: str = DEFAULT_ENDPOINT):
|
|
13
12
|
"""
|
|
14
13
|
初始化工作流信息查询类
|
|
15
14
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: pybioos
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.18
|
|
4
4
|
Summary: BioOS SDK for Python
|
|
5
5
|
Home-page: https://github.com/GBA-BI/pybioos
|
|
6
6
|
Author: Jilong Liu
|
|
@@ -13,13 +13,15 @@ Classifier: Intended Audience :: Science/Research
|
|
|
13
13
|
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
|
|
14
14
|
Classifier: Topic :: Scientific/Engineering :: Interface Engine/Protocol Translator
|
|
15
15
|
License-File: LICENSE
|
|
16
|
-
Requires-Dist: volcengine >=1.0.61
|
|
17
|
-
Requires-Dist: tabulate >=0.8.10
|
|
18
|
-
Requires-Dist: click >=8.0.0
|
|
19
|
-
Requires-Dist: pandas >=1.3.0
|
|
20
|
-
Requires-Dist: tos ==2.5.6
|
|
21
|
-
Requires-Dist: cachetools >=5.2.0
|
|
22
|
-
Requires-Dist: typing-extensions >=4.4.0
|
|
23
|
-
Requires-Dist: apscheduler >=3.10.4
|
|
24
|
-
Requires-Dist: colorama >=0.4.6
|
|
16
|
+
Requires-Dist: volcengine (>=1.0.61)
|
|
17
|
+
Requires-Dist: tabulate (>=0.8.10)
|
|
18
|
+
Requires-Dist: click (>=8.0.0)
|
|
19
|
+
Requires-Dist: pandas (>=1.3.0)
|
|
20
|
+
Requires-Dist: tos (==2.5.6)
|
|
21
|
+
Requires-Dist: cachetools (>=5.2.0)
|
|
22
|
+
Requires-Dist: typing-extensions (>=4.4.0)
|
|
23
|
+
Requires-Dist: apscheduler (>=3.10.4)
|
|
24
|
+
Requires-Dist: colorama (>=0.4.6)
|
|
25
|
+
|
|
26
|
+
UNKNOWN
|
|
25
27
|
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
bioos/__about__.py,sha256=
|
|
1
|
+
bioos/__about__.py,sha256=YQNxIWM75-mGePypUWLizOs5j9z-3m-wmI5X1hBjL0g,57
|
|
2
2
|
bioos/__init__.py,sha256=4GZKi13lDTD25YBkGakhZyEQZWTER_OWQMNPoH_UM2c,22
|
|
3
|
-
bioos/bioos.py,sha256=
|
|
4
|
-
bioos/bioos_workflow.py,sha256=
|
|
5
|
-
bioos/bw_import.py,sha256=
|
|
6
|
-
bioos/bw_import_status_check.py,sha256=
|
|
7
|
-
bioos/bw_status_check.py,sha256=
|
|
8
|
-
bioos/config.py,sha256
|
|
3
|
+
bioos/bioos.py,sha256=fFnbtwOyF5U3N_D41jXPYB2H4xKBsI931nS-qBUFW70,3231
|
|
4
|
+
bioos/bioos_workflow.py,sha256=s_5lEFclHf3ZAtmIPRYcizQU5sEsc-Zm6FGP89_wL8g,15525
|
|
5
|
+
bioos/bw_import.py,sha256=kYS4BDbyIXyaFIOCUyOnAzIbLdHvY3l3KLPDVfAnFSM,5829
|
|
6
|
+
bioos/bw_import_status_check.py,sha256=x9Y_0I8huoC7aBgObuox-0z6foSr99TXQB7jozyQ7Eo,2972
|
|
7
|
+
bioos/bw_status_check.py,sha256=Etj_zp6tS0cj4t-nksUq221pPIWUFS0Lz0q0Uqflpes,3094
|
|
8
|
+
bioos/config.py,sha256=-1qS0uYgV-h3d67LyOuJ3lzDskEytXHI7T65-p8tnhA,4405
|
|
9
9
|
bioos/errors.py,sha256=p0fH6JSMYBjul88lMJ7PPwGNh4SYg62-7VMNuUXWl-E,2540
|
|
10
|
-
bioos/get_submission_logs.py,sha256=
|
|
10
|
+
bioos/get_submission_logs.py,sha256=e0OlWwMso8bB6u1TepJpRim2L-trxM6x3IdgZSwo7jc,4112
|
|
11
11
|
bioos/log.py,sha256=twiCvf5IgJB7uvzANwBluSlztJN8ZrxbGZUBGlZ0vps,3204
|
|
12
|
-
bioos/workflow_info.py,sha256=
|
|
12
|
+
bioos/workflow_info.py,sha256=5PT45Lv-Js84ljZxjb9uNl0Jd5l-LYnXyKHYKrOhcjI,6840
|
|
13
13
|
bioos/internal/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
14
14
|
bioos/internal/tos.py,sha256=0R6YN2lxjjZsuMfv0yLSkBmz_LqmzQGb8GagnUMc8EY,12264
|
|
15
15
|
bioos/models/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
@@ -18,9 +18,9 @@ bioos/resource/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
|
18
18
|
bioos/resource/data_models.py,sha256=enKp8yyQI8IbRqe--0Xtyg1XzOwQQPQzoQsx_hNuZ6E,5089
|
|
19
19
|
bioos/resource/files.py,sha256=1HY0IHvq8H843VM2XZIHDdCuXXNcMrlEFhSNqWXmFzE,8456
|
|
20
20
|
bioos/resource/utility.py,sha256=emY7qVLLLvGmQYlVj-_bLAxU7i1GfQOUybdRkfEDwVA,1300
|
|
21
|
-
bioos/resource/workflows.py,sha256=
|
|
22
|
-
bioos/resource/workspaces.py,sha256=
|
|
23
|
-
bioos/service/BioOsService.py,sha256=
|
|
21
|
+
bioos/resource/workflows.py,sha256=OZ1RRedls4wirri_Ts5dP9IX0XqJA2pwA-_UxORrc-M,29497
|
|
22
|
+
bioos/resource/workspaces.py,sha256=HZCdMzfpSZMm6x9cHDuAXCv-CTCoaVjfQ6EGz-Rek1g,4269
|
|
23
|
+
bioos/service/BioOsService.py,sha256=yXUo6PKaMv8V-SleIwedKtV8aTC3dhESWH2lxL7jY7A,7299
|
|
24
24
|
bioos/service/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
25
25
|
bioos/service/api.py,sha256=Khihn187bACEfBcJ-tRS9JO29-VCBsH0-9qq-i5WxkQ,8737
|
|
26
26
|
bioos/service/config.py,sha256=FbBsb6CpcLsQZH7n8uuUbFVhkpqYOEnOe0xGkA7ZrjA,1009
|
|
@@ -35,9 +35,9 @@ bioos/tests/workspaces.py,sha256=LuuRrTs2XqfE5mGQyJNl9RBtuMb4NZHBJFoO8HMZVYQ,522
|
|
|
35
35
|
bioos/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
36
36
|
bioos/utils/common_tools.py,sha256=fgMoE_-qZjgfQtUj_pmCTyYDtbJasyfH4Gm3VQsbgBQ,1651
|
|
37
37
|
bioos/utils/workflows.py,sha256=zRbwTUigoM5V5LFOgzQPm3kwxt5Ogz95OFfefJc6Fjo,133
|
|
38
|
-
pybioos-0.0.
|
|
39
|
-
pybioos-0.0.
|
|
40
|
-
pybioos-0.0.
|
|
41
|
-
pybioos-0.0.
|
|
42
|
-
pybioos-0.0.
|
|
43
|
-
pybioos-0.0.
|
|
38
|
+
pybioos-0.0.18.dist-info/LICENSE,sha256=cPkGXsgfPgEhIns7Lt3Avxx0Uy-VbdsoP8jvNGuj3cE,1063
|
|
39
|
+
pybioos-0.0.18.dist-info/METADATA,sha256=XJyGrHDGUm0WmQ4hGLx4l59ImW38IpFplODIlLHZCPI,830
|
|
40
|
+
pybioos-0.0.18.dist-info/WHEEL,sha256=OqRkF0eY5GHssMorFjlbTIq072vpHpF60fIQA6lS9xA,92
|
|
41
|
+
pybioos-0.0.18.dist-info/entry_points.txt,sha256=Sc5H0_X7r03Mef4Qd70bebqgdIbVAxLU7nV7qP7cKD4,328
|
|
42
|
+
pybioos-0.0.18.dist-info/top_level.txt,sha256=llpzydkKVDSaWZgz3bsTUsQmhoQpc_JcRJg2-H-5a2U,6
|
|
43
|
+
pybioos-0.0.18.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|