pybiolib 1.2.686__py3-none-any.whl → 1.2.695__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 CHANGED
@@ -30,13 +30,15 @@ def call_cli() -> None:
30
30
  biolib.cli.cli()
31
31
 
32
32
 
33
- def load(uri: str) -> _BioLibApp:
33
+ def load(uri: str, suppress_version_warning: bool = False) -> _BioLibApp:
34
34
  r"""Load a BioLib application by its URI or website URL.
35
35
 
36
36
  Args:
37
37
  uri (str): The URI or website URL of the application to load. Can be either:
38
38
  - App URI (e.g., 'biolib/myapp:1.0.0')
39
39
  - Website URL (e.g., 'https://biolib.com/biolib/myapp/')
40
+ suppress_version_warning (bool): If True, don't print a warning when no version is specified.
41
+ Defaults to False.
40
42
 
41
43
  Returns:
42
44
  BioLibApp: The loaded application object
@@ -49,7 +51,7 @@ def load(uri: str) -> _BioLibApp:
49
51
  >>> app = biolib.load('https://biolib.com/biolib/myapp/')
50
52
  >>> result = app.cli('--help')
51
53
  """
52
- return _BioLibApp(uri)
54
+ return _BioLibApp(uri, suppress_version_warning=suppress_version_warning)
53
55
 
54
56
 
55
57
  def search(
@@ -17,13 +17,15 @@ class Session:
17
17
  )
18
18
  )
19
19
 
20
- def load(self, uri: str) -> BioLibApp:
20
+ def load(self, uri: str, suppress_version_warning: bool = False) -> BioLibApp:
21
21
  r"""Load a BioLib application by its URI or website URL.
22
22
 
23
23
  Args:
24
24
  uri (str): The URI or website URL of the application to load. Can be either:
25
25
  - App URI (e.g., 'biolib/myapp:1.0.0')
26
26
  - Website URL (e.g., 'https://biolib.com/biolib/myapp/')
27
+ suppress_version_warning (bool): If True, don't print a warning when no version is specified.
28
+ Defaults to False.
27
29
 
28
30
  Returns:
29
31
  BioLibApp: The loaded application object
@@ -36,4 +38,4 @@ class Session:
36
38
  >>> app = biolib.load('https://biolib.com/biolib/myapp/')
37
39
  >>> result = app.cli('--help')
38
40
  """
39
- return BioLibApp(uri=uri, _api_client=self._api)
41
+ return BioLibApp(uri=uri, _api_client=self._api, suppress_version_warning=suppress_version_warning)
biolib/app/app.py CHANGED
@@ -19,10 +19,11 @@ from biolib.experiments.experiment import Experiment
19
19
  from biolib.jobs import Job
20
20
  from biolib.typing_utils import Dict, Optional
21
21
  from biolib.utils.app_uri import parse_app_uri
22
+ from biolib._runtime.runtime import Runtime
22
23
 
23
24
 
24
25
  class BioLibApp:
25
- def __init__(self, uri: str, _api_client: Optional[ApiClient] = None):
26
+ def __init__(self, uri: str, _api_client: Optional[ApiClient] = None, suppress_version_warning: bool = False):
26
27
  self._api_client: Optional[ApiClient] = _api_client
27
28
 
28
29
  app_response = BiolibAppApi.get_by_uri(uri=uri, api_client=self._api_client)
@@ -30,6 +31,16 @@ class BioLibApp:
30
31
  self._app_uri = app_response['app_uri']
31
32
  self._app_version: AppVersion = app_response['app_version']
32
33
 
34
+ if not suppress_version_warning:
35
+ parsed_uri = parse_app_uri(uri)
36
+ if parsed_uri['version'] is None:
37
+ if Runtime.check_is_environment_biolib_app():
38
+ logger.warning(
39
+ f"No version specified in URI '{uri}'. This will use the default version, "
40
+ f"which may change behaviour over time. Consider locking down the exact version, "
41
+ f"e.g. '{uri}:1.2.3'"
42
+ )
43
+
33
44
  logger.info(f'Loaded project {self._app_uri}')
34
45
 
35
46
  def __str__(self) -> str:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pybiolib
3
- Version: 1.2.686
3
+ Version: 1.2.695
4
4
  Summary: BioLib Python Client
5
5
  License: MIT
6
6
  Keywords: biolib
@@ -1,4 +1,4 @@
1
- biolib/__init__.py,sha256=9uAH7V0r3t3tEA3Lx0mbd9b9rTI1fRt-rGzkRvwMfZw,10402
1
+ biolib/__init__.py,sha256=RL-YmqW1WUKk2FGuEt-8kzzlK1QZKcEtzBUsifWUNQM,10626
2
2
  biolib/_data_record/data_record.py,sha256=zKvnh5T-dIVY46-kgVzMBoZ666ZhcTCFQnWvZT0D6RM,12026
3
3
  biolib/_internal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  biolib/_internal/data_record/__init__.py,sha256=fGdME6JGRU_2VxpJbYpGXYndjN-feUkmKY4fuMyq3cg,76
@@ -31,11 +31,11 @@ biolib/_internal/types/typing.py,sha256=qrsk8hHcGEbDpU1QQFzHAKnhQxkMe7uJ6pxHeAnf
31
31
  biolib/_internal/utils/__init__.py,sha256=p5vsIFyu-zYqBgdSMfwW9NC_jk7rXvvCbV4Bzd3As7c,630
32
32
  biolib/_internal/utils/multinode.py,sha256=-J3PEAK3NaOwCn--5T7vWHkA3yu5w9QhmuhkQcH-2wY,8229
33
33
  biolib/_runtime/runtime.py,sha256=bZQ0m39R9jOBVAtlyvzDnOobKueOAQUCwMUZjDQnO7E,4439
34
- biolib/_session/session.py,sha256=K-mbWKP6zMEdKha4Key6XEqRvduS_Ol4LgAVjf37tO4,1341
34
+ biolib/_session/session.py,sha256=SthpNE53aBH3xvpyzVV9o1IsHYFi16Jz7B5_DVi2Adw,1573
35
35
  biolib/api/__init__.py,sha256=mQ4u8FijqyLzjYMezMUUbbBGNB3iFmkNdjXnWPZ7Jlw,138
36
36
  biolib/api/client.py,sha256=pILuZhmWCXGuzrp9rPwtwRizvIGGbIlT2o4wV-vwL24,7668
37
37
  biolib/app/__init__.py,sha256=cdPtcfb_U-bxb9iSL4fCEq2rpD9OjkyY4W-Zw60B0LI,37
38
- biolib/app/app.py,sha256=HxW3T1iuDh-DMhVDB0NbgQjRXqgE7dPw8CAdhrd5lbw,9940
38
+ biolib/app/app.py,sha256=rezW3dV73dD-1XGefGtgKI1Mf6cMkH-JZQhy8q_MA7w,10529
39
39
  biolib/app/search_apps.py,sha256=K4a41f5XIWth2BWI7OffASgIsD0ko8elCax8YL2igaY,1470
40
40
  biolib/biolib_api_client/__init__.py,sha256=E5EMa19wJoblwSdQPYrxc_BtIeRsAuO0L_jQweWw-Yk,182
41
41
  biolib/biolib_api_client/api_client.py,sha256=IONzXeFCHl4wuct6fqOC_7NiTv_zFy6ys0hsAtvLzTA,7578
@@ -126,8 +126,8 @@ biolib/utils/cache_state.py,sha256=u256F37QSRIVwqKlbnCyzAX4EMI-kl6Dwu6qwj-Qmag,3
126
126
  biolib/utils/multipart_uploader.py,sha256=XvGP1I8tQuKhAH-QugPRoEsCi9qvbRk-DVBs5PNwwJo,8452
127
127
  biolib/utils/seq_util.py,sha256=Ozk0blGtPur_D9MwShD02r_mphyQmgZkx-lOHOwnlIM,6730
128
128
  biolib/utils/zip/remote_zip.py,sha256=0wErYlxir5921agfFeV1xVjf29l9VNgGQvNlWOlj2Yc,23232
129
- pybiolib-1.2.686.dist-info/LICENSE,sha256=F2h7gf8i0agDIeWoBPXDMYScvQOz02pAWkKhTGOHaaw,1067
130
- pybiolib-1.2.686.dist-info/METADATA,sha256=bv0qAgdSwT1HiS0SiiZb0fcsl9TFn2YWIG5TCf8zB4c,1570
131
- pybiolib-1.2.686.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
132
- pybiolib-1.2.686.dist-info/entry_points.txt,sha256=p6DyaP_2kctxegTX23WBznnrDi4mz6gx04O5uKtRDXg,42
133
- pybiolib-1.2.686.dist-info/RECORD,,
129
+ pybiolib-1.2.695.dist-info/LICENSE,sha256=F2h7gf8i0agDIeWoBPXDMYScvQOz02pAWkKhTGOHaaw,1067
130
+ pybiolib-1.2.695.dist-info/METADATA,sha256=s2pT0xaDCsV1lBAcfsLyCiSLFXx61Wtjtpc3GKqKm58,1570
131
+ pybiolib-1.2.695.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
132
+ pybiolib-1.2.695.dist-info/entry_points.txt,sha256=p6DyaP_2kctxegTX23WBznnrDi4mz6gx04O5uKtRDXg,42
133
+ pybiolib-1.2.695.dist-info/RECORD,,