metaflow 2.15.9__py2.py3-none-any.whl → 2.15.11__py2.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.
- metaflow/includefile.py +2 -2
 - metaflow/plugins/argo/argo_workflows.py +2 -2
 - metaflow/plugins/argo/argo_workflows_cli.py +1 -0
 - metaflow/plugins/datastores/gs_storage.py +3 -1
 - metaflow/plugins/datatools/s3/s3.py +8 -1
 - metaflow/plugins/datatools/s3/s3op.py +17 -0
 - metaflow/plugins/pypi/conda_decorator.py +2 -1
 - metaflow/plugins/pypi/conda_environment.py +1 -0
 - metaflow/version.py +1 -1
 - {metaflow-2.15.9.dist-info → metaflow-2.15.11.dist-info}/METADATA +2 -2
 - {metaflow-2.15.9.dist-info → metaflow-2.15.11.dist-info}/RECORD +18 -18
 - {metaflow-2.15.9.dist-info → metaflow-2.15.11.dist-info}/WHEEL +1 -1
 - {metaflow-2.15.9.data → metaflow-2.15.11.data}/data/share/metaflow/devtools/Makefile +0 -0
 - {metaflow-2.15.9.data → metaflow-2.15.11.data}/data/share/metaflow/devtools/Tiltfile +0 -0
 - {metaflow-2.15.9.data → metaflow-2.15.11.data}/data/share/metaflow/devtools/pick_services.sh +0 -0
 - {metaflow-2.15.9.dist-info → metaflow-2.15.11.dist-info}/entry_points.txt +0 -0
 - {metaflow-2.15.9.dist-info → metaflow-2.15.11.dist-info}/licenses/LICENSE +0 -0
 - {metaflow-2.15.9.dist-info → metaflow-2.15.11.dist-info}/top_level.txt +0 -0
 
    
        metaflow/includefile.py
    CHANGED
    
    | 
         @@ -459,7 +459,7 @@ class UploaderV2: 
     | 
|
| 
       459 
459 
     | 
    
         
             
                @classmethod
         
     | 
| 
       460 
460 
     | 
    
         
             
                def encode_url(cls, url_type, url, **kwargs):
         
     | 
| 
       461 
461 
     | 
    
         
             
                    return_value = {
         
     | 
| 
       462 
     | 
    
         
            -
                        "note": "Internal representation of IncludeFile 
     | 
| 
      
 462 
     | 
    
         
            +
                        "note": "Internal representation of IncludeFile",
         
     | 
| 
       463 
463 
     | 
    
         
             
                        "type": cls.file_type,
         
     | 
| 
       464 
464 
     | 
    
         
             
                        "sub-type": url_type,
         
     | 
| 
       465 
465 
     | 
    
         
             
                        "url": url,
         
     | 
| 
         @@ -472,7 +472,7 @@ class UploaderV2: 
     | 
|
| 
       472 
472 
     | 
    
         
             
                    r = UploaderV1.store(flow_name, path, is_text, encoding, handler, echo)
         
     | 
| 
       473 
473 
     | 
    
         | 
| 
       474 
474 
     | 
    
         
             
                    # In V2, we store size for faster access
         
     | 
| 
       475 
     | 
    
         
            -
                    r["note"] = "Internal representation of IncludeFile 
     | 
| 
      
 475 
     | 
    
         
            +
                    r["note"] = "Internal representation of IncludeFile"
         
     | 
| 
       476 
476 
     | 
    
         
             
                    r["type"] = cls.file_type
         
     | 
| 
       477 
477 
     | 
    
         
             
                    r["sub-type"] = "uploaded"
         
     | 
| 
       478 
478 
     | 
    
         
             
                    r["size"] = os.stat(path).st_size
         
     | 
| 
         @@ -2732,7 +2732,7 @@ class ArgoWorkflows(object): 
     | 
|
| 
       2732 
2732 
     | 
    
         
             
                            "type": "section",
         
     | 
| 
       2733 
2733 
     | 
    
         
             
                            "text": {
         
     | 
| 
       2734 
2734 
     | 
    
         
             
                                "type": "mrkdwn",
         
     | 
| 
       2735 
     | 
    
         
            -
                                "text": " 
     | 
| 
      
 2735 
     | 
    
         
            +
                                "text": "Environment details"
         
     | 
| 
       2736 
2736 
     | 
    
         
             
                            },
         
     | 
| 
       2737 
2737 
     | 
    
         
             
                            "fields": [
         
     | 
| 
       2738 
2738 
     | 
    
         
             
                                {
         
     | 
| 
         @@ -2750,7 +2750,7 @@ class ArgoWorkflows(object): 
     | 
|
| 
       2750 
2750 
     | 
    
         
             
                            "type": "section",
         
     | 
| 
       2751 
2751 
     | 
    
         
             
                            "text": {
         
     | 
| 
       2752 
2752 
     | 
    
         
             
                                "type": "mrkdwn",
         
     | 
| 
       2753 
     | 
    
         
            -
                                "text": " 
     | 
| 
      
 2753 
     | 
    
         
            +
                                "text": "Environment details"
         
     | 
| 
       2754 
2754 
     | 
    
         
             
                            }
         
     | 
| 
       2755 
2755 
     | 
    
         
             
                        }
         
     | 
| 
       2756 
2756 
     | 
    
         | 
| 
         @@ -40,6 +40,7 @@ unsupported_decorators = { 
     | 
|
| 
       40 
40 
     | 
    
         
             
                "snowpark": "Step *%s* is marked for execution on Snowpark with Argo Workflows which isn't currently supported.",
         
     | 
| 
       41 
41 
     | 
    
         
             
                "slurm": "Step *%s* is marked for execution on Slurm with Argo Workflows which isn't currently supported.",
         
     | 
| 
       42 
42 
     | 
    
         
             
                "nvidia": "Step *%s* is marked for execution on Nvidia with Argo Workflows which isn't currently supported.",
         
     | 
| 
      
 43 
     | 
    
         
            +
                "nvct": "Step *%s* is marked for execution on Nvct with Argo Workflows which isn't currently supported.",
         
     | 
| 
       43 
44 
     | 
    
         
             
            }
         
     | 
| 
       44 
45 
     | 
    
         | 
| 
       45 
46 
     | 
    
         | 
| 
         @@ -119,7 +119,9 @@ class _GSRootClient(object): 
     | 
|
| 
       119 
119 
     | 
    
         
             
                            blob.metadata = {"metaflow-user-attributes": json.dumps(metadata)}
         
     | 
| 
       120 
120 
     | 
    
         
             
                        from google.cloud.storage.retry import DEFAULT_RETRY
         
     | 
| 
       121 
121 
     | 
    
         | 
| 
       122 
     | 
    
         
            -
                        blob.upload_from_filename( 
     | 
| 
      
 122 
     | 
    
         
            +
                        blob.upload_from_filename(
         
     | 
| 
      
 123 
     | 
    
         
            +
                            tmpfile, retry=DEFAULT_RETRY, timeout=(14400, 60)
         
     | 
| 
      
 124 
     | 
    
         
            +
                        )  # generous timeout for massive uploads. Use the same values as for Azure (connection_timeout, read_timeout)
         
     | 
| 
       123 
125 
     | 
    
         
             
                    except Exception as e:
         
     | 
| 
       124 
126 
     | 
    
         
             
                        process_gs_exception(e)
         
     | 
| 
       125 
127 
     | 
    
         | 
| 
         @@ -1,3 +1,4 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            import errno
         
     | 
| 
       1 
2 
     | 
    
         
             
            import json
         
     | 
| 
       2 
3 
     | 
    
         
             
            import os
         
     | 
| 
       3 
4 
     | 
    
         
             
            import re
         
     | 
| 
         @@ -137,6 +138,10 @@ class MetaflowS3InvalidRange(MetaflowException): 
     | 
|
| 
       137 
138 
     | 
    
         
             
                headline = "S3 invalid range"
         
     | 
| 
       138 
139 
     | 
    
         | 
| 
       139 
140 
     | 
    
         | 
| 
      
 141 
     | 
    
         
            +
            class MetaflowS3InsufficientDiskSpace(MetaflowException):
         
     | 
| 
      
 142 
     | 
    
         
            +
                headline = "Insufficient disk space"
         
     | 
| 
      
 143 
     | 
    
         
            +
             
     | 
| 
      
 144 
     | 
    
         
            +
             
     | 
| 
       140 
145 
     | 
    
         
             
            class S3Object(object):
         
     | 
| 
       141 
146 
     | 
    
         
             
                """
         
     | 
| 
       142 
147 
     | 
    
         
             
                This object represents a path or an object in S3,
         
     | 
| 
         @@ -1377,8 +1382,10 @@ class S3(object): 
     | 
|
| 
       1377 
1382 
     | 
    
         
             
                            elif error_code == "NoSuchBucket":
         
     | 
| 
       1378 
1383 
     | 
    
         
             
                                raise MetaflowS3URLException("Specified S3 bucket doesn't exist.")
         
     | 
| 
       1379 
1384 
     | 
    
         
             
                            error = str(err)
         
     | 
| 
      
 1385 
     | 
    
         
            +
                        except OSError as e:
         
     | 
| 
      
 1386 
     | 
    
         
            +
                            if e.errno == errno.ENOSPC:
         
     | 
| 
      
 1387 
     | 
    
         
            +
                                raise MetaflowS3InsufficientDiskSpace(str(e))
         
     | 
| 
       1380 
1388 
     | 
    
         
             
                        except Exception as ex:
         
     | 
| 
       1381 
     | 
    
         
            -
                            # TODO specific error message for out of disk space
         
     | 
| 
       1382 
1389 
     | 
    
         
             
                            error = str(ex)
         
     | 
| 
       1383 
1390 
     | 
    
         
             
                        if tmp:
         
     | 
| 
       1384 
1391 
     | 
    
         
             
                            os.unlink(tmp.name)
         
     | 
| 
         @@ -1,5 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            from __future__ import print_function
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
      
 3 
     | 
    
         
            +
            import errno
         
     | 
| 
       3 
4 
     | 
    
         
             
            import json
         
     | 
| 
       4 
5 
     | 
    
         
             
            import time
         
     | 
| 
       5 
6 
     | 
    
         
             
            import math
         
     | 
| 
         @@ -108,6 +109,7 @@ ERROR_VERIFY_FAILED = 9 
     | 
|
| 
       108 
109 
     | 
    
         
             
            ERROR_LOCAL_FILE_NOT_FOUND = 10
         
     | 
| 
       109 
110 
     | 
    
         
             
            ERROR_INVALID_RANGE = 11
         
     | 
| 
       110 
111 
     | 
    
         
             
            ERROR_TRANSIENT = 12
         
     | 
| 
      
 112 
     | 
    
         
            +
            ERROR_OUT_OF_DISK_SPACE = 13
         
     | 
| 
       111 
113 
     | 
    
         | 
| 
       112 
114 
     | 
    
         | 
| 
       113 
115 
     | 
    
         
             
            def format_result_line(idx, prefix, url="", local=""):
         
     | 
| 
         @@ -277,6 +279,17 @@ def worker(result_file_name, queue, mode, s3config): 
     | 
|
| 
       277 
279 
     | 
    
         
             
                                        err = convert_to_client_error(e)
         
     | 
| 
       278 
280 
     | 
    
         
             
                                        handle_client_error(err, idx, result_file)
         
     | 
| 
       279 
281 
     | 
    
         
             
                                        continue
         
     | 
| 
      
 282 
     | 
    
         
            +
                                    except OSError as e:
         
     | 
| 
      
 283 
     | 
    
         
            +
                                        tmp.close()
         
     | 
| 
      
 284 
     | 
    
         
            +
                                        os.unlink(tmp.name)
         
     | 
| 
      
 285 
     | 
    
         
            +
                                        if e.errno == errno.ENOSPC:
         
     | 
| 
      
 286 
     | 
    
         
            +
                                            result_file.write(
         
     | 
| 
      
 287 
     | 
    
         
            +
                                                "%d %d\n" % (idx, -ERROR_OUT_OF_DISK_SPACE)
         
     | 
| 
      
 288 
     | 
    
         
            +
                                            )
         
     | 
| 
      
 289 
     | 
    
         
            +
                                        else:
         
     | 
| 
      
 290 
     | 
    
         
            +
                                            result_file.write("%d %d\n" % (idx, -ERROR_TRANSIENT))
         
     | 
| 
      
 291 
     | 
    
         
            +
                                        result_file.flush()
         
     | 
| 
      
 292 
     | 
    
         
            +
                                        continue
         
     | 
| 
       280 
293 
     | 
    
         
             
                                except (SSLError, Exception) as e:
         
     | 
| 
       281 
294 
     | 
    
         
             
                                    tmp.close()
         
     | 
| 
       282 
295 
     | 
    
         
             
                                    os.unlink(tmp.name)
         
     | 
| 
         @@ -643,6 +656,8 @@ def exit(exit_code, url): 
     | 
|
| 
       643 
656 
     | 
    
         
             
                    msg = "Local file not found: %s" % url
         
     | 
| 
       644 
657 
     | 
    
         
             
                elif exit_code == ERROR_TRANSIENT:
         
     | 
| 
       645 
658 
     | 
    
         
             
                    msg = "Transient error for url: %s" % url
         
     | 
| 
      
 659 
     | 
    
         
            +
                elif exit_code == ERROR_OUT_OF_DISK_SPACE:
         
     | 
| 
      
 660 
     | 
    
         
            +
                    msg = "Out of disk space when downloading URL: %s" % url
         
     | 
| 
       646 
661 
     | 
    
         
             
                else:
         
     | 
| 
       647 
662 
     | 
    
         
             
                    msg = "Unknown error"
         
     | 
| 
       648 
663 
     | 
    
         
             
                print("s3op failed:\n%s" % msg, file=sys.stderr)
         
     | 
| 
         @@ -1173,6 +1188,8 @@ def get( 
     | 
|
| 
       1173 
1188 
     | 
    
         
             
                        )
         
     | 
| 
       1174 
1189 
     | 
    
         
             
                        if verify:
         
     | 
| 
       1175 
1190 
     | 
    
         
             
                            verify_info.append((url, sz))
         
     | 
| 
      
 1191 
     | 
    
         
            +
                    elif sz == -ERROR_OUT_OF_DISK_SPACE:
         
     | 
| 
      
 1192 
     | 
    
         
            +
                        exit(ERROR_OUT_OF_DISK_SPACE, url)
         
     | 
| 
       1176 
1193 
     | 
    
         
             
                    elif sz == -ERROR_URL_ACCESS_DENIED:
         
     | 
| 
       1177 
1194 
     | 
    
         
             
                        denied_url = url
         
     | 
| 
       1178 
1195 
     | 
    
         
             
                        break
         
     | 
| 
         @@ -227,7 +227,8 @@ class CondaStepDecorator(StepDecorator): 
     | 
|
| 
       227 
227 
     | 
    
         
             
                    self.interpreter = (
         
     | 
| 
       228 
228 
     | 
    
         
             
                        self.environment.interpreter(self.step)
         
     | 
| 
       229 
229 
     | 
    
         
             
                        if not any(
         
     | 
| 
       230 
     | 
    
         
            -
                            decorator.name 
     | 
| 
      
 230 
     | 
    
         
            +
                            decorator.name
         
     | 
| 
      
 231 
     | 
    
         
            +
                            in ["batch", "kubernetes", "nvidia", "snowpark", "slurm", "nvct"]
         
     | 
| 
       231 
232 
     | 
    
         
             
                            for decorator in next(
         
     | 
| 
       232 
233 
     | 
    
         
             
                                step for step in self.flow if step.name == self.step
         
     | 
| 
       233 
234 
     | 
    
         
             
                            ).decorators
         
     | 
    
        metaflow/version.py
    CHANGED
    
    | 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            metaflow_version = "2.15. 
     | 
| 
      
 1 
     | 
    
         
            +
            metaflow_version = "2.15.11"
         
     | 
| 
         @@ -1,6 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            Metadata-Version: 2.4
         
     | 
| 
       2 
2 
     | 
    
         
             
            Name: metaflow
         
     | 
| 
       3 
     | 
    
         
            -
            Version: 2.15. 
     | 
| 
      
 3 
     | 
    
         
            +
            Version: 2.15.11
         
     | 
| 
       4 
4 
     | 
    
         
             
            Summary: Metaflow: More AI and ML, Less Engineering
         
     | 
| 
       5 
5 
     | 
    
         
             
            Author: Metaflow Developers
         
     | 
| 
       6 
6 
     | 
    
         
             
            Author-email: help@metaflow.org
         
     | 
| 
         @@ -26,7 +26,7 @@ License-File: LICENSE 
     | 
|
| 
       26 
26 
     | 
    
         
             
            Requires-Dist: requests
         
     | 
| 
       27 
27 
     | 
    
         
             
            Requires-Dist: boto3
         
     | 
| 
       28 
28 
     | 
    
         
             
            Provides-Extra: stubs
         
     | 
| 
       29 
     | 
    
         
            -
            Requires-Dist: metaflow-stubs==2.15. 
     | 
| 
      
 29 
     | 
    
         
            +
            Requires-Dist: metaflow-stubs==2.15.11; extra == "stubs"
         
     | 
| 
       30 
30 
     | 
    
         
             
            Dynamic: author
         
     | 
| 
       31 
31 
     | 
    
         
             
            Dynamic: author-email
         
     | 
| 
       32 
32 
     | 
    
         
             
            Dynamic: classifier
         
     | 
| 
         @@ -12,7 +12,7 @@ metaflow/events.py,sha256=ahjzkSbSnRCK9RZ-9vTfUviz_6gMvSO9DGkJ86X80-k,5300 
     | 
|
| 
       12 
12 
     | 
    
         
             
            metaflow/exception.py,sha256=_m9ZBJM0cooHRslDqfxCPQmkChqaTh6fGxp7HvISnYI,5161
         
     | 
| 
       13 
13 
     | 
    
         
             
            metaflow/flowspec.py,sha256=GgbTeUBtG3AmZwIF-prRFMsZqFYGVysd5xBS9IPIPBs,35953
         
     | 
| 
       14 
14 
     | 
    
         
             
            metaflow/graph.py,sha256=cdpnWr85aEj_rRn-7EjbndWjr_i8Dt3P7-oPUW0NNpI,12393
         
     | 
| 
       15 
     | 
    
         
            -
            metaflow/includefile.py,sha256= 
     | 
| 
      
 15 
     | 
    
         
            +
            metaflow/includefile.py,sha256=RtISGl1V48qjkJBakUZ9yPpHV102h7pOIFiKP8PLHpc,20927
         
     | 
| 
       16 
16 
     | 
    
         
             
            metaflow/info_file.py,sha256=wtf2_F0M6dgiUu74AFImM8lfy5RrUw5Yj7Rgs2swKRY,686
         
     | 
| 
       17 
17 
     | 
    
         
             
            metaflow/integrations.py,sha256=LlsaoePRg03DjENnmLxZDYto3NwWc9z_PtU6nJxLldg,1480
         
     | 
| 
       18 
18 
     | 
    
         
             
            metaflow/lint.py,sha256=x4p6tnRzYqNNniCGXyrUW0WuYfTUgnaOMRivxvnxask,11661
         
     | 
| 
         @@ -37,7 +37,7 @@ metaflow/tuple_util.py,sha256=_G5YIEhuugwJ_f6rrZoelMFak3DqAR2tt_5CapS1XTY,830 
     | 
|
| 
       37 
37 
     | 
    
         
             
            metaflow/unbounded_foreach.py,sha256=p184WMbrMJ3xKYHwewj27ZhRUsSj_kw1jlye5gA9xJk,387
         
     | 
| 
       38 
38 
     | 
    
         
             
            metaflow/util.py,sha256=mJBkV5tShIyCsLDeM1zygQGeciQVMrVPm_qI8Oi33G0,14656
         
     | 
| 
       39 
39 
     | 
    
         
             
            metaflow/vendor.py,sha256=LZgXrh7ZSDmD32D1T5jj3OKKpXIqqxKzdMAOc5V0SD4,5162
         
     | 
| 
       40 
     | 
    
         
            -
            metaflow/version.py,sha256= 
     | 
| 
      
 40 
     | 
    
         
            +
            metaflow/version.py,sha256=V3MCZGYThdp_pU62PrdVdzGOfAFGKJNAcgmFrG7nuX0,29
         
     | 
| 
       41 
41 
     | 
    
         
             
            metaflow/_vendor/__init__.py,sha256=y_CiwUD3l4eAKvTVDZeqgVujMy31cAM1qjAB-HfI-9s,353
         
     | 
| 
       42 
42 
     | 
    
         
             
            metaflow/_vendor/typing_extensions.py,sha256=q9zxWa6p6CzF1zZvSkygSlklduHf_b3K7MCxGz7MJRc,134519
         
     | 
| 
       43 
43 
     | 
    
         
             
            metaflow/_vendor/zipp.py,sha256=ajztOH-9I7KA_4wqDYygtHa6xUBVZgFpmZ8FE74HHHI,8425
         
     | 
| 
         @@ -210,8 +210,8 @@ metaflow/plugins/airflow/sensors/s3_sensor.py,sha256=iDReG-7FKnumrtQg-HY6cCUAAqN 
     | 
|
| 
       210 
210 
     | 
    
         
             
            metaflow/plugins/argo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
         
     | 
| 
       211 
211 
     | 
    
         
             
            metaflow/plugins/argo/argo_client.py,sha256=A1kI9rjVjCadDsBscZ2Wk8xRBI6GNgWV6SU7TyrdfrI,16530
         
     | 
| 
       212 
212 
     | 
    
         
             
            metaflow/plugins/argo/argo_events.py,sha256=_C1KWztVqgi3zuH57pInaE9OzABc2NnncC-zdwOMZ-w,5909
         
     | 
| 
       213 
     | 
    
         
            -
            metaflow/plugins/argo/argo_workflows.py,sha256= 
     | 
| 
       214 
     | 
    
         
            -
            metaflow/plugins/argo/argo_workflows_cli.py,sha256= 
     | 
| 
      
 213 
     | 
    
         
            +
            metaflow/plugins/argo/argo_workflows.py,sha256=oX-e4o_CxTQP5DJ7zMQwckcobXZJz6hPxLs3fsHSnm8,186544
         
     | 
| 
      
 214 
     | 
    
         
            +
            metaflow/plugins/argo/argo_workflows_cli.py,sha256=X_GfJpc7jfP7DGuttl7U952767eBF6Ut45aWgoJzHVI,38375
         
     | 
| 
       215 
215 
     | 
    
         
             
            metaflow/plugins/argo/argo_workflows_decorator.py,sha256=ogCSBmwsC2C3eusydrgjuAJd4qK18f1sI4jJwA4Fd-o,7800
         
     | 
| 
       216 
216 
     | 
    
         
             
            metaflow/plugins/argo/argo_workflows_deployer.py,sha256=6kHxEnYXJwzNCM9swI8-0AckxtPWqwhZLerYkX8fxUM,4444
         
     | 
| 
       217 
217 
     | 
    
         
             
            metaflow/plugins/argo/argo_workflows_deployer_objects.py,sha256=lRRHUcpiyJZFltthxZoIp7aJWwy7pcdhaRm0etKN9es,14182
         
     | 
| 
         @@ -276,14 +276,14 @@ metaflow/plugins/cards/card_modules/chevron/tokenizer.py,sha256=lQU9OELUE9a5Xu4s 
     | 
|
| 
       276 
276 
     | 
    
         
             
            metaflow/plugins/cards/card_viewer/viewer.html,sha256=qZJGzhZhQ1gugsknRP7zkAPPfUAtvemK1UKqXoGff5M,11593
         
     | 
| 
       277 
277 
     | 
    
         
             
            metaflow/plugins/datastores/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
         
     | 
| 
       278 
278 
     | 
    
         
             
            metaflow/plugins/datastores/azure_storage.py,sha256=QvIUQGOZF1oKeRJXbl3RsV1MnO3OMfLzheoo0UNWn7E,16670
         
     | 
| 
       279 
     | 
    
         
            -
            metaflow/plugins/datastores/gs_storage.py,sha256= 
     | 
| 
      
 279 
     | 
    
         
            +
            metaflow/plugins/datastores/gs_storage.py,sha256=YEI62gElaJvACupFnY6ZEXuQLFWndi96upWFbnmc0VU,9782
         
     | 
| 
       280 
280 
     | 
    
         
             
            metaflow/plugins/datastores/local_storage.py,sha256=igrBDphhyu7EFIUj3BWcO7beiZbNnJLq--lF45UYSyI,4750
         
     | 
| 
       281 
281 
     | 
    
         
             
            metaflow/plugins/datastores/s3_storage.py,sha256=CZdNqaKtxDXQbEg2YHyphph3hWcLIE50puenm0WGVpk,5473
         
     | 
| 
       282 
282 
     | 
    
         
             
            metaflow/plugins/datatools/__init__.py,sha256=ge4L16OBQLy2J_MMvoHg3lMfdm-MluQgRWoyZ5GCRnk,1267
         
     | 
| 
       283 
283 
     | 
    
         
             
            metaflow/plugins/datatools/local.py,sha256=FJvMOBcjdyhSPHmdLocBSiIT0rmKkKBmsaclxH75x08,4233
         
     | 
| 
       284 
284 
     | 
    
         
             
            metaflow/plugins/datatools/s3/__init__.py,sha256=14tr9fPjN3ULW5IOfKHeG7Uhjmgm7LMtQHfz1SFv-h8,248
         
     | 
| 
       285 
     | 
    
         
            -
            metaflow/plugins/datatools/s3/s3.py,sha256= 
     | 
| 
       286 
     | 
    
         
            -
            metaflow/plugins/datatools/s3/s3op.py,sha256= 
     | 
| 
      
 285 
     | 
    
         
            +
            metaflow/plugins/datatools/s3/s3.py,sha256=3xrWD6pXoVRpuAQHyLGVya79UIE0S8AqAqe2prg4yMw,67182
         
     | 
| 
      
 286 
     | 
    
         
            +
            metaflow/plugins/datatools/s3/s3op.py,sha256=20XEOCCK_nAVm92ZOjLPTzLnTs9xrIX0Gj-ELxkuNPY,47742
         
     | 
| 
       287 
287 
     | 
    
         
             
            metaflow/plugins/datatools/s3/s3tail.py,sha256=boQjQGQMI-bvTqcMP2y7uSlSYLcvWOy7J3ZUaF78NAA,2597
         
     | 
| 
       288 
288 
     | 
    
         
             
            metaflow/plugins/datatools/s3/s3util.py,sha256=FgRgaVmEq7-i2dV7q8XK5w5PfFt-xJjZa8WrK8IJfdI,3769
         
     | 
| 
       289 
289 
     | 
    
         
             
            metaflow/plugins/env_escape/__init__.py,sha256=tGNUZnmPvk52eNs__VK443b3CZ7ogEFTT-s9_n_HF8Q,8837
         
     | 
| 
         @@ -330,8 +330,8 @@ metaflow/plugins/metadata_providers/local.py,sha256=Z0CXaGZJbAkj4II3WspJi-uCCtSh 
     | 
|
| 
       330 
330 
     | 
    
         
             
            metaflow/plugins/metadata_providers/service.py,sha256=9j0db_EOGFdb49YTgr9q4EWqVAm1YUaW-Baj5gyRqIo,22809
         
     | 
| 
       331 
331 
     | 
    
         
             
            metaflow/plugins/pypi/__init__.py,sha256=0YFZpXvX7HCkyBFglatual7XGifdA1RwC3U4kcizyak,1037
         
     | 
| 
       332 
332 
     | 
    
         
             
            metaflow/plugins/pypi/bootstrap.py,sha256=SNONquX6QnTbu7htmhaQeVeZ2ofaFaUCDScRIrTTERc,14718
         
     | 
| 
       333 
     | 
    
         
            -
            metaflow/plugins/pypi/conda_decorator.py,sha256= 
     | 
| 
       334 
     | 
    
         
            -
            metaflow/plugins/pypi/conda_environment.py,sha256= 
     | 
| 
      
 333 
     | 
    
         
            +
            metaflow/plugins/pypi/conda_decorator.py,sha256=N0HGiaS1mRsa6qT4eYzu2C3DHtas22QIXowW4vEl44M,15961
         
     | 
| 
      
 334 
     | 
    
         
            +
            metaflow/plugins/pypi/conda_environment.py,sha256=JuTfGfUML_AoeW4ASGkqPbm8OqtWsbtRwDNwrRTRqS4,22274
         
     | 
| 
       335 
335 
     | 
    
         
             
            metaflow/plugins/pypi/micromamba.py,sha256=LLJ2dGGOEyld07W8iI6dtE01h2Y1PQnBhU-dMBssZ3c,16502
         
     | 
| 
       336 
336 
     | 
    
         
             
            metaflow/plugins/pypi/parsers.py,sha256=gpOOG2Ph95wI73MWCAi7XjpK0gYhv5k5YIGBs73QPuE,8556
         
     | 
| 
       337 
337 
     | 
    
         
             
            metaflow/plugins/pypi/pip.py,sha256=H0cIy8odpZ-JTn4SwF0b74tuC3uRU7X8TdAQJ2kODG8,13971
         
     | 
| 
         @@ -393,12 +393,12 @@ metaflow/user_configs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h 
     | 
|
| 
       393 
393 
     | 
    
         
             
            metaflow/user_configs/config_decorators.py,sha256=qCKVAvd0NKgaCxQ2OThes5-DYHXq6A1HqURubYNeFdw,20481
         
     | 
| 
       394 
394 
     | 
    
         
             
            metaflow/user_configs/config_options.py,sha256=m6jccSpzI4qUJ7vyYkYBIf8G3V0Caunxg_k7zg4Zlqg,21067
         
     | 
| 
       395 
395 
     | 
    
         
             
            metaflow/user_configs/config_parameters.py,sha256=oeJGVKu1ao_YQX6Lg6P2FEv5k5-_F4sARLlVpTW9ezM,15502
         
     | 
| 
       396 
     | 
    
         
            -
            metaflow-2.15. 
     | 
| 
       397 
     | 
    
         
            -
            metaflow-2.15. 
     | 
| 
       398 
     | 
    
         
            -
            metaflow-2.15. 
     | 
| 
       399 
     | 
    
         
            -
            metaflow-2.15. 
     | 
| 
       400 
     | 
    
         
            -
            metaflow-2.15. 
     | 
| 
       401 
     | 
    
         
            -
            metaflow-2.15. 
     | 
| 
       402 
     | 
    
         
            -
            metaflow-2.15. 
     | 
| 
       403 
     | 
    
         
            -
            metaflow-2.15. 
     | 
| 
       404 
     | 
    
         
            -
            metaflow-2.15. 
     | 
| 
      
 396 
     | 
    
         
            +
            metaflow-2.15.11.data/data/share/metaflow/devtools/Makefile,sha256=5n89OGIC_kE4wxtEI66VCucN-b-1w5bqvGeZYmeRGz8,13737
         
     | 
| 
      
 397 
     | 
    
         
            +
            metaflow-2.15.11.data/data/share/metaflow/devtools/Tiltfile,sha256=P5_rn_F3xYLN1_cEAQ9mNeS22HG2rb8beKIz2RIK6fU,20634
         
     | 
| 
      
 398 
     | 
    
         
            +
            metaflow-2.15.11.data/data/share/metaflow/devtools/pick_services.sh,sha256=DCnrMXwtApfx3B4S-YiZESMyAFHbXa3VuNL0MxPLyiE,2196
         
     | 
| 
      
 399 
     | 
    
         
            +
            metaflow-2.15.11.dist-info/licenses/LICENSE,sha256=nl_Lt5v9VvJ-5lWJDT4ddKAG-VZ-2IaLmbzpgYDz2hU,11343
         
     | 
| 
      
 400 
     | 
    
         
            +
            metaflow-2.15.11.dist-info/METADATA,sha256=aFy969IqHDb3_SQJx_gXBInl3KI_JmZn_kwzTAEaVpw,6742
         
     | 
| 
      
 401 
     | 
    
         
            +
            metaflow-2.15.11.dist-info/WHEEL,sha256=oSJJyWjO7Z2XSScFQUpXG1HL-N0sFMqqeKVVbZTPkWc,109
         
     | 
| 
      
 402 
     | 
    
         
            +
            metaflow-2.15.11.dist-info/entry_points.txt,sha256=RvEq8VFlgGe_FfqGOZi0D7ze1hLD0pAtXeNyGfzc_Yc,103
         
     | 
| 
      
 403 
     | 
    
         
            +
            metaflow-2.15.11.dist-info/top_level.txt,sha256=v1pDHoWaSaKeuc5fKTRSfsXCKSdW1zvNVmvA-i0if3o,9
         
     | 
| 
      
 404 
     | 
    
         
            +
            metaflow-2.15.11.dist-info/RECORD,,
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
    
        {metaflow-2.15.9.data → metaflow-2.15.11.data}/data/share/metaflow/devtools/pick_services.sh
    RENAMED
    
    | 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     |