pybiolib 1.2.565__py3-none-any.whl → 1.2.567__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/compute_node/job_worker/executors/docker_executor.py +28 -15
 - {pybiolib-1.2.565.dist-info → pybiolib-1.2.567.dist-info}/METADATA +1 -1
 - {pybiolib-1.2.565.dist-info → pybiolib-1.2.567.dist-info}/RECORD +6 -6
 - {pybiolib-1.2.565.dist-info → pybiolib-1.2.567.dist-info}/LICENSE +0 -0
 - {pybiolib-1.2.565.dist-info → pybiolib-1.2.567.dist-info}/WHEEL +0 -0
 - {pybiolib-1.2.565.dist-info → pybiolib-1.2.567.dist-info}/entry_points.txt +0 -0
 
| 
         @@ -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):
         
     | 
| 
         @@ -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.567.dist-info/LICENSE,sha256=F2h7gf8i0agDIeWoBPXDMYScvQOz02pAWkKhTGOHaaw,1067
         
     | 
| 
      
 123 
     | 
    
         
            +
            pybiolib-1.2.567.dist-info/METADATA,sha256=cYbTCTlMWjLsgfbKKtLkHmAn3WZ2ezprxNiAadnwqmo,1570
         
     | 
| 
      
 124 
     | 
    
         
            +
            pybiolib-1.2.567.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
         
     | 
| 
      
 125 
     | 
    
         
            +
            pybiolib-1.2.567.dist-info/entry_points.txt,sha256=p6DyaP_2kctxegTX23WBznnrDi4mz6gx04O5uKtRDXg,42
         
     | 
| 
      
 126 
     | 
    
         
            +
            pybiolib-1.2.567.dist-info/RECORD,,
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     |