metaflow 2.16.1__py2.py3-none-any.whl → 2.16.3__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/plugins/argo/argo_workflows.py +19 -6
- metaflow/plugins/argo/exit_hooks.py +9 -9
- metaflow/plugins/metadata_providers/service.py +1 -1
- metaflow/version.py +1 -1
- {metaflow-2.16.1.dist-info → metaflow-2.16.3.dist-info}/METADATA +2 -2
- {metaflow-2.16.1.dist-info → metaflow-2.16.3.dist-info}/RECORD +13 -13
- {metaflow-2.16.1.data → metaflow-2.16.3.data}/data/share/metaflow/devtools/Makefile +0 -0
- {metaflow-2.16.1.data → metaflow-2.16.3.data}/data/share/metaflow/devtools/Tiltfile +0 -0
- {metaflow-2.16.1.data → metaflow-2.16.3.data}/data/share/metaflow/devtools/pick_services.sh +0 -0
- {metaflow-2.16.1.dist-info → metaflow-2.16.3.dist-info}/WHEEL +0 -0
- {metaflow-2.16.1.dist-info → metaflow-2.16.3.dist-info}/entry_points.txt +0 -0
- {metaflow-2.16.1.dist-info → metaflow-2.16.3.dist-info}/licenses/LICENSE +0 -0
- {metaflow-2.16.1.dist-info → metaflow-2.16.3.dist-info}/top_level.txt +0 -0
@@ -2125,8 +2125,17 @@ class ArgoWorkflows(object):
|
|
2125
2125
|
.node_selectors(resources.get("node_selector"))
|
2126
2126
|
# Set tolerations
|
2127
2127
|
.tolerations(resources.get("tolerations"))
|
2128
|
-
# Set image pull secrets
|
2129
|
-
.
|
2128
|
+
# Set image pull secrets if present. We need to use pod_spec_patch due to Argo not supporting this on a template level.
|
2129
|
+
.pod_spec_patch(
|
2130
|
+
{
|
2131
|
+
"imagePullSecrets": [
|
2132
|
+
{"name": secret}
|
2133
|
+
for secret in resources["image_pull_secrets"]
|
2134
|
+
]
|
2135
|
+
}
|
2136
|
+
if resources["image_pull_secrets"]
|
2137
|
+
else None
|
2138
|
+
)
|
2130
2139
|
# Set container
|
2131
2140
|
.container(
|
2132
2141
|
# TODO: Unify the logic with kubernetes.py
|
@@ -3825,6 +3834,14 @@ class Template(object):
|
|
3825
3834
|
)
|
3826
3835
|
return self
|
3827
3836
|
|
3837
|
+
def pod_spec_patch(self, pod_spec_patch=None):
|
3838
|
+
if pod_spec_patch is None:
|
3839
|
+
return self
|
3840
|
+
|
3841
|
+
self.payload["podSpecPatch"] = json.dumps(pod_spec_patch)
|
3842
|
+
|
3843
|
+
return self
|
3844
|
+
|
3828
3845
|
def node_selectors(self, node_selectors):
|
3829
3846
|
if "nodeSelector" not in self.payload:
|
3830
3847
|
self.payload["nodeSelector"] = {}
|
@@ -3836,10 +3853,6 @@ class Template(object):
|
|
3836
3853
|
self.payload["tolerations"] = tolerations
|
3837
3854
|
return self
|
3838
3855
|
|
3839
|
-
def image_pull_secrets(self, image_pull_secrets):
|
3840
|
-
self.payload["image_pull_secrets"] = image_pull_secrets
|
3841
|
-
return self
|
3842
|
-
|
3843
3856
|
def to_json(self):
|
3844
3857
|
return self.payload
|
3845
3858
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from collections import defaultdict
|
2
2
|
import json
|
3
|
-
from typing import Dict, List
|
3
|
+
from typing import Dict, List, Optional
|
4
4
|
|
5
5
|
|
6
6
|
class JsonSerializable(object):
|
@@ -94,13 +94,13 @@ class _HttpSpec(JsonSerializable):
|
|
94
94
|
class HttpExitHook(Hook):
|
95
95
|
def __init__(
|
96
96
|
self,
|
97
|
-
name,
|
98
|
-
url,
|
99
|
-
method="GET",
|
100
|
-
headers=None,
|
101
|
-
body=None,
|
102
|
-
on_success=False,
|
103
|
-
on_error=False,
|
97
|
+
name: str,
|
98
|
+
url: str,
|
99
|
+
method: str = "GET",
|
100
|
+
headers: Optional[Dict] = None,
|
101
|
+
body: Optional[str] = None,
|
102
|
+
on_success: bool = False,
|
103
|
+
on_error: bool = False,
|
104
104
|
):
|
105
105
|
self.template = _Template(name)
|
106
106
|
http = _HttpSpec(method).url(url)
|
@@ -109,7 +109,7 @@ class HttpExitHook(Hook):
|
|
109
109
|
http.header(header, value)
|
110
110
|
|
111
111
|
if body is not None:
|
112
|
-
http.body(
|
112
|
+
http.body(body)
|
113
113
|
|
114
114
|
self.template.http(http)
|
115
115
|
|
@@ -591,7 +591,7 @@ class ServiceMetadataProvider(MetadataProvider):
|
|
591
591
|
else:
|
592
592
|
if resp.status_code < 300:
|
593
593
|
return resp.headers.get("METADATA_SERVICE_VERSION", None)
|
594
|
-
elif resp.status_code
|
594
|
+
elif resp.status_code not in (503, 500):
|
595
595
|
raise ServiceException(
|
596
596
|
"Metadata request (%s) failed"
|
597
597
|
" (code %s): %s" % (url, resp.status_code, resp.text),
|
metaflow/version.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
metaflow_version = "2.16.
|
1
|
+
metaflow_version = "2.16.3"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: metaflow
|
3
|
-
Version: 2.16.
|
3
|
+
Version: 2.16.3
|
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.16.
|
29
|
+
Requires-Dist: metaflow-stubs==2.16.3; extra == "stubs"
|
30
30
|
Dynamic: author
|
31
31
|
Dynamic: author-email
|
32
32
|
Dynamic: classifier
|
@@ -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=czNkmKVWKefRQMpU8SVzKGsfDIOaEXoLYUXtf0bnh-Q,28
|
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
|
@@ -213,13 +213,13 @@ metaflow/plugins/airflow/sensors/s3_sensor.py,sha256=iDReG-7FKnumrtQg-HY6cCUAAqN
|
|
213
213
|
metaflow/plugins/argo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
214
214
|
metaflow/plugins/argo/argo_client.py,sha256=A1kI9rjVjCadDsBscZ2Wk8xRBI6GNgWV6SU7TyrdfrI,16530
|
215
215
|
metaflow/plugins/argo/argo_events.py,sha256=_C1KWztVqgi3zuH57pInaE9OzABc2NnncC-zdwOMZ-w,5909
|
216
|
-
metaflow/plugins/argo/argo_workflows.py,sha256=
|
216
|
+
metaflow/plugins/argo/argo_workflows.py,sha256=H4P3dQ1bNTPehRGyPV4dW5xF5Hg0w320FM7LPiyMqq4,187641
|
217
217
|
metaflow/plugins/argo/argo_workflows_cli.py,sha256=pfqYH0nqkgmkDcz3EPIz5yR_PSdd3CfLb92wzplS8fY,38810
|
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
220
|
metaflow/plugins/argo/argo_workflows_deployer_objects.py,sha256=7OiapcIM_r-aBkuIobhofgLC5NRJHC-p9bvBmxvhqoM,12500
|
221
221
|
metaflow/plugins/argo/capture_error.py,sha256=Ys9dscGrTpW-ZCirLBU0gD9qBM0BjxyxGlUMKcwewQc,1852
|
222
|
-
metaflow/plugins/argo/exit_hooks.py,sha256=
|
222
|
+
metaflow/plugins/argo/exit_hooks.py,sha256=nh8IEkzAtQnbKVnh3N9CVnVKZB39Bjm3e0LFrACsLz8,6109
|
223
223
|
metaflow/plugins/argo/generate_input_paths.py,sha256=loYsI6RFX9LlFsHb7Fe-mzlTTtRdySoOu7sYDy-uXK0,881
|
224
224
|
metaflow/plugins/argo/jobset_input_paths.py,sha256=-h0E_e0w6FMiBUod9Rf_XOSCtZv_C0exacw4q1SfIfg,501
|
225
225
|
metaflow/plugins/aws/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -335,7 +335,7 @@ metaflow/plugins/kubernetes/spot_metadata_cli.py,sha256=an0nWCxgflmqIPBCBrlb4m3D
|
|
335
335
|
metaflow/plugins/kubernetes/spot_monitor_sidecar.py,sha256=zrWU-smQwPnL6MBHmzTxWyEA00R6iKKQbhhy50xFwQ8,3832
|
336
336
|
metaflow/plugins/metadata_providers/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
337
337
|
metaflow/plugins/metadata_providers/local.py,sha256=Z0CXaGZJbAkj4II3WspJi-uCCtShH64yaXZQ5i9Ym7g,24390
|
338
|
-
metaflow/plugins/metadata_providers/service.py,sha256=
|
338
|
+
metaflow/plugins/metadata_providers/service.py,sha256=WL3GkEQlQk0syjSZ6iOnBSb3nRGfeUye95ySvLnMwhg,22953
|
339
339
|
metaflow/plugins/pypi/__init__.py,sha256=0YFZpXvX7HCkyBFglatual7XGifdA1RwC3U4kcizyak,1037
|
340
340
|
metaflow/plugins/pypi/bootstrap.py,sha256=8EWBdwOp5moXkTfLadn3ZOtPXoGftjOFD-c2W_rn77c,14998
|
341
341
|
metaflow/plugins/pypi/conda_decorator.py,sha256=ie0ftOcozloj_qdASOxYvycb-Zr1GJHedzEDnp6cl2w,13984
|
@@ -409,12 +409,12 @@ metaflow/user_decorators/mutable_flow.py,sha256=y2FCTQVjTTeiptsztD26jdkU_LY_Z_kz
|
|
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
|
-
metaflow-2.16.
|
413
|
-
metaflow-2.16.
|
414
|
-
metaflow-2.16.
|
415
|
-
metaflow-2.16.
|
416
|
-
metaflow-2.16.
|
417
|
-
metaflow-2.16.
|
418
|
-
metaflow-2.16.
|
419
|
-
metaflow-2.16.
|
420
|
-
metaflow-2.16.
|
412
|
+
metaflow-2.16.3.data/data/share/metaflow/devtools/Makefile,sha256=5n89OGIC_kE4wxtEI66VCucN-b-1w5bqvGeZYmeRGz8,13737
|
413
|
+
metaflow-2.16.3.data/data/share/metaflow/devtools/Tiltfile,sha256=I55XTG4RBnrMfDcYRtREXqqS8T9bF8agkZq0DlvdFLk,21404
|
414
|
+
metaflow-2.16.3.data/data/share/metaflow/devtools/pick_services.sh,sha256=DCnrMXwtApfx3B4S-YiZESMyAFHbXa3VuNL0MxPLyiE,2196
|
415
|
+
metaflow-2.16.3.dist-info/licenses/LICENSE,sha256=nl_Lt5v9VvJ-5lWJDT4ddKAG-VZ-2IaLmbzpgYDz2hU,11343
|
416
|
+
metaflow-2.16.3.dist-info/METADATA,sha256=nbvJ2qHZYKFHtvFaO4JHXjvODJhLZ8h8l3u2K2kGY2s,6740
|
417
|
+
metaflow-2.16.3.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
|
418
|
+
metaflow-2.16.3.dist-info/entry_points.txt,sha256=RvEq8VFlgGe_FfqGOZi0D7ze1hLD0pAtXeNyGfzc_Yc,103
|
419
|
+
metaflow-2.16.3.dist-info/top_level.txt,sha256=v1pDHoWaSaKeuc5fKTRSfsXCKSdW1zvNVmvA-i0if3o,9
|
420
|
+
metaflow-2.16.3.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|