ob-metaflow 2.15.11.2__py2.py3-none-any.whl → 2.15.14.1__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.
Potentially problematic release.
This version of ob-metaflow might be problematic. Click here for more details.
- metaflow/cmd/develop/stub_generator.py +8 -9
- metaflow/metaflow_config.py +2 -0
- metaflow/plugins/argo/argo_workflows_deployer_objects.py +1 -1
- metaflow/plugins/datastores/azure_storage.py +3 -1
- metaflow/plugins/datastores/gs_storage.py +3 -1
- metaflow/plugins/datatools/s3/s3op.py +5 -8
- metaflow/version.py +1 -1
- {ob_metaflow-2.15.11.2.dist-info → ob_metaflow-2.15.14.1.dist-info}/METADATA +2 -2
- {ob_metaflow-2.15.11.2.dist-info → ob_metaflow-2.15.14.1.dist-info}/RECORD +16 -16
- {ob_metaflow-2.15.11.2.dist-info → ob_metaflow-2.15.14.1.dist-info}/WHEEL +1 -1
- {ob_metaflow-2.15.11.2.data → ob_metaflow-2.15.14.1.data}/data/share/metaflow/devtools/Makefile +0 -0
- {ob_metaflow-2.15.11.2.data → ob_metaflow-2.15.14.1.data}/data/share/metaflow/devtools/Tiltfile +0 -0
- {ob_metaflow-2.15.11.2.data → ob_metaflow-2.15.14.1.data}/data/share/metaflow/devtools/pick_services.sh +0 -0
- {ob_metaflow-2.15.11.2.dist-info → ob_metaflow-2.15.14.1.dist-info}/entry_points.txt +0 -0
- {ob_metaflow-2.15.11.2.dist-info → ob_metaflow-2.15.14.1.dist-info}/licenses/LICENSE +0 -0
- {ob_metaflow-2.15.11.2.dist-info → ob_metaflow-2.15.14.1.dist-info}/top_level.txt +0 -0
|
@@ -1191,22 +1191,21 @@ class StubGenerator:
|
|
|
1191
1191
|
+ "}"
|
|
1192
1192
|
)
|
|
1193
1193
|
elif isinstance(default_value, str):
|
|
1194
|
-
return
|
|
1194
|
+
return repr(default_value) # Use repr() for proper escaping
|
|
1195
|
+
elif isinstance(default_value, (int, float, bool)):
|
|
1196
|
+
return str(default_value)
|
|
1197
|
+
elif default_value is None:
|
|
1198
|
+
return "None"
|
|
1195
1199
|
else:
|
|
1196
|
-
return
|
|
1197
|
-
|
|
1198
|
-
elif str(default_value).startswith("<"):
|
|
1200
|
+
return "..." # For other built-in types not explicitly handled
|
|
1201
|
+
elif inspect.isclass(default_value) or inspect.isfunction(default_value):
|
|
1199
1202
|
if default_value.__module__ == "builtins":
|
|
1200
1203
|
return default_value.__name__
|
|
1201
1204
|
else:
|
|
1202
1205
|
self._typing_imports.add(default_value.__module__)
|
|
1203
1206
|
return ".".join([default_value.__module__, default_value.__name__])
|
|
1204
1207
|
else:
|
|
1205
|
-
return
|
|
1206
|
-
str(default_value)
|
|
1207
|
-
if not isinstance(default_value, str)
|
|
1208
|
-
else '"' + default_value + '"'
|
|
1209
|
-
)
|
|
1208
|
+
return "..." # For complex objects like class instances
|
|
1210
1209
|
|
|
1211
1210
|
buff = StringIO()
|
|
1212
1211
|
if sign is None and func is None:
|
metaflow/metaflow_config.py
CHANGED
|
@@ -549,10 +549,12 @@ def get_pinned_conda_libs(python_version, datastore_type):
|
|
|
549
549
|
pins["azure-identity"] = ">=1.10.0"
|
|
550
550
|
pins["azure-storage-blob"] = ">=12.12.0"
|
|
551
551
|
pins["azure-keyvault-secrets"] = ">=4.7.0"
|
|
552
|
+
pins["simple-azure-blob-downloader"] = ">=0.1.0"
|
|
552
553
|
elif datastore_type == "gs":
|
|
553
554
|
pins["google-cloud-storage"] = ">=2.5.0"
|
|
554
555
|
pins["google-auth"] = ">=2.11.0"
|
|
555
556
|
pins["google-cloud-secret-manager"] = ">=2.10.0"
|
|
557
|
+
pins["simple-gcp-object-downloader"] = ">=0.1.0"
|
|
556
558
|
elif datastore_type == "local":
|
|
557
559
|
pass
|
|
558
560
|
else:
|
|
@@ -277,7 +277,7 @@ class ArgoWorkflowsDeployedFlow(DeployedFlow):
|
|
|
277
277
|
|
|
278
278
|
flow_name = metadata_annotations.get("metaflow/flow_name", "")
|
|
279
279
|
username = metadata_annotations.get("metaflow/owner", "")
|
|
280
|
-
parameters = json.loads(metadata_annotations.get("metaflow/parameters", {}))
|
|
280
|
+
parameters = json.loads(metadata_annotations.get("metaflow/parameters", "{}"))
|
|
281
281
|
|
|
282
282
|
# these two only exist if @project decorator is used..
|
|
283
283
|
branch_name = metadata_annotations.get("metaflow/branch_name", None)
|
|
@@ -353,7 +353,9 @@ class AzureStorage(DataStoreStorage):
|
|
|
353
353
|
byte_stream, metadata = byte_stream
|
|
354
354
|
tmp_filename = os.path.join(tmpdir, str(uuid.uuid4()))
|
|
355
355
|
with open(tmp_filename, "wb") as f:
|
|
356
|
-
|
|
356
|
+
# make sure to close the file handle after reading.
|
|
357
|
+
with byte_stream as bytes:
|
|
358
|
+
f.write(bytes.read())
|
|
357
359
|
# Fully finish writing the file, before submitting work. Careful with indentation.
|
|
358
360
|
|
|
359
361
|
futures.append(
|
|
@@ -227,7 +227,9 @@ class GSStorage(DataStoreStorage):
|
|
|
227
227
|
byte_stream, metadata = byte_stream
|
|
228
228
|
tmp_filename = os.path.join(tmpdir, str(uuid.uuid4()))
|
|
229
229
|
with open(tmp_filename, "wb") as f:
|
|
230
|
-
|
|
230
|
+
# make sure to close the file handle after reading.
|
|
231
|
+
with byte_stream as bytes:
|
|
232
|
+
f.write(bytes.read())
|
|
231
233
|
# Fully finish writing the file, before submitting work. Careful with indentation.
|
|
232
234
|
|
|
233
235
|
futures.append(
|
|
@@ -18,7 +18,6 @@ from itertools import starmap, chain, islice
|
|
|
18
18
|
|
|
19
19
|
from boto3.exceptions import RetriesExceededError, S3UploadFailedError
|
|
20
20
|
from boto3.s3.transfer import TransferConfig
|
|
21
|
-
from botocore.config import Config
|
|
22
21
|
from botocore.exceptions import ClientError, SSLError
|
|
23
22
|
|
|
24
23
|
try:
|
|
@@ -50,13 +49,11 @@ from metaflow.plugins.datatools.s3.s3util import (
|
|
|
50
49
|
import metaflow.tracing as tracing
|
|
51
50
|
from metaflow.metaflow_config import (
|
|
52
51
|
S3_WORKER_COUNT,
|
|
53
|
-
S3_CLIENT_RETRY_CONFIG,
|
|
54
52
|
)
|
|
55
53
|
|
|
56
54
|
DOWNLOAD_FILE_THRESHOLD = 2 * TransferConfig().multipart_threshold
|
|
57
55
|
DOWNLOAD_MAX_CHUNK = 2 * 1024 * 1024 * 1024 - 1
|
|
58
56
|
|
|
59
|
-
DEFAULT_S3_CLIENT_PARAMS = {"config": Config(retries=S3_CLIENT_RETRY_CONFIG)}
|
|
60
57
|
RANGE_MATCH = re.compile(r"bytes (?P<start>[0-9]+)-(?P<end>[0-9]+)/(?P<total>[0-9]+)")
|
|
61
58
|
|
|
62
59
|
# from botocore ClientError MSG_TEMPLATE:
|
|
@@ -132,7 +129,7 @@ def normalize_client_error(err):
|
|
|
132
129
|
try:
|
|
133
130
|
return int(error_code)
|
|
134
131
|
except ValueError:
|
|
135
|
-
if error_code in ("AccessDenied", "AllAccessDisabled"):
|
|
132
|
+
if error_code in ("AccessDenied", "AllAccessDisabled", "InvalidAccessKeyId"):
|
|
136
133
|
return 403
|
|
137
134
|
if error_code == "NoSuchKey":
|
|
138
135
|
return 404
|
|
@@ -830,7 +827,7 @@ def lst(
|
|
|
830
827
|
s3config = S3Config(
|
|
831
828
|
s3role,
|
|
832
829
|
json.loads(s3sessionvars) if s3sessionvars else None,
|
|
833
|
-
json.loads(s3clientparams) if s3clientparams else
|
|
830
|
+
json.loads(s3clientparams) if s3clientparams else None,
|
|
834
831
|
)
|
|
835
832
|
|
|
836
833
|
urllist = []
|
|
@@ -963,7 +960,7 @@ def put(
|
|
|
963
960
|
s3config = S3Config(
|
|
964
961
|
s3role,
|
|
965
962
|
json.loads(s3sessionvars) if s3sessionvars else None,
|
|
966
|
-
json.loads(s3clientparams) if s3clientparams else
|
|
963
|
+
json.loads(s3clientparams) if s3clientparams else None,
|
|
967
964
|
)
|
|
968
965
|
|
|
969
966
|
urls = list(starmap(_make_url, _files()))
|
|
@@ -1110,7 +1107,7 @@ def get(
|
|
|
1110
1107
|
s3config = S3Config(
|
|
1111
1108
|
s3role,
|
|
1112
1109
|
json.loads(s3sessionvars) if s3sessionvars else None,
|
|
1113
|
-
json.loads(s3clientparams) if s3clientparams else
|
|
1110
|
+
json.loads(s3clientparams) if s3clientparams else None,
|
|
1114
1111
|
)
|
|
1115
1112
|
|
|
1116
1113
|
# Construct a list of URL (prefix) objects
|
|
@@ -1259,7 +1256,7 @@ def info(
|
|
|
1259
1256
|
s3config = S3Config(
|
|
1260
1257
|
s3role,
|
|
1261
1258
|
json.loads(s3sessionvars) if s3sessionvars else None,
|
|
1262
|
-
json.loads(s3clientparams) if s3clientparams else
|
|
1259
|
+
json.loads(s3clientparams) if s3clientparams else None,
|
|
1263
1260
|
)
|
|
1264
1261
|
|
|
1265
1262
|
# Construct a list of URL (prefix) objects
|
metaflow/version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
metaflow_version = "2.15.
|
|
1
|
+
metaflow_version = "2.15.14.1"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ob-metaflow
|
|
3
|
-
Version: 2.15.
|
|
3
|
+
Version: 2.15.14.1
|
|
4
4
|
Summary: Metaflow: More AI and ML, Less Engineering
|
|
5
5
|
Author: Netflix, Outerbounds & the Metaflow Community
|
|
6
6
|
Author-email: help@outerbounds.co
|
|
@@ -12,7 +12,7 @@ Requires-Dist: boto3
|
|
|
12
12
|
Requires-Dist: pylint
|
|
13
13
|
Requires-Dist: kubernetes
|
|
14
14
|
Provides-Extra: stubs
|
|
15
|
-
Requires-Dist: metaflow-stubs==2.15.
|
|
15
|
+
Requires-Dist: metaflow-stubs==2.15.14.1; extra == "stubs"
|
|
16
16
|
Dynamic: author
|
|
17
17
|
Dynamic: author-email
|
|
18
18
|
Dynamic: description
|
|
@@ -16,7 +16,7 @@ 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
|
|
19
|
-
metaflow/metaflow_config.py,sha256=
|
|
19
|
+
metaflow/metaflow_config.py,sha256=STrzDvpigmeNzM-otSGcse7Tzv2gJ9VcI7um41SytiY,24089
|
|
20
20
|
metaflow/metaflow_config_funcs.py,sha256=5GlvoafV6SxykwfL8D12WXSfwjBN_NsyuKE_Q3gjGVE,6738
|
|
21
21
|
metaflow/metaflow_current.py,sha256=pfkXmkyHeMJhxIs6HBJNBEaBDpcl5kz9Wx5mW6F_3qo,7164
|
|
22
22
|
metaflow/metaflow_environment.py,sha256=CWG90qpfz9iJ6hHhFlAmMVNALn2v_5eTVk3mFbQR4Pw,8379
|
|
@@ -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=LSHcWgrccJ3bi7LwrG_gr9rIErn2yiktWgPNtqZD3dw,31
|
|
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
|
|
@@ -154,7 +154,7 @@ metaflow/cmd/tutorials_cmd.py,sha256=8FdlKkicTOhCIDKcBR5b0Oz6giDvS-EMY3o9skIrRqw
|
|
|
154
154
|
metaflow/cmd/util.py,sha256=jS_0rUjOnGGzPT65fzRLdGjrYAOOLA4jU2S0HJLV0oc,406
|
|
155
155
|
metaflow/cmd/code/__init__.py,sha256=VO4dNM9M9LHYy5nTgEiJvCV1RBl8lpDlYGJm6GIcaBA,7413
|
|
156
156
|
metaflow/cmd/develop/__init__.py,sha256=p1Sy8yU1MEKSrH5ttOWOZvNcI1qYu6J6jghdTHwPgOw,689
|
|
157
|
-
metaflow/cmd/develop/stub_generator.py,sha256=
|
|
157
|
+
metaflow/cmd/develop/stub_generator.py,sha256=gERNsibYL030xR0OjA60AkS3HotRCNa5N2n1QQpgqcE,65358
|
|
158
158
|
metaflow/cmd/develop/stubs.py,sha256=Q0ERQHGb0cC8P6eb0mQlE1RHUo8sCJ2zFvIW7rL6C_g,11889
|
|
159
159
|
metaflow/datastore/__init__.py,sha256=VxP6ddJt3rwiCkpiSfAhyVkUCOe1pgZZsytVEJzFmSQ,155
|
|
160
160
|
metaflow/datastore/content_addressed_store.py,sha256=6T7tNqL29kpmecyMLHF35RhoSBOb-OZcExnsB65AvnI,7641
|
|
@@ -214,7 +214,7 @@ metaflow/plugins/argo/argo_workflows.py,sha256=JUW3032AkU7vnqz0xfTgAngyvpVJmMzok
|
|
|
214
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
|
-
metaflow/plugins/argo/argo_workflows_deployer_objects.py,sha256=
|
|
217
|
+
metaflow/plugins/argo/argo_workflows_deployer_objects.py,sha256=c_lRGBypwxC4qh0H1JDjDq_cqEwUEqVyXIcqaFPSX8M,14184
|
|
218
218
|
metaflow/plugins/argo/capture_error.py,sha256=Ys9dscGrTpW-ZCirLBU0gD9qBM0BjxyxGlUMKcwewQc,1852
|
|
219
219
|
metaflow/plugins/argo/generate_input_paths.py,sha256=loYsI6RFX9LlFsHb7Fe-mzlTTtRdySoOu7sYDy-uXK0,881
|
|
220
220
|
metaflow/plugins/argo/jobset_input_paths.py,sha256=-h0E_e0w6FMiBUod9Rf_XOSCtZv_C0exacw4q1SfIfg,501
|
|
@@ -275,15 +275,15 @@ metaflow/plugins/cards/card_modules/chevron/renderer.py,sha256=dm5ufR9-qnx94D9Bt
|
|
|
275
275
|
metaflow/plugins/cards/card_modules/chevron/tokenizer.py,sha256=lQU9OELUE9a5Xu4snGhEV_YTT34iyUHVBuM1YO016Sw,7400
|
|
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
|
-
metaflow/plugins/datastores/azure_storage.py,sha256=
|
|
279
|
-
metaflow/plugins/datastores/gs_storage.py,sha256=
|
|
278
|
+
metaflow/plugins/datastores/azure_storage.py,sha256=GGzOxK8coHR9PQYmR39jn37D0s-XIJOVMuRKaJ3B8eo,16787
|
|
279
|
+
metaflow/plugins/datastores/gs_storage.py,sha256=8KV4SM7GPI21-86UjMATmSCbVzxDHlMWlRsQ-zQngTg,9899
|
|
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
285
|
metaflow/plugins/datatools/s3/s3.py,sha256=3xrWD6pXoVRpuAQHyLGVya79UIE0S8AqAqe2prg4yMw,67182
|
|
286
|
-
metaflow/plugins/datatools/s3/s3op.py,sha256=
|
|
286
|
+
metaflow/plugins/datatools/s3/s3op.py,sha256=9DAIlvK5kYVmgo3rL-XY_3k7CoLUXaWqduBza13Xqv8,47543
|
|
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
|
|
@@ -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
|
-
ob_metaflow-2.15.
|
|
397
|
-
ob_metaflow-2.15.
|
|
398
|
-
ob_metaflow-2.15.
|
|
399
|
-
ob_metaflow-2.15.
|
|
400
|
-
ob_metaflow-2.15.
|
|
401
|
-
ob_metaflow-2.15.
|
|
402
|
-
ob_metaflow-2.15.
|
|
403
|
-
ob_metaflow-2.15.
|
|
404
|
-
ob_metaflow-2.15.
|
|
396
|
+
ob_metaflow-2.15.14.1.data/data/share/metaflow/devtools/Makefile,sha256=5n89OGIC_kE4wxtEI66VCucN-b-1w5bqvGeZYmeRGz8,13737
|
|
397
|
+
ob_metaflow-2.15.14.1.data/data/share/metaflow/devtools/Tiltfile,sha256=P5_rn_F3xYLN1_cEAQ9mNeS22HG2rb8beKIz2RIK6fU,20634
|
|
398
|
+
ob_metaflow-2.15.14.1.data/data/share/metaflow/devtools/pick_services.sh,sha256=DCnrMXwtApfx3B4S-YiZESMyAFHbXa3VuNL0MxPLyiE,2196
|
|
399
|
+
ob_metaflow-2.15.14.1.dist-info/licenses/LICENSE,sha256=nl_Lt5v9VvJ-5lWJDT4ddKAG-VZ-2IaLmbzpgYDz2hU,11343
|
|
400
|
+
ob_metaflow-2.15.14.1.dist-info/METADATA,sha256=4484FbBt_6kAxbidtUXqhG85PyYregSuzSs41QPk09k,5937
|
|
401
|
+
ob_metaflow-2.15.14.1.dist-info/WHEEL,sha256=egKm5cKfE6OqlHwodY8Jjp4yqZDBXgsj09UsV5ojd_U,109
|
|
402
|
+
ob_metaflow-2.15.14.1.dist-info/entry_points.txt,sha256=RvEq8VFlgGe_FfqGOZi0D7ze1hLD0pAtXeNyGfzc_Yc,103
|
|
403
|
+
ob_metaflow-2.15.14.1.dist-info/top_level.txt,sha256=v1pDHoWaSaKeuc5fKTRSfsXCKSdW1zvNVmvA-i0if3o,9
|
|
404
|
+
ob_metaflow-2.15.14.1.dist-info/RECORD,,
|
{ob_metaflow-2.15.11.2.data → ob_metaflow-2.15.14.1.data}/data/share/metaflow/devtools/Makefile
RENAMED
|
File without changes
|
{ob_metaflow-2.15.11.2.data → ob_metaflow-2.15.14.1.data}/data/share/metaflow/devtools/Tiltfile
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|