metaflow 2.11.8__py2.py3-none-any.whl → 2.11.10__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/decorators.py +2 -1
- metaflow/metaflow_config.py +2 -0
- metaflow/plugins/argo/argo_workflows.py +10 -3
- metaflow/plugins/argo/argo_workflows_decorator.py +1 -0
- metaflow/plugins/aws/batch/batch_client.py +3 -3
- metaflow/plugins/kubernetes/kubernetes.py +2 -0
- metaflow/plugins/kubernetes/kubernetes_cli.py +3 -0
- metaflow/plugins/kubernetes/kubernetes_decorator.py +6 -0
- metaflow/plugins/kubernetes/kubernetes_job.py +7 -0
- metaflow/version.py +1 -1
- {metaflow-2.11.8.dist-info → metaflow-2.11.10.dist-info}/METADATA +2 -2
- {metaflow-2.11.8.dist-info → metaflow-2.11.10.dist-info}/RECORD +16 -16
- {metaflow-2.11.8.dist-info → metaflow-2.11.10.dist-info}/LICENSE +0 -0
- {metaflow-2.11.8.dist-info → metaflow-2.11.10.dist-info}/WHEEL +0 -0
- {metaflow-2.11.8.dist-info → metaflow-2.11.10.dist-info}/entry_points.txt +0 -0
- {metaflow-2.11.8.dist-info → metaflow-2.11.10.dist-info}/top_level.txt +0 -0
metaflow/decorators.py
CHANGED
@@ -518,7 +518,8 @@ def _init_flow_decorators(
|
|
518
518
|
else:
|
519
519
|
# Each "non-multiple" flow decorator is only allowed to have one set of options
|
520
520
|
deco_flow_init_options = {
|
521
|
-
option: deco_options[option]
|
521
|
+
option: deco_options[option.replace("-", "_")]
|
522
|
+
for option in deco.options
|
522
523
|
}
|
523
524
|
for deco in decorators:
|
524
525
|
deco.flow_init(
|
metaflow/metaflow_config.py
CHANGED
@@ -312,6 +312,8 @@ KUBERNETES_CONTAINER_REGISTRY = from_conf(
|
|
312
312
|
KUBERNETES_FETCH_EC2_METADATA = from_conf("KUBERNETES_FETCH_EC2_METADATA", False)
|
313
313
|
# Shared memory in MB to use for this step
|
314
314
|
KUBERNETES_SHARED_MEMORY = from_conf("KUBERNETES_SHARED_MEMORY", None)
|
315
|
+
# Default port number to open on the pods
|
316
|
+
KUBERNETES_PORT = from_conf("KUBERNETES_PORT", None)
|
315
317
|
|
316
318
|
ARGO_WORKFLOWS_KUBERNETES_SECRETS = from_conf("ARGO_WORKFLOWS_KUBERNETES_SECRETS", "")
|
317
319
|
ARGO_WORKFLOWS_ENV_VARS_TO_SKIP = from_conf("ARGO_WORKFLOWS_ENV_VARS_TO_SKIP", "")
|
@@ -1371,12 +1371,14 @@ class ArgoWorkflows(object):
|
|
1371
1371
|
# Set shared_memory to 0 if it isn't specified. This results
|
1372
1372
|
# in Kubernetes using it's default value when the pod is created.
|
1373
1373
|
shared_memory = resources.get("shared_memory", 0)
|
1374
|
+
port = resources.get("port", None)
|
1375
|
+
if port:
|
1376
|
+
port = int(port)
|
1374
1377
|
|
1375
1378
|
tmpfs_enabled = use_tmpfs or (tmpfs_size and not use_tmpfs)
|
1376
1379
|
|
1377
1380
|
if tmpfs_enabled and tmpfs_tempdir:
|
1378
1381
|
env["METAFLOW_TEMPDIR"] = tmpfs_path
|
1379
|
-
|
1380
1382
|
# Create a ContainerTemplate for this node. Ideally, we would have
|
1381
1383
|
# liked to inline this ContainerTemplate and avoid scanning the workflow
|
1382
1384
|
# twice, but due to issues with variable substitution, we will have to
|
@@ -1435,6 +1437,9 @@ class ArgoWorkflows(object):
|
|
1435
1437
|
kubernetes_sdk.V1Container(
|
1436
1438
|
name=self._sanitize(node.name),
|
1437
1439
|
command=cmds,
|
1440
|
+
ports=[kubernetes_sdk.V1ContainerPort(container_port=port)]
|
1441
|
+
if port
|
1442
|
+
else None,
|
1438
1443
|
env=[
|
1439
1444
|
kubernetes_sdk.V1EnvVar(name=k, value=str(v))
|
1440
1445
|
for k, v in env.items()
|
@@ -1983,8 +1988,10 @@ class ArgoWorkflows(object):
|
|
1983
1988
|
# Technically, we don't need to create
|
1984
1989
|
# a payload carry-on and can stuff
|
1985
1990
|
# everything within the body.
|
1986
|
-
|
1987
|
-
|
1991
|
+
# NOTE: We need the conditional logic in order to successfully fall back to the default value
|
1992
|
+
# when the event payload does not contain a key for a parameter.
|
1993
|
+
data_template='{{ if (hasKey $.Input.body.payload "%s") }}{{- (.Input.body.payload.%s | toJson) -}}{{- else -}}{{ (fail "use-default-instead") }}{{- end -}}'
|
1994
|
+
% (v, v),
|
1988
1995
|
# Unfortunately the sensor needs to
|
1989
1996
|
# record the default values for
|
1990
1997
|
# the parameters - there doesn't seem
|
@@ -72,6 +72,7 @@ class ArgoWorkflowsInternalDecorator(StepDecorator):
|
|
72
72
|
meta["argo-workflow-name"] = os.environ["ARGO_WORKFLOW_NAME"]
|
73
73
|
meta["argo-workflow-namespace"] = os.environ["ARGO_WORKFLOW_NAMESPACE"]
|
74
74
|
meta["auto-emit-argo-events"] = self.attributes["auto-emit-argo-events"]
|
75
|
+
meta["argo-workflow-template-owner"] = os.environ["METAFLOW_OWNER"]
|
75
76
|
entries = [
|
76
77
|
MetaDatum(
|
77
78
|
field=k, value=v, type=k, tags=["attempt_id:{0}".format(retry_count)]
|
@@ -206,13 +206,13 @@ class BatchJob(object):
|
|
206
206
|
k, v = each_log_option.split(":", 1)
|
207
207
|
log_options_dict[k] = v
|
208
208
|
|
209
|
-
if log_driver
|
209
|
+
if log_driver or log_options:
|
210
210
|
job_definition["containerProperties"]["logConfiguration"] = {}
|
211
|
-
if log_driver
|
211
|
+
if log_driver:
|
212
212
|
job_definition["containerProperties"]["logConfiguration"][
|
213
213
|
"logDriver"
|
214
214
|
] = log_driver
|
215
|
-
if log_options
|
215
|
+
if log_options:
|
216
216
|
job_definition["containerProperties"]["logConfiguration"][
|
217
217
|
"options"
|
218
218
|
] = log_options_dict
|
@@ -175,6 +175,7 @@ class Kubernetes(object):
|
|
175
175
|
tolerations=None,
|
176
176
|
labels=None,
|
177
177
|
shared_memory=None,
|
178
|
+
port=None,
|
178
179
|
):
|
179
180
|
if env is None:
|
180
181
|
env = {}
|
@@ -215,6 +216,7 @@ class Kubernetes(object):
|
|
215
216
|
tmpfs_path=tmpfs_path,
|
216
217
|
persistent_volume_claims=persistent_volume_claims,
|
217
218
|
shared_memory=shared_memory,
|
219
|
+
port=port,
|
218
220
|
)
|
219
221
|
.environment_variable("METAFLOW_CODE_SHA", code_package_sha)
|
220
222
|
.environment_variable("METAFLOW_CODE_URL", code_package_url)
|
@@ -108,6 +108,7 @@ def kubernetes():
|
|
108
108
|
multiple=False,
|
109
109
|
)
|
110
110
|
@click.option("--shared-memory", default=None, help="Size of shared memory in MiB")
|
111
|
+
@click.option("--port", default=None, help="Port number to expose from the container")
|
111
112
|
@click.pass_context
|
112
113
|
def step(
|
113
114
|
ctx,
|
@@ -134,6 +135,7 @@ def step(
|
|
134
135
|
persistent_volume_claims=None,
|
135
136
|
tolerations=None,
|
136
137
|
shared_memory=None,
|
138
|
+
port=None,
|
137
139
|
**kwargs
|
138
140
|
):
|
139
141
|
def echo(msg, stream="stderr", job_id=None, **kwargs):
|
@@ -248,6 +250,7 @@ def step(
|
|
248
250
|
persistent_volume_claims=persistent_volume_claims,
|
249
251
|
tolerations=tolerations,
|
250
252
|
shared_memory=shared_memory,
|
253
|
+
port=port,
|
251
254
|
)
|
252
255
|
except Exception as e:
|
253
256
|
traceback.print_exc(chain=False)
|
@@ -21,6 +21,7 @@ from metaflow.metaflow_config import (
|
|
21
21
|
KUBERNETES_TOLERATIONS,
|
22
22
|
KUBERNETES_SERVICE_ACCOUNT,
|
23
23
|
KUBERNETES_SHARED_MEMORY,
|
24
|
+
KUBERNETES_PORT,
|
24
25
|
)
|
25
26
|
from metaflow.plugins.resources_decorator import ResourcesDecorator
|
26
27
|
from metaflow.plugins.timeout_decorator import get_run_time_limit_for_task
|
@@ -90,6 +91,8 @@ class KubernetesDecorator(StepDecorator):
|
|
90
91
|
volumes to the path to which the volume is to be mounted, e.g., `{'pvc-name': '/path/to/mount/on'}`.
|
91
92
|
shared_memory: int, optional
|
92
93
|
Shared memory size (in MiB) required for this step
|
94
|
+
port: int, optional
|
95
|
+
Port number to specify in the Kubernetes job object
|
93
96
|
"""
|
94
97
|
|
95
98
|
name = "kubernetes"
|
@@ -113,6 +116,7 @@ class KubernetesDecorator(StepDecorator):
|
|
113
116
|
"tmpfs_path": "/metaflow_temp",
|
114
117
|
"persistent_volume_claims": None, # e.g., {"pvc-name": "/mnt/vol", "another-pvc": "/mnt/vol2"}
|
115
118
|
"shared_memory": None,
|
119
|
+
"port": None,
|
116
120
|
}
|
117
121
|
package_url = None
|
118
122
|
package_sha = None
|
@@ -200,6 +204,8 @@ class KubernetesDecorator(StepDecorator):
|
|
200
204
|
self.attributes["tmpfs_size"] = int(self.attributes["memory"]) // 2
|
201
205
|
if not self.attributes["shared_memory"]:
|
202
206
|
self.attributes["shared_memory"] = KUBERNETES_SHARED_MEMORY
|
207
|
+
if not self.attributes["port"]:
|
208
|
+
self.attributes["port"] = KUBERNETES_PORT
|
203
209
|
|
204
210
|
# Refer https://github.com/Netflix/metaflow/blob/master/docs/lifecycle.png
|
205
211
|
def step_init(self, flow, graph, step, decos, environment, flow_datastore, logger):
|
@@ -118,6 +118,13 @@ class KubernetesJob(object):
|
|
118
118
|
containers=[
|
119
119
|
client.V1Container(
|
120
120
|
command=self._kwargs["command"],
|
121
|
+
ports=[
|
122
|
+
client.V1ContainerPort(
|
123
|
+
container_port=int(self._kwargs["port"])
|
124
|
+
)
|
125
|
+
]
|
126
|
+
if "port" in self._kwargs and self._kwargs["port"]
|
127
|
+
else None,
|
121
128
|
env=[
|
122
129
|
client.V1EnvVar(name=k, value=str(v))
|
123
130
|
for k, v in self._kwargs.get(
|
metaflow/version.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
metaflow_version = "2.11.
|
1
|
+
metaflow_version = "2.11.10"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: metaflow
|
3
|
-
Version: 2.11.
|
3
|
+
Version: 2.11.10
|
4
4
|
Summary: Metaflow: More Data Science, 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.11.
|
29
|
+
Requires-Dist: metaflow-stubs ==2.11.10 ; extra == 'stubs'
|
30
30
|
|
31
31
|

|
32
32
|
|
@@ -6,7 +6,7 @@ metaflow/cli_args.py,sha256=lcgBGNTvfaiPxiUnejAe60Upt9swG6lRy1_3OqbU6MY,2616
|
|
6
6
|
metaflow/clone_util.py,sha256=ar4jSZt2aTd4monBpkIQmcLcsOd0relAB42qTUGt2j8,1810
|
7
7
|
metaflow/cmd_with_io.py,sha256=kl53HkAIyv0ecpItv08wZYczv7u3msD1VCcciqigqf0,588
|
8
8
|
metaflow/debug.py,sha256=HEmt_16tJtqHXQXsqD9pqOFe3CWR5GZ7VwpaYQgnRdU,1466
|
9
|
-
metaflow/decorators.py,sha256=
|
9
|
+
metaflow/decorators.py,sha256=n91bvWA4JJWHwZnI02-rFGBZsWWMtaABYlWYcOvHuRw,21391
|
10
10
|
metaflow/event_logger.py,sha256=joTVRqZPL87nvah4ZOwtqWX8NeraM_CXKXXGVpKGD8o,780
|
11
11
|
metaflow/events.py,sha256=ahjzkSbSnRCK9RZ-9vTfUviz_6gMvSO9DGkJ86X80-k,5300
|
12
12
|
metaflow/exception.py,sha256=KC1LHJQzzYkWib0DeQ4l_A2r8VaudywsSqIQuq1RDZU,4954
|
@@ -15,7 +15,7 @@ metaflow/graph.py,sha256=ZPxyG8uwVMk5YYgX4pQEQaPZtZM5Wy-G4NtJK73IEuA,11818
|
|
15
15
|
metaflow/includefile.py,sha256=yHczcZ_U0SrasxSNhZb3DIBzx8UZnrJCl3FzvpEQLOA,19753
|
16
16
|
metaflow/integrations.py,sha256=LlsaoePRg03DjENnmLxZDYto3NwWc9z_PtU6nJxLldg,1480
|
17
17
|
metaflow/lint.py,sha256=_kYAbAtsP7IG1Rd0FqNbo8I8Zs66_0WXbaZJFARO3dE,10394
|
18
|
-
metaflow/metaflow_config.py,sha256=
|
18
|
+
metaflow/metaflow_config.py,sha256=7nb97lLxtgynWZNMsmFx43EBy-ngJ4RWKFDlf2cnoQ4,19870
|
19
19
|
metaflow/metaflow_config_funcs.py,sha256=pCaiQ2ez9wXixJI3ehmf3QiW9lUqFrZnBZx1my_0wIg,4874
|
20
20
|
metaflow/metaflow_current.py,sha256=sCENPBiji3LcPbwgOG0ukGd_yEc5tST8EowES8DzRtA,7430
|
21
21
|
metaflow/metaflow_environment.py,sha256=JdsmQsYp1SDQniQ0-q1mKRrmzSFfYuzrf6jLEHmyaiM,7352
|
@@ -34,7 +34,7 @@ metaflow/task.py,sha256=ecGaULbK8kXPnyWzH1u6wtGclm0qeJm7K95amEL17sQ,25863
|
|
34
34
|
metaflow/unbounded_foreach.py,sha256=p184WMbrMJ3xKYHwewj27ZhRUsSj_kw1jlye5gA9xJk,387
|
35
35
|
metaflow/util.py,sha256=RrjsvADLKxSqjL76CxKh_J4OJl840B9Ak3V-vXleGas,13429
|
36
36
|
metaflow/vendor.py,sha256=LZgXrh7ZSDmD32D1T5jj3OKKpXIqqxKzdMAOc5V0SD4,5162
|
37
|
-
metaflow/version.py,sha256=
|
37
|
+
metaflow/version.py,sha256=tdq0nGUyYAyRYN8zn0X6UUGfq_r_tUaaLh61XPNHXyU,29
|
38
38
|
metaflow/_vendor/__init__.py,sha256=y_CiwUD3l4eAKvTVDZeqgVujMy31cAM1qjAB-HfI-9s,353
|
39
39
|
metaflow/_vendor/click/__init__.py,sha256=FkyGDQ-cbiQxP_lxgUspyFYS48f2S_pTcfKPz-d_RMo,2463
|
40
40
|
metaflow/_vendor/click/_bashcomplete.py,sha256=9J98IHQYmCAr2Jup6TDshUr5FJEen-AoQCZR0K5nKxQ,12309
|
@@ -149,9 +149,9 @@ metaflow/plugins/airflow/sensors/s3_sensor.py,sha256=JUKoGNoTCtrO9MNEneEC7ldRNwg
|
|
149
149
|
metaflow/plugins/argo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
150
150
|
metaflow/plugins/argo/argo_client.py,sha256=MKKhMCbWOPzf6z5zQQiyDRHHkAXcO7ipboDZDqAAvOk,15849
|
151
151
|
metaflow/plugins/argo/argo_events.py,sha256=_C1KWztVqgi3zuH57pInaE9OzABc2NnncC-zdwOMZ-w,5909
|
152
|
-
metaflow/plugins/argo/argo_workflows.py,sha256=
|
152
|
+
metaflow/plugins/argo/argo_workflows.py,sha256=ufub5eTXZS9idWbVl37PW2vmbYsNxXYpVTw3hByrzrE,122350
|
153
153
|
metaflow/plugins/argo/argo_workflows_cli.py,sha256=sZTpgfmc50eT3e0qIxpVqUgWhTcYlO1HM4gU6Oaya8g,33259
|
154
|
-
metaflow/plugins/argo/argo_workflows_decorator.py,sha256=
|
154
|
+
metaflow/plugins/argo/argo_workflows_decorator.py,sha256=kCtwB6grJso5UwxKSirJn7L9BWP5rd3arBunAyS-uuU,6656
|
155
155
|
metaflow/plugins/argo/process_input_paths.py,sha256=4SiUoxbnTX4rCt0RSLcxG5jysbyd8oU-5JT0UOgy-vk,555
|
156
156
|
metaflow/plugins/aws/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
157
157
|
metaflow/plugins/aws/aws_client.py,sha256=mO8UD6pxFaOnxDb3hTP3HB7Gqb_ZxoR-76LT683WHvI,4036
|
@@ -159,7 +159,7 @@ metaflow/plugins/aws/aws_utils.py,sha256=pkkH8Cy9sF5tp3HoZ84wkN-84NmksgCdNN4cMSd
|
|
159
159
|
metaflow/plugins/aws/batch/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
160
160
|
metaflow/plugins/aws/batch/batch.py,sha256=e9ssahWM18GnipPK2sqYB-ztx9w7Eoo7YtWyEtufYxs,17787
|
161
161
|
metaflow/plugins/aws/batch/batch_cli.py,sha256=8j5s9RMZu0aJW76GY2lQkJT5tVDzamg9G_iu1AUpW8o,11632
|
162
|
-
metaflow/plugins/aws/batch/batch_client.py,sha256=
|
162
|
+
metaflow/plugins/aws/batch/batch_client.py,sha256=s9ZHhxQPPoBQijLUgn6_16QOaD4-22U_44uJbp-yLkI,28565
|
163
163
|
metaflow/plugins/aws/batch/batch_decorator.py,sha256=o2UH_E6k98ZpbWTvMooKv4V7nwpdHmh5SwCGzWubv0c,17313
|
164
164
|
metaflow/plugins/aws/secrets_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
165
165
|
metaflow/plugins/aws/secrets_manager/aws_secrets_manager_secrets_provider.py,sha256=JtFUVu00Cg0FzAizgrPLXmrMqsT7YeQMkQlgeivUxcE,7986
|
@@ -246,11 +246,11 @@ metaflow/plugins/gcp/gs_tail.py,sha256=Jl_wvnzU7dub07A-DOAuP5FeccNIrPM-CeL1xKFs1
|
|
246
246
|
metaflow/plugins/gcp/gs_utils.py,sha256=ZmIGFse1qYyvAVrwga23PQUzF6dXEDLLsZ2F-YRmvow,2030
|
247
247
|
metaflow/plugins/gcp/includefile_support.py,sha256=vIDeR-MiJuUh-2S2pV7Z7FBkhIWwtHXaRrj76MWGRiY,3869
|
248
248
|
metaflow/plugins/kubernetes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
249
|
-
metaflow/plugins/kubernetes/kubernetes.py,sha256
|
250
|
-
metaflow/plugins/kubernetes/kubernetes_cli.py,sha256=
|
249
|
+
metaflow/plugins/kubernetes/kubernetes.py,sha256=tbM9lfJcii1iAQ5C4bo8vUvwkBroNRVvgrytpcDQkpo,17490
|
250
|
+
metaflow/plugins/kubernetes/kubernetes_cli.py,sha256=cGY-BM5REcVKQCi4JSYSK6PvA9M5TK0ikG09Yfct0jA,9224
|
251
251
|
metaflow/plugins/kubernetes/kubernetes_client.py,sha256=irATJpAob4jINkJw0zT_Xoa6JHRtYxx2IOeimlbzvPo,2373
|
252
|
-
metaflow/plugins/kubernetes/kubernetes_decorator.py,sha256=
|
253
|
-
metaflow/plugins/kubernetes/kubernetes_job.py,sha256=
|
252
|
+
metaflow/plugins/kubernetes/kubernetes_decorator.py,sha256=StV8TnYtm4hpAGuyC6JQs_LUTHpa5lY-RtVBn9gC8E0,21429
|
253
|
+
metaflow/plugins/kubernetes/kubernetes_job.py,sha256=qDsvaOcwcaOOaqLePg0HN19LaeJNBEuik9b8ErF9lhg,32259
|
254
254
|
metaflow/plugins/metadata/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
255
255
|
metaflow/plugins/metadata/local.py,sha256=YhLJC5zjVJrvQFIyQ92ZBByiUmhCC762RUX7ITX12O8,22428
|
256
256
|
metaflow/plugins/metadata/service.py,sha256=ihq5F7KQZlxvYwzH_-jyP2aWN_I96i2vp92j_d697s8,20204
|
@@ -298,9 +298,9 @@ metaflow/tutorials/07-worldview/README.md,sha256=5vQTrFqulJ7rWN6r20dhot9lI2sVj9W
|
|
298
298
|
metaflow/tutorials/07-worldview/worldview.ipynb,sha256=ztPZPI9BXxvW1QdS2Tfe7LBuVzvFvv0AToDnsDJhLdE,2237
|
299
299
|
metaflow/tutorials/08-autopilot/README.md,sha256=GnePFp_q76jPs991lMUqfIIh5zSorIeWznyiUxzeUVE,1039
|
300
300
|
metaflow/tutorials/08-autopilot/autopilot.ipynb,sha256=DQoJlILV7Mq9vfPBGW-QV_kNhWPjS5n6SJLqePjFYLY,3191
|
301
|
-
metaflow-2.11.
|
302
|
-
metaflow-2.11.
|
303
|
-
metaflow-2.11.
|
304
|
-
metaflow-2.11.
|
305
|
-
metaflow-2.11.
|
306
|
-
metaflow-2.11.
|
301
|
+
metaflow-2.11.10.dist-info/LICENSE,sha256=nl_Lt5v9VvJ-5lWJDT4ddKAG-VZ-2IaLmbzpgYDz2hU,11343
|
302
|
+
metaflow-2.11.10.dist-info/METADATA,sha256=jZ0uyd0DllaYU8fWXFEVX38oIsTJZg6NxSOz7ATZqyU,5908
|
303
|
+
metaflow-2.11.10.dist-info/WHEEL,sha256=DZajD4pwLWue70CAfc7YaxT1wLUciNBvN_TTcvXpltE,110
|
304
|
+
metaflow-2.11.10.dist-info/entry_points.txt,sha256=IKwTN1T3I5eJL3uo_vnkyxVffcgnRdFbKwlghZfn27k,57
|
305
|
+
metaflow-2.11.10.dist-info/top_level.txt,sha256=v1pDHoWaSaKeuc5fKTRSfsXCKSdW1zvNVmvA-i0if3o,9
|
306
|
+
metaflow-2.11.10.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|