pybiolib 1.1.2138__py3-none-any.whl → 1.1.2145__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.
@@ -1,4 +1,12 @@
1
+ import os
2
+ from collections import namedtuple
3
+ from datetime import datetime
4
+ from fnmatch import fnmatch
5
+ from struct import Struct
6
+ from typing import Callable, Dict, List, Union, cast
7
+
1
8
  from biolib import api
9
+ from biolib._internal import types
2
10
  from biolib._internal.data_record import get_data_record_state_from_uri, push_data_record_version
3
11
  from biolib._internal.data_record.remote_storage_endpoint import DataRecordRemoteStorageEndpoint
4
12
  from biolib._internal.http_client import HttpClient
@@ -12,14 +20,6 @@ from biolib.typing_utils import Optional as _Optional
12
20
  from biolib.utils.app_uri import parse_app_uri
13
21
  from biolib.utils.zip.remote_zip import RemoteZip
14
22
 
15
-
16
- import os
17
- from collections import namedtuple
18
- from datetime import datetime
19
- from fnmatch import fnmatch
20
- from struct import Struct
21
- from typing import Callable, Dict, List, cast, Union
22
-
23
23
  PathFilter = Union[str, Callable[[str], bool]]
24
24
 
25
25
 
@@ -34,6 +34,10 @@ class DataRecord:
34
34
  def uri(self) -> str:
35
35
  return self._state['resource_uri']
36
36
 
37
+ @property
38
+ def uuid(self) -> str:
39
+ return self._state['resource_uuid']
40
+
37
41
  @property
38
42
  def name(self) -> str:
39
43
  uri_parsed = parse_app_uri(self._state['resource_uri'], use_account_as_name_default=False)
@@ -206,3 +210,6 @@ class DataRecord:
206
210
  return fnmatch(file.path, glob_filter)
207
211
 
208
212
  return list(filter(_filter_function, files))
213
+
214
+ def _get_detailed_dict(self) -> types.DataRecordDetailedDict:
215
+ return cast(types.DataRecordDetailedDict, api_client.get(f'/resources/data-records/{self.uuid}/').json())
@@ -192,9 +192,16 @@ class BiolibApiClient:
192
192
  api_client.refresh_access_token()
193
193
 
194
194
  @staticmethod
195
- def assert_is_signed_in(authenticated_action_description: str) -> None:
195
+ def is_reauthentication_needed() -> bool:
196
196
  api_client = BiolibApiClient.get()
197
197
  if not api_client.is_signed_in and not Runtime.check_is_environment_biolib_app():
198
+ return True
199
+ else:
200
+ return False
201
+
202
+ @staticmethod
203
+ def assert_is_signed_in(authenticated_action_description: str) -> None:
204
+ if BiolibApiClient.is_reauthentication_needed():
198
205
  raise BioLibError(
199
206
  f'You must be signed in to {authenticated_action_description}. '
200
207
  f'Please set the environment variable "BIOLIB_TOKEN"'
biolib/user/sign_in.py CHANGED
@@ -14,11 +14,11 @@ def sign_out() -> None:
14
14
 
15
15
 
16
16
  def sign_in(open_in_default_browser: bool = False) -> None:
17
- api_client = BiolibApiClient.get()
18
- if api_client.is_signed_in:
17
+ if not BiolibApiClient.is_reauthentication_needed():
19
18
  logger_no_user_data.info('Already signed in')
20
19
  return
21
20
 
21
+ api_client = BiolibApiClient.get()
22
22
  auth_challenge = BiolibAuthChallengeApi.create_auth_challenge()
23
23
  auth_challenge_token = auth_challenge['token']
24
24
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pybiolib
3
- Version: 1.1.2138
3
+ Version: 1.1.2145
4
4
  Summary: BioLib Python Client
5
5
  Home-page: https://github.com/biolib
6
6
  License: MIT
@@ -1,7 +1,7 @@
1
1
  LICENSE,sha256=F2h7gf8i0agDIeWoBPXDMYScvQOz02pAWkKhTGOHaaw,1067
2
2
  README.md,sha256=_IH7pxFiqy2bIAmaVeA-iVTyUwWRjMIlfgtUbYTtmls,368
3
3
  biolib/__init__.py,sha256=_tThyzISH81yS9KXP_X3qEiKXmsIp5XOBcJIODfLVnc,4338
4
- biolib/_data_record/data_record.py,sha256=jUeCQjnVQLNLmlXO3rREEUnjXjOYuaQjBO7R66P6wFU,8909
4
+ biolib/_data_record/data_record.py,sha256=KTHrVy_wj6FU3ckD0_EsakyNJcniLIdT9c3ugujNRoI,9210
5
5
  biolib/_internal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  biolib/_internal/data_record/__init__.py,sha256=0T0CV6PfKc8itjMu-48sCJjcZQEzXl1ZLBqG_LjJTqQ,82
7
7
  biolib/_internal/data_record/data_record.py,sha256=D0BaC8WhnkM564eKUI69hVHUkKY1In0cyfpjxYyWk18,3363
@@ -30,7 +30,7 @@ biolib/app/__init__.py,sha256=cdPtcfb_U-bxb9iSL4fCEq2rpD9OjkyY4W-Zw60B0LI,37
30
30
  biolib/app/app.py,sha256=P2RwaDAskUHzlciuTJUroqUocRwoyOLT6YbgMyCRRDI,8484
31
31
  biolib/app/search_apps.py,sha256=K4a41f5XIWth2BWI7OffASgIsD0ko8elCax8YL2igaY,1470
32
32
  biolib/biolib_api_client/__init__.py,sha256=E5EMa19wJoblwSdQPYrxc_BtIeRsAuO0L_jQweWw-Yk,182
33
- biolib/biolib_api_client/api_client.py,sha256=krlSRmmAwtdMMyN1XzQhh1gihB1ERSIVslWQ-dqI1yU,7188
33
+ biolib/biolib_api_client/api_client.py,sha256=ciNx4ybpyKG5LEf4KQdGEz13r0jTxImyQat4_HDecD0,7373
34
34
  biolib/biolib_api_client/app_types.py,sha256=FxSr4UqfnMhLe34p8bm02wsC3g1Jz8iaing5tRKDOQI,2442
35
35
  biolib/biolib_api_client/auth.py,sha256=kjm0ZHnH3I8so3su2sZbBxNHYp-ZUdrZ5lwQ0K36RSw,949
36
36
  biolib/biolib_api_client/biolib_app_api.py,sha256=DndlVxrNTes6DOaWyMINLGZQCRMWVvR7gwt5HVlyf5Y,4240
@@ -109,15 +109,15 @@ biolib/templates/__init__.py,sha256=Yx62sSyDCDesRQDQgmbDsLpfgEh93fWE8r9u4g2azXk,
109
109
  biolib/templates/example_app.py,sha256=EB3E3RT4SeO_ii5nVQqJpi5KDGNE_huF1ub-e5ZFveE,715
110
110
  biolib/typing_utils.py,sha256=ntzrlyTkUaO2OtccLYzCAGztGdca0WT5fikJUmSkT-Y,148
111
111
  biolib/user/__init__.py,sha256=Db5wtxLfFz3ID9TULSSTo77csw9tO6RtxMRvV5cqKEE,39
112
- biolib/user/sign_in.py,sha256=q-E2B3wLVwPU5plbITJXP4GDWWUzUcDpYu_y8BShNQ8,2039
112
+ biolib/user/sign_in.py,sha256=XTAmRPKfmg7VAaB8cT5wcmfxoPXeHqY8LmDiADF7zbw,2064
113
113
  biolib/utils/__init__.py,sha256=fwjciJyJicvYyZcVTzfDBgD0SKY13DeXqvTeG4qZIy8,5548
114
114
  biolib/utils/app_uri.py,sha256=Yq_-_VGugQhMMo6mM5f0G9yNlLkr0WK4j0Nrf3FE4xQ,2171
115
115
  biolib/utils/cache_state.py,sha256=u256F37QSRIVwqKlbnCyzAX4EMI-kl6Dwu6qwj-Qmag,3100
116
116
  biolib/utils/multipart_uploader.py,sha256=XvGP1I8tQuKhAH-QugPRoEsCi9qvbRk-DVBs5PNwwJo,8452
117
117
  biolib/utils/seq_util.py,sha256=jC5WhH63FTD7SLFJbxQGA2hOt9NTwq9zHl_BEec1Z0c,4907
118
118
  biolib/utils/zip/remote_zip.py,sha256=0wErYlxir5921agfFeV1xVjf29l9VNgGQvNlWOlj2Yc,23232
119
- pybiolib-1.1.2138.dist-info/LICENSE,sha256=F2h7gf8i0agDIeWoBPXDMYScvQOz02pAWkKhTGOHaaw,1067
120
- pybiolib-1.1.2138.dist-info/METADATA,sha256=kchNYjho0XuOe-z7E79uzYosSujZ-2wPJZfNEMsKAY0,1508
121
- pybiolib-1.1.2138.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
122
- pybiolib-1.1.2138.dist-info/entry_points.txt,sha256=p6DyaP_2kctxegTX23WBznnrDi4mz6gx04O5uKtRDXg,42
123
- pybiolib-1.1.2138.dist-info/RECORD,,
119
+ pybiolib-1.1.2145.dist-info/LICENSE,sha256=F2h7gf8i0agDIeWoBPXDMYScvQOz02pAWkKhTGOHaaw,1067
120
+ pybiolib-1.1.2145.dist-info/METADATA,sha256=rpVBXD5_Q8O8-SBz_G9jwhvCWRz_ww1DsPc0eApjBMc,1508
121
+ pybiolib-1.1.2145.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
122
+ pybiolib-1.1.2145.dist-info/entry_points.txt,sha256=p6DyaP_2kctxegTX23WBznnrDi4mz6gx04O5uKtRDXg,42
123
+ pybiolib-1.1.2145.dist-info/RECORD,,