metaflow 2.15.2__py2.py3-none-any.whl → 2.15.4__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/__init__.py CHANGED
@@ -119,12 +119,11 @@ from .includefile import IncludeFile
119
119
  # Decorators
120
120
  from .decorators import step, _import_plugin_decorators
121
121
 
122
- # Config parsers
123
- from .plugins.pypi.parsers import (
124
- requirements_txt_parser,
125
- pyproject_toml_parser,
126
- conda_environment_yml_parser,
127
- )
122
+
123
+ # Parsers (for configs) for now
124
+ from .plugins import _import_tl_plugins
125
+
126
+ _import_tl_plugins(globals())
128
127
 
129
128
  # this auto-generates decorator functions from Decorator objects
130
129
  # in the top-level metaflow namespace
@@ -198,6 +198,7 @@ _plugin_categories = {
198
198
  list(x.commands)[0] if len(x.commands) == 1 else "too many commands"
199
199
  ),
200
200
  "runner_cli": lambda x: x.name,
201
+ "tl_plugin": None,
201
202
  }
202
203
 
203
204
 
@@ -167,6 +167,12 @@ DEPLOYER_IMPL_PROVIDERS_DESC = [
167
167
  ),
168
168
  ]
169
169
 
170
+ TL_PLUGINS_DESC = [
171
+ ("requirements_txt_parser", ".pypi.parsers.requirements_txt_parser"),
172
+ ("pyproject_toml_parser", ".pypi.parsers.pyproject_toml_parser"),
173
+ ("conda_environment_yml_parser", ".pypi.parsers.conda_environment_yml_parser"),
174
+ ]
175
+
170
176
  process_plugins(globals())
171
177
 
172
178
 
@@ -207,6 +213,8 @@ GCP_CLIENT_PROVIDERS = resolve_plugins("gcp_client_provider")
207
213
  if sys.version_info >= (3, 7):
208
214
  DEPLOYER_IMPL_PROVIDERS = resolve_plugins("deployer_impl_provider")
209
215
 
216
+ TL_PLUGINS = resolve_plugins("tl_plugin")
217
+
210
218
  from .cards.card_modules import MF_EXTERNAL_CARDS
211
219
 
212
220
  # Cards; due to the way cards were designed, it is harder to make them fit
@@ -251,3 +259,9 @@ CARDS = [
251
259
  TestRefreshComponentCard,
252
260
  ]
253
261
  merge_lists(CARDS, MF_EXTERNAL_CARDS, "type")
262
+
263
+
264
+ def _import_tl_plugins(globals_dict):
265
+
266
+ for name, p in TL_PLUGINS.items():
267
+ globals_dict[name] = p
@@ -219,7 +219,11 @@ def get_inspect_param_obj(p: Union[click.Argument, click.Option], kind: str):
219
219
  default=inspect.Parameter.empty if is_vararg else p.default,
220
220
  annotation=annotation,
221
221
  ),
222
- Optional[TTuple[annotation]] if is_vararg else annotation,
222
+ (
223
+ Optional[Union[TTuple[annotation], List[annotation]]]
224
+ if is_vararg
225
+ else annotation
226
+ ),
223
227
  )
224
228
 
225
229
 
metaflow/version.py CHANGED
@@ -1 +1 @@
1
- metaflow_version = "2.15.2"
1
+ metaflow_version = "2.15.4"
@@ -22,6 +22,7 @@ DEVTOOLS_DIR := $(MKFILE_DIR).devtools
22
22
  PICK_SERVICES := $(MKFILE_DIR)pick_services.sh
23
23
  MINIKUBE_DIR := $(DEVTOOLS_DIR)/minikube
24
24
  MINIKUBE := $(MINIKUBE_DIR)/minikube
25
+ HELM_DIR := $(DEVTOOLS_DIR)/helm
25
26
  TILT_DIR := $(DEVTOOLS_DIR)/tilt
26
27
  TILT := $(TILT_DIR)/tilt
27
28
  TILTFILE := $(MKFILE_DIR)/Tiltfile
@@ -51,9 +52,18 @@ endif
51
52
 
52
53
  install-helm:
53
54
  @if ! command -v helm >/dev/null 2>&1; then \
54
- echo "📥 Installing Helm $(HELM_VERSION) (may require sudo access)..."; \
55
- curl -fsSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | HELM_INSTALL_VERSION=$(HELM_VERSION) bash; \
55
+ echo "📥 Installing Helm $(HELM_VERSION)..."; \
56
+ mkdir -p "$(HELM_DIR)"; \
57
+ curl -fsSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 \
58
+ | HELM_INSTALL_VERSION="$(HELM_VERSION)" \
59
+ USE_SUDO="false" \
60
+ PATH="$(HELM_DIR):$$PATH" \
61
+ HELM_INSTALL_DIR="$(HELM_DIR)" \
62
+ bash; \
63
+ chmod +x "$(HELM_DIR)/helm"; \
56
64
  echo "✅ Helm installation complete"; \
65
+ else \
66
+ echo "✅ Helm is already installed at $$(command -v helm)"; \
57
67
  fi
58
68
 
59
69
  check-docker:
@@ -99,7 +109,7 @@ install-gum:
99
109
  @if ! command -v gum >/dev/null 2>&1; then \
100
110
  echo "📥 Installing gum..."; \
101
111
  if [ "$(shell uname)" = "Darwin" ]; then \
102
- HOMEBREW_NO_AUTO_UPDATE=1 brew install gum; \
112
+ HOMEBREW_NO_AUTO_UPDATE=1 brew install gum|| { echo "❌ Failed to install gum via Homebrew"; exit 1; }; \
103
113
  elif command -v apt-get >/dev/null 2>&1; then \
104
114
  curl -fsSL -o /tmp/gum.deb \
105
115
  "https://github.com/charmbracelet/gum/releases/download/$(GUM_VERSION)/gum_$(GUM_VERSION:v%=%)_$(arch).deb"; \
@@ -182,7 +192,7 @@ up: install-brew check-docker install-curl install-gum setup-minikube install-he
182
192
  @echo 'PATH="$(MINIKUBE_DIR):$(TILT_DIR):$$PATH" $(MINIKUBE) tunnel &' >> $(DEVTOOLS_DIR)/start.sh
183
193
  @echo 'echo -e "🚀 Starting Tilt with selected services..."' >> $(DEVTOOLS_DIR)/start.sh
184
194
  @echo 'echo -e "\033[1;38;5;46m\n🔥 \033[1;38;5;196mNext Steps:\033[0;38;5;46m Use \033[3mmetaflow-dev shell\033[23m to switch to the development\n environment'\''s shell and start executing your Metaflow flows.\n\033[0m"' >> "$(DEVTOOLS_DIR)/start.sh"
185
- @echo 'PATH="$(MINIKUBE_DIR):$(TILT_DIR):$$PATH" SERVICES="$$SERVICES" tilt up -f $(TILTFILE)' >> $(DEVTOOLS_DIR)/start.sh
195
+ @echo 'PATH="$(HELM_DIR):$(MINIKUBE_DIR):$(TILT_DIR):$$PATH" SERVICES="$$SERVICES" tilt up -f $(TILTFILE)' >> $(DEVTOOLS_DIR)/start.sh
186
196
  @echo 'wait' >> $(DEVTOOLS_DIR)/start.sh
187
197
  @chmod +x $(DEVTOOLS_DIR)/start.sh
188
198
  @$(DEVTOOLS_DIR)/start.sh
@@ -329,4 +339,4 @@ ui: setup-tilt
329
339
 
330
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
331
341
 
332
- .DEFAULT_GOAL := up
342
+ .DEFAULT_GOAL := help
@@ -510,7 +510,8 @@ if "argo-events" in enabled_components:
510
510
  metaflow_config["METAFLOW_ARGO_EVENTS_EVENT_SOURCE"] = "argo-events-webhook"
511
511
  metaflow_config["METAFLOW_ARGO_EVENTS_SERVICE_ACCOUNT"] = "operate-workflow-sa"
512
512
  metaflow_config["METAFLOW_ARGO_EVENTS_WEBHOOK_AUTH"] = "service"
513
- metaflow_config["METAFLOW_ARGO_EVENTS_WEBHOOK_URL"] = "http://argo-events-webhook-eventsource-svc:12000/metaflow-event"
513
+ metaflow_config["METAFLOW_ARGO_EVENTS_INTERNAL_WEBHOOK_URL"] = "http://argo-events-webhook-eventsource-svc:12000/metaflow-event"
514
+ metaflow_config["METAFLOW_ARGO_EVENTS_WEBHOOK_URL"] = "http://localhost:12000/metaflow-event"
514
515
 
515
516
  config_resources.append('argo-events-controller-manager')
516
517
  config_resources.append('argo-events-webhook-eventsource-svc')
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: metaflow
3
- Version: 2.15.2
3
+ Version: 2.15.4
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.15.2; extra == "stubs"
29
+ Requires-Dist: metaflow-stubs==2.15.4; extra == "stubs"
30
30
  Dynamic: author
31
31
  Dynamic: author-email
32
32
  Dynamic: classifier
@@ -1,5 +1,5 @@
1
1
  metaflow/R.py,sha256=CqVfIatvmjciuICNnoyyNGrwE7Va9iXfLdFbQa52hwA,3958
2
- metaflow/__init__.py,sha256=6ws8LpYz5HwIrc1J4BK-2Hxs0okGLFQCm31bHFf2H8E,5978
2
+ metaflow/__init__.py,sha256=Cg9wItncyCn8jqALP5rIJ1RcpTEPp--allUctGKMTtI,5937
3
3
  metaflow/cards.py,sha256=IbRmredvmFEU0V6JL7DR8wCESwVmmZJubr6x24bo7U4,442
4
4
  metaflow/cli.py,sha256=RU-yXpT-Lfl3xGyFNtL742e9KEqcRxEnQ-4mwXrXhvo,20928
5
5
  metaflow/cli_args.py,sha256=hDsdWdRmfXYifVGq6b6FDfgoWxtIG2nr_lU6EBV0Pnk,3584
@@ -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=FchtA9tH22JM-eEtJ2c9FpUdMn8sSb1VHuQS56EcdZk,5139
39
- metaflow/version.py,sha256=7oX8gtpKJpYIdf69SUJaWUTLRweqR54oqHS_DrQYBXk,28
39
+ metaflow/version.py,sha256=8gmOK5nOrYvsTYFANlWGndgOC76I4oOAcsSnZrMSsyM,28
40
40
  metaflow/_vendor/__init__.py,sha256=y_CiwUD3l4eAKvTVDZeqgVujMy31cAM1qjAB-HfI-9s,353
41
41
  metaflow/_vendor/typing_extensions.py,sha256=0nUs5p1A_UrZigrAVBoOEM6TxU37zzPDUtiij1ZwpNc,110417
42
42
  metaflow/_vendor/zipp.py,sha256=ajztOH-9I7KA_4wqDYygtHa6xUBVZgFpmZ8FE74HHHI,8425
@@ -141,7 +141,7 @@ metaflow/extension_support/__init__.py,sha256=2z0c4R8zsVmEFOMGT2Jujsl6xveDVa9KLl
141
141
  metaflow/extension_support/_empty_file.py,sha256=HENjnM4uAfeNygxMB_feCCWORFoSat9n_QwzSx2oXPw,109
142
142
  metaflow/extension_support/cmd.py,sha256=hk8iBUUINqvKCDxInKgWpum8ThiRZtHSJP7qBASHzl8,5711
143
143
  metaflow/extension_support/integrations.py,sha256=AWAh-AZ-vo9IxuAVEjGw3s8p_NMm2DKHYx10oC51gPU,5506
144
- metaflow/extension_support/plugins.py,sha256=jgpNJU9q7V1vnattuH7LncTZezWk_VC4lS7Qn761h6A,11263
144
+ metaflow/extension_support/plugins.py,sha256=gl7NbIJLJyLTb5LELsj1D9paQip6t6Lqz6Rhmvqvyrw,11286
145
145
  metaflow/metadata_provider/__init__.py,sha256=FZNSnz26VB_m18DQG8mup6-Gfl7r1U6lRMljJBp3VAM,64
146
146
  metaflow/metadata_provider/heartbeat.py,sha256=42mQo6wOHdFuaCh426uV6Kn8swe7e5I3gqA_G7cI_LA,3127
147
147
  metaflow/metadata_provider/metadata.py,sha256=meO4Fhxu7tbMUGwasYb9_AtL06fwrrXKKjIK7KRWZDs,27093
@@ -151,7 +151,7 @@ metaflow/mflog/mflog.py,sha256=VebXxqitOtNAs7VJixnNfziO_i_urG7bsJ5JiB5IXgY,4370
151
151
  metaflow/mflog/save_logs.py,sha256=4p1OwozsHJBslOzAf0wUq2XPMNpEOZWM68MgWzh_jJY,2330
152
152
  metaflow/mflog/save_logs_periodically.py,sha256=2Uvk9hi-zlCqXxOQoXmmjH1SCugfw6eG6w70WgfI-ho,1256
153
153
  metaflow/mflog/tee.py,sha256=wTER15qeHuiRpCkOqo-bd-r3Gj-EVlf3IvWRCA4beW4,887
154
- metaflow/plugins/__init__.py,sha256=Lr7i7ssJI_-czorJYjMFcRhGspqArobNoXUl9T1p3MY,8055
154
+ metaflow/plugins/__init__.py,sha256=siqE9Zj_b9zKgMhll3f5L2m1gcAKxp_e4qMRTGJ65xY,8460
155
155
  metaflow/plugins/catch_decorator.py,sha256=UOM2taN_OL2RPpuJhwEOA9ZALm0-hHD0XS2Hn2GUev0,4061
156
156
  metaflow/plugins/debug_logger.py,sha256=mcF5HYzJ0NQmqCMjyVUk3iAP-heroHRIiVWQC6Ha2-I,879
157
157
  metaflow/plugins/debug_monitor.py,sha256=Md5X_sDOSssN9pt2D8YcaIjTK5JaQD55UAYTcF6xYF0,1099
@@ -315,7 +315,7 @@ metaflow/plugins/secrets/__init__.py,sha256=mhJaN2eMS_ZZVewAMR2E-JdP5i0t3v9e6Dcw
315
315
  metaflow/plugins/secrets/inline_secrets_provider.py,sha256=EChmoBGA1i7qM3jtYwPpLZDBybXLergiDlN63E0u3x8,294
316
316
  metaflow/plugins/secrets/secrets_decorator.py,sha256=s-sFzPWOjahhpr5fMj-ZEaHkDYAPTO0isYXGvaUwlG8,11273
317
317
  metaflow/runner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
318
- metaflow/runner/click_api.py,sha256=iPe35_FpoM0PFvmo2YhSHzrMM9k1JO7NP3uzXg-vjyI,23286
318
+ metaflow/runner/click_api.py,sha256=4GbLSTA0Ju2kfjcslNn4yUOzGFcoMPFK00N_Q-q3IuY,23359
319
319
  metaflow/runner/deployer.py,sha256=Yas_SZCss3kfJw3hLC8_IyzgiytUFGoEGHz-l-rBBKk,8980
320
320
  metaflow/runner/deployer_impl.py,sha256=Kab9rLoA3EiBJDtTTulhPCeKzqiljW366nx2Tm0LYy0,6143
321
321
  metaflow/runner/metaflow_runner.py,sha256=L302ew_BPBPs-NnW8n92dqqbqmHwrwGL5D6kTZvl5vY,16074
@@ -363,12 +363,12 @@ metaflow/user_configs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
363
363
  metaflow/user_configs/config_decorators.py,sha256=qCKVAvd0NKgaCxQ2OThes5-DYHXq6A1HqURubYNeFdw,20481
364
364
  metaflow/user_configs/config_options.py,sha256=m6jccSpzI4qUJ7vyYkYBIf8G3V0Caunxg_k7zg4Zlqg,21067
365
365
  metaflow/user_configs/config_parameters.py,sha256=oeJGVKu1ao_YQX6Lg6P2FEv5k5-_F4sARLlVpTW9ezM,15502
366
- metaflow-2.15.2.data/data/share/metaflow/devtools/Makefile,sha256=uASGNuQaOrKWePYT8CmIuCvlOusm0P_HVWnGVzX74vs,13340
367
- metaflow-2.15.2.data/data/share/metaflow/devtools/Tiltfile,sha256=fPinb8a7KvRnYPFsjmIIqqOic3ROjsc_kryHqe-SHGw,20499
368
- metaflow-2.15.2.data/data/share/metaflow/devtools/pick_services.sh,sha256=DCnrMXwtApfx3B4S-YiZESMyAFHbXa3VuNL0MxPLyiE,2196
369
- metaflow-2.15.2.dist-info/LICENSE,sha256=nl_Lt5v9VvJ-5lWJDT4ddKAG-VZ-2IaLmbzpgYDz2hU,11343
370
- metaflow-2.15.2.dist-info/METADATA,sha256=M79nxx71YBOurt_Gu8akE_RP9mA8njbL_o49IfsCISY,6118
371
- metaflow-2.15.2.dist-info/WHEEL,sha256=rF4EZyR2XVS6irmOHQIJx2SUqXLZKRMUrjsg8UwN-XQ,109
372
- metaflow-2.15.2.dist-info/entry_points.txt,sha256=RvEq8VFlgGe_FfqGOZi0D7ze1hLD0pAtXeNyGfzc_Yc,103
373
- metaflow-2.15.2.dist-info/top_level.txt,sha256=v1pDHoWaSaKeuc5fKTRSfsXCKSdW1zvNVmvA-i0if3o,9
374
- metaflow-2.15.2.dist-info/RECORD,,
366
+ metaflow-2.15.4.data/data/share/metaflow/devtools/Makefile,sha256=l0dYh6E_qdNjda6mwEHm5isoG9wsFh77i3CZQ5P53ZQ,13665
367
+ metaflow-2.15.4.data/data/share/metaflow/devtools/Tiltfile,sha256=6xZrL354f8B5PKeoPUJnwka0gHUXl7XSPzNGgf5mcRI,20606
368
+ metaflow-2.15.4.data/data/share/metaflow/devtools/pick_services.sh,sha256=DCnrMXwtApfx3B4S-YiZESMyAFHbXa3VuNL0MxPLyiE,2196
369
+ metaflow-2.15.4.dist-info/LICENSE,sha256=nl_Lt5v9VvJ-5lWJDT4ddKAG-VZ-2IaLmbzpgYDz2hU,11343
370
+ metaflow-2.15.4.dist-info/METADATA,sha256=-usJR4VP8nvEh4izXRkjxjgYh12TUefjiey95XQuNZE,6118
371
+ metaflow-2.15.4.dist-info/WHEEL,sha256=rF4EZyR2XVS6irmOHQIJx2SUqXLZKRMUrjsg8UwN-XQ,109
372
+ metaflow-2.15.4.dist-info/entry_points.txt,sha256=RvEq8VFlgGe_FfqGOZi0D7ze1hLD0pAtXeNyGfzc_Yc,103
373
+ metaflow-2.15.4.dist-info/top_level.txt,sha256=v1pDHoWaSaKeuc5fKTRSfsXCKSdW1zvNVmvA-i0if3o,9
374
+ metaflow-2.15.4.dist-info/RECORD,,