ob-metaflow 2.15.6.1__py2.py3-none-any.whl → 2.15.7.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.

@@ -525,6 +525,7 @@ class ArgoWorkflows(object):
525
525
  default_value = json.dumps(default_value)
526
526
 
527
527
  parameters[param.name] = dict(
528
+ python_var_name=var,
528
529
  name=param.name,
529
530
  value=default_value,
530
531
  type=param_type,
@@ -839,7 +840,11 @@ class ArgoWorkflows(object):
839
840
  Arguments().parameters(
840
841
  [
841
842
  Parameter(parameter["name"])
842
- .value(parameter["value"])
843
+ .value(
844
+ "'%s'" % parameter["value"]
845
+ if parameter["type"] == "JSON"
846
+ else parameter["value"]
847
+ )
843
848
  .description(parameter.get("description"))
844
849
  # TODO: Better handle IncludeFile in Argo Workflows UI.
845
850
  for parameter in self.parameters.values()
@@ -1595,11 +1600,7 @@ class ArgoWorkflows(object):
1595
1600
  # {{foo.bar['param_name']}}.
1596
1601
  # https://argoproj.github.io/argo-events/tutorials/02-parameterization/
1597
1602
  # http://masterminds.github.io/sprig/strings.html
1598
- (
1599
- "--%s='{{workflow.parameters.%s}}'"
1600
- if parameter["type"] == "JSON"
1601
- else "--%s={{workflow.parameters.%s}}"
1602
- )
1603
+ "--%s={{workflow.parameters.%s}}"
1603
1604
  % (parameter["name"], parameter["name"])
1604
1605
  for parameter in self.parameters.values()
1605
1606
  ]
@@ -3197,15 +3198,37 @@ class ArgoWorkflows(object):
3197
3198
  # NOTE: We need the conditional logic in order to successfully fall back to the default value
3198
3199
  # when the event payload does not contain a key for a parameter.
3199
3200
  # NOTE: Keys might contain dashes, so use the safer 'get' for fetching the value
3200
- data_template='{{ if (hasKey $.Input.body.payload "%s") }}{{- (get $.Input.body.payload "%s" | toRawJson) -}}{{- else -}}{{ (fail "use-default-instead") }}{{- end -}}'
3201
- % (v, v),
3201
+ data_template='{{ if (hasKey $.Input.body.payload "%s") }}{{- (get $.Input.body.payload "%s" %s) -}}{{- else -}}{{ (fail "use-default-instead") }}{{- end -}}'
3202
+ % (
3203
+ v,
3204
+ v,
3205
+ (
3206
+ "| toRawJson | squote"
3207
+ if self.parameters[
3208
+ parameter_name
3209
+ ]["type"]
3210
+ == "JSON"
3211
+ else "| toRawJson"
3212
+ ),
3213
+ ),
3202
3214
  # Unfortunately the sensor needs to
3203
3215
  # record the default values for
3204
3216
  # the parameters - there doesn't seem
3205
3217
  # to be any way for us to skip
3206
- value=self.parameters[parameter_name][
3207
- "value"
3208
- ],
3218
+ value=(
3219
+ json.dumps(
3220
+ self.parameters[parameter_name][
3221
+ "value"
3222
+ ]
3223
+ )
3224
+ if self.parameters[parameter_name][
3225
+ "type"
3226
+ ]
3227
+ == "JSON"
3228
+ else self.parameters[
3229
+ parameter_name
3230
+ ]["value"]
3231
+ ),
3209
3232
  )
3210
3233
  .dest(
3211
3234
  # this undocumented (mis?)feature in
@@ -19,6 +19,7 @@ def generate_fake_flow_file_contents(
19
19
  ):
20
20
  params_code = ""
21
21
  for _, param_details in param_info.items():
22
+ param_python_var_name = param_details["python_var_name"]
22
23
  param_name = param_details["name"]
23
24
  param_type = param_details["type"]
24
25
  param_help = param_details["description"]
@@ -26,21 +27,21 @@ def generate_fake_flow_file_contents(
26
27
 
27
28
  if param_type == "JSON":
28
29
  params_code += (
29
- f" {param_name} = Parameter('{param_name}', "
30
- f"type=JSONType, help='{param_help}', required={param_required})\n"
30
+ f" {param_python_var_name} = Parameter('{param_name}', "
31
+ f"type=JSONType, help='''{param_help}''', required={param_required})\n"
31
32
  )
32
33
  elif param_type == "FilePath":
33
34
  is_text = param_details.get("is_text", True)
34
35
  encoding = param_details.get("encoding", "utf-8")
35
36
  params_code += (
36
- f" {param_name} = IncludeFile('{param_name}', "
37
- f"is_text={is_text}, encoding='{encoding}', help='{param_help}', "
37
+ f" {param_python_var_name} = IncludeFile('{param_name}', "
38
+ f"is_text={is_text}, encoding='{encoding}', help='''{param_help}''', "
38
39
  f"required={param_required})\n"
39
40
  )
40
41
  else:
41
42
  params_code += (
42
- f" {param_name} = Parameter('{param_name}', "
43
- f"type={param_type}, help='{param_help}', required={param_required})\n"
43
+ f" {param_python_var_name} = Parameter('{param_name}', "
44
+ f"type={param_type}, help='''{param_help}''', required={param_required})\n"
44
45
  )
45
46
 
46
47
  project_decorator = f"@project(name='{project_name}')\n" if project_name else ""
metaflow/version.py CHANGED
@@ -1 +1 @@
1
- metaflow_version = "2.15.6.1"
1
+ metaflow_version = "2.15.7.1"
@@ -75,7 +75,7 @@ check-docker:
75
75
  @if [ "$(shell uname)" = "Darwin" ]; then \
76
76
  open -a Docker || (echo "❌ Please start Docker Desktop" && exit 1); \
77
77
  else \
78
- systemctl is-active --quiet docker || (echo "❌ Docker daemon is not running. Start with 'sudo systemctl start docker'" && exit 1); \
78
+ docker info >/dev/null 2>&1 || (echo "❌ Docker daemon is not running." && exit 1); \
79
79
  fi
80
80
  @echo "✅ Docker is running"
81
81
 
@@ -339,4 +339,4 @@ ui: setup-tilt
339
339
 
340
340
  .PHONY: install-helm setup-minikube setup-tilt teardown-minikube tunnel up down check-docker install-curl install-gum install-brew up down dashboard shell ui all-up help
341
341
 
342
- .DEFAULT_GOAL := help
342
+ .DEFAULT_GOAL := help
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: ob-metaflow
3
- Version: 2.15.6.1
3
+ Version: 2.15.7.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,12 +12,13 @@ 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.6.1; extra == "stubs"
15
+ Requires-Dist: metaflow-stubs==2.15.7.1; extra == "stubs"
16
16
  Dynamic: author
17
17
  Dynamic: author-email
18
18
  Dynamic: description
19
19
  Dynamic: description-content-type
20
20
  Dynamic: license
21
+ Dynamic: license-file
21
22
  Dynamic: provides-extra
22
23
  Dynamic: requires-dist
23
24
  Dynamic: summary
@@ -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=mJBkV5tShIyCsLDeM1zygQGeciQVMrVPm_qI8Oi33G0,14656
38
38
  metaflow/vendor.py,sha256=LZgXrh7ZSDmD32D1T5jj3OKKpXIqqxKzdMAOc5V0SD4,5162
39
- metaflow/version.py,sha256=aT47A3NJ60Y6Lup495I6-g43o1l-4EmW0dwlt1_RCkk,30
39
+ metaflow/version.py,sha256=52FwS3gwBj3oIVkP-M7Crib5L_rmsEoWZFnVmVRof9A,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
@@ -209,11 +209,11 @@ metaflow/plugins/airflow/sensors/s3_sensor.py,sha256=iDReG-7FKnumrtQg-HY6cCUAAqN
209
209
  metaflow/plugins/argo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
210
210
  metaflow/plugins/argo/argo_client.py,sha256=A1kI9rjVjCadDsBscZ2Wk8xRBI6GNgWV6SU7TyrdfrI,16530
211
211
  metaflow/plugins/argo/argo_events.py,sha256=_C1KWztVqgi3zuH57pInaE9OzABc2NnncC-zdwOMZ-w,5909
212
- metaflow/plugins/argo/argo_workflows.py,sha256=TBo6hoFa-XWB8kA4K6rEDVzngFKWbQUkq7z5NFviMzM,185425
212
+ metaflow/plugins/argo/argo_workflows.py,sha256=ZylWUsa5m9s5UBgt4SoueFZExcwPIN9ZztIwO7ZLjQE,186877
213
213
  metaflow/plugins/argo/argo_workflows_cli.py,sha256=27eLtcp5N5plapP-uIJqR41B0zDfXOV39AGM0nchymo,37952
214
214
  metaflow/plugins/argo/argo_workflows_decorator.py,sha256=ogCSBmwsC2C3eusydrgjuAJd4qK18f1sI4jJwA4Fd-o,7800
215
215
  metaflow/plugins/argo/argo_workflows_deployer.py,sha256=6kHxEnYXJwzNCM9swI8-0AckxtPWqwhZLerYkX8fxUM,4444
216
- metaflow/plugins/argo/argo_workflows_deployer_objects.py,sha256=oumYqwW7CsIsUuCIoP7Eo6VGB5R126CAqcCq2M57Cxw,14072
216
+ metaflow/plugins/argo/argo_workflows_deployer_objects.py,sha256=lRRHUcpiyJZFltthxZoIp7aJWwy7pcdhaRm0etKN9es,14182
217
217
  metaflow/plugins/argo/capture_error.py,sha256=Ys9dscGrTpW-ZCirLBU0gD9qBM0BjxyxGlUMKcwewQc,1852
218
218
  metaflow/plugins/argo/generate_input_paths.py,sha256=loYsI6RFX9LlFsHb7Fe-mzlTTtRdySoOu7sYDy-uXK0,881
219
219
  metaflow/plugins/argo/jobset_input_paths.py,sha256=-h0E_e0w6FMiBUod9Rf_XOSCtZv_C0exacw4q1SfIfg,501
@@ -389,12 +389,12 @@ metaflow/user_configs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
389
389
  metaflow/user_configs/config_decorators.py,sha256=qCKVAvd0NKgaCxQ2OThes5-DYHXq6A1HqURubYNeFdw,20481
390
390
  metaflow/user_configs/config_options.py,sha256=m6jccSpzI4qUJ7vyYkYBIf8G3V0Caunxg_k7zg4Zlqg,21067
391
391
  metaflow/user_configs/config_parameters.py,sha256=oeJGVKu1ao_YQX6Lg6P2FEv5k5-_F4sARLlVpTW9ezM,15502
392
- ob_metaflow-2.15.6.1.data/data/share/metaflow/devtools/Makefile,sha256=l0dYh6E_qdNjda6mwEHm5isoG9wsFh77i3CZQ5P53ZQ,13665
393
- ob_metaflow-2.15.6.1.data/data/share/metaflow/devtools/Tiltfile,sha256=P5_rn_F3xYLN1_cEAQ9mNeS22HG2rb8beKIz2RIK6fU,20634
394
- ob_metaflow-2.15.6.1.data/data/share/metaflow/devtools/pick_services.sh,sha256=DCnrMXwtApfx3B4S-YiZESMyAFHbXa3VuNL0MxPLyiE,2196
395
- ob_metaflow-2.15.6.1.dist-info/LICENSE,sha256=nl_Lt5v9VvJ-5lWJDT4ddKAG-VZ-2IaLmbzpgYDz2hU,11343
396
- ob_metaflow-2.15.6.1.dist-info/METADATA,sha256=ZiaiOIKYjktTAPPJJYbK4DhgaAhYpopj_uNmyMphE_I,5913
397
- ob_metaflow-2.15.6.1.dist-info/WHEEL,sha256=SrDKpSbFN1G94qcmBqS9nyHcDMp9cUS9OC06hC0G3G0,109
398
- ob_metaflow-2.15.6.1.dist-info/entry_points.txt,sha256=RvEq8VFlgGe_FfqGOZi0D7ze1hLD0pAtXeNyGfzc_Yc,103
399
- ob_metaflow-2.15.6.1.dist-info/top_level.txt,sha256=v1pDHoWaSaKeuc5fKTRSfsXCKSdW1zvNVmvA-i0if3o,9
400
- ob_metaflow-2.15.6.1.dist-info/RECORD,,
392
+ ob_metaflow-2.15.7.1.data/data/share/metaflow/devtools/Makefile,sha256=kZJDrvY2qRfqkue3mBecZutaGs35zsZR_vNu8WOBcto,13632
393
+ ob_metaflow-2.15.7.1.data/data/share/metaflow/devtools/Tiltfile,sha256=P5_rn_F3xYLN1_cEAQ9mNeS22HG2rb8beKIz2RIK6fU,20634
394
+ ob_metaflow-2.15.7.1.data/data/share/metaflow/devtools/pick_services.sh,sha256=DCnrMXwtApfx3B4S-YiZESMyAFHbXa3VuNL0MxPLyiE,2196
395
+ ob_metaflow-2.15.7.1.dist-info/licenses/LICENSE,sha256=nl_Lt5v9VvJ-5lWJDT4ddKAG-VZ-2IaLmbzpgYDz2hU,11343
396
+ ob_metaflow-2.15.7.1.dist-info/METADATA,sha256=l3msSYE394QrHyGRUsza3l92uJwq1DFGtB-LYYjvKD8,5935
397
+ ob_metaflow-2.15.7.1.dist-info/WHEEL,sha256=hLAVbN_1g7qXnG_3sY9erV0tsmek_RdDpqqJkhwSgEY,109
398
+ ob_metaflow-2.15.7.1.dist-info/entry_points.txt,sha256=RvEq8VFlgGe_FfqGOZi0D7ze1hLD0pAtXeNyGfzc_Yc,103
399
+ ob_metaflow-2.15.7.1.dist-info/top_level.txt,sha256=v1pDHoWaSaKeuc5fKTRSfsXCKSdW1zvNVmvA-i0if3o,9
400
+ ob_metaflow-2.15.7.1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (76.0.0)
2
+ Generator: setuptools (78.0.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py2-none-any
5
5
  Tag: py3-none-any