metaflow 2.15.21__tar.gz → 2.16.1__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.15.21/metaflow.egg-info → metaflow-2.16.1}/PKG-INFO +2 -2
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/__init__.py +7 -1
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cli.py +19 -1
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cli_components/init_cmd.py +1 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cli_components/run_cmds.py +8 -2
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/client/core.py +22 -30
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/datastore/task_datastore.py +0 -1
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/debug.py +5 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/decorators.py +236 -70
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/extension_support/__init__.py +15 -8
- metaflow-2.16.1/metaflow/extension_support/_empty_file.py +2 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/flowspec.py +92 -60
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/graph.py +24 -2
- metaflow-2.16.1/metaflow/meta_files.py +13 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/metadata_provider/metadata.py +7 -1
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/metaflow_config.py +5 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/metaflow_environment.py +82 -25
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/metaflow_version.py +1 -1
- metaflow-2.16.1/metaflow/package/__init__.py +664 -0
- metaflow-2.16.1/metaflow/packaging_sys/__init__.py +870 -0
- metaflow-2.16.1/metaflow/packaging_sys/backend.py +113 -0
- metaflow-2.16.1/metaflow/packaging_sys/distribution_support.py +153 -0
- metaflow-2.16.1/metaflow/packaging_sys/tar_backend.py +86 -0
- metaflow-2.16.1/metaflow/packaging_sys/utils.py +91 -0
- metaflow-2.16.1/metaflow/packaging_sys/v1.py +480 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/airflow/airflow.py +5 -1
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/airflow/airflow_cli.py +16 -5
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/argo/argo_workflows.py +15 -4
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/argo/argo_workflows_cli.py +17 -4
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/batch/batch.py +22 -3
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/batch/batch_cli.py +3 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/batch/batch_decorator.py +13 -5
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/step_functions/step_functions.py +4 -1
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/step_functions/step_functions_cli.py +16 -4
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_decorator.py +0 -5
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/kubernetes/kubernetes.py +8 -1
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/kubernetes/kubernetes_cli.py +3 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/kubernetes/kubernetes_decorator.py +13 -5
- metaflow-2.16.1/metaflow/plugins/package_cli.py +69 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/parallel_decorator.py +4 -2
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/pypi/bootstrap.py +8 -2
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/pypi/conda_decorator.py +39 -82
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/pypi/conda_environment.py +6 -2
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/pypi/pypi_decorator.py +4 -4
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/test_unbounded_foreach_decorator.py +2 -2
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/timeout_decorator.py +0 -1
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/uv/bootstrap.py +12 -1
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/uv/uv_environment.py +4 -2
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/pylint_wrapper.py +5 -1
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/runner/click_api.py +5 -4
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/runner/subprocess_manager.py +14 -2
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/runtime.py +37 -11
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/task.py +92 -7
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/user_configs/config_options.py +13 -8
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/user_configs/config_parameters.py +0 -4
- metaflow-2.16.1/metaflow/user_decorators/__init__.py +0 -0
- metaflow-2.16.1/metaflow/user_decorators/common.py +144 -0
- metaflow-2.16.1/metaflow/user_decorators/mutable_flow.py +499 -0
- metaflow-2.16.1/metaflow/user_decorators/mutable_step.py +424 -0
- metaflow-2.16.1/metaflow/user_decorators/user_flow_decorator.py +264 -0
- metaflow-2.16.1/metaflow/user_decorators/user_step_decorator.py +712 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/util.py +4 -1
- metaflow-2.16.1/metaflow/version.py +1 -0
- {metaflow-2.15.21 → metaflow-2.16.1/metaflow.egg-info}/PKG-INFO +2 -2
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow.egg-info/SOURCES.txt +15 -4
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow.egg-info/requires.txt +1 -1
- metaflow-2.15.21/metaflow/extension_support/_empty_file.py +0 -2
- metaflow-2.15.21/metaflow/info_file.py +0 -25
- metaflow-2.15.21/metaflow/package.py +0 -203
- metaflow-2.15.21/metaflow/plugins/package_cli.py +0 -67
- metaflow-2.15.21/metaflow/user_configs/config_decorators.py +0 -568
- metaflow-2.15.21/metaflow/version.py +0 -1
- {metaflow-2.15.21 → metaflow-2.16.1}/LICENSE +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/MANIFEST.in +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/README.md +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/devtools/Makefile +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/devtools/Tiltfile +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/devtools/pick_services.sh +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/R.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/click/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/click/_bashcomplete.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/click/_compat.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/click/_termui_impl.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/click/_textwrap.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/click/_unicodefun.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/click/_winconsole.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/click/core.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/click/decorators.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/click/exceptions.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/click/formatting.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/click/globals.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/click/parser.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/click/termui.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/click/testing.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/click/types.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/click/utils.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/imghdr/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/importlib_metadata/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/importlib_metadata/_adapters.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/importlib_metadata/_collections.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/importlib_metadata/_compat.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/importlib_metadata/_functools.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/importlib_metadata/_itertools.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/importlib_metadata/_meta.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/importlib_metadata/_text.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/importlib_metadata/py.typed +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/packaging/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/packaging/_elffile.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/packaging/_manylinux.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/packaging/_musllinux.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/packaging/_parser.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/packaging/_structures.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/packaging/_tokenizer.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/packaging/markers.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/packaging/py.typed +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/packaging/requirements.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/packaging/specifiers.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/packaging/tags.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/packaging/utils.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/packaging/version.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/typeguard/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/typeguard/_checkers.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/typeguard/_config.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/typeguard/_decorators.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/typeguard/_exceptions.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/typeguard/_functions.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/typeguard/_importhook.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/typeguard/_memo.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/typeguard/_pytest_plugin.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/typeguard/_suppression.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/typeguard/_transformer.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/typeguard/_union_transformer.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/typeguard/_utils.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/typeguard/py.typed +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/typing_extensions.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_6/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_6/importlib_metadata/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_6/importlib_metadata/_adapters.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_6/importlib_metadata/_collections.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_6/importlib_metadata/_compat.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_6/importlib_metadata/_functools.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_6/importlib_metadata/_itertools.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_6/importlib_metadata/_meta.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_6/importlib_metadata/_text.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_6/importlib_metadata/py.typed +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_6/typing_extensions.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_6/zipp.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/importlib_metadata/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/importlib_metadata/_adapters.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/importlib_metadata/_collections.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/importlib_metadata/_compat.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/importlib_metadata/_functools.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/importlib_metadata/_itertools.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/importlib_metadata/_meta.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/importlib_metadata/_text.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/importlib_metadata/py.typed +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/typeguard/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/typeguard/_checkers.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/typeguard/_config.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/typeguard/_decorators.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/typeguard/_exceptions.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/typeguard/_functions.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/typeguard/_importhook.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/typeguard/_memo.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/typeguard/_pytest_plugin.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/typeguard/_suppression.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/typeguard/_transformer.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/typeguard/_union_transformer.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/typeguard/_utils.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/typeguard/py.typed +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/typing_extensions.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/zipp.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/zipp.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cards.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cli_args.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cli_components/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cli_components/dump_cmd.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cli_components/step_cmd.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cli_components/utils.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/client/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/client/filecache.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/clone_util.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cmd/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cmd/code/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cmd/configure_cmd.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cmd/develop/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cmd/develop/stub_generator.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cmd/develop/stubs.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cmd/main_cli.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cmd/make_wrapper.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cmd/tutorials_cmd.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cmd/util.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cmd_with_io.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/datastore/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/datastore/content_addressed_store.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/datastore/datastore_set.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/datastore/datastore_storage.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/datastore/exceptions.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/datastore/flow_datastore.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/datastore/inputs.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/event_logger.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/events.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/exception.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/extension_support/cmd.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/extension_support/integrations.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/extension_support/plugins.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/includefile.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/integrations.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/lint.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/metadata_provider/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/metadata_provider/heartbeat.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/metadata_provider/util.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/metaflow_config_funcs.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/metaflow_current.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/metaflow_git.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/metaflow_profile.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/mflog/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/mflog/mflog.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/mflog/save_logs.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/mflog/save_logs_periodically.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/mflog/tee.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/monitor.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/multicore_utils.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/parameters.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/airflow/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/airflow/airflow_decorator.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/airflow/airflow_utils.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/airflow/dag.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/airflow/exception.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/airflow/plumbing/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/airflow/plumbing/set_parameters.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/airflow/sensors/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/airflow/sensors/base_sensor.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/airflow/sensors/external_task_sensor.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/airflow/sensors/s3_sensor.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/argo/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/argo/argo_client.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/argo/argo_events.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/argo/argo_workflows_decorator.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/argo/argo_workflows_deployer.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/argo/argo_workflows_deployer_objects.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/argo/capture_error.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/argo/exit_hooks.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/argo/generate_input_paths.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/argo/jobset_input_paths.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/aws_client.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/aws_utils.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/batch/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/batch/batch_client.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/secrets_manager/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/secrets_manager/aws_secrets_manager_secrets_provider.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/step_functions/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/step_functions/dynamo_db_client.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/step_functions/event_bridge_client.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/step_functions/production_token.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/step_functions/schedule_decorator.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/step_functions/set_batch_environment.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/step_functions/step_functions_client.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/step_functions/step_functions_decorator.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/step_functions/step_functions_deployer.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/step_functions/step_functions_deployer_objects.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/azure/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/azure/azure_credential.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/azure/azure_exceptions.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/azure/azure_secret_manager_secrets_provider.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/azure/azure_tail.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/azure/azure_utils.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/azure/blob_service_client_factory.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/azure/includefile_support.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_cli.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_client.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_creator.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_datastore.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_modules/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_modules/base.html +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_modules/basic.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_modules/bundle.css +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_modules/card.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_modules/chevron/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_modules/chevron/main.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_modules/chevron/metadata.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_modules/chevron/renderer.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_modules/chevron/tokenizer.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_modules/components.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_modules/convert_to_native_type.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_modules/main.js +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_modules/renderer_tools.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_modules/test_cards.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_resolver.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_server.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_viewer/viewer.html +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/component_serializer.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/exception.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/metadata.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/catch_decorator.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/datastores/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/datastores/azure_storage.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/datastores/gs_storage.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/datastores/local_storage.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/datastores/s3_storage.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/datatools/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/datatools/local.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/datatools/s3/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/datatools/s3/s3.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/datatools/s3/s3op.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/datatools/s3/s3tail.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/datatools/s3/s3util.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/debug_logger.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/debug_monitor.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/client.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/client_modules.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/communication/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/communication/bytestream.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/communication/channel.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/communication/socket_bytestream.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/communication/utils.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/configurations/emulate_test_lib/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/configurations/emulate_test_lib/overrides.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/configurations/emulate_test_lib/server_mappings.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/configurations/test_lib_impl/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/configurations/test_lib_impl/test_lib.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/consts.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/data_transferer.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/exception_transferer.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/override_decorators.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/server.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/stub.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/utils.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/environment_decorator.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/events_decorator.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/exit_hook/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/exit_hook/exit_hook_decorator.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/exit_hook/exit_hook_script.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/frameworks/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/frameworks/pytorch.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/gcp/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/gcp/gcp_secret_manager_secrets_provider.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/gcp/gs_exceptions.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/gcp/gs_storage_client_factory.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/gcp/gs_tail.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/gcp/gs_utils.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/gcp/includefile_support.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/kubernetes/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/kubernetes/kube_utils.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/kubernetes/kubernetes_client.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/kubernetes/kubernetes_job.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/kubernetes/kubernetes_jobsets.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/kubernetes/spot_metadata_cli.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/kubernetes/spot_monitor_sidecar.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/logs_cli.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/metadata_providers/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/metadata_providers/local.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/metadata_providers/service.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/project_decorator.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/pypi/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/pypi/micromamba.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/pypi/parsers.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/pypi/pip.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/pypi/pypi_environment.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/pypi/utils.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/resources_decorator.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/retry_decorator.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/secrets/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/secrets/inline_secrets_provider.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/secrets/secrets_decorator.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/secrets/secrets_func.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/secrets/secrets_spec.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/secrets/utils.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/storage_executor.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/tag_cli.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/uv/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/procpoll.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/py.typed +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/runner/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/runner/deployer.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/runner/deployer_impl.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/runner/metaflow_runner.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/runner/nbdeploy.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/runner/nbrun.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/runner/utils.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/sidecar/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/sidecar/sidecar.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/sidecar/sidecar_messages.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/sidecar/sidecar_subprocess.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/sidecar/sidecar_worker.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/system/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/system/system_logger.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/system/system_monitor.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/system/system_utils.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tagging_util.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tracing/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tracing/propagator.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tracing/span_exporter.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tracing/tracing_modules.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tuple_util.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/00-helloworld/README.md +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/00-helloworld/helloworld.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/01-playlist/README.md +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/01-playlist/movies.csv +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/01-playlist/playlist.ipynb +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/01-playlist/playlist.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/02-statistics/README.md +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/02-statistics/movies.csv +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/02-statistics/stats.ipynb +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/02-statistics/stats.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/03-playlist-redux/README.md +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/03-playlist-redux/playlist.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/04-playlist-plus/README.md +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/04-playlist-plus/playlist.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/05-hello-cloud/README.md +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/05-hello-cloud/hello-cloud.ipynb +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/05-hello-cloud/hello-cloud.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/06-statistics-redux/README.md +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/06-statistics-redux/stats.ipynb +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/07-worldview/README.md +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/07-worldview/worldview.ipynb +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/08-autopilot/README.md +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/08-autopilot/autopilot.ipynb +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/unbounded_foreach.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/user_configs/__init__.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/vendor.py +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow.egg-info/dependency_links.txt +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow.egg-info/entry_points.txt +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/metaflow.egg-info/top_level.txt +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/setup.cfg +0 -0
- {metaflow-2.15.21 → metaflow-2.16.1}/setup.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: metaflow
|
3
|
-
Version: 2.
|
3
|
+
Version: 2.16.1
|
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.
|
29
|
+
Requires-Dist: metaflow-stubs==2.16.1; extra == "stubs"
|
30
30
|
Dynamic: author
|
31
31
|
Dynamic: author-email
|
32
32
|
Dynamic: classifier
|
@@ -104,7 +104,13 @@ from .flowspec import FlowSpec
|
|
104
104
|
from .parameters import Parameter, JSONTypeClass, JSONType
|
105
105
|
|
106
106
|
from .user_configs.config_parameters import Config, ConfigValue, config_expr
|
107
|
-
from .
|
107
|
+
from .user_decorators.user_step_decorator import (
|
108
|
+
UserStepDecorator,
|
109
|
+
StepMutator,
|
110
|
+
user_step_decorator,
|
111
|
+
USER_SKIP_STEP,
|
112
|
+
)
|
113
|
+
from .user_decorators.user_flow_decorator import FlowMutator
|
108
114
|
|
109
115
|
# data layer
|
110
116
|
# For historical reasons, we make metaflow.plugins.datatools accessible as
|
@@ -28,6 +28,7 @@ from .metaflow_config import (
|
|
28
28
|
from .metaflow_current import current
|
29
29
|
from metaflow.system import _system_monitor, _system_logger
|
30
30
|
from .metaflow_environment import MetaflowEnvironment
|
31
|
+
from .packaging_sys import MetaflowCodeContent
|
31
32
|
from .plugins import (
|
32
33
|
DATASTORES,
|
33
34
|
ENVIRONMENTS,
|
@@ -152,8 +153,13 @@ def check(obj, warnings=False):
|
|
152
153
|
def show(obj):
|
153
154
|
echo_always("\n%s" % obj.graph.doc)
|
154
155
|
for node_name in obj.graph.sorted_nodes:
|
156
|
+
echo_always("")
|
155
157
|
node = obj.graph[node_name]
|
156
|
-
|
158
|
+
for deco in node.decorators:
|
159
|
+
echo_always("@%s" % deco.name, err=False)
|
160
|
+
for deco in node.wrappers:
|
161
|
+
echo_always("@%s" % deco.decorator_name, err=False)
|
162
|
+
echo_always("Step *%s*" % node.name, err=False)
|
157
163
|
echo_always(node.doc if node.doc else "?", indent=True, err=False)
|
158
164
|
if node.type != "end":
|
159
165
|
echo_always(
|
@@ -336,6 +342,11 @@ def start(
|
|
336
342
|
echo(" executing *%s*" % ctx.obj.flow.name, fg="magenta", nl=False)
|
337
343
|
echo(" for *%s*" % resolve_identity(), fg="magenta")
|
338
344
|
|
345
|
+
# Check if we need to setup the distribution finder (if running )
|
346
|
+
dist_info = MetaflowCodeContent.get_distribution_finder()
|
347
|
+
if dist_info:
|
348
|
+
sys.meta_path.append(dist_info)
|
349
|
+
|
339
350
|
# Setup the context
|
340
351
|
cli_args._set_top_kwargs(ctx.params)
|
341
352
|
ctx.obj.echo = echo
|
@@ -436,6 +447,10 @@ def start(
|
|
436
447
|
# be raised. For resume, since we ignore those options, we ignore the error.
|
437
448
|
raise ctx.obj.delayed_config_exception
|
438
449
|
|
450
|
+
# Init all values in the flow mutators and then process them
|
451
|
+
for decorator in ctx.obj.flow._flow_state.get(_FlowState.FLOW_MUTATORS, []):
|
452
|
+
decorator.external_init()
|
453
|
+
|
439
454
|
new_cls = ctx.obj.flow._process_config_decorators(config_options)
|
440
455
|
if new_cls:
|
441
456
|
ctx.obj.flow = new_cls(use_cli=False)
|
@@ -547,6 +562,9 @@ def start(
|
|
547
562
|
ctx.obj.logger,
|
548
563
|
)
|
549
564
|
|
565
|
+
# Check the graph again (mutators may have changed it)
|
566
|
+
ctx.obj.graph = ctx.obj.flow._graph
|
567
|
+
|
550
568
|
# TODO (savin): Enable lazy instantiation of package
|
551
569
|
ctx.obj.package = None
|
552
570
|
|
@@ -46,6 +46,7 @@ def init(obj, run_id=None, task_id=None, tags=None, **kwargs):
|
|
46
46
|
obj.event_logger,
|
47
47
|
obj.monitor,
|
48
48
|
run_id=run_id,
|
49
|
+
skip_decorator_hooks=True,
|
49
50
|
)
|
50
51
|
obj.flow._set_constants(obj.graph, kwargs, obj.config_options)
|
51
52
|
runtime.persist_constants(task_id=task_id)
|
@@ -8,7 +8,7 @@ from .. import decorators, namespace, parameters, tracing
|
|
8
8
|
from ..exception import CommandException
|
9
9
|
from ..graph import FlowGraph
|
10
10
|
from ..metaflow_current import current
|
11
|
-
from ..metaflow_config import DEFAULT_DECOSPECS
|
11
|
+
from ..metaflow_config import DEFAULT_DECOSPECS, FEAT_ALWAYS_UPLOAD_CODE_PACKAGE
|
12
12
|
from ..package import MetaflowPackage
|
13
13
|
from ..runtime import NativeRuntime
|
14
14
|
from ..system import _system_logger
|
@@ -54,6 +54,8 @@ def before_run(obj, tags, decospecs):
|
|
54
54
|
decorators._init_step_decorators(
|
55
55
|
obj.flow, obj.graph, obj.environment, obj.flow_datastore, obj.logger
|
56
56
|
)
|
57
|
+
# Re-read graph since it may have been modified by mutators
|
58
|
+
obj.graph = obj.flow._graph
|
57
59
|
|
58
60
|
obj.metadata.add_sticky_tags(tags=tags)
|
59
61
|
|
@@ -61,7 +63,11 @@ def before_run(obj, tags, decospecs):
|
|
61
63
|
# We explicitly avoid doing this in `start` since it is invoked for every
|
62
64
|
# step in the run.
|
63
65
|
obj.package = MetaflowPackage(
|
64
|
-
obj.flow,
|
66
|
+
obj.flow,
|
67
|
+
obj.environment,
|
68
|
+
obj.echo,
|
69
|
+
suffixes=obj.package_suffixes,
|
70
|
+
flow_datastore=obj.flow_datastore if FEAT_ALWAYS_UPLOAD_CODE_PACKAGE else None,
|
65
71
|
)
|
66
72
|
|
67
73
|
|
@@ -32,11 +32,12 @@ from metaflow.exception import (
|
|
32
32
|
from metaflow.includefile import IncludedFile
|
33
33
|
from metaflow.metaflow_config import DEFAULT_METADATA, MAX_ATTEMPTS
|
34
34
|
from metaflow.metaflow_environment import MetaflowEnvironment
|
35
|
+
from metaflow.package import MetaflowPackage
|
36
|
+
from metaflow.packaging_sys import ContentType
|
35
37
|
from metaflow.plugins import ENVIRONMENTS, METADATA_PROVIDERS
|
36
38
|
from metaflow.unbounded_foreach import CONTROL_TASK_TAG
|
37
39
|
from metaflow.util import cached_property, is_stringish, resolve_identity, to_unicode
|
38
40
|
|
39
|
-
from ..info_file import INFO_FILE
|
40
41
|
from .filecache import FileCache
|
41
42
|
|
42
43
|
if TYPE_CHECKING:
|
@@ -816,20 +817,26 @@ class MetaflowCode(object):
|
|
816
817
|
self._path = info["location"]
|
817
818
|
self._ds_type = info["ds_type"]
|
818
819
|
self._sha = info["sha"]
|
820
|
+
self._code_metadata = info.get(
|
821
|
+
"metadata",
|
822
|
+
'{"version": 0, "archive_format": "tgz", "mfcontent_version": 0}',
|
823
|
+
)
|
824
|
+
|
825
|
+
self._backend = MetaflowPackage.get_backend(self._code_metadata)
|
819
826
|
|
820
827
|
if filecache is None:
|
821
828
|
filecache = FileCache()
|
822
829
|
_, blobdata = filecache.get_data(
|
823
830
|
self._ds_type, self._flow_name, self._path, self._sha
|
824
831
|
)
|
825
|
-
|
826
|
-
self.
|
827
|
-
|
828
|
-
|
829
|
-
|
830
|
-
|
831
|
-
|
832
|
-
|
832
|
+
self._code_obj = BytesIO(blobdata)
|
833
|
+
self._info = MetaflowPackage.cls_get_info(self._code_metadata, self._code_obj)
|
834
|
+
if self._info:
|
835
|
+
self._flowspec = MetaflowPackage.cls_get_content(
|
836
|
+
self._code_metadata, self._code_obj, self._info["script"]
|
837
|
+
)
|
838
|
+
else:
|
839
|
+
raise MetaflowInternalError("Code package metadata is invalid.")
|
833
840
|
|
834
841
|
@property
|
835
842
|
def path(self) -> str:
|
@@ -877,7 +884,9 @@ class MetaflowCode(object):
|
|
877
884
|
TarFile
|
878
885
|
TarFile for everything in this code package
|
879
886
|
"""
|
880
|
-
|
887
|
+
if self._backend.type == "tgz":
|
888
|
+
return self._backend.cls_open(self._code_obj)
|
889
|
+
raise RuntimeError("Archive is not a tarball")
|
881
890
|
|
882
891
|
def extract(self) -> TemporaryDirectory:
|
883
892
|
"""
|
@@ -908,27 +917,10 @@ class MetaflowCode(object):
|
|
908
917
|
The directory and its contents are automatically deleted when
|
909
918
|
this object is garbage collected.
|
910
919
|
"""
|
911
|
-
exclusions = [
|
912
|
-
"metaflow/",
|
913
|
-
"metaflow_extensions/",
|
914
|
-
"INFO",
|
915
|
-
"CONFIG_PARAMETERS",
|
916
|
-
"conda.manifest",
|
917
|
-
# This file is created when using the conda/pypi features available in
|
918
|
-
# nflx-metaflow-extensions: https://github.com/Netflix/metaflow-nflx-extensions
|
919
|
-
"condav2-1.cnd",
|
920
|
-
]
|
921
|
-
members = [
|
922
|
-
m
|
923
|
-
for m in self.tarball.getmembers()
|
924
|
-
if not any(
|
925
|
-
(x.endswith("/") and m.name.startswith(x)) or (m.name == x)
|
926
|
-
for x in exclusions
|
927
|
-
)
|
928
|
-
]
|
929
|
-
|
930
920
|
tmp = TemporaryDirectory()
|
931
|
-
|
921
|
+
MetaflowPackage.cls_extract_into(
|
922
|
+
self._code_metadata, self._code_obj, tmp.name, ContentType.USER_CONTENT
|
923
|
+
)
|
932
924
|
return tmp
|
933
925
|
|
934
926
|
@property
|
@@ -42,6 +42,11 @@ class Debug(object):
|
|
42
42
|
filename = inspect.stack()[1][1]
|
43
43
|
print("debug[%s %s:%s]: %s" % (typ, filename, lineno, s), file=sys.stderr)
|
44
44
|
|
45
|
+
def __getattr__(self, name):
|
46
|
+
# Small piece of code to get pyright and other linters to recognize that there
|
47
|
+
# are dynamic attributes.
|
48
|
+
return getattr(self, name)
|
49
|
+
|
45
50
|
def noop(self, args):
|
46
51
|
pass
|
47
52
|
|