pybioos 0.0.17__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 +24 -2
- bioos/bioos_workflow.py +11 -2
- bioos/resource/workflows.py +3 -1
- bioos/resource/workspaces.py +5 -0
- bioos/service/BioOsService.py +15 -0
- {pybioos-0.0.17.dist-info → pybioos-0.0.18.dist-info}/METADATA +1 -1
- {pybioos-0.0.17.dist-info → pybioos-0.0.18.dist-info}/RECORD +12 -12
- {pybioos-0.0.17.dist-info → pybioos-0.0.18.dist-info}/LICENSE +0 -0
- {pybioos-0.0.17.dist-info → pybioos-0.0.18.dist-info}/WHEEL +0 -0
- {pybioos-0.0.17.dist-info → pybioos-0.0.18.dist-info}/entry_points.txt +0 -0
- {pybioos-0.0.17.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
|
|
|
@@ -22,7 +22,7 @@ def status() -> Config.LoginInfo:
|
|
|
22
22
|
|
|
23
23
|
def login(access_key: str,
|
|
24
24
|
secret_key: str,
|
|
25
|
-
endpoint: 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
|
|
|
@@ -73,6 +73,28 @@ def list_workspaces() -> DataFrame:
|
|
|
73
73
|
}).get("Items"))
|
|
74
74
|
|
|
75
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
|
+
|
|
76
98
|
def workspace(id_: str) -> Workspace: # 这里是workspace的入口
|
|
77
99
|
"""Returns the workspace for the given name .
|
|
78
100
|
|
bioos/bioos_workflow.py
CHANGED
|
@@ -178,7 +178,8 @@ class Bioos_workflow:
|
|
|
178
178
|
data_model_name: str = "dm",
|
|
179
179
|
submission_desc: str = "Submit by pybioos",
|
|
180
180
|
call_caching: bool = True,
|
|
181
|
-
force_reupload: bool = False
|
|
181
|
+
force_reupload: bool = False,
|
|
182
|
+
mount_tos: bool = False):
|
|
182
183
|
if not os.path.isfile(input_json_file):
|
|
183
184
|
raise ParameterError('Input_json_file is not found.')
|
|
184
185
|
#给每一个data_model加一个uuid,保证不重复
|
|
@@ -229,6 +230,7 @@ class Bioos_workflow:
|
|
|
229
230
|
"outputs": "{}",
|
|
230
231
|
"submission_desc": submission_desc,
|
|
231
232
|
"call_caching": call_caching,
|
|
233
|
+
"mount_tos": mount_tos,
|
|
232
234
|
}
|
|
233
235
|
|
|
234
236
|
# if the input json is a batch or singleton submission
|
|
@@ -363,6 +365,12 @@ def bioos_workflow():
|
|
|
363
365
|
action='store_true',
|
|
364
366
|
help="Force reupolad tos existed files.")
|
|
365
367
|
|
|
368
|
+
parser.add_argument(
|
|
369
|
+
"--mount_tos",
|
|
370
|
+
action='store_true',
|
|
371
|
+
help="是否挂载tos",
|
|
372
|
+
default=False)
|
|
373
|
+
|
|
366
374
|
parser.add_argument(
|
|
367
375
|
"--monitor",
|
|
368
376
|
action='store_true',
|
|
@@ -394,7 +402,8 @@ def bioos_workflow():
|
|
|
394
402
|
data_model_name=parsed_args.data_model_name,
|
|
395
403
|
submission_desc=parsed_args.submission_desc,
|
|
396
404
|
call_caching=parsed_args.call_caching,
|
|
397
|
-
force_reupload=parsed_args.force_reupload
|
|
405
|
+
force_reupload=parsed_args.force_reupload,
|
|
406
|
+
mount_tos=parsed_args.mount_tos)
|
|
398
407
|
bw.submit_workflow_bioosapi()
|
|
399
408
|
|
|
400
409
|
# moniter
|
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(),
|
|
@@ -1,7 +1,7 @@
|
|
|
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=
|
|
3
|
+
bioos/bioos.py,sha256=fFnbtwOyF5U3N_D41jXPYB2H4xKBsI931nS-qBUFW70,3231
|
|
4
|
+
bioos/bioos_workflow.py,sha256=s_5lEFclHf3ZAtmIPRYcizQU5sEsc-Zm6FGP89_wL8g,15525
|
|
5
5
|
bioos/bw_import.py,sha256=kYS4BDbyIXyaFIOCUyOnAzIbLdHvY3l3KLPDVfAnFSM,5829
|
|
6
6
|
bioos/bw_import_status_check.py,sha256=x9Y_0I8huoC7aBgObuox-0z6foSr99TXQB7jozyQ7Eo,2972
|
|
7
7
|
bioos/bw_status_check.py,sha256=Etj_zp6tS0cj4t-nksUq221pPIWUFS0Lz0q0Uqflpes,3094
|
|
@@ -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
|
|
File without changes
|
|
File without changes
|