pybioos 0.0.16__py3-none-any.whl → 0.0.17__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 CHANGED
@@ -1,4 +1,4 @@
1
1
  # coding:utf-8
2
2
 
3
3
  # Package version
4
- __version__ = "0.0.16"
4
+ __version__ = "0.0.17"
bioos/bioos.py CHANGED
@@ -20,9 +20,9 @@ def status() -> Config.LoginInfo:
20
20
  return Config.login_info()
21
21
 
22
22
 
23
- def login(endpoint: str,
24
- access_key: str,
23
+ def login(access_key: str,
25
24
  secret_key: str,
25
+ endpoint: str = None,
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(endpoint="https://cloud.xxxxx.xxx.cn",access_key="xxxxxxxx",secret_key="xxxxxxxx")
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
- Config.set_endpoint(endpoint)
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
 
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 = {}, []
@@ -323,7 +324,7 @@ def bioos_workflow():
323
324
  parser.add_argument("--endpoint",
324
325
  type=str,
325
326
  help="Bio-OS instance platform endpoint",
326
- default="https://bio-top.miracle.ac.cn")
327
+ default=DEFAULT_ENDPOINT)
327
328
  parser.add_argument(
328
329
  "--ak",
329
330
  type=str,
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("https://bio-top.miracle.ac.cn")
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()
@@ -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("https://bio-top.miracle.ac.cn")
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("https://bio-top.miracle.ac.cn")
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
 
@@ -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("https://bio-top.miracle.ac.cn")
64
+ Config.set_endpoint(args.endpoint)
60
65
 
61
66
  # 获取workspace ID
62
67
  workspaces = bioos.list_workspaces()
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 = "https://bio-top.miracle.ac.cn"):
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.16
3
+ Version: 0.0.17
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=TRnHZsxI7bVBqxAdnBiKbEhtnboUzdISbOREW1kz-io,56
1
+ bioos/__about__.py,sha256=FvqUBfyX_OkxcuTYr1_lcBcEd13i1ew8F8tEpRfcor8,57
2
2
  bioos/__init__.py,sha256=4GZKi13lDTD25YBkGakhZyEQZWTER_OWQMNPoH_UM2c,22
3
- bioos/bioos.py,sha256=fHzOb1l5wYxw6NVYYZDiFcgk4V28BAgWEc3ev12reWs,2409
4
- bioos/bioos_workflow.py,sha256=BgooweeFT4O7SyProup2gOVSeXDb3pXWge--PD7J-lE,15232
5
- bioos/bw_import.py,sha256=lQk_ch_tTz8l4bnWniOzWZ1IxI6ZvKlaASkNMsdDGfA,5697
6
- bioos/bw_import_status_check.py,sha256=sJuso2SAfZWvPzypnGge25Ayv5PsSGRXqSNNwIhNu-E,2794
7
- bioos/bw_status_check.py,sha256=FVilkawRA7GD1JXUBeaR28W1DfN9bAzYBIAjqi4JIno,2916
8
- bioos/config.py,sha256=CvFabYqV1BkFWO8fnr5vBf6xNtNzA8hAEVeEIbvAOm8,4307
3
+ bioos/bioos.py,sha256=yhaWaJMwP23fMtid2mNWUetGwDUbUtCKwugXt27OLTs,2600
4
+ bioos/bioos_workflow.py,sha256=LRzYxuNnbF3R7urrMRjMRwR2hGDmH_4kP52D2Gger8k,15259
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=jUtT8Vic8h_VOcqrqJsTBSonve64RjbKNAyp0wUtIpg,3934
10
+ bioos/get_submission_logs.py,sha256=e0OlWwMso8bB6u1TepJpRim2L-trxM6x3IdgZSwo7jc,4112
11
11
  bioos/log.py,sha256=twiCvf5IgJB7uvzANwBluSlztJN8ZrxbGZUBGlZ0vps,3204
12
- bioos/workflow_info.py,sha256=bE9h1pE7Co8icS-J5WVHfSAbjef9EtLhpWjbHQcnFfc,6838
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
@@ -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.16.dist-info/LICENSE,sha256=cPkGXsgfPgEhIns7Lt3Avxx0Uy-VbdsoP8jvNGuj3cE,1063
39
- pybioos-0.0.16.dist-info/METADATA,sha256=9M9p2P6lr9kiUB1KIQ15MZPIADDBFhw8YD1Zjho1oBk,803
40
- pybioos-0.0.16.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
41
- pybioos-0.0.16.dist-info/entry_points.txt,sha256=O-8Gg-zLuYcnOYbx1BMqAgEsoEZfKwtM19cUctHuYus,327
42
- pybioos-0.0.16.dist-info/top_level.txt,sha256=llpzydkKVDSaWZgz3bsTUsQmhoQpc_JcRJg2-H-5a2U,6
43
- pybioos-0.0.16.dist-info/RECORD,,
38
+ pybioos-0.0.17.dist-info/LICENSE,sha256=cPkGXsgfPgEhIns7Lt3Avxx0Uy-VbdsoP8jvNGuj3cE,1063
39
+ pybioos-0.0.17.dist-info/METADATA,sha256=thfygW7I6xtSkuKrMuzRw00fzmtPRtvFB5yfNIHRoj8,830
40
+ pybioos-0.0.17.dist-info/WHEEL,sha256=OqRkF0eY5GHssMorFjlbTIq072vpHpF60fIQA6lS9xA,92
41
+ pybioos-0.0.17.dist-info/entry_points.txt,sha256=Sc5H0_X7r03Mef4Qd70bebqgdIbVAxLU7nV7qP7cKD4,328
42
+ pybioos-0.0.17.dist-info/top_level.txt,sha256=llpzydkKVDSaWZgz3bsTUsQmhoQpc_JcRJg2-H-5a2U,6
43
+ pybioos-0.0.17.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.42.0)
2
+ Generator: bdist_wheel (0.36.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -4,3 +4,4 @@ bw_import = bioos.bw_import:bioos_workflow_import
4
4
  bw_import_status_check = bioos.bw_import_status_check:bioos_workflow_status_check
5
5
  bw_status_check = bioos.bw_status_check:bioos_workflow_status_check
6
6
  get_submission_logs = bioos.get_submission_logs:get_submission_logs
7
+