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.
- metaflow/_vendor/typeguard/_checkers.py +259 -95
- metaflow/_vendor/typeguard/_config.py +4 -4
- metaflow/_vendor/typeguard/_decorators.py +8 -12
- metaflow/_vendor/typeguard/_functions.py +33 -32
- metaflow/_vendor/typeguard/_pytest_plugin.py +40 -13
- metaflow/_vendor/typeguard/_suppression.py +3 -5
- metaflow/_vendor/typeguard/_transformer.py +84 -48
- metaflow/_vendor/typeguard/_union_transformer.py +1 -0
- metaflow/_vendor/typeguard/_utils.py +13 -9
- metaflow/_vendor/typing_extensions.py +1088 -500
- metaflow/_vendor/v3_7/__init__.py +1 -0
- metaflow/_vendor/v3_7/importlib_metadata/__init__.py +1063 -0
- metaflow/_vendor/v3_7/importlib_metadata/_adapters.py +68 -0
- metaflow/_vendor/v3_7/importlib_metadata/_collections.py +30 -0
- metaflow/_vendor/v3_7/importlib_metadata/_compat.py +71 -0
- metaflow/_vendor/v3_7/importlib_metadata/_functools.py +104 -0
- metaflow/_vendor/v3_7/importlib_metadata/_itertools.py +73 -0
- metaflow/_vendor/v3_7/importlib_metadata/_meta.py +48 -0
- metaflow/_vendor/v3_7/importlib_metadata/_text.py +99 -0
- metaflow/_vendor/v3_7/importlib_metadata/py.typed +0 -0
- metaflow/_vendor/v3_7/typeguard/__init__.py +48 -0
- metaflow/_vendor/v3_7/typeguard/_checkers.py +906 -0
- metaflow/_vendor/v3_7/typeguard/_config.py +108 -0
- metaflow/_vendor/v3_7/typeguard/_decorators.py +237 -0
- metaflow/_vendor/v3_7/typeguard/_exceptions.py +42 -0
- metaflow/_vendor/v3_7/typeguard/_functions.py +310 -0
- metaflow/_vendor/v3_7/typeguard/_importhook.py +213 -0
- metaflow/_vendor/v3_7/typeguard/_memo.py +48 -0
- metaflow/_vendor/v3_7/typeguard/_pytest_plugin.py +100 -0
- metaflow/_vendor/v3_7/typeguard/_suppression.py +88 -0
- metaflow/_vendor/v3_7/typeguard/_transformer.py +1207 -0
- metaflow/_vendor/v3_7/typeguard/_union_transformer.py +54 -0
- metaflow/_vendor/v3_7/typeguard/_utils.py +169 -0
- metaflow/_vendor/v3_7/typeguard/py.typed +0 -0
- metaflow/_vendor/v3_7/typing_extensions.py +3072 -0
- metaflow/_vendor/v3_7/zipp.py +329 -0
- metaflow/cmd/develop/stubs.py +1 -1
- metaflow/extension_support/__init__.py +1 -1
- metaflow/plugins/pypi/utils.py +4 -0
- metaflow/runner/click_api.py +7 -2
- metaflow/vendor.py +1 -0
- metaflow/version.py +1 -1
- {metaflow-2.15.5.dist-info → metaflow-2.15.6.dist-info}/METADATA +2 -2
- {metaflow-2.15.5.dist-info → metaflow-2.15.6.dist-info}/RECORD +51 -25
- {metaflow-2.15.5.data → metaflow-2.15.6.data}/data/share/metaflow/devtools/Makefile +0 -0
- {metaflow-2.15.5.data → metaflow-2.15.6.data}/data/share/metaflow/devtools/Tiltfile +0 -0
- {metaflow-2.15.5.data → metaflow-2.15.6.data}/data/share/metaflow/devtools/pick_services.sh +0 -0
- {metaflow-2.15.5.dist-info → metaflow-2.15.6.dist-info}/LICENSE +0 -0
- {metaflow-2.15.5.dist-info → metaflow-2.15.6.dist-info}/WHEEL +0 -0
- {metaflow-2.15.5.dist-info → metaflow-2.15.6.dist-info}/entry_points.txt +0 -0
- {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)
|
metaflow/cmd/develop/stubs.py
CHANGED
@@ -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:
|
metaflow/plugins/pypi/utils.py
CHANGED
@@ -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")
|
metaflow/runner/click_api.py
CHANGED
@@ -1,7 +1,13 @@
|
|
1
1
|
import os
|
2
2
|
import sys
|
3
3
|
|
4
|
-
|
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
metaflow/version.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
metaflow_version = "2.15.
|
1
|
+
metaflow_version = "2.15.6"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: metaflow
|
3
|
-
Version: 2.15.
|
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.
|
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=
|
39
|
-
metaflow/version.py,sha256=
|
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=
|
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=
|
85
|
-
metaflow/_vendor/typeguard/_config.py,sha256=
|
86
|
-
metaflow/_vendor/typeguard/_decorators.py,sha256=
|
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
|
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=
|
92
|
-
metaflow/_vendor/typeguard/_suppression.py,sha256=
|
93
|
-
metaflow/_vendor/typeguard/_transformer.py,sha256=
|
94
|
-
metaflow/_vendor/typeguard/_union_transformer.py,sha256=
|
95
|
-
metaflow/_vendor/typeguard/_utils.py,sha256=
|
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=
|
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=
|
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=
|
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=
|
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.
|
367
|
-
metaflow-2.15.
|
368
|
-
metaflow-2.15.
|
369
|
-
metaflow-2.15.
|
370
|
-
metaflow-2.15.
|
371
|
-
metaflow-2.15.
|
372
|
-
metaflow-2.15.
|
373
|
-
metaflow-2.15.
|
374
|
-
metaflow-2.15.
|
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,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|