metaflow 2.18.4__tar.gz → 2.18.6__tar.gz
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-2.18.4/metaflow.egg-info → metaflow-2.18.6}/PKG-INFO +2 -2
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/client/core.py +12 -4
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/events_decorator.py +127 -121
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/runtime.py +13 -1
- metaflow-2.18.6/metaflow/version.py +1 -0
- {metaflow-2.18.4 → metaflow-2.18.6/metaflow.egg-info}/PKG-INFO +2 -2
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow.egg-info/requires.txt +1 -1
- metaflow-2.18.4/metaflow/version.py +0 -1
- {metaflow-2.18.4 → metaflow-2.18.6}/LICENSE +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/MANIFEST.in +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/README.md +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/devtools/Makefile +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/devtools/Tiltfile +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/devtools/pick_services.sh +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/R.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/click/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/click/_bashcomplete.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/click/_compat.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/click/_termui_impl.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/click/_textwrap.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/click/_unicodefun.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/click/_winconsole.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/click/core.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/click/decorators.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/click/exceptions.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/click/formatting.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/click/globals.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/click/parser.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/click/termui.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/click/testing.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/click/types.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/click/utils.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/imghdr/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/importlib_metadata/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/importlib_metadata/_adapters.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/importlib_metadata/_collections.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/importlib_metadata/_compat.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/importlib_metadata/_functools.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/importlib_metadata/_itertools.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/importlib_metadata/_meta.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/importlib_metadata/_text.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/importlib_metadata/py.typed +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/packaging/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/packaging/_elffile.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/packaging/_manylinux.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/packaging/_musllinux.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/packaging/_parser.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/packaging/_structures.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/packaging/_tokenizer.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/packaging/markers.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/packaging/py.typed +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/packaging/requirements.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/packaging/specifiers.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/packaging/tags.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/packaging/utils.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/packaging/version.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/typeguard/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/typeguard/_checkers.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/typeguard/_config.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/typeguard/_decorators.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/typeguard/_exceptions.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/typeguard/_functions.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/typeguard/_importhook.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/typeguard/_memo.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/typeguard/_pytest_plugin.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/typeguard/_suppression.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/typeguard/_transformer.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/typeguard/_union_transformer.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/typeguard/_utils.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/typeguard/py.typed +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/typing_extensions.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_6/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_6/importlib_metadata/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_6/importlib_metadata/_adapters.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_6/importlib_metadata/_collections.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_6/importlib_metadata/_compat.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_6/importlib_metadata/_functools.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_6/importlib_metadata/_itertools.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_6/importlib_metadata/_meta.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_6/importlib_metadata/_text.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_6/importlib_metadata/py.typed +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_6/typing_extensions.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_6/zipp.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_7/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_7/importlib_metadata/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_7/importlib_metadata/_adapters.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_7/importlib_metadata/_collections.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_7/importlib_metadata/_compat.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_7/importlib_metadata/_functools.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_7/importlib_metadata/_itertools.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_7/importlib_metadata/_meta.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_7/importlib_metadata/_text.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_7/importlib_metadata/py.typed +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_7/typeguard/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_7/typeguard/_checkers.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_7/typeguard/_config.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_7/typeguard/_decorators.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_7/typeguard/_exceptions.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_7/typeguard/_functions.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_7/typeguard/_importhook.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_7/typeguard/_memo.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_7/typeguard/_pytest_plugin.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_7/typeguard/_suppression.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_7/typeguard/_transformer.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_7/typeguard/_union_transformer.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_7/typeguard/_utils.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_7/typeguard/py.typed +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_7/typing_extensions.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_7/zipp.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/yaml/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/yaml/composer.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/yaml/constructor.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/yaml/cyaml.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/yaml/dumper.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/yaml/emitter.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/yaml/error.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/yaml/events.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/yaml/loader.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/yaml/nodes.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/yaml/parser.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/yaml/reader.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/yaml/representer.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/yaml/resolver.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/yaml/scanner.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/yaml/serializer.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/yaml/tokens.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/zipp.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/cards.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/cli.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/cli_args.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/cli_components/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/cli_components/dump_cmd.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/cli_components/init_cmd.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/cli_components/run_cmds.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/cli_components/step_cmd.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/cli_components/utils.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/client/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/client/filecache.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/clone_util.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/cmd/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/cmd/code/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/cmd/configure_cmd.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/cmd/develop/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/cmd/develop/stub_generator.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/cmd/develop/stubs.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/cmd/main_cli.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/cmd/make_wrapper.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/cmd/tutorials_cmd.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/cmd/util.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/cmd_with_io.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/datastore/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/datastore/content_addressed_store.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/datastore/datastore_set.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/datastore/datastore_storage.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/datastore/exceptions.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/datastore/flow_datastore.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/datastore/inputs.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/datastore/task_datastore.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/debug.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/decorators.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/event_logger.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/events.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/exception.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/extension_support/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/extension_support/_empty_file.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/extension_support/cmd.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/extension_support/integrations.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/extension_support/plugins.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/flowspec.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/graph.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/includefile.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/integrations.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/lint.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/meta_files.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/metadata_provider/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/metadata_provider/heartbeat.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/metadata_provider/metadata.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/metadata_provider/util.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/metaflow_config.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/metaflow_config_funcs.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/metaflow_current.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/metaflow_environment.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/metaflow_git.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/metaflow_profile.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/metaflow_version.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/mflog/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/mflog/mflog.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/mflog/save_logs.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/mflog/save_logs_periodically.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/mflog/tee.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/monitor.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/multicore_utils.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/package/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/packaging_sys/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/packaging_sys/backend.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/packaging_sys/distribution_support.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/packaging_sys/tar_backend.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/packaging_sys/utils.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/packaging_sys/v1.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/parameters.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/airflow/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/airflow/airflow.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/airflow/airflow_cli.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/airflow/airflow_decorator.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/airflow/airflow_utils.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/airflow/dag.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/airflow/exception.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/airflow/plumbing/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/airflow/plumbing/set_parameters.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/airflow/sensors/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/airflow/sensors/base_sensor.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/airflow/sensors/external_task_sensor.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/airflow/sensors/s3_sensor.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/argo/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/argo/argo_client.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/argo/argo_events.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/argo/argo_workflows.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/argo/argo_workflows_cli.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/argo/argo_workflows_decorator.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/argo/argo_workflows_deployer.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/argo/argo_workflows_deployer_objects.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/argo/capture_error.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/argo/conditional_input_paths.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/argo/exit_hooks.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/argo/generate_input_paths.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/argo/jobset_input_paths.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/aws/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/aws/aws_client.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/aws/aws_utils.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/aws/batch/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/aws/batch/batch.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/aws/batch/batch_cli.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/aws/batch/batch_client.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/aws/batch/batch_decorator.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/aws/secrets_manager/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/aws/secrets_manager/aws_secrets_manager_secrets_provider.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/aws/step_functions/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/aws/step_functions/dynamo_db_client.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/aws/step_functions/event_bridge_client.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/aws/step_functions/production_token.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/aws/step_functions/schedule_decorator.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/aws/step_functions/set_batch_environment.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/aws/step_functions/step_functions.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/aws/step_functions/step_functions_cli.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/aws/step_functions/step_functions_client.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/aws/step_functions/step_functions_decorator.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/aws/step_functions/step_functions_deployer.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/aws/step_functions/step_functions_deployer_objects.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/azure/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/azure/azure_credential.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/azure/azure_exceptions.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/azure/azure_secret_manager_secrets_provider.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/azure/azure_tail.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/azure/azure_utils.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/azure/blob_service_client_factory.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/azure/includefile_support.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/cards/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/cards/card_cli.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/cards/card_client.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/cards/card_creator.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/cards/card_datastore.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/cards/card_decorator.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/cards/card_modules/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/cards/card_modules/base.html +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/cards/card_modules/basic.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/cards/card_modules/bundle.css +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/cards/card_modules/card.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/cards/card_modules/chevron/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/cards/card_modules/chevron/main.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/cards/card_modules/chevron/metadata.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/cards/card_modules/chevron/renderer.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/cards/card_modules/chevron/tokenizer.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/cards/card_modules/components.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/cards/card_modules/convert_to_native_type.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/cards/card_modules/main.css +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/cards/card_modules/main.js +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/cards/card_modules/renderer_tools.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/cards/card_modules/test_cards.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/cards/card_resolver.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/cards/card_server.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/cards/card_viewer/viewer.html +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/cards/component_serializer.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/cards/exception.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/cards/metadata.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/catch_decorator.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/datastores/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/datastores/azure_storage.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/datastores/gs_storage.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/datastores/local_storage.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/datastores/s3_storage.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/datatools/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/datatools/local.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/datatools/s3/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/datatools/s3/s3.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/datatools/s3/s3op.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/datatools/s3/s3tail.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/datatools/s3/s3util.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/debug_logger.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/debug_monitor.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/env_escape/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/env_escape/client.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/env_escape/client_modules.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/env_escape/communication/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/env_escape/communication/bytestream.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/env_escape/communication/channel.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/env_escape/communication/socket_bytestream.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/env_escape/communication/utils.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/env_escape/configurations/emulate_test_lib/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/env_escape/configurations/emulate_test_lib/overrides.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/env_escape/configurations/emulate_test_lib/server_mappings.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/env_escape/configurations/test_lib_impl/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/env_escape/configurations/test_lib_impl/test_lib.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/env_escape/consts.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/env_escape/data_transferer.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/env_escape/exception_transferer.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/env_escape/override_decorators.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/env_escape/server.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/env_escape/stub.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/env_escape/utils.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/environment_decorator.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/exit_hook/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/exit_hook/exit_hook_decorator.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/exit_hook/exit_hook_script.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/frameworks/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/frameworks/pytorch.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/gcp/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/gcp/gcp_secret_manager_secrets_provider.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/gcp/gs_exceptions.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/gcp/gs_storage_client_factory.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/gcp/gs_tail.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/gcp/gs_utils.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/gcp/includefile_support.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/kubernetes/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/kubernetes/kube_utils.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/kubernetes/kubernetes.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/kubernetes/kubernetes_cli.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/kubernetes/kubernetes_client.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/kubernetes/kubernetes_decorator.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/kubernetes/kubernetes_job.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/kubernetes/kubernetes_jobsets.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/kubernetes/spot_metadata_cli.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/kubernetes/spot_monitor_sidecar.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/logs_cli.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/metadata_providers/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/metadata_providers/local.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/metadata_providers/service.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/package_cli.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/parallel_decorator.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/project_decorator.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/pypi/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/pypi/bootstrap.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/pypi/conda_decorator.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/pypi/conda_environment.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/pypi/micromamba.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/pypi/parsers.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/pypi/pip.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/pypi/pypi_decorator.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/pypi/pypi_environment.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/pypi/utils.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/resources_decorator.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/retry_decorator.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/secrets/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/secrets/inline_secrets_provider.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/secrets/secrets_decorator.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/secrets/secrets_func.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/secrets/secrets_spec.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/secrets/utils.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/storage_executor.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/tag_cli.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/test_unbounded_foreach_decorator.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/timeout_decorator.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/uv/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/uv/bootstrap.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/plugins/uv/uv_environment.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/procpoll.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/py.typed +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/pylint_wrapper.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/runner/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/runner/click_api.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/runner/deployer.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/runner/deployer_impl.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/runner/metaflow_runner.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/runner/nbdeploy.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/runner/nbrun.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/runner/subprocess_manager.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/runner/utils.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/sidecar/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/sidecar/sidecar.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/sidecar/sidecar_messages.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/sidecar/sidecar_subprocess.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/sidecar/sidecar_worker.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/system/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/system/system_logger.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/system/system_monitor.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/system/system_utils.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/tagging_util.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/task.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/tracing/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/tracing/propagator.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/tracing/span_exporter.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/tracing/tracing_modules.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/tuple_util.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/tutorials/00-helloworld/README.md +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/tutorials/00-helloworld/helloworld.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/tutorials/01-playlist/README.md +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/tutorials/01-playlist/movies.csv +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/tutorials/01-playlist/playlist.ipynb +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/tutorials/01-playlist/playlist.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/tutorials/02-statistics/README.md +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/tutorials/02-statistics/movies.csv +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/tutorials/02-statistics/stats.ipynb +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/tutorials/02-statistics/stats.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/tutorials/03-playlist-redux/README.md +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/tutorials/03-playlist-redux/playlist.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/tutorials/04-playlist-plus/README.md +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/tutorials/04-playlist-plus/playlist.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/tutorials/05-hello-cloud/README.md +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/tutorials/05-hello-cloud/hello-cloud.ipynb +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/tutorials/05-hello-cloud/hello-cloud.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/tutorials/06-statistics-redux/README.md +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/tutorials/06-statistics-redux/stats.ipynb +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/tutorials/07-worldview/README.md +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/tutorials/07-worldview/worldview.ipynb +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/tutorials/08-autopilot/README.md +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/tutorials/08-autopilot/autopilot.ipynb +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/unbounded_foreach.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/user_configs/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/user_configs/config_options.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/user_configs/config_parameters.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/user_decorators/__init__.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/user_decorators/common.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/user_decorators/mutable_flow.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/user_decorators/mutable_step.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/user_decorators/user_flow_decorator.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/user_decorators/user_step_decorator.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/util.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow/vendor.py +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow.egg-info/SOURCES.txt +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow.egg-info/dependency_links.txt +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow.egg-info/entry_points.txt +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/metaflow.egg-info/top_level.txt +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/setup.cfg +0 -0
- {metaflow-2.18.4 → metaflow-2.18.6}/setup.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: metaflow
|
3
|
-
Version: 2.18.
|
3
|
+
Version: 2.18.6
|
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.18.
|
29
|
+
Requires-Dist: metaflow-stubs==2.18.6; extra == "stubs"
|
30
30
|
Dynamic: author
|
31
31
|
Dynamic: author-email
|
32
32
|
Dynamic: classifier
|
@@ -839,6 +839,7 @@ class MetaflowCode(object):
|
|
839
839
|
self._code_obj.seek(0)
|
840
840
|
else:
|
841
841
|
raise MetaflowInternalError("Code package metadata is invalid.")
|
842
|
+
self._tarball = None
|
842
843
|
|
843
844
|
@property
|
844
845
|
def path(self) -> str:
|
@@ -886,10 +887,13 @@ class MetaflowCode(object):
|
|
886
887
|
TarFile
|
887
888
|
TarFile for everything in this code package
|
888
889
|
"""
|
890
|
+
# We only return one tarball because the different TarFile objects share
|
891
|
+
# a common bytes buffer (self._code_obj).
|
892
|
+
if self._tarball is not None:
|
893
|
+
return self._tarball
|
889
894
|
if self._backend.type == "tgz":
|
890
|
-
|
891
|
-
self.
|
892
|
-
return to_return
|
895
|
+
self._tarball = self._backend.cls_open(self._code_obj)
|
896
|
+
return self._tarball
|
893
897
|
raise RuntimeError("Archive is not a tarball")
|
894
898
|
|
895
899
|
def extract(self) -> TemporaryDirectory:
|
@@ -922,10 +926,14 @@ class MetaflowCode(object):
|
|
922
926
|
this object is garbage collected.
|
923
927
|
"""
|
924
928
|
tmp = TemporaryDirectory()
|
929
|
+
# We save the position we are in _code_obj -- in case tarball is using it at
|
930
|
+
# the same time -- so we can reset it to not perturb tarball.
|
931
|
+
pos = self._code_obj.tell()
|
932
|
+
self._code_obj.seek(0)
|
925
933
|
MetaflowPackage.cls_extract_into(
|
926
934
|
self._code_metadata, self._code_obj, tmp.name, ContentType.USER_CONTENT
|
927
935
|
)
|
928
|
-
self._code_obj.seek(
|
936
|
+
self._code_obj.seek(pos)
|
929
937
|
return tmp
|
930
938
|
|
931
939
|
@property
|
@@ -70,7 +70,26 @@ class TriggerDecorator(FlowDecorator):
|
|
70
70
|
"options": {},
|
71
71
|
}
|
72
72
|
|
73
|
-
def
|
73
|
+
def process_event(self, event):
|
74
|
+
"""
|
75
|
+
Process a single event and return a dictionary if static trigger and a function
|
76
|
+
if deploy-time trigger.
|
77
|
+
|
78
|
+
Parameters
|
79
|
+
----------
|
80
|
+
event : Union[str, Dict[str, Any], Callable]
|
81
|
+
Event to process
|
82
|
+
|
83
|
+
Returns
|
84
|
+
-------
|
85
|
+
Union[Dict[str, Union[str, Callable]], Callable]
|
86
|
+
Processed event
|
87
|
+
|
88
|
+
Raises
|
89
|
+
------
|
90
|
+
MetaflowException
|
91
|
+
If the event is not in the correct format
|
92
|
+
"""
|
74
93
|
if is_stringish(event):
|
75
94
|
return {"name": str(event)}
|
76
95
|
elif isinstance(event, dict):
|
@@ -82,12 +101,26 @@ class TriggerDecorator(FlowDecorator):
|
|
82
101
|
event["name"], DeployTimeField
|
83
102
|
):
|
84
103
|
event["name"] = DeployTimeField(
|
85
|
-
"event_name",
|
104
|
+
"event_name",
|
105
|
+
str,
|
106
|
+
None,
|
107
|
+
event["name"],
|
108
|
+
False,
|
109
|
+
print_representation=str(event["name"]),
|
86
110
|
)
|
87
|
-
event["parameters"] = self.process_parameters(
|
111
|
+
event["parameters"] = self.process_parameters(
|
112
|
+
event.get("parameters", {}), event["name"]
|
113
|
+
)
|
88
114
|
return event
|
89
115
|
elif callable(event) and not isinstance(event, DeployTimeField):
|
90
|
-
return DeployTimeField(
|
116
|
+
return DeployTimeField(
|
117
|
+
"event",
|
118
|
+
[str, dict],
|
119
|
+
None,
|
120
|
+
event,
|
121
|
+
False,
|
122
|
+
print_representation=str(event),
|
123
|
+
)
|
91
124
|
else:
|
92
125
|
raise MetaflowException(
|
93
126
|
"Incorrect format for *event* attribute in *@trigger* decorator. "
|
@@ -96,47 +129,67 @@ class TriggerDecorator(FlowDecorator):
|
|
96
129
|
"'parameters': {'alpha': 'beta'}})"
|
97
130
|
)
|
98
131
|
|
99
|
-
def process_parameters(self, parameters):
|
132
|
+
def process_parameters(self, parameters, event_name):
|
133
|
+
"""
|
134
|
+
Process the parameters for an event and return a dictionary of parameter mappings if
|
135
|
+
parameters was statically defined or a function if deploy-time trigger.
|
136
|
+
|
137
|
+
Parameters
|
138
|
+
----------
|
139
|
+
Parameters : Union[Dict[str, str], List[Union[str, Tuple[str, str]]], Callable]
|
140
|
+
Parameters to process
|
141
|
+
|
142
|
+
event_name : Union[str, callable]
|
143
|
+
Name of the event
|
144
|
+
|
145
|
+
Returns
|
146
|
+
-------
|
147
|
+
Union[Dict[str, str], Callable]
|
148
|
+
Processed parameters
|
149
|
+
|
150
|
+
Raises
|
151
|
+
------
|
152
|
+
MetaflowException
|
153
|
+
If the parameters are not in the correct format
|
154
|
+
"""
|
100
155
|
new_param_values = {}
|
101
|
-
if isinstance(parameters,
|
156
|
+
if isinstance(parameters, list):
|
102
157
|
for mapping in parameters:
|
103
158
|
if is_stringish(mapping):
|
159
|
+
# param_name
|
104
160
|
new_param_values[mapping] = mapping
|
105
|
-
elif
|
106
|
-
|
107
|
-
|
108
|
-
)
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
mapping[0], DeployTimeField
|
113
|
-
):
|
114
|
-
mapping[0] = DeployTimeField(
|
115
|
-
"parameter_val", str, None, mapping[0], False
|
116
|
-
)
|
117
|
-
if callable(mapping[1]) and not isinstance(
|
118
|
-
mapping[1], DeployTimeField
|
119
|
-
):
|
120
|
-
mapping[1] = DeployTimeField(
|
121
|
-
"parameter_val", str, None, mapping[1], False
|
161
|
+
elif isinstance(mapping, tuple) and len(mapping) == 2:
|
162
|
+
# (param_name, field_name)
|
163
|
+
param_name, field_name = mapping
|
164
|
+
if not is_stringish(param_name) or not is_stringish(field_name):
|
165
|
+
raise MetaflowException(
|
166
|
+
f"The *parameters* attribute for event {event_name} is invalid. "
|
167
|
+
"It should be a list/tuple of strings and lists/tuples of size 2."
|
122
168
|
)
|
123
|
-
new_param_values[
|
169
|
+
new_param_values[param_name] = field_name
|
124
170
|
else:
|
125
171
|
raise MetaflowException(
|
126
172
|
"The *parameters* attribute for event is invalid. "
|
127
173
|
"It should be a list/tuple of strings and lists/tuples of size 2"
|
128
174
|
)
|
129
|
-
elif callable(parameters) and not isinstance(parameters, DeployTimeField):
|
130
|
-
return DeployTimeField(
|
131
|
-
"parameters", [list, dict, tuple], None, parameters, False
|
132
|
-
)
|
133
175
|
elif isinstance(parameters, dict):
|
134
176
|
for key, value in parameters.items():
|
135
|
-
if
|
136
|
-
|
137
|
-
|
138
|
-
|
177
|
+
if not is_stringish(key) or not is_stringish(value):
|
178
|
+
raise MetaflowException(
|
179
|
+
f"The *parameters* attribute for event {event_name} is invalid. "
|
180
|
+
"It should be a dictionary of string keys and string values."
|
181
|
+
)
|
139
182
|
new_param_values[key] = value
|
183
|
+
elif callable(parameters) and not isinstance(parameters, DeployTimeField):
|
184
|
+
# func
|
185
|
+
return DeployTimeField(
|
186
|
+
"parameters",
|
187
|
+
[list, dict, tuple],
|
188
|
+
None,
|
189
|
+
parameters,
|
190
|
+
False,
|
191
|
+
print_representation=str(parameters),
|
192
|
+
)
|
140
193
|
return new_param_values
|
141
194
|
|
142
195
|
def flow_init(
|
@@ -158,7 +211,7 @@ class TriggerDecorator(FlowDecorator):
|
|
158
211
|
)
|
159
212
|
elif self.attributes["event"]:
|
160
213
|
event = self.attributes["event"]
|
161
|
-
processed_event = self.
|
214
|
+
processed_event = self.process_event(event)
|
162
215
|
self.triggers.append(processed_event)
|
163
216
|
elif self.attributes["events"]:
|
164
217
|
# events attribute supports the following formats -
|
@@ -169,13 +222,18 @@ class TriggerDecorator(FlowDecorator):
|
|
169
222
|
if isinstance(self.attributes["events"], list):
|
170
223
|
# process every event in events
|
171
224
|
for event in self.attributes["events"]:
|
172
|
-
processed_event = self.
|
225
|
+
processed_event = self.process_event(event)
|
173
226
|
self.triggers.append(processed_event)
|
174
227
|
elif callable(self.attributes["events"]) and not isinstance(
|
175
228
|
self.attributes["events"], DeployTimeField
|
176
229
|
):
|
177
230
|
trig = DeployTimeField(
|
178
|
-
"events",
|
231
|
+
"events",
|
232
|
+
list,
|
233
|
+
None,
|
234
|
+
self.attributes["events"],
|
235
|
+
False,
|
236
|
+
print_representation=str(self.attributes["events"]),
|
179
237
|
)
|
180
238
|
self.triggers.append(trig)
|
181
239
|
else:
|
@@ -208,101 +266,40 @@ class TriggerDecorator(FlowDecorator):
|
|
208
266
|
|
209
267
|
def format_deploytime_value(self):
|
210
268
|
new_triggers = []
|
269
|
+
|
270
|
+
# First pass to evaluate DeployTimeFields
|
211
271
|
for trigger in self.triggers:
|
212
272
|
# Case where trigger is a function that returns a list of events
|
213
273
|
# Need to do this bc we need to iterate over list later
|
214
274
|
if isinstance(trigger, DeployTimeField):
|
215
275
|
evaluated_trigger = deploy_time_eval(trigger)
|
216
|
-
if isinstance(evaluated_trigger, dict):
|
217
|
-
trigger = evaluated_trigger
|
218
|
-
elif isinstance(evaluated_trigger, str):
|
219
|
-
trigger = {"name": evaluated_trigger}
|
220
276
|
if isinstance(evaluated_trigger, list):
|
221
|
-
for
|
222
|
-
|
223
|
-
new_triggers.append({"name": trig})
|
224
|
-
else: # dict or another deploytimefield
|
225
|
-
new_triggers.append(trig)
|
277
|
+
for event in evaluated_trigger:
|
278
|
+
new_triggers.append(self.process_event(event))
|
226
279
|
else:
|
227
|
-
new_triggers.append(
|
280
|
+
new_triggers.append(self.process_event(evaluated_trigger))
|
228
281
|
else:
|
229
282
|
new_triggers.append(trigger)
|
230
283
|
|
284
|
+
# Second pass to evaluate names
|
285
|
+
for trigger in new_triggers:
|
286
|
+
name = trigger.get("name")
|
287
|
+
if isinstance(name, DeployTimeField):
|
288
|
+
trigger["name"] = deploy_time_eval(name)
|
289
|
+
if not is_stringish(trigger["name"]):
|
290
|
+
raise MetaflowException(
|
291
|
+
f"The *name* attribute for event {trigger} is not a valid string"
|
292
|
+
)
|
293
|
+
|
294
|
+
# third pass to evaluate parameters
|
295
|
+
for trigger in new_triggers:
|
296
|
+
parameters = trigger.get("parameters", {})
|
297
|
+
if isinstance(parameters, DeployTimeField):
|
298
|
+
parameters_eval = deploy_time_eval(parameters)
|
299
|
+
parameters = self.process_parameters(parameters_eval, trigger["name"])
|
300
|
+
trigger["parameters"] = parameters
|
301
|
+
|
231
302
|
self.triggers = new_triggers
|
232
|
-
for trigger in self.triggers:
|
233
|
-
old_trigger = trigger
|
234
|
-
trigger_params = trigger.get("parameters", {})
|
235
|
-
# Case where param is a function (can return list or dict)
|
236
|
-
if isinstance(trigger_params, DeployTimeField):
|
237
|
-
trigger_params = deploy_time_eval(trigger_params)
|
238
|
-
# If params is a list of strings, convert to dict with same key and value
|
239
|
-
if isinstance(trigger_params, (list, tuple)):
|
240
|
-
new_trigger_params = {}
|
241
|
-
for mapping in trigger_params:
|
242
|
-
if is_stringish(mapping) or callable(mapping):
|
243
|
-
new_trigger_params[mapping] = mapping
|
244
|
-
elif callable(mapping) and not isinstance(mapping, DeployTimeField):
|
245
|
-
mapping = DeployTimeField(
|
246
|
-
"parameter_val", str, None, mapping, False
|
247
|
-
)
|
248
|
-
new_trigger_params[mapping] = mapping
|
249
|
-
elif isinstance(mapping, (list, tuple)) and len(mapping) == 2:
|
250
|
-
if callable(mapping[0]) and not isinstance(
|
251
|
-
mapping[0], DeployTimeField
|
252
|
-
):
|
253
|
-
mapping[0] = DeployTimeField(
|
254
|
-
"parameter_val",
|
255
|
-
str,
|
256
|
-
None,
|
257
|
-
mapping[1],
|
258
|
-
False,
|
259
|
-
)
|
260
|
-
if callable(mapping[1]) and not isinstance(
|
261
|
-
mapping[1], DeployTimeField
|
262
|
-
):
|
263
|
-
mapping[1] = DeployTimeField(
|
264
|
-
"parameter_val",
|
265
|
-
str,
|
266
|
-
None,
|
267
|
-
mapping[1],
|
268
|
-
False,
|
269
|
-
)
|
270
|
-
|
271
|
-
new_trigger_params[mapping[0]] = mapping[1]
|
272
|
-
else:
|
273
|
-
raise MetaflowException(
|
274
|
-
"The *parameters* attribute for event '%s' is invalid. "
|
275
|
-
"It should be a list/tuple of strings and lists/tuples "
|
276
|
-
"of size 2" % self.attributes["event"]["name"]
|
277
|
-
)
|
278
|
-
trigger_params = new_trigger_params
|
279
|
-
trigger["parameters"] = trigger_params
|
280
|
-
|
281
|
-
trigger_name = trigger.get("name")
|
282
|
-
# Case where just the name is a function (always a str)
|
283
|
-
if isinstance(trigger_name, DeployTimeField):
|
284
|
-
trigger_name = deploy_time_eval(trigger_name)
|
285
|
-
trigger["name"] = trigger_name
|
286
|
-
|
287
|
-
# Third layer
|
288
|
-
# {name:, parameters:[func, ..., ...]}
|
289
|
-
# {name:, parameters:{func : func2}}
|
290
|
-
for trigger in self.triggers:
|
291
|
-
old_trigger = trigger
|
292
|
-
trigger_params = trigger.get("parameters", {})
|
293
|
-
new_trigger_params = {}
|
294
|
-
for key, value in trigger_params.items():
|
295
|
-
if isinstance(value, DeployTimeField) and key is value:
|
296
|
-
evaluated_param = deploy_time_eval(value)
|
297
|
-
new_trigger_params[evaluated_param] = evaluated_param
|
298
|
-
elif isinstance(value, DeployTimeField):
|
299
|
-
new_trigger_params[key] = deploy_time_eval(value)
|
300
|
-
elif isinstance(key, DeployTimeField):
|
301
|
-
new_trigger_params[deploy_time_eval(key)] = value
|
302
|
-
else:
|
303
|
-
new_trigger_params[key] = value
|
304
|
-
trigger["parameters"] = new_trigger_params
|
305
|
-
self.triggers[self.triggers.index(old_trigger)] = trigger
|
306
303
|
|
307
304
|
|
308
305
|
class TriggerOnFinishDecorator(FlowDecorator):
|
@@ -402,7 +399,14 @@ class TriggerOnFinishDecorator(FlowDecorator):
|
|
402
399
|
if callable(flow) and not isinstance(
|
403
400
|
self.attributes["flow"], DeployTimeField
|
404
401
|
):
|
405
|
-
trig = DeployTimeField(
|
402
|
+
trig = DeployTimeField(
|
403
|
+
"fq_name",
|
404
|
+
[str, dict],
|
405
|
+
None,
|
406
|
+
flow,
|
407
|
+
False,
|
408
|
+
print_representation=str(flow),
|
409
|
+
)
|
406
410
|
self.triggers.append(trig)
|
407
411
|
else:
|
408
412
|
self.triggers.extend(self._parse_static_triggers([flow]))
|
@@ -411,7 +415,9 @@ class TriggerOnFinishDecorator(FlowDecorator):
|
|
411
415
|
# 1. flows=['FooFlow', 'BarFlow']
|
412
416
|
flows = self.attributes["flows"]
|
413
417
|
if callable(flows) and not isinstance(flows, DeployTimeField):
|
414
|
-
trig = DeployTimeField(
|
418
|
+
trig = DeployTimeField(
|
419
|
+
"flows", list, None, flows, False, print_representation=str(flows)
|
420
|
+
)
|
415
421
|
self.triggers.append(trig)
|
416
422
|
elif isinstance(flows, list):
|
417
423
|
self.triggers.extend(self._parse_static_triggers(flows))
|
@@ -760,6 +760,7 @@ class NativeRuntime(object):
|
|
760
760
|
self, task, next_step, type, split_index=None, loop_mode=LoopBehavior.NONE
|
761
761
|
):
|
762
762
|
match = re.match(r"^(.+)\[(.*)\]\[(.*)\]$", task.task_index)
|
763
|
+
old_match = re.match(r"^(.+)\[(.*)\]$", task.task_index)
|
763
764
|
if match:
|
764
765
|
_, foreach_index, iteration_index = match.groups()
|
765
766
|
# Convert foreach_index to a list of integers
|
@@ -772,6 +773,15 @@ class NativeRuntime(object):
|
|
772
773
|
iteration_index = iteration_index.split(",")
|
773
774
|
else:
|
774
775
|
iteration_index = []
|
776
|
+
elif old_match:
|
777
|
+
_, foreach_index = old_match.groups()
|
778
|
+
# Convert foreach_index to a list of integers
|
779
|
+
if len(foreach_index) > 0:
|
780
|
+
foreach_index = foreach_index.split(",")
|
781
|
+
else:
|
782
|
+
foreach_index = []
|
783
|
+
# Legacy case fallback. No iteration index exists for these runs.
|
784
|
+
iteration_index = []
|
775
785
|
else:
|
776
786
|
raise ValueError(
|
777
787
|
"Index not in the format of {run_id}/{step_name}[{foreach_index}][{iteration_index}]"
|
@@ -1683,7 +1693,9 @@ class Task(object):
|
|
1683
1693
|
foreach_stack_tuple = tuple(
|
1684
1694
|
[s._replace(value=0) for s in self.results["_foreach_stack"]]
|
1685
1695
|
)
|
1686
|
-
|
1696
|
+
# _iteration_stack requires a fallback, as it does not exist for runs before v2.17.4
|
1697
|
+
iteration_stack_tuple = tuple(self.results.get("_iteration_stack", []))
|
1698
|
+
return (self.step, foreach_stack_tuple, iteration_stack_tuple)
|
1687
1699
|
|
1688
1700
|
@property
|
1689
1701
|
def is_cloned(self):
|
@@ -0,0 +1 @@
|
|
1
|
+
metaflow_version = "2.18.6"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: metaflow
|
3
|
-
Version: 2.18.
|
3
|
+
Version: 2.18.6
|
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.18.
|
29
|
+
Requires-Dist: metaflow-stubs==2.18.6; extra == "stubs"
|
30
30
|
Dynamic: author
|
31
31
|
Dynamic: author-email
|
32
32
|
Dynamic: classifier
|
@@ -1 +0,0 @@
|
|
1
|
-
metaflow_version = "2.18.4"
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{metaflow-2.18.4 → metaflow-2.18.6}/metaflow/_vendor/v3_6/importlib_metadata/_collections.py
RENAMED
File without changes
|
File without changes
|
File without changes
|