pybiolib 1.2.565__py3-none-any.whl → 1.2.576__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/app/app.py +1 -0
- biolib/compute_node/job_worker/executors/docker_executor.py +28 -15
- {pybiolib-1.2.565.dist-info → pybiolib-1.2.576.dist-info}/METADATA +1 -1
- {pybiolib-1.2.565.dist-info → pybiolib-1.2.576.dist-info}/RECORD +7 -7
- {pybiolib-1.2.565.dist-info → pybiolib-1.2.576.dist-info}/LICENSE +0 -0
- {pybiolib-1.2.565.dist-info → pybiolib-1.2.576.dist-info}/WHEEL +0 -0
- {pybiolib-1.2.565.dist-info → pybiolib-1.2.576.dist-info}/entry_points.txt +0 -0
biolib/app/app.py
CHANGED
@@ -99,6 +99,7 @@ class BioLibApp:
|
|
99
99
|
requested_machine_count=machine_count,
|
100
100
|
temporary_client_secrets=temporary_client_secrets,
|
101
101
|
)
|
102
|
+
logger.info(f'View the result in your browser at: {utils.BIOLIB_BASE_URL}/results/{job.id}/')
|
102
103
|
if blocking:
|
103
104
|
# TODO: Deprecate utils.STREAM_STDOUT and always stream logs by simply calling job.stream_logs()
|
104
105
|
if utils.IS_RUNNING_IN_NOTEBOOK:
|
@@ -27,7 +27,7 @@ from biolib.compute_node import utils as compute_node_utils
|
|
27
27
|
from biolib.compute_node.cloud_utils import CloudUtils
|
28
28
|
from biolib.compute_node.job_worker.docker_image_cache import DockerImageCache
|
29
29
|
from biolib.compute_node.job_worker.executors.docker_types import DockerDiffKind
|
30
|
-
from biolib.compute_node.job_worker.executors.types import LocalExecutorOptions,
|
30
|
+
from biolib.compute_node.job_worker.executors.types import LocalExecutorOptions, MetadataToSaveOutput, StatusUpdate
|
31
31
|
from biolib.compute_node.job_worker.mappings import Mappings, path_without_first_folder
|
32
32
|
from biolib.compute_node.job_worker.utilization_reporter_thread import UtilizationReporterThread
|
33
33
|
from biolib.compute_node.job_worker.utils import ComputeProcessException
|
@@ -598,12 +598,33 @@ class DockerExecutor:
|
|
598
598
|
|
599
599
|
def _get_changed_files_in_docker_container(self) -> List[FileInContainer]:
|
600
600
|
from_mappings = [mapping['from_path'] for mapping in self._options['module']['output_files_mappings']]
|
601
|
-
|
602
|
-
|
603
|
-
|
604
|
-
|
605
|
-
|
606
|
-
|
601
|
+
overlay_upper_dir_path = self._get_container_upper_dir_path()
|
602
|
+
|
603
|
+
if not overlay_upper_dir_path:
|
604
|
+
logger_no_user_data.debug(
|
605
|
+
'Docker UpperDir not available. Falling back to container.get_archive() for file extraction'
|
606
|
+
)
|
607
|
+
post_run_diff = self._container.diff()
|
608
|
+
run_diff_paths: List[str] = [
|
609
|
+
obj['Path']
|
610
|
+
for obj in post_run_diff
|
611
|
+
if obj['Kind'] in (DockerDiffKind.CHANGED.value, DockerDiffKind.ADDED.value)
|
612
|
+
]
|
613
|
+
else:
|
614
|
+
logger_no_user_data.debug(f'overlay_upper_dir_path={overlay_upper_dir_path}')
|
615
|
+
# Recursively find all files in overlay_upper_dir_path
|
616
|
+
run_diff_paths = []
|
617
|
+
for root, _, files in os.walk(overlay_upper_dir_path):
|
618
|
+
# Convert absolute paths to container paths
|
619
|
+
rel_path = os.path.relpath(root, overlay_upper_dir_path)
|
620
|
+
if rel_path == '.':
|
621
|
+
# Handle the root directory case
|
622
|
+
for file in files:
|
623
|
+
run_diff_paths.append(f'/{file}')
|
624
|
+
else:
|
625
|
+
# Handle subdirectories
|
626
|
+
for file in files:
|
627
|
+
run_diff_paths.append(f'/{rel_path}/{file}')
|
607
628
|
|
608
629
|
known_directories = set()
|
609
630
|
for path in run_diff_paths:
|
@@ -621,14 +642,6 @@ class DockerExecutor:
|
|
621
642
|
return True
|
622
643
|
return False
|
623
644
|
|
624
|
-
overlay_upper_dir_path = self._get_container_upper_dir_path()
|
625
|
-
if not overlay_upper_dir_path:
|
626
|
-
logger_no_user_data.debug(
|
627
|
-
'Docker UpperDir not available. Falling back to container.get_archive() for file extraction'
|
628
|
-
)
|
629
|
-
|
630
|
-
logger_no_user_data.debug(f'overlay_upper_dir_path={overlay_upper_dir_path}')
|
631
|
-
|
632
645
|
files_and_empty_dirs: List[FileInContainer] = []
|
633
646
|
for path in run_diff_paths:
|
634
647
|
if path not in known_directories and path_is_included_in_from_mappings(path):
|
@@ -29,7 +29,7 @@ biolib/_runtime/runtime.py,sha256=bZQ0m39R9jOBVAtlyvzDnOobKueOAQUCwMUZjDQnO7E,44
|
|
29
29
|
biolib/api/__init__.py,sha256=mQ4u8FijqyLzjYMezMUUbbBGNB3iFmkNdjXnWPZ7Jlw,138
|
30
30
|
biolib/api/client.py,sha256=EN3lDbbgWxw3aPDe8W5XIU6WkMfOHW7Dmsz-R6QqxAw,4176
|
31
31
|
biolib/app/__init__.py,sha256=cdPtcfb_U-bxb9iSL4fCEq2rpD9OjkyY4W-Zw60B0LI,37
|
32
|
-
biolib/app/app.py,sha256
|
32
|
+
biolib/app/app.py,sha256=MHYwKgjFDoJFmnY6aX5Qi0IvZwHaTfRDUMwl6yVBq4s,9724
|
33
33
|
biolib/app/search_apps.py,sha256=K4a41f5XIWth2BWI7OffASgIsD0ko8elCax8YL2igaY,1470
|
34
34
|
biolib/biolib_api_client/__init__.py,sha256=E5EMa19wJoblwSdQPYrxc_BtIeRsAuO0L_jQweWw-Yk,182
|
35
35
|
biolib/biolib_api_client/api_client.py,sha256=ohvbWbpresxLHFGPkvXACfmiTYsBk8RBx5XsBbLYg_M,7546
|
@@ -76,7 +76,7 @@ biolib/compute_node/job_worker/cache_state.py,sha256=MwjSRzcJJ_4jybqvBL4xdgnDYSI
|
|
76
76
|
biolib/compute_node/job_worker/cache_types.py,sha256=ajpLy8i09QeQS9dEqTn3T6NVNMY_YsHQkSD5nvIHccQ,818
|
77
77
|
biolib/compute_node/job_worker/docker_image_cache.py,sha256=ansHIkJIq_EMW1nZNlW-RRLVVeKWTbzNICYaOHpKiRE,7460
|
78
78
|
biolib/compute_node/job_worker/executors/__init__.py,sha256=bW6t1qi3PZTlHM4quaTLa8EI4ALTCk83cqcVJfJfJfE,145
|
79
|
-
biolib/compute_node/job_worker/executors/docker_executor.py,sha256=
|
79
|
+
biolib/compute_node/job_worker/executors/docker_executor.py,sha256=FFN4dn3mV19u6imT8e4vjpfDIxX9d3bpq9x2JPVOAus,31811
|
80
80
|
biolib/compute_node/job_worker/executors/docker_types.py,sha256=VhsU1DKtJjx_BbCkVmiPZPH4ROiL1ygW1Y_s1Kbpa2o,216
|
81
81
|
biolib/compute_node/job_worker/executors/tars/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
82
82
|
biolib/compute_node/job_worker/executors/types.py,sha256=wbjWZZ2f9FttjqUCCOeZmn7n3L3Hu-7-2PZJ3BVf_Ps,1626
|
@@ -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=Ozk0blGtPur_D9MwShD02r_mphyQmgZkx-lOHOwnlIM,6730
|
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.576.dist-info/LICENSE,sha256=F2h7gf8i0agDIeWoBPXDMYScvQOz02pAWkKhTGOHaaw,1067
|
123
|
+
pybiolib-1.2.576.dist-info/METADATA,sha256=A9yROH2MsXxeQp7bK3C9I3wmtqkUX9SewszNGWiz8ws,1570
|
124
|
+
pybiolib-1.2.576.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
|
125
|
+
pybiolib-1.2.576.dist-info/entry_points.txt,sha256=p6DyaP_2kctxegTX23WBznnrDi4mz6gx04O5uKtRDXg,42
|
126
|
+
pybiolib-1.2.576.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|