pybiolib 1.2.772__py3-none-any.whl → 1.2.783__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.
@@ -11,6 +11,7 @@ from biolib._internal.data_record.push_data import (
11
11
  validate_data_path_and_get_files_and_size_of_directory,
12
12
  )
13
13
  from biolib._internal.file_utils import get_files_and_size_of_directory, get_iterable_zip_stream
14
+ from biolib._internal.types.push import PushResponseDict
14
15
  from biolib.biolib_api_client import BiolibApiClient
15
16
  from biolib.biolib_api_client.biolib_app_api import BiolibAppApi
16
17
  from biolib.biolib_docker_client import BiolibDockerClient
@@ -79,7 +80,8 @@ def push_application(
79
80
  app_version_to_copy_images_from: Optional[str],
80
81
  set_as_active: bool,
81
82
  set_as_published: bool,
82
- ):
83
+ dry_run: bool = False,
84
+ ) -> Optional[PushResponseDict]:
83
85
  parsed_uri = parse_app_uri(app_uri)
84
86
  app_name = parsed_uri['app_name']
85
87
 
@@ -199,7 +201,10 @@ def push_application(
199
201
  raise BioLibError(
200
202
  'To push a version with app_data the app must be set to "Allow Client-Side Source Code Access"'
201
203
  )
202
- # push new app version
204
+ if dry_run:
205
+ logger.info('Successfully completed dry-run. No new version was pushed.')
206
+ return None
207
+
203
208
  new_app_version_json = BiolibAppApi.push_app_version(
204
209
  semantic_version=semantic_version,
205
210
  app_id=app['public_id'],
@@ -0,0 +1,6 @@
1
+ from typing import TypedDict
2
+
3
+
4
+ class PushResponseDict(TypedDict):
5
+ app_uri: str
6
+ sematic_version: str
biolib/cli/push.py CHANGED
@@ -13,7 +13,14 @@ from biolib.biolib_logging import logger, logger_no_user_data
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
+ @click.option(
17
+ '--dry-run',
18
+ is_flag=True,
19
+ default=False,
20
+ required=False,
21
+ help='Perform validation without pushing',
22
+ )
23
+ def push(uri, path: str, copy_images_from_version: Optional[str], dev: bool, pre_release: bool, dry_run: bool) -> None:
17
24
  logger.configure(default_log_level=logging.INFO)
18
25
  logger_no_user_data.configure(default_log_level=logging.INFO)
19
26
  set_as_active = True
@@ -33,4 +40,5 @@ def push(uri, path: str, copy_images_from_version: Optional[str], dev: bool, pre
33
40
  app_version_to_copy_images_from=copy_images_from_version,
34
41
  set_as_active=set_as_active,
35
42
  set_as_published=set_as_published,
43
+ dry_run=dry_run,
36
44
  )
biolib/sdk/__init__.py CHANGED
@@ -24,6 +24,9 @@ def push_app_version(uri: str, path: str) -> _BioLibApp:
24
24
  set_as_active=False,
25
25
  set_as_published=False,
26
26
  )
27
+ if not push_data:
28
+ raise Exception('Failed to push application; please check the logs for more details')
29
+
27
30
  uri = f'{push_data["app_uri"]}:{push_data["sematic_version"]}'
28
31
  return _BioLibApp(uri)
29
32
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pybiolib
3
- Version: 1.2.772
3
+ Version: 1.2.783
4
4
  Summary: BioLib Python Client
5
5
  License: MIT
6
6
  Keywords: biolib
@@ -19,7 +19,7 @@ biolib/_internal/llm_instructions/.github/copilot-instructions.md,sha256=GCGYxfj
19
19
  biolib/_internal/llm_instructions/.github/prompts/biolib_app_inputs.prompt.md,sha256=DcBUNaViuNfXoomj-IVUcIcBtJlXuIYOroUfDM_R6wU,3212
20
20
  biolib/_internal/llm_instructions/.github/prompts/biolib_run_apps.prompt.md,sha256=HYv-MgpQKIU7Hv90SvZ3tqXY6KWxYVnqamXDRyInOHM,7926
21
21
  biolib/_internal/llm_instructions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
- biolib/_internal/push_application.py,sha256=Ffj3iZ0nma4KHTB-PKCeFvhCHHhAEhgKClxnfBUpL8U,12296
22
+ biolib/_internal/push_application.py,sha256=I7yHGcwK6udc2hVmOQIc1BcQBipAMibEjURMI6HgdXk,12502
23
23
  biolib/_internal/runtime.py,sha256=BiHl4klUHr36MCpqKaUso4idHeBZfPAahLYRQrabFqA,486
24
24
  biolib/_internal/tree_utils.py,sha256=_Q_6_NDtIiROcefymqxEVddjqti6Mt3OZ4U0GcDW61s,3904
25
25
  biolib/_internal/types/__init__.py,sha256=WvtlSHh77QhYVTLeRpoPAzqvByLzbEPf_ZqYGHFlQug,247
@@ -27,6 +27,7 @@ biolib/_internal/types/app.py,sha256=Mz2QGD_jESX-K9JYnLWPo4YA__Q_1FQQTk9pvidCohU
27
27
  biolib/_internal/types/data_record.py,sha256=9r_vdhVs60YTnzU4XQFXfDrfS2P2MqD3BH2xa7lk6ck,852
28
28
  biolib/_internal/types/experiment.py,sha256=2SbCLSwgLglmQgyUHYb5SvO0Cfsgs-f3jqao9--Z_sY,682
29
29
  biolib/_internal/types/file_node.py,sha256=T6BIqo662f3nwMBRqtBHYsg6YuuUaKpiokHcVjv9_ME,283
30
+ biolib/_internal/types/push.py,sha256=qSXCjdzOmHG7_QiwXaNSrVkESTMxnIKPvEut-9Mqt-g,108
30
31
  biolib/_internal/types/resource.py,sha256=LQnIYBR8Fi7zvnA5vBpzcL2c6ZjpaKNTe38hXck82k0,449
31
32
  biolib/_internal/types/resource_permission.py,sha256=ZE7eokpzswAiqe4GdpdxdZ6_jl0LdiRD9gP81I8C3fY,292
32
33
  biolib/_internal/types/resource_version.py,sha256=cU0YFHqxO-wX_Y6CoeK0Iei61gFwVoyR_kPOSTQ4mCs,304
@@ -73,7 +74,7 @@ biolib/cli/data_record.py,sha256=t8DfJK2EZ_SNZ9drDA_N5Jqy8DNwf9f5SlFrIaOvtv0,350
73
74
  biolib/cli/download_container.py,sha256=HIZVHOPmslGE5M2Dsp9r2cCkAEJx__vcsDz5Wt5LRos,483
74
75
  biolib/cli/init.py,sha256=PZLzQYbT7u78J1qSCcs-frVfWHohkrZHxLGRSmMdRg4,1061
75
76
  biolib/cli/lfs.py,sha256=z2qHUwink85mv9yDgifbVKkVwuyknGhMDTfly_gLKJM,4151
76
- biolib/cli/push.py,sha256=RxB4RHpjtL27Fpq7WRGojJ53R9jUuE1Cq9_NmHFzNsM,1306
77
+ biolib/cli/push.py,sha256=pSFEUQkQ69M__eR1nIT9ejW4V4_MtX3lb8ydEc1uKiM,1484
77
78
  biolib/cli/run.py,sha256=MCo0ZqW2pHBxOoCI3i5gAx5D0auW9fmxHqkAF4TRhms,2134
78
79
  biolib/cli/runtime.py,sha256=Xv-nrma5xX8NidWcvbUKcUvuN5TCarZa4A8mPVmF-z0,361
79
80
  biolib/cli/sdk.py,sha256=XisJwTft4QDB_99eGDlz-WBqqRwIqkVg7HyvxWtOG8w,471
@@ -117,7 +118,7 @@ biolib/jobs/job_result.py,sha256=rALHiKYNaC9lHi_JJqBob1RubzNLwG9Z386kwRJjd2M,588
117
118
  biolib/jobs/types.py,sha256=ezvaoTANsWazK6PmfpYcqezdfjP7MNBEBfqIZGoZhz8,997
118
119
  biolib/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
119
120
  biolib/runtime/__init__.py,sha256=MlRepA11n2H-3plB5rzWyyHK2JmP6PiaP3i6x3vt0mg,506
120
- biolib/sdk/__init__.py,sha256=YMBY_AR-BOfOKtYJB1d78j9OCZGVevgan0wLnMD1Xvs,2239
121
+ biolib/sdk/__init__.py,sha256=Z1S5BgpvM87S2o1libtqkYN1CfYUhn_d4ChEJjwdFKM,2356
121
122
  biolib/tables.py,sha256=MmruV-nJLc3HbLVJBAiDuDCgS2-4oaUkpoCLLUNYbxQ,1173
122
123
  biolib/templates/__init__.py,sha256=Yx62sSyDCDesRQDQgmbDsLpfgEh93fWE8r9u4g2azXk,36
123
124
  biolib/templates/example_app.py,sha256=EB3E3RT4SeO_ii5nVQqJpi5KDGNE_huF1ub-e5ZFveE,715
@@ -130,8 +131,8 @@ biolib/utils/cache_state.py,sha256=u256F37QSRIVwqKlbnCyzAX4EMI-kl6Dwu6qwj-Qmag,3
130
131
  biolib/utils/multipart_uploader.py,sha256=XvGP1I8tQuKhAH-QugPRoEsCi9qvbRk-DVBs5PNwwJo,8452
131
132
  biolib/utils/seq_util.py,sha256=Ozk0blGtPur_D9MwShD02r_mphyQmgZkx-lOHOwnlIM,6730
132
133
  biolib/utils/zip/remote_zip.py,sha256=0wErYlxir5921agfFeV1xVjf29l9VNgGQvNlWOlj2Yc,23232
133
- pybiolib-1.2.772.dist-info/LICENSE,sha256=F2h7gf8i0agDIeWoBPXDMYScvQOz02pAWkKhTGOHaaw,1067
134
- pybiolib-1.2.772.dist-info/METADATA,sha256=7epZrh0vQ2vplRyo2cI_-U8MjtUIY_EHqDgMXR11WbM,1570
135
- pybiolib-1.2.772.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
136
- pybiolib-1.2.772.dist-info/entry_points.txt,sha256=p6DyaP_2kctxegTX23WBznnrDi4mz6gx04O5uKtRDXg,42
137
- pybiolib-1.2.772.dist-info/RECORD,,
134
+ pybiolib-1.2.783.dist-info/LICENSE,sha256=F2h7gf8i0agDIeWoBPXDMYScvQOz02pAWkKhTGOHaaw,1067
135
+ pybiolib-1.2.783.dist-info/METADATA,sha256=1fqV7KqHOFEbKUZs1XDGqOKjRXDV95ysP3_eaLJSBjg,1570
136
+ pybiolib-1.2.783.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
137
+ pybiolib-1.2.783.dist-info/entry_points.txt,sha256=p6DyaP_2kctxegTX23WBznnrDi4mz6gx04O5uKtRDXg,42
138
+ pybiolib-1.2.783.dist-info/RECORD,,