pybiolib 1.2.122__py3-none-any.whl → 1.2.141.dev1__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/__init__.py +2 -2
- biolib/_internal/push_application.py +5 -5
- biolib/cli/push.py +15 -2
- biolib/jobs/job.py +24 -6
- biolib/sdk/__init__.py +2 -1
- {pybiolib-1.2.122.dist-info → pybiolib-1.2.141.dev1.dist-info}/METADATA +1 -1
- {pybiolib-1.2.122.dist-info → pybiolib-1.2.141.dev1.dist-info}/RECORD +10 -10
- {pybiolib-1.2.122.dist-info → pybiolib-1.2.141.dev1.dist-info}/LICENSE +0 -0
- {pybiolib-1.2.122.dist-info → pybiolib-1.2.141.dev1.dist-info}/WHEEL +0 -0
- {pybiolib-1.2.122.dist-info → pybiolib-1.2.141.dev1.dist-info}/entry_points.txt +0 -0
biolib/__init__.py
CHANGED
@@ -49,8 +49,8 @@ def get_data_record(uri: str) -> _DataRecord:
|
|
49
49
|
return _DataRecord.get_by_uri(uri)
|
50
50
|
|
51
51
|
|
52
|
-
def fetch_jobs(count: int = 25) -> List[_Job]:
|
53
|
-
return _Job.fetch_jobs(count)
|
52
|
+
def fetch_jobs(count: int = 25, status: Optional[str] = None) -> List[_Job]:
|
53
|
+
return _Job.fetch_jobs(count, status)
|
54
54
|
|
55
55
|
|
56
56
|
def fetch_data_records(uri: Optional[str] = None, count: Optional[int] = None) -> List[_DataRecord]:
|
@@ -76,7 +76,8 @@ def push_application(
|
|
76
76
|
app_uri: str,
|
77
77
|
app_path: str,
|
78
78
|
app_version_to_copy_images_from: Optional[str],
|
79
|
-
|
79
|
+
set_as_active: bool,
|
80
|
+
set_as_published: bool,
|
80
81
|
):
|
81
82
|
app_uri_parts = app_uri.split(':')
|
82
83
|
if len(app_uri_parts) > 2:
|
@@ -276,12 +277,11 @@ def push_application(
|
|
276
277
|
app_version_uuid = new_app_version_json['public_id']
|
277
278
|
api.client.post(
|
278
279
|
path=f'/app-versions/{app_version_uuid}/complete-push/',
|
279
|
-
data={'set_as_active':
|
280
|
+
data={'set_as_active': set_as_active, 'set_as_published': set_as_published},
|
280
281
|
)
|
281
282
|
|
282
283
|
sematic_version = f"{new_app_version_json['major']}.{new_app_version_json['minor']}.{new_app_version_json['patch']}"
|
283
|
-
|
284
|
-
|
285
|
-
)
|
284
|
+
version_name = 'development ' if not set_as_published else ''
|
285
|
+
logger.info(f'Successfully pushed new {version_name}version {sematic_version} of {app_uri}.')
|
286
286
|
|
287
287
|
return {'app_uri': app_uri, 'sematic_version': sematic_version}
|
biolib/cli/push.py
CHANGED
@@ -12,12 +12,25 @@ from biolib.biolib_logging import logger, logger_no_user_data
|
|
12
12
|
@click.option('--path', default='.', required=False)
|
13
13
|
@click.option('--copy-images-from-version', required=False)
|
14
14
|
@click.option('--dev', is_flag=True, default=False, required=False)
|
15
|
-
|
15
|
+
@click.option('--pre-release', is_flag=True, default=False, required=False)
|
16
|
+
def push(uri, path: str, copy_images_from_version: Optional[str], dev: bool, pre_release: bool) -> None:
|
16
17
|
logger.configure(default_log_level=logging.INFO)
|
17
18
|
logger_no_user_data.configure(default_log_level=logging.INFO)
|
19
|
+
set_as_active = True
|
20
|
+
set_as_published = True
|
21
|
+
if dev and pre_release:
|
22
|
+
print('Error: you cannot set both --dev and --pre-release, please select one.')
|
23
|
+
exit(1)
|
24
|
+
elif dev:
|
25
|
+
set_as_active = False
|
26
|
+
set_as_published = False
|
27
|
+
elif pre_release:
|
28
|
+
set_as_active = False
|
29
|
+
set_as_published = True
|
18
30
|
push_application(
|
19
31
|
app_path=path,
|
20
32
|
app_uri=uri,
|
21
33
|
app_version_to_copy_images_from=copy_images_from_version,
|
22
|
-
|
34
|
+
set_as_active=set_as_active,
|
35
|
+
set_as_published=set_as_published,
|
23
36
|
)
|
biolib/jobs/job.py
CHANGED
@@ -22,7 +22,7 @@ from biolib.compute_node.utils import SystemExceptionCodeMap, SystemExceptionCod
|
|
22
22
|
from biolib.jobs.job_result import JobResult
|
23
23
|
from biolib.jobs.types import CloudJobDict, CloudJobStartedDict, JobDict
|
24
24
|
from biolib.tables import BioLibTable
|
25
|
-
from biolib.typing_utils import Dict, List, Optional, cast
|
25
|
+
from biolib.typing_utils import Dict, List, Optional, Union, cast
|
26
26
|
from biolib.utils import IS_RUNNING_IN_NOTEBOOK
|
27
27
|
from biolib.utils.app_uri import parse_app_uri
|
28
28
|
|
@@ -232,8 +232,8 @@ class Job:
|
|
232
232
|
self._result = JobResult(job_uuid=self._uuid, job_auth_token=self._auth_token, module_output=module_output)
|
233
233
|
|
234
234
|
@staticmethod
|
235
|
-
def fetch_jobs(count: int) -> List['Job']:
|
236
|
-
job_dicts = Job._get_job_dicts(count)
|
235
|
+
def fetch_jobs(count: int, status: Optional[str] = None) -> List['Job']:
|
236
|
+
job_dicts = Job._get_job_dicts(count, status)
|
237
237
|
return [Job(job_dict) for job_dict in job_dicts]
|
238
238
|
|
239
239
|
@staticmethod
|
@@ -242,9 +242,27 @@ class Job:
|
|
242
242
|
BioLibTable(columns_to_row_map=Job.table_columns_to_row_map, rows=job_dicts, title='Jobs').print_table()
|
243
243
|
|
244
244
|
@staticmethod
|
245
|
-
def _get_job_dicts(count: int) -> List['JobDict']:
|
246
|
-
|
247
|
-
|
245
|
+
def _get_job_dicts(count: int, status: Optional[str] = None) -> List['JobDict']:
|
246
|
+
job_states = ['in_progress', 'completed', 'failed', 'cancelled']
|
247
|
+
if status is not None and status not in job_states:
|
248
|
+
raise Exception('Invalid status filter')
|
249
|
+
|
250
|
+
page_size = min(count, 1_000)
|
251
|
+
params: Dict[str, Union[str, int]] = dict(page_size=page_size)
|
252
|
+
if status:
|
253
|
+
params['state'] = status
|
254
|
+
|
255
|
+
api_path = '/jobs/'
|
256
|
+
response = api.client.get(api_path, params=params).json()
|
257
|
+
jobs = [job_dict for job_dict in response['results']]
|
258
|
+
|
259
|
+
for page_number in range(2, response['page_count'] + 1):
|
260
|
+
page_response = api.client.get(path=api_path, params=dict(**params, page=page_number)).json()
|
261
|
+
jobs.extend([job_dict for job_dict in page_response['results']])
|
262
|
+
if len(jobs) >= count:
|
263
|
+
break
|
264
|
+
|
265
|
+
return jobs
|
248
266
|
|
249
267
|
@staticmethod
|
250
268
|
def _get_job_dict(uuid: str, auth_token: Optional[str] = None) -> JobDict:
|
biolib/sdk/__init__.py
CHANGED
@@ -16,7 +16,8 @@ def push_app_version(uri: str, path: str) -> _BioLibApp:
|
|
16
16
|
app_uri=uri,
|
17
17
|
app_path=path,
|
18
18
|
app_version_to_copy_images_from=None,
|
19
|
-
|
19
|
+
set_as_active=False,
|
20
|
+
set_as_published=False,
|
20
21
|
)
|
21
22
|
uri = f'{push_data["app_uri"]}:{push_data["sematic_version"]}'
|
22
23
|
return _BioLibApp(uri)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
LICENSE,sha256=F2h7gf8i0agDIeWoBPXDMYScvQOz02pAWkKhTGOHaaw,1067
|
2
2
|
PYPI_README.md,sha256=_IH7pxFiqy2bIAmaVeA-iVTyUwWRjMIlfgtUbYTtmls,368
|
3
|
-
biolib/__init__.py,sha256=
|
3
|
+
biolib/__init__.py,sha256=4Rfa0AJKztqkCG5D67kFgSwdOUiBTa5HkAzIOqHNREU,4431
|
4
4
|
biolib/_data_record/data_record.py,sha256=zVAhFU1RLI1-ptoQ_l639RNwrMANXV9j75yXHvB7dtA,10950
|
5
5
|
biolib/_internal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
6
6
|
biolib/_internal/data_record/__init__.py,sha256=fGdME6JGRU_2VxpJbYpGXYndjN-feUkmKY4fuMyq3cg,76
|
@@ -15,7 +15,7 @@ biolib/_internal/lfs/__init__.py,sha256=gSWo_xg61UniYgD7yNYxeT4I9uaXBCBSi3_nmZjn
|
|
15
15
|
biolib/_internal/lfs/cache.py,sha256=pQS2np21rdJ6I3DpoOutnzPHpLOZgUIS8TMltUJk_k4,2226
|
16
16
|
biolib/_internal/libs/__init__.py,sha256=Jdf4tNPqe_oIIf6zYml6TiqhL_02Vyqwge6IELrAFhw,98
|
17
17
|
biolib/_internal/libs/fusepy/__init__.py,sha256=AWDzNFS-XV_5yKb0Qx7kggIhPzq1nj_BZS5y2Nso08k,41944
|
18
|
-
biolib/_internal/push_application.py,sha256=
|
18
|
+
biolib/_internal/push_application.py,sha256=eu9TGTDQUkgY42SAjbURycrrbX8hesBCWBEg0H5CdQQ,11948
|
19
19
|
biolib/_internal/runtime.py,sha256=BiHl4klUHr36MCpqKaUso4idHeBZfPAahLYRQrabFqA,486
|
20
20
|
biolib/_internal/types/__init__.py,sha256=xLgOQJFh3GRtiqIJq7MaqHReZx4pp34_zcaFQ_JjuJ4,198
|
21
21
|
biolib/_internal/types/app.py,sha256=Mz2QGD_jESX-K9JYnLWPo4YA__Q_1FQQTk9pvidCohU,118
|
@@ -64,7 +64,7 @@ biolib/cli/data_record.py,sha256=t8DfJK2EZ_SNZ9drDA_N5Jqy8DNwf9f5SlFrIaOvtv0,350
|
|
64
64
|
biolib/cli/download_container.py,sha256=HIZVHOPmslGE5M2Dsp9r2cCkAEJx__vcsDz5Wt5LRos,483
|
65
65
|
biolib/cli/init.py,sha256=wQOfii_au-d30Hp7DdH-WVw-WVraKvA_zY4za1w7DE8,821
|
66
66
|
biolib/cli/lfs.py,sha256=z2qHUwink85mv9yDgifbVKkVwuyknGhMDTfly_gLKJM,4151
|
67
|
-
biolib/cli/push.py,sha256=
|
67
|
+
biolib/cli/push.py,sha256=RxB4RHpjtL27Fpq7WRGojJ53R9jUuE1Cq9_NmHFzNsM,1306
|
68
68
|
biolib/cli/run.py,sha256=BbvXLQ-XibjQ71Y2d4URMH_8dflNVwM0i3TIWhw_u_c,1634
|
69
69
|
biolib/cli/runtime.py,sha256=Xv-nrma5xX8NidWcvbUKcUvuN5TCarZa4A8mPVmF-z0,361
|
70
70
|
biolib/cli/start.py,sha256=rg8VVY8rboFhf1iQo3zE3WA5oh_R1VWWfYJEO1gMReY,1737
|
@@ -102,11 +102,11 @@ biolib/compute_node/webserver/worker_thread.py,sha256=GRRBUqXdMKvbjyLQhYlqGIbFKe
|
|
102
102
|
biolib/experiments/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
103
103
|
biolib/experiments/experiment.py,sha256=jIRixmQm3Gq9YdJ3I0-rE1vFukXqq6U4zXehFOJ1yZk,7614
|
104
104
|
biolib/jobs/__init__.py,sha256=aIb2H2DHjQbM2Bs-dysFijhwFcL58Blp0Co0gimED3w,32
|
105
|
-
biolib/jobs/job.py,sha256=
|
105
|
+
biolib/jobs/job.py,sha256=ej-dxt1hMBQXzTfUZ2SLqIV8dtTbMSMn_q2rjIA7oN4,19903
|
106
106
|
biolib/jobs/job_result.py,sha256=rALHiKYNaC9lHi_JJqBob1RubzNLwG9Z386kwRJjd2M,5885
|
107
107
|
biolib/jobs/types.py,sha256=qhadtH2KDC2WUOOqPiwke0YgtQY4FtuB71Stekq1k48,970
|
108
108
|
biolib/runtime/__init__.py,sha256=MlRepA11n2H-3plB5rzWyyHK2JmP6PiaP3i6x3vt0mg,506
|
109
|
-
biolib/sdk/__init__.py,sha256=
|
109
|
+
biolib/sdk/__init__.py,sha256=8uyOAKt8-Xo11jAWXCg14NkE1u0FkOBC07L3V7wGsCg,1960
|
110
110
|
biolib/tables.py,sha256=acH7VjwAbadLo8P84FSnKEZxCTVsF5rEg9VPuxElNs8,872
|
111
111
|
biolib/templates/__init__.py,sha256=Yx62sSyDCDesRQDQgmbDsLpfgEh93fWE8r9u4g2azXk,36
|
112
112
|
biolib/templates/example_app.py,sha256=EB3E3RT4SeO_ii5nVQqJpi5KDGNE_huF1ub-e5ZFveE,715
|
@@ -119,8 +119,8 @@ biolib/utils/cache_state.py,sha256=u256F37QSRIVwqKlbnCyzAX4EMI-kl6Dwu6qwj-Qmag,3
|
|
119
119
|
biolib/utils/multipart_uploader.py,sha256=XvGP1I8tQuKhAH-QugPRoEsCi9qvbRk-DVBs5PNwwJo,8452
|
120
120
|
biolib/utils/seq_util.py,sha256=WJnU9vZdwY8RHXvzATyV80OXzyJ7w9EkG33Tna9Nr6A,5698
|
121
121
|
biolib/utils/zip/remote_zip.py,sha256=0wErYlxir5921agfFeV1xVjf29l9VNgGQvNlWOlj2Yc,23232
|
122
|
-
pybiolib-1.2.
|
123
|
-
pybiolib-1.2.
|
124
|
-
pybiolib-1.2.
|
125
|
-
pybiolib-1.2.
|
126
|
-
pybiolib-1.2.
|
122
|
+
pybiolib-1.2.141.dev1.dist-info/LICENSE,sha256=F2h7gf8i0agDIeWoBPXDMYScvQOz02pAWkKhTGOHaaw,1067
|
123
|
+
pybiolib-1.2.141.dev1.dist-info/METADATA,sha256=9NEHC1fbAZuf_mpTlZyUtdPhEGFvBkhcyKwWzxugvfI,1512
|
124
|
+
pybiolib-1.2.141.dev1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
125
|
+
pybiolib-1.2.141.dev1.dist-info/entry_points.txt,sha256=p6DyaP_2kctxegTX23WBznnrDi4mz6gx04O5uKtRDXg,42
|
126
|
+
pybiolib-1.2.141.dev1.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|