pybiolib 1.2.366__py3-none-any.whl → 1.2.406__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.
- biolib/app/app.py +10 -1
- biolib/biolib_errors.py +9 -0
- {pybiolib-1.2.366.dist-info → pybiolib-1.2.406.dist-info}/METADATA +1 -1
- {pybiolib-1.2.366.dist-info → pybiolib-1.2.406.dist-info}/RECORD +7 -7
- {pybiolib-1.2.366.dist-info → pybiolib-1.2.406.dist-info}/LICENSE +0 -0
- {pybiolib-1.2.366.dist-info → pybiolib-1.2.406.dist-info}/WHEEL +0 -0
- {pybiolib-1.2.366.dist-info → pybiolib-1.2.406.dist-info}/entry_points.txt +0 -0
biolib/app/app.py
CHANGED
@@ -11,7 +11,7 @@ from biolib.biolib_api_client.app_types import App, AppVersion
|
|
11
11
|
from biolib.biolib_api_client.biolib_app_api import BiolibAppApi
|
12
12
|
from biolib.biolib_api_client.biolib_job_api import BiolibJobApi
|
13
13
|
from biolib.biolib_binary_format import ModuleInput
|
14
|
-
from biolib.biolib_errors import BioLibError
|
14
|
+
from biolib.biolib_errors import BioLibError, JobResultNonZeroExitCodeError
|
15
15
|
from biolib.biolib_logging import logger
|
16
16
|
from biolib.compute_node.job_worker.job_worker import JobWorker
|
17
17
|
from biolib.experiments.experiment import Experiment
|
@@ -59,10 +59,14 @@ class BioLibApp:
|
|
59
59
|
machine_count: Optional[int] = None,
|
60
60
|
experiment: Optional[str] = None,
|
61
61
|
temporary_client_secrets: Optional[Dict[str, str]] = None,
|
62
|
+
check: bool = False,
|
62
63
|
) -> Job:
|
63
64
|
if experiment_id and experiment:
|
64
65
|
raise ValueError('Only one of experiment_id and experiment can be specified')
|
65
66
|
|
67
|
+
if check and not blocking:
|
68
|
+
raise ValueError('The argument "check" cannot be True when blocking is False')
|
69
|
+
|
66
70
|
if not experiment_id:
|
67
71
|
experiment_instance = Experiment(experiment) if experiment else Experiment.get_experiment_in_context()
|
68
72
|
experiment_id = experiment_instance.uuid if experiment_instance else None
|
@@ -105,6 +109,11 @@ class BioLibApp:
|
|
105
109
|
)
|
106
110
|
job._stream_logs(enable_print=enable_print) # pylint: disable=protected-access
|
107
111
|
|
112
|
+
if check:
|
113
|
+
exit_code = job.get_exit_code()
|
114
|
+
if exit_code != 0:
|
115
|
+
raise JobResultNonZeroExitCodeError(exit_code)
|
116
|
+
|
108
117
|
return job
|
109
118
|
|
110
119
|
def exec(self, args=None, stdin=None, files=None, machine=''):
|
biolib/biolib_errors.py
CHANGED
@@ -43,3 +43,12 @@ class JobResultNotFound(JobResultError):
|
|
43
43
|
|
44
44
|
class JobResultPermissionError(JobResultError):
|
45
45
|
pass
|
46
|
+
|
47
|
+
|
48
|
+
class JobResultNonZeroExitCodeError(JobResultError):
|
49
|
+
"""Raised when an app returns a non-zero exit code and check=True."""
|
50
|
+
def __init__(self, exit_code: int, message: Optional[str] = None):
|
51
|
+
self.exit_code = exit_code
|
52
|
+
super().__init__(
|
53
|
+
message or f'App returned non-zero exit code: {exit_code}'
|
54
|
+
)
|
@@ -29,7 +29,7 @@ biolib/_runtime/runtime.py,sha256=bZQ0m39R9jOBVAtlyvzDnOobKueOAQUCwMUZjDQnO7E,44
|
|
29
29
|
biolib/api/__init__.py,sha256=mQ4u8FijqyLzjYMezMUUbbBGNB3iFmkNdjXnWPZ7Jlw,138
|
30
30
|
biolib/api/client.py,sha256=EN3lDbbgWxw3aPDe8W5XIU6WkMfOHW7Dmsz-R6QqxAw,4176
|
31
31
|
biolib/app/__init__.py,sha256=cdPtcfb_U-bxb9iSL4fCEq2rpD9OjkyY4W-Zw60B0LI,37
|
32
|
-
biolib/app/app.py,sha256=
|
32
|
+
biolib/app/app.py,sha256=qhPa-nkIYwq1YUIZyRvs_gzNRJiRpHnOFxIvktDp6Jg,9222
|
33
33
|
biolib/app/search_apps.py,sha256=K4a41f5XIWth2BWI7OffASgIsD0ko8elCax8YL2igaY,1470
|
34
34
|
biolib/biolib_api_client/__init__.py,sha256=E5EMa19wJoblwSdQPYrxc_BtIeRsAuO0L_jQweWw-Yk,182
|
35
35
|
biolib/biolib_api_client/api_client.py,sha256=ohvbWbpresxLHFGPkvXACfmiTYsBk8RBx5XsBbLYg_M,7546
|
@@ -55,7 +55,7 @@ biolib/biolib_binary_format/system_status_update.py,sha256=aOELuQ0k-GtpaZTUxYd0G
|
|
55
55
|
biolib/biolib_binary_format/utils.py,sha256=jq31QEShs7TSrSKZBr8jif-bJAwVzQrqVxmymL6crpU,5453
|
56
56
|
biolib/biolib_docker_client/__init__.py,sha256=aBfA6mtWSI5dBEfNNMD6bIZzCPloW4ghKm0wqQiljdo,1481
|
57
57
|
biolib/biolib_download_container.py,sha256=8TmBV8iv3bCvkNlHa1SSsc4zl0wX_eaxhfnW5rvFIh8,1779
|
58
|
-
biolib/biolib_errors.py,sha256=
|
58
|
+
biolib/biolib_errors.py,sha256=eyQolC4oGi350BDEMOd-gAHYVqo2L2lYgv6c4ZdXPjQ,1184
|
59
59
|
biolib/biolib_logging.py,sha256=S2y6fk7jjxZQMN2BtKkHBb4JbVQQSSU97T7ep4P_QCE,2855
|
60
60
|
biolib/cli/__init__.py,sha256=0v3c_J-U0k46c5ZWeQjLG_kTaKDJm81LBxQpDO2B_aI,1286
|
61
61
|
biolib/cli/auth.py,sha256=rpWGmXs6Fz6CGrO9K8ibPRszOdXG78Vig_boKaVCD9A,2082
|
@@ -118,8 +118,8 @@ biolib/utils/cache_state.py,sha256=u256F37QSRIVwqKlbnCyzAX4EMI-kl6Dwu6qwj-Qmag,3
|
|
118
118
|
biolib/utils/multipart_uploader.py,sha256=XvGP1I8tQuKhAH-QugPRoEsCi9qvbRk-DVBs5PNwwJo,8452
|
119
119
|
biolib/utils/seq_util.py,sha256=Ozk0blGtPur_D9MwShD02r_mphyQmgZkx-lOHOwnlIM,6730
|
120
120
|
biolib/utils/zip/remote_zip.py,sha256=0wErYlxir5921agfFeV1xVjf29l9VNgGQvNlWOlj2Yc,23232
|
121
|
-
pybiolib-1.2.
|
122
|
-
pybiolib-1.2.
|
123
|
-
pybiolib-1.2.
|
124
|
-
pybiolib-1.2.
|
125
|
-
pybiolib-1.2.
|
121
|
+
pybiolib-1.2.406.dist-info/LICENSE,sha256=F2h7gf8i0agDIeWoBPXDMYScvQOz02pAWkKhTGOHaaw,1067
|
122
|
+
pybiolib-1.2.406.dist-info/METADATA,sha256=RMsKTpxadkRTJtaOOCrJ8pg8vdwOyQGegrOWGX96SEs,1570
|
123
|
+
pybiolib-1.2.406.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
|
124
|
+
pybiolib-1.2.406.dist-info/entry_points.txt,sha256=p6DyaP_2kctxegTX23WBznnrDi4mz6gx04O5uKtRDXg,42
|
125
|
+
pybiolib-1.2.406.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|