ob-metaflow 2.16.4.5__py2.py3-none-any.whl → 2.16.6.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/_vendor/imghdr/__init__.py +0 -5
- metaflow/plugins/argo/argo_client.py +31 -14
- metaflow/plugins/argo/argo_workflows.py +8 -75
- metaflow/plugins/argo/argo_workflows_cli.py +1 -2
- metaflow/plugins/argo/argo_workflows_deployer_objects.py +32 -0
- metaflow/plugins/aws/step_functions/step_functions_deployer_objects.py +14 -0
- metaflow/plugins/kubernetes/kubernetes_decorator.py +1 -1
- metaflow/runner/deployer.py +83 -7
- metaflow/version.py +1 -1
- {ob_metaflow-2.16.4.5.dist-info → ob_metaflow-2.16.6.1.dist-info}/METADATA +2 -2
- {ob_metaflow-2.16.4.5.dist-info → ob_metaflow-2.16.6.1.dist-info}/RECORD +18 -18
- {ob_metaflow-2.16.4.5.data → ob_metaflow-2.16.6.1.data}/data/share/metaflow/devtools/Makefile +0 -0
- {ob_metaflow-2.16.4.5.data → ob_metaflow-2.16.6.1.data}/data/share/metaflow/devtools/Tiltfile +0 -0
- {ob_metaflow-2.16.4.5.data → ob_metaflow-2.16.6.1.data}/data/share/metaflow/devtools/pick_services.sh +0 -0
- {ob_metaflow-2.16.4.5.dist-info → ob_metaflow-2.16.6.1.dist-info}/WHEEL +0 -0
- {ob_metaflow-2.16.4.5.dist-info → ob_metaflow-2.16.6.1.dist-info}/entry_points.txt +0 -0
- {ob_metaflow-2.16.4.5.dist-info → ob_metaflow-2.16.6.1.dist-info}/licenses/LICENSE +0 -0
- {ob_metaflow-2.16.4.5.dist-info → ob_metaflow-2.16.6.1.dist-info}/top_level.txt +0 -0
|
@@ -1,14 +1,9 @@
|
|
|
1
1
|
"""Recognize image file formats based on their first few bytes."""
|
|
2
2
|
|
|
3
3
|
from os import PathLike
|
|
4
|
-
import warnings
|
|
5
4
|
|
|
6
5
|
__all__ = ["what"]
|
|
7
6
|
|
|
8
|
-
|
|
9
|
-
warnings._deprecated(__name__, remove=(3, 13))
|
|
10
|
-
|
|
11
|
-
|
|
12
7
|
#-------------------------#
|
|
13
8
|
# Recognize image headers #
|
|
14
9
|
#-------------------------#
|
|
@@ -58,21 +58,38 @@ class ArgoClient(object):
|
|
|
58
58
|
json.loads(e.body)["message"] if e.body is not None else e.reason
|
|
59
59
|
)
|
|
60
60
|
|
|
61
|
-
def get_workflow_templates(self):
|
|
61
|
+
def get_workflow_templates(self, page_size=100):
|
|
62
62
|
client = self._client.get()
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
63
|
+
continue_token = None
|
|
64
|
+
|
|
65
|
+
while True:
|
|
66
|
+
try:
|
|
67
|
+
params = {"limit": page_size}
|
|
68
|
+
if continue_token:
|
|
69
|
+
params["_continue"] = continue_token
|
|
70
|
+
|
|
71
|
+
response = client.CustomObjectsApi().list_namespaced_custom_object(
|
|
72
|
+
group=self._group,
|
|
73
|
+
version=self._version,
|
|
74
|
+
namespace=self._namespace,
|
|
75
|
+
plural="workflowtemplates",
|
|
76
|
+
**params,
|
|
77
|
+
)
|
|
78
|
+
|
|
79
|
+
for item in response.get("items", []):
|
|
80
|
+
yield item
|
|
81
|
+
|
|
82
|
+
metadata = response.get("metadata", {})
|
|
83
|
+
continue_token = metadata.get("continue")
|
|
84
|
+
|
|
85
|
+
if not continue_token:
|
|
86
|
+
break
|
|
87
|
+
except client.rest.ApiException as e:
|
|
88
|
+
if e.status == 404:
|
|
89
|
+
return None
|
|
90
|
+
raise ArgoClientException(
|
|
91
|
+
json.loads(e.body)["message"] if e.body is not None else e.reason
|
|
92
|
+
)
|
|
76
93
|
|
|
77
94
|
def register_workflow_template(self, name, workflow_template):
|
|
78
95
|
# Unfortunately, Kubernetes client does not handle optimistic
|
|
@@ -216,23 +216,14 @@ class ArgoWorkflows(object):
|
|
|
216
216
|
return name.replace(".", "-")
|
|
217
217
|
|
|
218
218
|
@staticmethod
|
|
219
|
-
def list_templates(flow_name, all=False):
|
|
219
|
+
def list_templates(flow_name, all=False, page_size=100):
|
|
220
220
|
client = ArgoClient(namespace=KUBERNETES_NAMESPACE)
|
|
221
221
|
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
template["metadata"]["name"]
|
|
228
|
-
for template in templates
|
|
229
|
-
if all
|
|
230
|
-
or flow_name
|
|
231
|
-
== template["metadata"]
|
|
232
|
-
.get("annotations", {})
|
|
233
|
-
.get("metaflow/flow_name", None)
|
|
234
|
-
]
|
|
235
|
-
return template_names
|
|
222
|
+
for template in client.get_workflow_templates(page_size=page_size):
|
|
223
|
+
if all or flow_name == template["metadata"].get("annotations", {}).get(
|
|
224
|
+
"metaflow/flow_name", None
|
|
225
|
+
):
|
|
226
|
+
yield template["metadata"]["name"]
|
|
236
227
|
|
|
237
228
|
@staticmethod
|
|
238
229
|
def delete(name):
|
|
@@ -3286,8 +3277,8 @@ class ArgoWorkflows(object):
|
|
|
3286
3277
|
Trigger().template(
|
|
3287
3278
|
TriggerTemplate(self.name)
|
|
3288
3279
|
# Trigger a deployed workflow template
|
|
3289
|
-
.
|
|
3290
|
-
|
|
3280
|
+
.argo_workflow_trigger(
|
|
3281
|
+
ArgoWorkflowTrigger()
|
|
3291
3282
|
.source(
|
|
3292
3283
|
{
|
|
3293
3284
|
"resource": {
|
|
@@ -4265,10 +4256,6 @@ class TriggerTemplate(object):
|
|
|
4265
4256
|
self.payload = tree()
|
|
4266
4257
|
self.payload["name"] = name
|
|
4267
4258
|
|
|
4268
|
-
def k8s_trigger(self, k8s_trigger):
|
|
4269
|
-
self.payload["k8s"] = k8s_trigger.to_json()
|
|
4270
|
-
return self
|
|
4271
|
-
|
|
4272
4259
|
def argo_workflow_trigger(self, argo_workflow_trigger):
|
|
4273
4260
|
self.payload["argoWorkflow"] = argo_workflow_trigger.to_json()
|
|
4274
4261
|
return self
|
|
@@ -4343,57 +4330,3 @@ class TriggerParameter(object):
|
|
|
4343
4330
|
|
|
4344
4331
|
def __str__(self):
|
|
4345
4332
|
return json.dumps(self.payload, indent=4)
|
|
4346
|
-
|
|
4347
|
-
|
|
4348
|
-
class StandardK8STrigger(object):
|
|
4349
|
-
# https://pkg.go.dev/github.com/argoproj/argo-events/pkg/apis/sensor/v1alpha1#StandardK8STrigger
|
|
4350
|
-
|
|
4351
|
-
def __init__(self):
|
|
4352
|
-
tree = lambda: defaultdict(tree)
|
|
4353
|
-
self.payload = tree()
|
|
4354
|
-
self.payload["operation"] = "create"
|
|
4355
|
-
|
|
4356
|
-
def operation(self, operation):
|
|
4357
|
-
self.payload["operation"] = operation
|
|
4358
|
-
return self
|
|
4359
|
-
|
|
4360
|
-
def group(self, group):
|
|
4361
|
-
self.payload["group"] = group
|
|
4362
|
-
return self
|
|
4363
|
-
|
|
4364
|
-
def version(self, version):
|
|
4365
|
-
self.payload["version"] = version
|
|
4366
|
-
return self
|
|
4367
|
-
|
|
4368
|
-
def resource(self, resource):
|
|
4369
|
-
self.payload["resource"] = resource
|
|
4370
|
-
return self
|
|
4371
|
-
|
|
4372
|
-
def namespace(self, namespace):
|
|
4373
|
-
self.payload["namespace"] = namespace
|
|
4374
|
-
return self
|
|
4375
|
-
|
|
4376
|
-
def source(self, source):
|
|
4377
|
-
self.payload["source"] = source
|
|
4378
|
-
return self
|
|
4379
|
-
|
|
4380
|
-
def parameters(self, trigger_parameters):
|
|
4381
|
-
if "parameters" not in self.payload:
|
|
4382
|
-
self.payload["parameters"] = []
|
|
4383
|
-
for trigger_parameter in trigger_parameters:
|
|
4384
|
-
self.payload["parameters"].append(trigger_parameter.to_json())
|
|
4385
|
-
return self
|
|
4386
|
-
|
|
4387
|
-
def live_object(self, live_object=True):
|
|
4388
|
-
self.payload["liveObject"] = live_object
|
|
4389
|
-
return self
|
|
4390
|
-
|
|
4391
|
-
def patch_strategy(self, patch_strategy):
|
|
4392
|
-
self.payload["patchStrategy"] = patch_strategy
|
|
4393
|
-
return self
|
|
4394
|
-
|
|
4395
|
-
def to_json(self):
|
|
4396
|
-
return self.payload
|
|
4397
|
-
|
|
4398
|
-
def __str__(self):
|
|
4399
|
-
return json.dumps(self.payload, indent=4)
|
|
@@ -1011,8 +1011,7 @@ def terminate(obj, run_id, authorize=None):
|
|
|
1011
1011
|
)
|
|
1012
1012
|
@click.pass_obj
|
|
1013
1013
|
def list_workflow_templates(obj, all=None):
|
|
1014
|
-
|
|
1015
|
-
for template_name in templates:
|
|
1014
|
+
for template_name in ArgoWorkflows.list_templates(obj.flow.name, all):
|
|
1016
1015
|
obj.echo_always(template_name)
|
|
1017
1016
|
|
|
1018
1017
|
|
|
@@ -203,6 +203,38 @@ class ArgoWorkflowsDeployedFlow(DeployedFlow):
|
|
|
203
203
|
|
|
204
204
|
TYPE: ClassVar[Optional[str]] = "argo-workflows"
|
|
205
205
|
|
|
206
|
+
@classmethod
|
|
207
|
+
def list_deployed_flows(cls, flow_name: Optional[str] = None):
|
|
208
|
+
"""
|
|
209
|
+
List all deployed Argo Workflow templates.
|
|
210
|
+
|
|
211
|
+
Parameters
|
|
212
|
+
----------
|
|
213
|
+
flow_name : str, optional, default None
|
|
214
|
+
If specified, only list deployed flows for this specific flow name.
|
|
215
|
+
If None, list all deployed flows.
|
|
216
|
+
|
|
217
|
+
Yields
|
|
218
|
+
------
|
|
219
|
+
ArgoWorkflowsDeployedFlow
|
|
220
|
+
`ArgoWorkflowsDeployedFlow` objects representing deployed
|
|
221
|
+
workflow templates on Argo Workflows.
|
|
222
|
+
"""
|
|
223
|
+
from metaflow.plugins.argo.argo_workflows import ArgoWorkflows
|
|
224
|
+
|
|
225
|
+
# When flow_name is None, use all=True to get all templates
|
|
226
|
+
# When flow_name is specified, use all=False to filter by flow_name
|
|
227
|
+
all_templates = flow_name is None
|
|
228
|
+
for template_name in ArgoWorkflows.list_templates(
|
|
229
|
+
flow_name=flow_name, all=all_templates
|
|
230
|
+
):
|
|
231
|
+
try:
|
|
232
|
+
deployed_flow = cls.from_deployment(template_name)
|
|
233
|
+
yield deployed_flow
|
|
234
|
+
except Exception:
|
|
235
|
+
# Skip templates that can't be converted to DeployedFlow objects
|
|
236
|
+
continue
|
|
237
|
+
|
|
206
238
|
@classmethod
|
|
207
239
|
def from_deployment(cls, identifier: str, metadata: Optional[str] = None):
|
|
208
240
|
"""
|
|
@@ -56,6 +56,20 @@ class StepFunctionsDeployedFlow(DeployedFlow):
|
|
|
56
56
|
|
|
57
57
|
TYPE: ClassVar[Optional[str]] = "step-functions"
|
|
58
58
|
|
|
59
|
+
@classmethod
|
|
60
|
+
def list_deployed_flows(cls, flow_name: Optional[str] = None):
|
|
61
|
+
"""
|
|
62
|
+
This method is not currently implemented for Step Functions.
|
|
63
|
+
|
|
64
|
+
Raises
|
|
65
|
+
------
|
|
66
|
+
NotImplementedError
|
|
67
|
+
This method is not implemented for Step Functions.
|
|
68
|
+
"""
|
|
69
|
+
raise NotImplementedError(
|
|
70
|
+
"list_deployed_flows is not implemented for StepFunctions"
|
|
71
|
+
)
|
|
72
|
+
|
|
59
73
|
@classmethod
|
|
60
74
|
def from_deployment(cls, identifier: str, metadata: Optional[str] = None):
|
|
61
75
|
"""
|
|
@@ -98,7 +98,7 @@ class KubernetesDecorator(StepDecorator):
|
|
|
98
98
|
the scheduled node should not have GPUs.
|
|
99
99
|
gpu_vendor : str, default KUBERNETES_GPU_VENDOR
|
|
100
100
|
The vendor of the GPUs to be used for this step.
|
|
101
|
-
tolerations : List[str], default []
|
|
101
|
+
tolerations : List[Dict[str,str]], default []
|
|
102
102
|
The default is extracted from METAFLOW_KUBERNETES_TOLERATIONS.
|
|
103
103
|
Kubernetes tolerations to use when launching pod in Kubernetes.
|
|
104
104
|
labels: Dict[str, str], default: METAFLOW_KUBERNETES_LABELS
|
metaflow/runner/deployer.py
CHANGED
|
@@ -13,7 +13,9 @@ def generate_fake_flow_file_contents(
|
|
|
13
13
|
):
|
|
14
14
|
params_code = ""
|
|
15
15
|
for _, param_details in param_info.items():
|
|
16
|
-
param_python_var_name = param_details
|
|
16
|
+
param_python_var_name = param_details.get(
|
|
17
|
+
"python_var_name", param_details["name"]
|
|
18
|
+
)
|
|
17
19
|
param_name = param_details["name"]
|
|
18
20
|
param_type = param_details["type"]
|
|
19
21
|
param_help = param_details["description"]
|
|
@@ -229,7 +231,7 @@ class DeployedFlowMeta(type):
|
|
|
229
231
|
}
|
|
230
232
|
)
|
|
231
233
|
|
|
232
|
-
def
|
|
234
|
+
def _from_deployment_injected_method():
|
|
233
235
|
def f(
|
|
234
236
|
cls,
|
|
235
237
|
identifier: str,
|
|
@@ -271,7 +273,7 @@ class DeployedFlowMeta(type):
|
|
|
271
273
|
f.__name__ = "from_deployment"
|
|
272
274
|
return f
|
|
273
275
|
|
|
274
|
-
def
|
|
276
|
+
def _per_type_from_deployment_injected_method(method_name, impl):
|
|
275
277
|
def f(
|
|
276
278
|
cls,
|
|
277
279
|
identifier: str,
|
|
@@ -286,14 +288,88 @@ class DeployedFlowMeta(type):
|
|
|
286
288
|
f.__name__ = method_name
|
|
287
289
|
return f
|
|
288
290
|
|
|
289
|
-
|
|
291
|
+
def _list_deployed_flows_injected_method():
|
|
292
|
+
def f(
|
|
293
|
+
cls,
|
|
294
|
+
flow_name: Optional[str] = None,
|
|
295
|
+
impl: str = DEFAULT_FROM_DEPLOYMENT_IMPL.replace("-", "_"),
|
|
296
|
+
):
|
|
297
|
+
"""
|
|
298
|
+
List all deployed flows for the specified implementation.
|
|
299
|
+
|
|
300
|
+
Parameters
|
|
301
|
+
----------
|
|
302
|
+
flow_name : str, optional, default None
|
|
303
|
+
If specified, only list deployed flows for this specific flow name.
|
|
304
|
+
If None, list all deployed flows.
|
|
305
|
+
impl : str, optional, default given by METAFLOW_DEFAULT_FROM_DEPLOYMENT_IMPL
|
|
306
|
+
The default implementation to use if not specified
|
|
307
|
+
|
|
308
|
+
Yields
|
|
309
|
+
------
|
|
310
|
+
DeployedFlow
|
|
311
|
+
`DeployedFlow` objects representing deployed flows.
|
|
312
|
+
"""
|
|
313
|
+
if impl in allowed_providers:
|
|
314
|
+
return (
|
|
315
|
+
allowed_providers[impl]
|
|
316
|
+
.deployed_flow_type()
|
|
317
|
+
.list_deployed_flows(flow_name)
|
|
318
|
+
)
|
|
319
|
+
else:
|
|
320
|
+
raise ValueError(
|
|
321
|
+
f"No deployer '{impl}' exists; valid deployers are: "
|
|
322
|
+
f"{list(allowed_providers.keys())}"
|
|
323
|
+
)
|
|
324
|
+
|
|
325
|
+
f.__name__ = "list_deployed_flows"
|
|
326
|
+
return f
|
|
327
|
+
|
|
328
|
+
def _per_type_list_deployed_flows_injected_method(method_name, impl):
|
|
329
|
+
def f(
|
|
330
|
+
cls,
|
|
331
|
+
flow_name: Optional[str] = None,
|
|
332
|
+
):
|
|
333
|
+
return (
|
|
334
|
+
allowed_providers[impl]
|
|
335
|
+
.deployed_flow_type()
|
|
336
|
+
.list_deployed_flows(flow_name)
|
|
337
|
+
)
|
|
338
|
+
|
|
339
|
+
f.__name__ = method_name
|
|
340
|
+
return f
|
|
341
|
+
|
|
342
|
+
setattr(
|
|
343
|
+
cls, "from_deployment", classmethod(_from_deployment_injected_method())
|
|
344
|
+
)
|
|
345
|
+
setattr(
|
|
346
|
+
cls,
|
|
347
|
+
"list_deployed_flows",
|
|
348
|
+
classmethod(_list_deployed_flows_injected_method()),
|
|
349
|
+
)
|
|
290
350
|
|
|
291
351
|
for impl in allowed_providers:
|
|
292
|
-
|
|
352
|
+
from_deployment_method_name = f"from_{impl}"
|
|
353
|
+
list_deployed_flows_method_name = f"list_{impl}"
|
|
354
|
+
|
|
293
355
|
setattr(
|
|
294
356
|
cls,
|
|
295
|
-
|
|
296
|
-
classmethod(
|
|
357
|
+
from_deployment_method_name,
|
|
358
|
+
classmethod(
|
|
359
|
+
_per_type_from_deployment_injected_method(
|
|
360
|
+
from_deployment_method_name, impl
|
|
361
|
+
)
|
|
362
|
+
),
|
|
363
|
+
)
|
|
364
|
+
|
|
365
|
+
setattr(
|
|
366
|
+
cls,
|
|
367
|
+
list_deployed_flows_method_name,
|
|
368
|
+
classmethod(
|
|
369
|
+
_per_type_list_deployed_flows_injected_method(
|
|
370
|
+
list_deployed_flows_method_name, impl
|
|
371
|
+
)
|
|
372
|
+
),
|
|
297
373
|
)
|
|
298
374
|
|
|
299
375
|
return cls
|
metaflow/version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
metaflow_version = "2.16.
|
|
1
|
+
metaflow_version = "2.16.6.1"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ob-metaflow
|
|
3
|
-
Version: 2.16.
|
|
3
|
+
Version: 2.16.6.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.16.
|
|
15
|
+
Requires-Dist: metaflow-stubs==2.16.6.1; extra == "stubs"
|
|
16
16
|
Dynamic: author
|
|
17
17
|
Dynamic: author-email
|
|
18
18
|
Dynamic: description
|
|
@@ -36,7 +36,7 @@ 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=g2SOU_CRzJLgDM_UGF9QDMANMAIHAsDRXE6S76_YzsY,14594
|
|
38
38
|
metaflow/vendor.py,sha256=EDZokNMrx1PU07jNMiWFMFtC7TL03pMXZ1kKn13k-2g,5139
|
|
39
|
-
metaflow/version.py,sha256=
|
|
39
|
+
metaflow/version.py,sha256=h6PgU7wTLnFRQlL3hfdJfkOOGc5plkqHZkgRuVl8ZZs,30
|
|
40
40
|
metaflow/_vendor/__init__.py,sha256=y_CiwUD3l4eAKvTVDZeqgVujMy31cAM1qjAB-HfI-9s,353
|
|
41
41
|
metaflow/_vendor/typing_extensions.py,sha256=q9zxWa6p6CzF1zZvSkygSlklduHf_b3K7MCxGz7MJRc,134519
|
|
42
42
|
metaflow/_vendor/zipp.py,sha256=ajztOH-9I7KA_4wqDYygtHa6xUBVZgFpmZ8FE74HHHI,8425
|
|
@@ -57,7 +57,7 @@ metaflow/_vendor/click/termui.py,sha256=G7QBEKIepRIGLvNdGwBTYiEtSImRxvTO_AglVpyH
|
|
|
57
57
|
metaflow/_vendor/click/testing.py,sha256=EUEsDUqNXFgCLhZ0ZFOROpaVDA5I_rijwnNPE6qICgA,12854
|
|
58
58
|
metaflow/_vendor/click/types.py,sha256=wuubik4VqgqAw5dvbYFkDt-zSAx97y9TQXuXcVaRyQA,25045
|
|
59
59
|
metaflow/_vendor/click/utils.py,sha256=4VEcJ7iEHwjnFuzEuRtkT99o5VG3zqSD7Q2CVzv13WU,15940
|
|
60
|
-
metaflow/_vendor/imghdr/__init__.py,sha256=
|
|
60
|
+
metaflow/_vendor/imghdr/__init__.py,sha256=s4fE82lm6KaADg6_Xwl6xLeyW9NZDaIEbVoVFsg_kKI,4332
|
|
61
61
|
metaflow/_vendor/importlib_metadata/__init__.py,sha256=dH_kBRM61VLiIV0zuU5macqk3XYY-ljq_9gt8ZcJDMI,30525
|
|
62
62
|
metaflow/_vendor/importlib_metadata/_adapters.py,sha256=B6fCi5-8mLVDFUZj3krI5nAo-mKp1dH_qIavyIyFrJs,1862
|
|
63
63
|
metaflow/_vendor/importlib_metadata/_collections.py,sha256=CJ0OTCHIjWA0ZIVS4voORAsn2R4R2cQBEtPsZEJpASY,743
|
|
@@ -211,13 +211,13 @@ metaflow/plugins/airflow/sensors/base_sensor.py,sha256=s-OQBfPWZ_T3wn96Ua59CCEj1
|
|
|
211
211
|
metaflow/plugins/airflow/sensors/external_task_sensor.py,sha256=zhYlrZnXT20KW8-fVk0fCNtTyNiKJB5PMVASacu30r0,6034
|
|
212
212
|
metaflow/plugins/airflow/sensors/s3_sensor.py,sha256=iDReG-7FKnumrtQg-HY6cCUAAqNA90nARrjjjEEk_x4,3275
|
|
213
213
|
metaflow/plugins/argo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
214
|
-
metaflow/plugins/argo/argo_client.py,sha256=
|
|
214
|
+
metaflow/plugins/argo/argo_client.py,sha256=jLz0FjCTBvFLZt-8lZcMQhDcInhgEcGdPrU2Gvh67zA,17080
|
|
215
215
|
metaflow/plugins/argo/argo_events.py,sha256=_C1KWztVqgi3zuH57pInaE9OzABc2NnncC-zdwOMZ-w,5909
|
|
216
|
-
metaflow/plugins/argo/argo_workflows.py,sha256=
|
|
217
|
-
metaflow/plugins/argo/argo_workflows_cli.py,sha256=
|
|
216
|
+
metaflow/plugins/argo/argo_workflows.py,sha256=0tZ7tuOBsMxfbjYfgZXeCdMfIrnxkEm3jX7ruH2qArQ,189693
|
|
217
|
+
metaflow/plugins/argo/argo_workflows_cli.py,sha256=Le_GgvLVE1MhxQeOv-k5xp4L51tzQ6ZIq3_P-YEphIk,38784
|
|
218
218
|
metaflow/plugins/argo/argo_workflows_decorator.py,sha256=ogCSBmwsC2C3eusydrgjuAJd4qK18f1sI4jJwA4Fd-o,7800
|
|
219
219
|
metaflow/plugins/argo/argo_workflows_deployer.py,sha256=6kHxEnYXJwzNCM9swI8-0AckxtPWqwhZLerYkX8fxUM,4444
|
|
220
|
-
metaflow/plugins/argo/argo_workflows_deployer_objects.py,sha256=
|
|
220
|
+
metaflow/plugins/argo/argo_workflows_deployer_objects.py,sha256=1qiY69jB2yq0ryIH2SKzFHgUXRYvr0VTXd9TDQWG-s0,13693
|
|
221
221
|
metaflow/plugins/argo/capture_error.py,sha256=Ys9dscGrTpW-ZCirLBU0gD9qBM0BjxyxGlUMKcwewQc,1852
|
|
222
222
|
metaflow/plugins/argo/exit_hooks.py,sha256=nh8IEkzAtQnbKVnh3N9CVnVKZB39Bjm3e0LFrACsLz8,6109
|
|
223
223
|
metaflow/plugins/argo/generate_input_paths.py,sha256=loYsI6RFX9LlFsHb7Fe-mzlTTtRdySoOu7sYDy-uXK0,881
|
|
@@ -243,7 +243,7 @@ metaflow/plugins/aws/step_functions/step_functions_cli.py,sha256=tLIfDwgdcfBjkjm
|
|
|
243
243
|
metaflow/plugins/aws/step_functions/step_functions_client.py,sha256=DKpNwAIWElvWjFANs5Ku3rgzjxFoqAD6k-EF8Xhkg3Q,4754
|
|
244
244
|
metaflow/plugins/aws/step_functions/step_functions_decorator.py,sha256=jzDHYmgU_XvLffZDazR_1viow_1qQFblx9UKyjtoM_0,3788
|
|
245
245
|
metaflow/plugins/aws/step_functions/step_functions_deployer.py,sha256=JKYtDhKivtXUWPklprZFzkqezh14loGDmk8mNk6QtpI,3714
|
|
246
|
-
metaflow/plugins/aws/step_functions/step_functions_deployer_objects.py,sha256=
|
|
246
|
+
metaflow/plugins/aws/step_functions/step_functions_deployer_objects.py,sha256=KWIPpE4ebOYyyXlRVtJF6XMnYcyjMFTxdzJWbP0m5PA,7719
|
|
247
247
|
metaflow/plugins/azure/__init__.py,sha256=GuuhTVC-zSdyAf79a1wiERMq0Zts7fwVT7t9fAf234A,100
|
|
248
248
|
metaflow/plugins/azure/azure_credential.py,sha256=JmdGEbVzgxy8ucqnQDdTTI_atyMX9WSZUw3qYOo7RhE,2174
|
|
249
249
|
metaflow/plugins/azure/azure_exceptions.py,sha256=NnbwpUC23bc61HZjJmeXztY0tBNn_Y_VpIpDDuYWIZ0,433
|
|
@@ -328,7 +328,7 @@ metaflow/plugins/kubernetes/kube_utils.py,sha256=jdFMGbEmIow-oli26v31W9CmbZXigx0
|
|
|
328
328
|
metaflow/plugins/kubernetes/kubernetes.py,sha256=3ugZTwMniF3VBZ3yzfIgby69KgaVw-i-Cq2g2FHef4A,31164
|
|
329
329
|
metaflow/plugins/kubernetes/kubernetes_cli.py,sha256=qtWTQqp8i-hTKAA0RcJ_qeOuD8TieN3B5vuyYdnvEP4,14425
|
|
330
330
|
metaflow/plugins/kubernetes/kubernetes_client.py,sha256=tuvXP-QKpdeSmzVolB2R_TaacOr5DIb0j642eKcjsiM,6491
|
|
331
|
-
metaflow/plugins/kubernetes/kubernetes_decorator.py,sha256=
|
|
331
|
+
metaflow/plugins/kubernetes/kubernetes_decorator.py,sha256=htawUXm3SDfxzAcjluKrdfMez0o9Lf6ni5_rqK38YJY,33278
|
|
332
332
|
metaflow/plugins/kubernetes/kubernetes_job.py,sha256=xhucNJR7EpM-XMsfY0nt-BASbjo_T4vL_-tmQ_xHL1U,33284
|
|
333
333
|
metaflow/plugins/kubernetes/kubernetes_jobsets.py,sha256=ZZU5vsBe67NmGuxgXw6clf7kKRST7867AW6_t3fCD5g,43065
|
|
334
334
|
metaflow/plugins/kubernetes/spot_metadata_cli.py,sha256=an0nWCxgflmqIPBCBrlb4m3DereDFFJBLt-KKhqcHc8,1670
|
|
@@ -357,7 +357,7 @@ metaflow/plugins/uv/bootstrap.py,sha256=1UmNnnR7I1YcOtjdAmhuiU23-vj7NimUk3C9Qill
|
|
|
357
357
|
metaflow/plugins/uv/uv_environment.py,sha256=AYZICrBEq3Bv-taXktJwu9DhKFxNooPFwlcH379EYMs,2719
|
|
358
358
|
metaflow/runner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
359
359
|
metaflow/runner/click_api.py,sha256=DSxa5A0C_IHNug7fZlLpD_N99F_skDcAjTRx5YRMylY,23756
|
|
360
|
-
metaflow/runner/deployer.py,sha256=
|
|
360
|
+
metaflow/runner/deployer.py,sha256=JwclsNiqnr0RsrA7-8a1-3Z23A4BDz4SNJubqDPxUuU,13955
|
|
361
361
|
metaflow/runner/deployer_impl.py,sha256=zTING0_fwP44JcGo69DuNrVut5KqdBVzYOM7MYTZgIY,7049
|
|
362
362
|
metaflow/runner/metaflow_runner.py,sha256=uo3BzcAfZ67VT_f-TPe5ZHiWHn6uuojWusOMGksvX14,18178
|
|
363
363
|
metaflow/runner/nbdeploy.py,sha256=Sp5w-6nCZwjHaRBHWxi8udya-RYnJOB76KNLjB4L7Gs,4166
|
|
@@ -409,12 +409,12 @@ metaflow/user_decorators/mutable_flow.py,sha256=icF7XFCS5FdlW3OEL68ZbQOtTPhLsUyc
|
|
|
409
409
|
metaflow/user_decorators/mutable_step.py,sha256=-BY0UDXf_RCAEnC5JlLzEXGdiw1KD9oSrSxS_SWaB9Y,16791
|
|
410
410
|
metaflow/user_decorators/user_flow_decorator.py,sha256=2yDwZq9QGv9W-7kEuKwa8o4ZkTvuHJ5ESz7VVrGViAI,9890
|
|
411
411
|
metaflow/user_decorators/user_step_decorator.py,sha256=JYNGXONWCpzwn-_bF5WiAkof4Ii9tRS4xdK8ojSxG6M,26007
|
|
412
|
-
ob_metaflow-2.16.
|
|
413
|
-
ob_metaflow-2.16.
|
|
414
|
-
ob_metaflow-2.16.
|
|
415
|
-
ob_metaflow-2.16.
|
|
416
|
-
ob_metaflow-2.16.
|
|
417
|
-
ob_metaflow-2.16.
|
|
418
|
-
ob_metaflow-2.16.
|
|
419
|
-
ob_metaflow-2.16.
|
|
420
|
-
ob_metaflow-2.16.
|
|
412
|
+
ob_metaflow-2.16.6.1.data/data/share/metaflow/devtools/Makefile,sha256=5n89OGIC_kE4wxtEI66VCucN-b-1w5bqvGeZYmeRGz8,13737
|
|
413
|
+
ob_metaflow-2.16.6.1.data/data/share/metaflow/devtools/Tiltfile,sha256=I55XTG4RBnrMfDcYRtREXqqS8T9bF8agkZq0DlvdFLk,21404
|
|
414
|
+
ob_metaflow-2.16.6.1.data/data/share/metaflow/devtools/pick_services.sh,sha256=DCnrMXwtApfx3B4S-YiZESMyAFHbXa3VuNL0MxPLyiE,2196
|
|
415
|
+
ob_metaflow-2.16.6.1.dist-info/licenses/LICENSE,sha256=nl_Lt5v9VvJ-5lWJDT4ddKAG-VZ-2IaLmbzpgYDz2hU,11343
|
|
416
|
+
ob_metaflow-2.16.6.1.dist-info/METADATA,sha256=RMHKXZUO9S1rT464nMGwaiEee1vQHPMlu_Z6CWa5CuA,5935
|
|
417
|
+
ob_metaflow-2.16.6.1.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
|
|
418
|
+
ob_metaflow-2.16.6.1.dist-info/entry_points.txt,sha256=RvEq8VFlgGe_FfqGOZi0D7ze1hLD0pAtXeNyGfzc_Yc,103
|
|
419
|
+
ob_metaflow-2.16.6.1.dist-info/top_level.txt,sha256=v1pDHoWaSaKeuc5fKTRSfsXCKSdW1zvNVmvA-i0if3o,9
|
|
420
|
+
ob_metaflow-2.16.6.1.dist-info/RECORD,,
|
{ob_metaflow-2.16.4.5.data → ob_metaflow-2.16.6.1.data}/data/share/metaflow/devtools/Makefile
RENAMED
|
File without changes
|
{ob_metaflow-2.16.4.5.data → ob_metaflow-2.16.6.1.data}/data/share/metaflow/devtools/Tiltfile
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|