pybiolib 1.1.1909__py3-none-any.whl → 1.1.1921__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.
@@ -28,6 +28,9 @@ class DataRecord:
28
28
 
29
29
  self._name = uri_parsed['app_name']
30
30
 
31
+ def __repr__(self):
32
+ return f'DataRecord: {self._uri}'
33
+
31
34
  @property
32
35
  def uri(self) -> str:
33
36
  return self._uri
@@ -91,6 +94,8 @@ class DataRecord:
91
94
  if uri:
92
95
  uri_parsed = parse_app_uri(uri, use_account_as_name_default=False)
93
96
  params['account_handle'] = uri_parsed['account_handle_normalized']
97
+ if uri_parsed['app_name_normalized']:
98
+ params['app_name'] = uri_parsed['app_name_normalized']
94
99
 
95
100
  results = api_client.get(path='/apps/', params=params).json()['results']
96
101
  if count is None and len(results) == max_page_size:
biolib/jobs/job.py CHANGED
@@ -1,9 +1,9 @@
1
1
  import base64
2
- from datetime import datetime, timedelta
3
2
  import sys
4
3
  import time
5
- from pathlib import Path
6
4
  from collections import OrderedDict
5
+ from datetime import datetime, timedelta
6
+ from pathlib import Path
7
7
  from urllib.parse import urlparse
8
8
 
9
9
  from biolib import api, utils
@@ -11,15 +11,15 @@ from biolib._internal.http_client import HttpClient
11
11
  from biolib._internal.utils import open_browser_window_from_notebook
12
12
  from biolib.biolib_api_client import BiolibApiClient
13
13
  from biolib.biolib_api_client.biolib_job_api import BiolibJobApi
14
- from biolib.biolib_binary_format import LazyLoadedFile, ModuleOutputV2, ModuleInput, ModuleInputDict
14
+ from biolib.biolib_binary_format import LazyLoadedFile, ModuleInput, ModuleInputDict, ModuleOutputV2
15
15
  from biolib.biolib_binary_format.stdout_and_stderr import StdoutAndStderr
16
16
  from biolib.biolib_errors import BioLibError, CloudJobFinishedError
17
17
  from biolib.biolib_logging import logger, logger_no_user_data
18
18
  from biolib.compute_node.utils import SystemExceptionCodeMap, SystemExceptionCodes
19
19
  from biolib.jobs.job_result import JobResult
20
- from biolib.jobs.types import JobDict, CloudJobStartedDict, CloudJobDict
20
+ from biolib.jobs.types import CloudJobDict, CloudJobStartedDict, JobDict
21
21
  from biolib.tables import BioLibTable
22
- from biolib.typing_utils import Optional, List, cast, Dict
22
+ from biolib.typing_utils import Dict, List, Optional, cast
23
23
  from biolib.utils import IS_RUNNING_IN_NOTEBOOK
24
24
 
25
25
 
@@ -187,6 +187,18 @@ class Job:
187
187
  print('Please copy and paste the following link into your browser:')
188
188
  print(results_url_to_open)
189
189
 
190
+ def cancel(self) -> None:
191
+ try:
192
+ api.client.patch(
193
+ path=f'/jobs/{self._uuid}/',
194
+ headers={'Job-Auth-Token': self._auth_token} if self._auth_token else None,
195
+ data={'state': 'cancelled'},
196
+ )
197
+ logger.info(f'Job {self._uuid} canceled')
198
+ except Exception as error:
199
+ logger.error(f'Failed to cancel job {self._uuid} due to: {error}')
200
+
201
+
190
202
  def _get_cloud_job(self) -> CloudJobDict:
191
203
  self._refetch_job_dict(force_refetch=True)
192
204
  if self._job_dict['cloud_job'] is None:
biolib/sdk/__init__.py CHANGED
@@ -1,11 +1,11 @@
1
1
  # Imports to hide and use as private internal utils
2
- from biolib._internal.data_record import DataRecord as _DataRecord
3
2
  from biolib._internal.push_application import push_application as _push_application
4
3
  from biolib._internal.push_application import set_app_version_as_active as _set_app_version_as_active
5
4
  from biolib.app import BioLibApp as _BioLibApp
6
5
  from biolib.typing_utils import Optional as _Optional
7
6
 
8
7
  # Imports to expose as public API
8
+ from biolib._internal.data_record import DataRecord
9
9
  from biolib._internal.runtime import Runtime
10
10
 
11
11
 
@@ -42,5 +42,5 @@ def get_app_version_pytest_plugin(app_version: _BioLibApp):
42
42
  return AppVersionFixturePlugin(app_version)
43
43
 
44
44
 
45
- def create_data_record(destination: str, data_path: str, name: _Optional[str] = None) -> _DataRecord:
46
- return _DataRecord.create(destination, data_path, name)
45
+ def create_data_record(destination: str, data_path: str, name: _Optional[str] = None) -> DataRecord:
46
+ return DataRecord.create(destination, data_path, name)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pybiolib
3
- Version: 1.1.1909
3
+ Version: 1.1.1921
4
4
  Summary: BioLib Python Client
5
5
  Home-page: https://github.com/biolib
6
6
  License: MIT
@@ -3,7 +3,7 @@ README.md,sha256=_IH7pxFiqy2bIAmaVeA-iVTyUwWRjMIlfgtUbYTtmls,368
3
3
  biolib/__init__.py,sha256=nfZvVkrHZLvjvvlAvFzhvem9NMfqgmw8NWaCH9HGzew,4045
4
4
  biolib/_internal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  biolib/_internal/data_record/__init__.py,sha256=1Bk303i3rFet9veS56fIsrBYtT5X3n9vcsYMA6T6c5o,36
6
- biolib/_internal/data_record/data_record.py,sha256=brvr88Ri1ro-tHZ-_1S19mX5Yt4Tm7q1c5AoUZfpSNY,6990
6
+ biolib/_internal/data_record/data_record.py,sha256=ctijrrZ-LfUxtwzS8PEVa1VBuBLVWEhmo2yHcEDkC0A,7178
7
7
  biolib/_internal/data_record/remote_storage_endpoint.py,sha256=LPq8Lr5FhKF9_o5K-bUdT7TeLe5XFUD0AAeTkNEVZug,1133
8
8
  biolib/_internal/http_client.py,sha256=38PHvRkqdjcOgRXkWU7UoYCQxHMX0eKpuwKhudDupII,4525
9
9
  biolib/_internal/push_application.py,sha256=H1PGNtVJ0vRC0li39gFMpPpjm6QeZ8Ob-7cLkLmxS_Y,10009
@@ -85,14 +85,14 @@ biolib/experiments/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuF
85
85
  biolib/experiments/experiment.py,sha256=xUd3LkV5ztFIjTx_ehBu8e-flvfuQnYimFtPj1upzb0,5942
86
86
  biolib/experiments/types.py,sha256=n9GxdFA7cLMfHvLLqLmZzX31ELeSSkMXFoEEdFsdWGY,171
87
87
  biolib/jobs/__init__.py,sha256=aIb2H2DHjQbM2Bs-dysFijhwFcL58Blp0Co0gimED3w,32
88
- biolib/jobs/job.py,sha256=_lYtqaTrtq3ayDvnaB9RuUMBTxCRKYGKVADUd473pWQ,15718
88
+ biolib/jobs/job.py,sha256=WFcHYYOkvAhmYRUykWFbjhshiF_dy1-eiPIMCS1CIeo,16157
89
89
  biolib/jobs/job_result.py,sha256=8GasUmUXD8SjUYrE2N-HrDx7-AI6TEkFONH8H91t01Q,4913
90
90
  biolib/jobs/types.py,sha256=4OAvlhOKANzFMrZDd-mhXpEd8RaKcx8sPneZUoWhJ2U,970
91
91
  biolib/lfs/__init__.py,sha256=Qv8vdYeK43JecT4SsE93ZYE2VmNiZENdNpW8P9-omxs,115
92
92
  biolib/lfs/cache.py,sha256=pQS2np21rdJ6I3DpoOutnzPHpLOZgUIS8TMltUJk_k4,2226
93
93
  biolib/lfs/utils.py,sha256=HSs7F2wXklYhhv5tabfaeC5noXJyxRjbGD5IhWOVdxs,5918
94
94
  biolib/runtime/__init__.py,sha256=x1Ivydtu9TFTaX-Cofg_kGA-TI0zLon-ccrFiiVgBok,492
95
- biolib/sdk/__init__.py,sha256=77IBthMbwgmYymjQwLP4ny1X2ikvI1I0ocP6Eyzfyaw,1766
95
+ biolib/sdk/__init__.py,sha256=wkQs7ltIpYK9Xw0-FLLacblemmlNGz8J2UmlM0noGSs,1749
96
96
  biolib/tables.py,sha256=acH7VjwAbadLo8P84FSnKEZxCTVsF5rEg9VPuxElNs8,872
97
97
  biolib/templates/__init__.py,sha256=Yx62sSyDCDesRQDQgmbDsLpfgEh93fWE8r9u4g2azXk,36
98
98
  biolib/templates/example_app.py,sha256=EB3E3RT4SeO_ii5nVQqJpi5KDGNE_huF1ub-e5ZFveE,715
@@ -105,8 +105,8 @@ biolib/utils/cache_state.py,sha256=u256F37QSRIVwqKlbnCyzAX4EMI-kl6Dwu6qwj-Qmag,3
105
105
  biolib/utils/multipart_uploader.py,sha256=XvGP1I8tQuKhAH-QugPRoEsCi9qvbRk-DVBs5PNwwJo,8452
106
106
  biolib/utils/seq_util.py,sha256=jC5WhH63FTD7SLFJbxQGA2hOt9NTwq9zHl_BEec1Z0c,4907
107
107
  biolib/utils/zip/remote_zip.py,sha256=0wErYlxir5921agfFeV1xVjf29l9VNgGQvNlWOlj2Yc,23232
108
- pybiolib-1.1.1909.dist-info/LICENSE,sha256=F2h7gf8i0agDIeWoBPXDMYScvQOz02pAWkKhTGOHaaw,1067
109
- pybiolib-1.1.1909.dist-info/METADATA,sha256=A5DvDC6UPyTlKUEOiXxW04UBC4vLCW20Wy3RqjeAbk4,1508
110
- pybiolib-1.1.1909.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
111
- pybiolib-1.1.1909.dist-info/entry_points.txt,sha256=p6DyaP_2kctxegTX23WBznnrDi4mz6gx04O5uKtRDXg,42
112
- pybiolib-1.1.1909.dist-info/RECORD,,
108
+ pybiolib-1.1.1921.dist-info/LICENSE,sha256=F2h7gf8i0agDIeWoBPXDMYScvQOz02pAWkKhTGOHaaw,1067
109
+ pybiolib-1.1.1921.dist-info/METADATA,sha256=quYP4m07RNqDCIBxj-UafoDq46C2e63zXhXD1QLGhiQ,1508
110
+ pybiolib-1.1.1921.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
111
+ pybiolib-1.1.1921.dist-info/entry_points.txt,sha256=p6DyaP_2kctxegTX23WBznnrDi4mz6gx04O5uKtRDXg,42
112
+ pybiolib-1.1.1921.dist-info/RECORD,,