metaflow 2.15.5__py2.py3-none-any.whl → 2.15.6__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.
Files changed (51) hide show
  1. metaflow/_vendor/typeguard/_checkers.py +259 -95
  2. metaflow/_vendor/typeguard/_config.py +4 -4
  3. metaflow/_vendor/typeguard/_decorators.py +8 -12
  4. metaflow/_vendor/typeguard/_functions.py +33 -32
  5. metaflow/_vendor/typeguard/_pytest_plugin.py +40 -13
  6. metaflow/_vendor/typeguard/_suppression.py +3 -5
  7. metaflow/_vendor/typeguard/_transformer.py +84 -48
  8. metaflow/_vendor/typeguard/_union_transformer.py +1 -0
  9. metaflow/_vendor/typeguard/_utils.py +13 -9
  10. metaflow/_vendor/typing_extensions.py +1088 -500
  11. metaflow/_vendor/v3_7/__init__.py +1 -0
  12. metaflow/_vendor/v3_7/importlib_metadata/__init__.py +1063 -0
  13. metaflow/_vendor/v3_7/importlib_metadata/_adapters.py +68 -0
  14. metaflow/_vendor/v3_7/importlib_metadata/_collections.py +30 -0
  15. metaflow/_vendor/v3_7/importlib_metadata/_compat.py +71 -0
  16. metaflow/_vendor/v3_7/importlib_metadata/_functools.py +104 -0
  17. metaflow/_vendor/v3_7/importlib_metadata/_itertools.py +73 -0
  18. metaflow/_vendor/v3_7/importlib_metadata/_meta.py +48 -0
  19. metaflow/_vendor/v3_7/importlib_metadata/_text.py +99 -0
  20. metaflow/_vendor/v3_7/importlib_metadata/py.typed +0 -0
  21. metaflow/_vendor/v3_7/typeguard/__init__.py +48 -0
  22. metaflow/_vendor/v3_7/typeguard/_checkers.py +906 -0
  23. metaflow/_vendor/v3_7/typeguard/_config.py +108 -0
  24. metaflow/_vendor/v3_7/typeguard/_decorators.py +237 -0
  25. metaflow/_vendor/v3_7/typeguard/_exceptions.py +42 -0
  26. metaflow/_vendor/v3_7/typeguard/_functions.py +310 -0
  27. metaflow/_vendor/v3_7/typeguard/_importhook.py +213 -0
  28. metaflow/_vendor/v3_7/typeguard/_memo.py +48 -0
  29. metaflow/_vendor/v3_7/typeguard/_pytest_plugin.py +100 -0
  30. metaflow/_vendor/v3_7/typeguard/_suppression.py +88 -0
  31. metaflow/_vendor/v3_7/typeguard/_transformer.py +1207 -0
  32. metaflow/_vendor/v3_7/typeguard/_union_transformer.py +54 -0
  33. metaflow/_vendor/v3_7/typeguard/_utils.py +169 -0
  34. metaflow/_vendor/v3_7/typeguard/py.typed +0 -0
  35. metaflow/_vendor/v3_7/typing_extensions.py +3072 -0
  36. metaflow/_vendor/v3_7/zipp.py +329 -0
  37. metaflow/cmd/develop/stubs.py +1 -1
  38. metaflow/extension_support/__init__.py +1 -1
  39. metaflow/plugins/pypi/utils.py +4 -0
  40. metaflow/runner/click_api.py +7 -2
  41. metaflow/vendor.py +1 -0
  42. metaflow/version.py +1 -1
  43. {metaflow-2.15.5.dist-info → metaflow-2.15.6.dist-info}/METADATA +2 -2
  44. {metaflow-2.15.5.dist-info → metaflow-2.15.6.dist-info}/RECORD +51 -25
  45. {metaflow-2.15.5.data → metaflow-2.15.6.data}/data/share/metaflow/devtools/Makefile +0 -0
  46. {metaflow-2.15.5.data → metaflow-2.15.6.data}/data/share/metaflow/devtools/Tiltfile +0 -0
  47. {metaflow-2.15.5.data → metaflow-2.15.6.data}/data/share/metaflow/devtools/pick_services.sh +0 -0
  48. {metaflow-2.15.5.dist-info → metaflow-2.15.6.dist-info}/LICENSE +0 -0
  49. {metaflow-2.15.5.dist-info → metaflow-2.15.6.dist-info}/WHEEL +0 -0
  50. {metaflow-2.15.5.dist-info → metaflow-2.15.6.dist-info}/entry_points.txt +0 -0
  51. {metaflow-2.15.5.dist-info → metaflow-2.15.6.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,329 @@
1
+ import io
2
+ import posixpath
3
+ import zipfile
4
+ import itertools
5
+ import contextlib
6
+ import sys
7
+ import pathlib
8
+
9
+ if sys.version_info < (3, 7):
10
+ from collections import OrderedDict
11
+ else:
12
+ OrderedDict = dict
13
+
14
+
15
+ __all__ = ['Path']
16
+
17
+
18
+ def _parents(path):
19
+ """
20
+ Given a path with elements separated by
21
+ posixpath.sep, generate all parents of that path.
22
+
23
+ >>> list(_parents('b/d'))
24
+ ['b']
25
+ >>> list(_parents('/b/d/'))
26
+ ['/b']
27
+ >>> list(_parents('b/d/f/'))
28
+ ['b/d', 'b']
29
+ >>> list(_parents('b'))
30
+ []
31
+ >>> list(_parents(''))
32
+ []
33
+ """
34
+ return itertools.islice(_ancestry(path), 1, None)
35
+
36
+
37
+ def _ancestry(path):
38
+ """
39
+ Given a path with elements separated by
40
+ posixpath.sep, generate all elements of that path
41
+
42
+ >>> list(_ancestry('b/d'))
43
+ ['b/d', 'b']
44
+ >>> list(_ancestry('/b/d/'))
45
+ ['/b/d', '/b']
46
+ >>> list(_ancestry('b/d/f/'))
47
+ ['b/d/f', 'b/d', 'b']
48
+ >>> list(_ancestry('b'))
49
+ ['b']
50
+ >>> list(_ancestry(''))
51
+ []
52
+ """
53
+ path = path.rstrip(posixpath.sep)
54
+ while path and path != posixpath.sep:
55
+ yield path
56
+ path, tail = posixpath.split(path)
57
+
58
+
59
+ _dedupe = OrderedDict.fromkeys
60
+ """Deduplicate an iterable in original order"""
61
+
62
+
63
+ def _difference(minuend, subtrahend):
64
+ """
65
+ Return items in minuend not in subtrahend, retaining order
66
+ with O(1) lookup.
67
+ """
68
+ return itertools.filterfalse(set(subtrahend).__contains__, minuend)
69
+
70
+
71
+ class CompleteDirs(zipfile.ZipFile):
72
+ """
73
+ A ZipFile subclass that ensures that implied directories
74
+ are always included in the namelist.
75
+ """
76
+
77
+ @staticmethod
78
+ def _implied_dirs(names):
79
+ parents = itertools.chain.from_iterable(map(_parents, names))
80
+ as_dirs = (p + posixpath.sep for p in parents)
81
+ return _dedupe(_difference(as_dirs, names))
82
+
83
+ def namelist(self):
84
+ names = super(CompleteDirs, self).namelist()
85
+ return names + list(self._implied_dirs(names))
86
+
87
+ def _name_set(self):
88
+ return set(self.namelist())
89
+
90
+ def resolve_dir(self, name):
91
+ """
92
+ If the name represents a directory, return that name
93
+ as a directory (with the trailing slash).
94
+ """
95
+ names = self._name_set()
96
+ dirname = name + '/'
97
+ dir_match = name not in names and dirname in names
98
+ return dirname if dir_match else name
99
+
100
+ @classmethod
101
+ def make(cls, source):
102
+ """
103
+ Given a source (filename or zipfile), return an
104
+ appropriate CompleteDirs subclass.
105
+ """
106
+ if isinstance(source, CompleteDirs):
107
+ return source
108
+
109
+ if not isinstance(source, zipfile.ZipFile):
110
+ return cls(_pathlib_compat(source))
111
+
112
+ # Only allow for FastLookup when supplied zipfile is read-only
113
+ if 'r' not in source.mode:
114
+ cls = CompleteDirs
115
+
116
+ source.__class__ = cls
117
+ return source
118
+
119
+
120
+ class FastLookup(CompleteDirs):
121
+ """
122
+ ZipFile subclass to ensure implicit
123
+ dirs exist and are resolved rapidly.
124
+ """
125
+
126
+ def namelist(self):
127
+ with contextlib.suppress(AttributeError):
128
+ return self.__names
129
+ self.__names = super(FastLookup, self).namelist()
130
+ return self.__names
131
+
132
+ def _name_set(self):
133
+ with contextlib.suppress(AttributeError):
134
+ return self.__lookup
135
+ self.__lookup = super(FastLookup, self)._name_set()
136
+ return self.__lookup
137
+
138
+
139
+ def _pathlib_compat(path):
140
+ """
141
+ For path-like objects, convert to a filename for compatibility
142
+ on Python 3.6.1 and earlier.
143
+ """
144
+ try:
145
+ return path.__fspath__()
146
+ except AttributeError:
147
+ return str(path)
148
+
149
+
150
+ class Path:
151
+ """
152
+ A pathlib-compatible interface for zip files.
153
+
154
+ Consider a zip file with this structure::
155
+
156
+ .
157
+ ├── a.txt
158
+ └── b
159
+ ├── c.txt
160
+ └── d
161
+ └── e.txt
162
+
163
+ >>> data = io.BytesIO()
164
+ >>> zf = zipfile.ZipFile(data, 'w')
165
+ >>> zf.writestr('a.txt', 'content of a')
166
+ >>> zf.writestr('b/c.txt', 'content of c')
167
+ >>> zf.writestr('b/d/e.txt', 'content of e')
168
+ >>> zf.filename = 'mem/abcde.zip'
169
+
170
+ Path accepts the zipfile object itself or a filename
171
+
172
+ >>> root = Path(zf)
173
+
174
+ From there, several path operations are available.
175
+
176
+ Directory iteration (including the zip file itself):
177
+
178
+ >>> a, b = root.iterdir()
179
+ >>> a
180
+ Path('mem/abcde.zip', 'a.txt')
181
+ >>> b
182
+ Path('mem/abcde.zip', 'b/')
183
+
184
+ name property:
185
+
186
+ >>> b.name
187
+ 'b'
188
+
189
+ join with divide operator:
190
+
191
+ >>> c = b / 'c.txt'
192
+ >>> c
193
+ Path('mem/abcde.zip', 'b/c.txt')
194
+ >>> c.name
195
+ 'c.txt'
196
+
197
+ Read text:
198
+
199
+ >>> c.read_text()
200
+ 'content of c'
201
+
202
+ existence:
203
+
204
+ >>> c.exists()
205
+ True
206
+ >>> (b / 'missing.txt').exists()
207
+ False
208
+
209
+ Coercion to string:
210
+
211
+ >>> import os
212
+ >>> str(c).replace(os.sep, posixpath.sep)
213
+ 'mem/abcde.zip/b/c.txt'
214
+
215
+ At the root, ``name``, ``filename``, and ``parent``
216
+ resolve to the zipfile. Note these attributes are not
217
+ valid and will raise a ``ValueError`` if the zipfile
218
+ has no filename.
219
+
220
+ >>> root.name
221
+ 'abcde.zip'
222
+ >>> str(root.filename).replace(os.sep, posixpath.sep)
223
+ 'mem/abcde.zip'
224
+ >>> str(root.parent)
225
+ 'mem'
226
+ """
227
+
228
+ __repr = "{self.__class__.__name__}({self.root.filename!r}, {self.at!r})"
229
+
230
+ def __init__(self, root, at=""):
231
+ """
232
+ Construct a Path from a ZipFile or filename.
233
+
234
+ Note: When the source is an existing ZipFile object,
235
+ its type (__class__) will be mutated to a
236
+ specialized type. If the caller wishes to retain the
237
+ original type, the caller should either create a
238
+ separate ZipFile object or pass a filename.
239
+ """
240
+ self.root = FastLookup.make(root)
241
+ self.at = at
242
+
243
+ def open(self, mode='r', *args, pwd=None, **kwargs):
244
+ """
245
+ Open this entry as text or binary following the semantics
246
+ of ``pathlib.Path.open()`` by passing arguments through
247
+ to io.TextIOWrapper().
248
+ """
249
+ if self.is_dir():
250
+ raise IsADirectoryError(self)
251
+ zip_mode = mode[0]
252
+ if not self.exists() and zip_mode == 'r':
253
+ raise FileNotFoundError(self)
254
+ stream = self.root.open(self.at, zip_mode, pwd=pwd)
255
+ if 'b' in mode:
256
+ if args or kwargs:
257
+ raise ValueError("encoding args invalid for binary operation")
258
+ return stream
259
+ return io.TextIOWrapper(stream, *args, **kwargs)
260
+
261
+ @property
262
+ def name(self):
263
+ return pathlib.Path(self.at).name or self.filename.name
264
+
265
+ @property
266
+ def suffix(self):
267
+ return pathlib.Path(self.at).suffix or self.filename.suffix
268
+
269
+ @property
270
+ def suffixes(self):
271
+ return pathlib.Path(self.at).suffixes or self.filename.suffixes
272
+
273
+ @property
274
+ def stem(self):
275
+ return pathlib.Path(self.at).stem or self.filename.stem
276
+
277
+ @property
278
+ def filename(self):
279
+ return pathlib.Path(self.root.filename).joinpath(self.at)
280
+
281
+ def read_text(self, *args, **kwargs):
282
+ with self.open('r', *args, **kwargs) as strm:
283
+ return strm.read()
284
+
285
+ def read_bytes(self):
286
+ with self.open('rb') as strm:
287
+ return strm.read()
288
+
289
+ def _is_child(self, path):
290
+ return posixpath.dirname(path.at.rstrip("/")) == self.at.rstrip("/")
291
+
292
+ def _next(self, at):
293
+ return self.__class__(self.root, at)
294
+
295
+ def is_dir(self):
296
+ return not self.at or self.at.endswith("/")
297
+
298
+ def is_file(self):
299
+ return self.exists() and not self.is_dir()
300
+
301
+ def exists(self):
302
+ return self.at in self.root._name_set()
303
+
304
+ def iterdir(self):
305
+ if not self.is_dir():
306
+ raise ValueError("Can't listdir a file")
307
+ subs = map(self._next, self.root.namelist())
308
+ return filter(self._is_child, subs)
309
+
310
+ def __str__(self):
311
+ return posixpath.join(self.root.filename, self.at)
312
+
313
+ def __repr__(self):
314
+ return self.__repr.format(self=self)
315
+
316
+ def joinpath(self, *other):
317
+ next = posixpath.join(self.at, *map(_pathlib_compat, other))
318
+ return self._next(self.root.resolve_dir(next))
319
+
320
+ __truediv__ = joinpath
321
+
322
+ @property
323
+ def parent(self):
324
+ if not self.at:
325
+ return self.filename.parent
326
+ parent_at = posixpath.dirname(self.at.rstrip('/'))
327
+ if parent_at:
328
+ parent_at += '/'
329
+ return self._next(parent_at)
@@ -24,7 +24,7 @@ def _check_stubs_supported():
24
24
  if _py_ver >= (3, 8):
25
25
  from importlib import metadata
26
26
  elif _py_ver >= (3, 7):
27
- from metaflow._vendor import importlib_metadata as metadata
27
+ from metaflow._vendor.v3_7 import importlib_metadata as metadata
28
28
  elif _py_ver >= (3, 6):
29
29
  from metaflow._vendor.v3_6 import importlib_metadata as metadata
30
30
  else:
@@ -321,7 +321,7 @@ if _py_ver >= (3, 4):
321
321
  if _py_ver >= (3, 8):
322
322
  from importlib import metadata
323
323
  elif _py_ver >= (3, 7):
324
- from metaflow._vendor import importlib_metadata as metadata
324
+ from metaflow._vendor.v3_7 import importlib_metadata as metadata
325
325
  elif _py_ver >= (3, 6):
326
326
  from metaflow._vendor.v3_6 import importlib_metadata as metadata
327
327
  else:
@@ -69,6 +69,8 @@ def pip_tags(python_version, mamba_platform):
69
69
  "_2_25",
70
70
  "_2_26",
71
71
  "_2_27",
72
+ "_2_28",
73
+ "_2_29",
72
74
  )
73
75
  ]
74
76
  platforms.append("linux_x86_64")
@@ -87,6 +89,8 @@ def pip_tags(python_version, mamba_platform):
87
89
  "_2_25",
88
90
  "_2_26",
89
91
  "_2_27",
92
+ "_2_28",
93
+ "_2_29",
90
94
  )
91
95
  ]
92
96
  platforms.append("linux_aarch64")
@@ -1,7 +1,13 @@
1
1
  import os
2
2
  import sys
3
3
 
4
- if sys.version_info < (3, 7):
4
+ _py_ver = sys.version_info[:2]
5
+
6
+ if _py_ver >= (3, 8):
7
+ from metaflow._vendor.typeguard import TypeCheckError, check_type
8
+ elif _py_ver >= (3, 7):
9
+ from metaflow._vendor.v3_7.typeguard import TypeCheckError, check_type
10
+ else:
5
11
  raise RuntimeError(
6
12
  """
7
13
  The Metaflow Programmatic API is not supported for versions of Python less than 3.7
@@ -35,7 +41,6 @@ from metaflow._vendor.click.types import (
35
41
  Tuple,
36
42
  UUIDParameterType,
37
43
  )
38
- from metaflow._vendor.typeguard import TypeCheckError, check_type
39
44
  from metaflow.decorators import add_decorator_options
40
45
  from metaflow.exception import MetaflowException
41
46
  from metaflow.includefile import FilePathClass
metaflow/vendor.py CHANGED
@@ -13,6 +13,7 @@ WHITELIST = {
13
13
  "vendor_any.txt",
14
14
  "vendor_v3_5.txt",
15
15
  "vendor_v3_6.txt",
16
+ "vendor_v3_7.txt",
16
17
  "pip.LICENSE",
17
18
  }
18
19
 
metaflow/version.py CHANGED
@@ -1 +1 @@
1
- metaflow_version = "2.15.5"
1
+ metaflow_version = "2.15.6"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: metaflow
3
- Version: 2.15.5
3
+ Version: 2.15.6
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.5; extra == "stubs"
29
+ Requires-Dist: metaflow-stubs==2.15.6; extra == "stubs"
30
30
  Dynamic: author
31
31
  Dynamic: author-email
32
32
  Dynamic: classifier
@@ -35,10 +35,10 @@ metaflow/task.py,sha256=IYOql3joTnL3N5V2LESeII0B6Xc3_EM6at_Jg14-UZU,30412
35
35
  metaflow/tuple_util.py,sha256=_G5YIEhuugwJ_f6rrZoelMFak3DqAR2tt_5CapS1XTY,830
36
36
  metaflow/unbounded_foreach.py,sha256=p184WMbrMJ3xKYHwewj27ZhRUsSj_kw1jlye5gA9xJk,387
37
37
  metaflow/util.py,sha256=mJBkV5tShIyCsLDeM1zygQGeciQVMrVPm_qI8Oi33G0,14656
38
- metaflow/vendor.py,sha256=FchtA9tH22JM-eEtJ2c9FpUdMn8sSb1VHuQS56EcdZk,5139
39
- metaflow/version.py,sha256=rH0plnhiC-GqiWzT9Z7CsDSyccqEp2h5Cg-NtZ8bpms,28
38
+ metaflow/vendor.py,sha256=LZgXrh7ZSDmD32D1T5jj3OKKpXIqqxKzdMAOc5V0SD4,5162
39
+ metaflow/version.py,sha256=ZlN1EXXY-FUfZFt8QU0JnBgafO3TEIZep8DTZHldVYg,28
40
40
  metaflow/_vendor/__init__.py,sha256=y_CiwUD3l4eAKvTVDZeqgVujMy31cAM1qjAB-HfI-9s,353
41
- metaflow/_vendor/typing_extensions.py,sha256=0nUs5p1A_UrZigrAVBoOEM6TxU37zzPDUtiij1ZwpNc,110417
41
+ metaflow/_vendor/typing_extensions.py,sha256=q9zxWa6p6CzF1zZvSkygSlklduHf_b3K7MCxGz7MJRc,134519
42
42
  metaflow/_vendor/zipp.py,sha256=ajztOH-9I7KA_4wqDYygtHa6xUBVZgFpmZ8FE74HHHI,8425
43
43
  metaflow/_vendor/click/__init__.py,sha256=FkyGDQ-cbiQxP_lxgUspyFYS48f2S_pTcfKPz-d_RMo,2463
44
44
  metaflow/_vendor/click/_bashcomplete.py,sha256=9J98IHQYmCAr2Jup6TDshUr5FJEen-AoQCZR0K5nKxQ,12309
@@ -81,18 +81,18 @@ metaflow/_vendor/packaging/tags.py,sha256=fOKnZVfiU3oc9CPSzjJUsMk5VTfgOfpNhWobUH
81
81
  metaflow/_vendor/packaging/utils.py,sha256=es0cCezKspzriQ-3V88h3yJzxz028euV2sUwM61kE-o,4355
82
82
  metaflow/_vendor/packaging/version.py,sha256=0zkwY8_t0OX8lvLTaIGdc9g2WvqdEKpmGxrS1DvgmS4,16312
83
83
  metaflow/_vendor/typeguard/__init__.py,sha256=Onh4w38elPCjtlcU3JY9k3h70NjsxXIkAflmQn-Z0FY,2071
84
- metaflow/_vendor/typeguard/_checkers.py,sha256=PVMQp4Yx4e7wtWuJ2STGEM9IDgFTcGuvDQ_82SWccjM,27479
85
- metaflow/_vendor/typeguard/_config.py,sha256=TS0uJ-zrCShIS15jUvJH_OUoDI9Npya1uIavFaYnQVs,2851
86
- metaflow/_vendor/typeguard/_decorators.py,sha256=EFS4sWnbbqolgLfo_-pXgRogUa8SqdpIFOimRao9pw0,9039
84
+ metaflow/_vendor/typeguard/_checkers.py,sha256=WokrSy3YFCASMcMsKr8l8q6GbSzUv7NCVzpExHrqnbk,34481
85
+ metaflow/_vendor/typeguard/_config.py,sha256=nIz8QwDa-oFO3L9O8_6srzlmd99pSby2wOM4Wb7F_B0,2846
86
+ metaflow/_vendor/typeguard/_decorators.py,sha256=Lez5ovlF1thXqW-FubtNJT_OP55UNWzCEqixHoddzcM,9037
87
87
  metaflow/_vendor/typeguard/_exceptions.py,sha256=ZIPeiV-FBd5Emw2EaWd2Fvlsrwi4ocwT2fVGBIAtHcQ,1121
88
- metaflow/_vendor/typeguard/_functions.py,sha256=-us91HRMAoTQxQRahgIupG-BybVKa94bKU4s1IczVko,10195
88
+ metaflow/_vendor/typeguard/_functions.py,sha256=jU5L1LbtiawrG3LqoJjMRrT6VfNZdjYD8dChSGfvZhA,10410
89
89
  metaflow/_vendor/typeguard/_importhook.py,sha256=0toX7fBdZgDkpjxs_g5-y5_bonFj_XbdRPVdZb6VQ_Y,6440
90
90
  metaflow/_vendor/typeguard/_memo.py,sha256=lD8p7_OkaN_5pQYTjCNrGIxttepytNUhyh5qFhcbUTw,1320
91
- metaflow/_vendor/typeguard/_pytest_plugin.py,sha256=6ZzLWvgkIXDSR3EjqBIaSMDe_ufc1bSzGKPhdENjZ2I,3784
92
- metaflow/_vendor/typeguard/_suppression.py,sha256=GBVHApXeclBK-iggSRpirehwBYBN3b5P22BxcRcbdgk,2290
93
- metaflow/_vendor/typeguard/_transformer.py,sha256=H3OE-pQmV15-HykHXrX7Wz323ralxzFwq76J0k_LYS8,43580
94
- metaflow/_vendor/typeguard/_union_transformer.py,sha256=qdAi2FQYikacoCk3YybNcYjWbC4jDM3y0Jfcu3qvfKw,1353
95
- metaflow/_vendor/typeguard/_utils.py,sha256=MRxRtrolY3Eo73ZELGm98BSi4y1-1T8jEBfo9Qlcc8o,5076
91
+ metaflow/_vendor/typeguard/_pytest_plugin.py,sha256=Id07LTmLSHCsGp159r1i20N10zSwTTCNYFASZgwidU4,4484
92
+ metaflow/_vendor/typeguard/_suppression.py,sha256=r-_a-LvsMMP6Y8xoeuK0kzvQXgcTvCq-munv-nxCY44,2283
93
+ metaflow/_vendor/typeguard/_transformer.py,sha256=9Ha7_QhdwoUni_6hvdY-hZbuEergowHrNL2vzHIakFY,44937
94
+ metaflow/_vendor/typeguard/_union_transformer.py,sha256=v_42r7-6HuRX2SoFwnyJ-E5PlxXpVeUJPJR1-HU9qSo,1354
95
+ metaflow/_vendor/typeguard/_utils.py,sha256=A8jluNB05hdZfzY_AXqa5oB9fY0jZsq_SCsyWy6g-1A,5287
96
96
  metaflow/_vendor/typeguard/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
97
97
  metaflow/_vendor/v3_5/__init__.py,sha256=98e_aAZvsdPvFOT7hg_UM6i7DGHOLEdaeFiGVZLMRqA,12
98
98
  metaflow/_vendor/v3_5/zipp.py,sha256=ajztOH-9I7KA_4wqDYygtHa6xUBVZgFpmZ8FE74HHHI,8425
@@ -110,6 +110,32 @@ metaflow/_vendor/v3_6/importlib_metadata/_itertools.py,sha256=cvr_2v8BRbxcIl5x5l
110
110
  metaflow/_vendor/v3_6/importlib_metadata/_meta.py,sha256=_F48Hu_jFxkfKWz5wcYS8vO23qEygbVdF9r-6qh-hjE,1154
111
111
  metaflow/_vendor/v3_6/importlib_metadata/_text.py,sha256=HCsFksZpJLeTP3NEk_ngrAeXVRRtTrtyh9eOABoRP4A,2166
112
112
  metaflow/_vendor/v3_6/importlib_metadata/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
113
+ metaflow/_vendor/v3_7/__init__.py,sha256=98e_aAZvsdPvFOT7hg_UM6i7DGHOLEdaeFiGVZLMRqA,12
114
+ metaflow/_vendor/v3_7/typing_extensions.py,sha256=lRTMR7cA-AKtEOBs0ctb4sX2dBNMDYgaweGKimM78oQ,111170
115
+ metaflow/_vendor/v3_7/zipp.py,sha256=ajztOH-9I7KA_4wqDYygtHa6xUBVZgFpmZ8FE74HHHI,8425
116
+ metaflow/_vendor/v3_7/importlib_metadata/__init__.py,sha256=8iV1BbjJfBSbQXCL8RivImyn0EEy6EXIddafq4fcgBo,30530
117
+ metaflow/_vendor/v3_7/importlib_metadata/_adapters.py,sha256=B6fCi5-8mLVDFUZj3krI5nAo-mKp1dH_qIavyIyFrJs,1862
118
+ metaflow/_vendor/v3_7/importlib_metadata/_collections.py,sha256=CJ0OTCHIjWA0ZIVS4voORAsn2R4R2cQBEtPsZEJpASY,743
119
+ metaflow/_vendor/v3_7/importlib_metadata/_compat.py,sha256=KIKOPX59lLjLsr5htYD2h-6_bpAaCw_d7sJAcoHzzok,1848
120
+ metaflow/_vendor/v3_7/importlib_metadata/_functools.py,sha256=PsY2-4rrKX4RVeRC1oGp1lB1pmC9eKN88_f-bD9uOoA,2895
121
+ metaflow/_vendor/v3_7/importlib_metadata/_itertools.py,sha256=cvr_2v8BRbxcIl5x5ldfqdHjhI8Yi8s8yk50G_nm6jQ,2068
122
+ metaflow/_vendor/v3_7/importlib_metadata/_meta.py,sha256=_F48Hu_jFxkfKWz5wcYS8vO23qEygbVdF9r-6qh-hjE,1154
123
+ metaflow/_vendor/v3_7/importlib_metadata/_text.py,sha256=HCsFksZpJLeTP3NEk_ngrAeXVRRtTrtyh9eOABoRP4A,2166
124
+ metaflow/_vendor/v3_7/importlib_metadata/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
125
+ metaflow/_vendor/v3_7/typeguard/__init__.py,sha256=Onh4w38elPCjtlcU3JY9k3h70NjsxXIkAflmQn-Z0FY,2071
126
+ metaflow/_vendor/v3_7/typeguard/_checkers.py,sha256=6H3vCM6_cWrD0qDh1ZLbcJaGgAgpXOmvdYICXFl0SJ4,27518
127
+ metaflow/_vendor/v3_7/typeguard/_config.py,sha256=TS0uJ-zrCShIS15jUvJH_OUoDI9Npya1uIavFaYnQVs,2851
128
+ metaflow/_vendor/v3_7/typeguard/_decorators.py,sha256=EFS4sWnbbqolgLfo_-pXgRogUa8SqdpIFOimRao9pw0,9039
129
+ metaflow/_vendor/v3_7/typeguard/_exceptions.py,sha256=ZIPeiV-FBd5Emw2EaWd2Fvlsrwi4ocwT2fVGBIAtHcQ,1121
130
+ metaflow/_vendor/v3_7/typeguard/_functions.py,sha256=7A0VfAWoLfe3m_1OAlTY2-zD9_fFS3-w6oYkfBAT86Q,10425
131
+ metaflow/_vendor/v3_7/typeguard/_importhook.py,sha256=QVyreYs32jlLkd1ItzWeDsm-i9WJry87XV2wfpBvmaw,6455
132
+ metaflow/_vendor/v3_7/typeguard/_memo.py,sha256=ceykeiNkMjNwZ1vMw3WEAHwW6WXBdBL36UYY1f_V6bk,1325
133
+ metaflow/_vendor/v3_7/typeguard/_pytest_plugin.py,sha256=1Mt0VHbslJZ3hR7b7B9nueu0_c6QA4yJqoqgdtjtHvY,3804
134
+ metaflow/_vendor/v3_7/typeguard/_suppression.py,sha256=vFuoBm-crW4Qc5NbB6zSFOSX7bNM-tbwXUzDj7m88g4,2295
135
+ metaflow/_vendor/v3_7/typeguard/_transformer.py,sha256=ezvPCMScd3XQUj_QDKGaPJSQFW-Q6FX_FgqlApsDm9U,43918
136
+ metaflow/_vendor/v3_7/typeguard/_union_transformer.py,sha256=qdAi2FQYikacoCk3YybNcYjWbC4jDM3y0Jfcu3qvfKw,1353
137
+ metaflow/_vendor/v3_7/typeguard/_utils.py,sha256=Bj8D17zny8yTan8CNG6HhlL8Gb-BOMGP-5mmElNk6e8,5086
138
+ metaflow/_vendor/v3_7/typeguard/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
113
139
  metaflow/cli_components/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
114
140
  metaflow/cli_components/dump_cmd.py,sha256=SZEX51BWNd1o3H2uHDkYA8KRvou5X8g5rTwpdu5vnNQ,2704
115
141
  metaflow/cli_components/init_cmd.py,sha256=Er-BO59UEUV1HIsg81bRtZWT2D2IZNMp93l-AoZLCls,1519
@@ -128,7 +154,7 @@ metaflow/cmd/util.py,sha256=jS_0rUjOnGGzPT65fzRLdGjrYAOOLA4jU2S0HJLV0oc,406
128
154
  metaflow/cmd/code/__init__.py,sha256=VO4dNM9M9LHYy5nTgEiJvCV1RBl8lpDlYGJm6GIcaBA,7413
129
155
  metaflow/cmd/develop/__init__.py,sha256=p1Sy8yU1MEKSrH5ttOWOZvNcI1qYu6J6jghdTHwPgOw,689
130
156
  metaflow/cmd/develop/stub_generator.py,sha256=bo2yWe0kvCZ-3arEFe9eAnPN-h8oNNPcQsDwsL350UM,65217
131
- metaflow/cmd/develop/stubs.py,sha256=JX2qNZDvG0upvPueAcLhoR_zyLtRranZMwY05tLdpRQ,11884
157
+ metaflow/cmd/develop/stubs.py,sha256=Q0ERQHGb0cC8P6eb0mQlE1RHUo8sCJ2zFvIW7rL6C_g,11889
132
158
  metaflow/datastore/__init__.py,sha256=VxP6ddJt3rwiCkpiSfAhyVkUCOe1pgZZsytVEJzFmSQ,155
133
159
  metaflow/datastore/content_addressed_store.py,sha256=6T7tNqL29kpmecyMLHF35RhoSBOb-OZcExnsB65AvnI,7641
134
160
  metaflow/datastore/datastore_set.py,sha256=R5pwnxg1DD8kBY9vElvd2eMknrvwTyiSwvQs67_z9bc,2361
@@ -137,7 +163,7 @@ metaflow/datastore/exceptions.py,sha256=r7Ab5FvHIzyFh6kwiptA1lO5nLqWg0xRBoeYGefv
137
163
  metaflow/datastore/flow_datastore.py,sha256=rDMEHdYwub1PwLp2uaK-8CHdd8hiwxqeELXzsUfuqZs,10250
138
164
  metaflow/datastore/inputs.py,sha256=i43dXr2xvgtsgKMO9allgCR18bk80GeayeQFyUTH36w,449
139
165
  metaflow/datastore/task_datastore.py,sha256=VCV-5v3gYbzhmrBr9zcrrzQWJ-L7N-ZbRGbAiVE2aH4,35060
140
- metaflow/extension_support/__init__.py,sha256=2z0c4R8zsVmEFOMGT2Jujsl6xveDVa9KLll7moL58NE,52984
166
+ metaflow/extension_support/__init__.py,sha256=uhGpz75G-dhrSjVRc9EYJmppeWesrg4tPsh2mhNQMCM,52989
141
167
  metaflow/extension_support/_empty_file.py,sha256=HENjnM4uAfeNygxMB_feCCWORFoSat9n_QwzSx2oXPw,109
142
168
  metaflow/extension_support/cmd.py,sha256=hk8iBUUINqvKCDxInKgWpum8ThiRZtHSJP7qBASHzl8,5711
143
169
  metaflow/extension_support/integrations.py,sha256=AWAh-AZ-vo9IxuAVEjGw3s8p_NMm2DKHYx10oC51gPU,5506
@@ -310,12 +336,12 @@ metaflow/plugins/pypi/parsers.py,sha256=gpOOG2Ph95wI73MWCAi7XjpK0gYhv5k5YIGBs73Q
310
336
  metaflow/plugins/pypi/pip.py,sha256=H0cIy8odpZ-JTn4SwF0b74tuC3uRU7X8TdAQJ2kODG8,13971
311
337
  metaflow/plugins/pypi/pypi_decorator.py,sha256=ybNgo-T5Z_0W2KNuED0pdjyI0qygZ4a1MXAzKqdHt_E,7250
312
338
  metaflow/plugins/pypi/pypi_environment.py,sha256=FYMg8kF3lXqcLfRYWD83a9zpVjcoo_TARqMGZ763rRk,230
313
- metaflow/plugins/pypi/utils.py,sha256=glfXN0Do8HleB8YE9LE9Pb1tIBivqdPGmS0sUtO1e7k,3451
339
+ metaflow/plugins/pypi/utils.py,sha256=W8OhDrhz7YIE-2MSSN5Rj7AmESwsN5YDmdnro152J4w,3551
314
340
  metaflow/plugins/secrets/__init__.py,sha256=mhJaN2eMS_ZZVewAMR2E-JdP5i0t3v9e6Dcwd-WpruE,310
315
341
  metaflow/plugins/secrets/inline_secrets_provider.py,sha256=EChmoBGA1i7qM3jtYwPpLZDBybXLergiDlN63E0u3x8,294
316
342
  metaflow/plugins/secrets/secrets_decorator.py,sha256=s-sFzPWOjahhpr5fMj-ZEaHkDYAPTO0isYXGvaUwlG8,11273
317
343
  metaflow/runner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
318
- metaflow/runner/click_api.py,sha256=4GbLSTA0Ju2kfjcslNn4yUOzGFcoMPFK00N_Q-q3IuY,23359
344
+ metaflow/runner/click_api.py,sha256=nAT1mSV40YKiHTyTr4RDZBCGgGFV6K0TXCTL4xtUOAc,23492
319
345
  metaflow/runner/deployer.py,sha256=6ixXonNyLB1dfTNl1HVGVT5M8CybXDUa3oFTabn9Sp8,9099
320
346
  metaflow/runner/deployer_impl.py,sha256=Kab9rLoA3EiBJDtTTulhPCeKzqiljW366nx2Tm0LYy0,6143
321
347
  metaflow/runner/metaflow_runner.py,sha256=L302ew_BPBPs-NnW8n92dqqbqmHwrwGL5D6kTZvl5vY,16074
@@ -363,12 +389,12 @@ metaflow/user_configs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
363
389
  metaflow/user_configs/config_decorators.py,sha256=qCKVAvd0NKgaCxQ2OThes5-DYHXq6A1HqURubYNeFdw,20481
364
390
  metaflow/user_configs/config_options.py,sha256=m6jccSpzI4qUJ7vyYkYBIf8G3V0Caunxg_k7zg4Zlqg,21067
365
391
  metaflow/user_configs/config_parameters.py,sha256=oeJGVKu1ao_YQX6Lg6P2FEv5k5-_F4sARLlVpTW9ezM,15502
366
- metaflow-2.15.5.data/data/share/metaflow/devtools/Makefile,sha256=l0dYh6E_qdNjda6mwEHm5isoG9wsFh77i3CZQ5P53ZQ,13665
367
- metaflow-2.15.5.data/data/share/metaflow/devtools/Tiltfile,sha256=P5_rn_F3xYLN1_cEAQ9mNeS22HG2rb8beKIz2RIK6fU,20634
368
- metaflow-2.15.5.data/data/share/metaflow/devtools/pick_services.sh,sha256=DCnrMXwtApfx3B4S-YiZESMyAFHbXa3VuNL0MxPLyiE,2196
369
- metaflow-2.15.5.dist-info/LICENSE,sha256=nl_Lt5v9VvJ-5lWJDT4ddKAG-VZ-2IaLmbzpgYDz2hU,11343
370
- metaflow-2.15.5.dist-info/METADATA,sha256=OTCZHNk5uatZ0OPMEzh8ou_h4cpc6cWEH9PDBFqmxVY,6718
371
- metaflow-2.15.5.dist-info/WHEEL,sha256=SrDKpSbFN1G94qcmBqS9nyHcDMp9cUS9OC06hC0G3G0,109
372
- metaflow-2.15.5.dist-info/entry_points.txt,sha256=RvEq8VFlgGe_FfqGOZi0D7ze1hLD0pAtXeNyGfzc_Yc,103
373
- metaflow-2.15.5.dist-info/top_level.txt,sha256=v1pDHoWaSaKeuc5fKTRSfsXCKSdW1zvNVmvA-i0if3o,9
374
- metaflow-2.15.5.dist-info/RECORD,,
392
+ metaflow-2.15.6.data/data/share/metaflow/devtools/Makefile,sha256=l0dYh6E_qdNjda6mwEHm5isoG9wsFh77i3CZQ5P53ZQ,13665
393
+ metaflow-2.15.6.data/data/share/metaflow/devtools/Tiltfile,sha256=P5_rn_F3xYLN1_cEAQ9mNeS22HG2rb8beKIz2RIK6fU,20634
394
+ metaflow-2.15.6.data/data/share/metaflow/devtools/pick_services.sh,sha256=DCnrMXwtApfx3B4S-YiZESMyAFHbXa3VuNL0MxPLyiE,2196
395
+ metaflow-2.15.6.dist-info/LICENSE,sha256=nl_Lt5v9VvJ-5lWJDT4ddKAG-VZ-2IaLmbzpgYDz2hU,11343
396
+ metaflow-2.15.6.dist-info/METADATA,sha256=lih3_iL1Hv8zIGy2vaHnB8r4en2LyjkDRL3NZYTGQWc,6718
397
+ metaflow-2.15.6.dist-info/WHEEL,sha256=SrDKpSbFN1G94qcmBqS9nyHcDMp9cUS9OC06hC0G3G0,109
398
+ metaflow-2.15.6.dist-info/entry_points.txt,sha256=RvEq8VFlgGe_FfqGOZi0D7ze1hLD0pAtXeNyGfzc_Yc,103
399
+ metaflow-2.15.6.dist-info/top_level.txt,sha256=v1pDHoWaSaKeuc5fKTRSfsXCKSdW1zvNVmvA-i0if3o,9
400
+ metaflow-2.15.6.dist-info/RECORD,,