metaflow 2.14.3__tar.gz → 2.15.0__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.14.3 → metaflow-2.15.0}/MANIFEST.in +2 -1
- {metaflow-2.14.3/metaflow.egg-info → metaflow-2.15.0}/PKG-INFO +3 -3
- metaflow-2.15.0/devtools/Makefile +323 -0
- metaflow-2.15.0/devtools/Tiltfile +607 -0
- metaflow-2.15.0/devtools/pick_services.sh +104 -0
- metaflow-2.15.0/metaflow/cmd/make_wrapper.py +16 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/aws/batch/batch_cli.py +4 -4
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/aws/batch/batch_decorator.py +8 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/pypi/bootstrap.py +1 -1
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/runner/subprocess_manager.py +12 -6
- metaflow-2.15.0/metaflow/version.py +1 -0
- {metaflow-2.14.3 → metaflow-2.15.0/metaflow.egg-info}/PKG-INFO +3 -3
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow.egg-info/SOURCES.txt +4 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow.egg-info/entry_points.txt +1 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow.egg-info/requires.txt +1 -1
- {metaflow-2.14.3 → metaflow-2.15.0}/setup.py +13 -1
- metaflow-2.14.3/metaflow/version.py +0 -1
- {metaflow-2.14.3 → metaflow-2.15.0}/LICENSE +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/README.md +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/R.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/click/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/click/_bashcomplete.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/click/_compat.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/click/_termui_impl.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/click/_textwrap.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/click/_unicodefun.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/click/_winconsole.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/click/core.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/click/decorators.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/click/exceptions.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/click/formatting.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/click/globals.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/click/parser.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/click/termui.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/click/testing.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/click/types.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/click/utils.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/importlib_metadata/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/importlib_metadata/_adapters.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/importlib_metadata/_collections.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/importlib_metadata/_compat.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/importlib_metadata/_functools.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/importlib_metadata/_itertools.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/importlib_metadata/_meta.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/importlib_metadata/_text.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/importlib_metadata/py.typed +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/packaging/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/packaging/_elffile.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/packaging/_manylinux.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/packaging/_musllinux.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/packaging/_parser.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/packaging/_structures.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/packaging/_tokenizer.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/packaging/markers.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/packaging/py.typed +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/packaging/requirements.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/packaging/specifiers.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/packaging/tags.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/packaging/utils.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/packaging/version.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/typeguard/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/typeguard/_checkers.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/typeguard/_config.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/typeguard/_decorators.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/typeguard/_exceptions.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/typeguard/_functions.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/typeguard/_importhook.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/typeguard/_memo.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/typeguard/_pytest_plugin.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/typeguard/_suppression.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/typeguard/_transformer.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/typeguard/_union_transformer.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/typeguard/_utils.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/typeguard/py.typed +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/typing_extensions.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/v3_5/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/v3_5/importlib_metadata/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/v3_5/importlib_metadata/_compat.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/v3_5/zipp.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/v3_6/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/v3_6/importlib_metadata/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/v3_6/importlib_metadata/_adapters.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/v3_6/importlib_metadata/_collections.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/v3_6/importlib_metadata/_compat.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/v3_6/importlib_metadata/_functools.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/v3_6/importlib_metadata/_itertools.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/v3_6/importlib_metadata/_meta.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/v3_6/importlib_metadata/_text.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/v3_6/importlib_metadata/py.typed +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/v3_6/typing_extensions.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/v3_6/zipp.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/_vendor/zipp.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/cards.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/cli.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/cli_args.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/cli_components/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/cli_components/dump_cmd.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/cli_components/init_cmd.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/cli_components/run_cmds.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/cli_components/step_cmd.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/cli_components/utils.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/client/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/client/core.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/client/filecache.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/clone_util.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/cmd/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/cmd/configure_cmd.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/cmd/develop/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/cmd/develop/stub_generator.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/cmd/develop/stubs.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/cmd/main_cli.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/cmd/tutorials_cmd.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/cmd/util.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/cmd_with_io.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/datastore/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/datastore/content_addressed_store.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/datastore/datastore_set.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/datastore/datastore_storage.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/datastore/exceptions.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/datastore/flow_datastore.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/datastore/inputs.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/datastore/task_datastore.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/debug.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/decorators.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/event_logger.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/events.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/exception.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/extension_support/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/extension_support/_empty_file.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/extension_support/cmd.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/extension_support/integrations.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/extension_support/plugins.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/flowspec.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/graph.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/includefile.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/info_file.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/integrations.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/lint.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/metadata_provider/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/metadata_provider/heartbeat.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/metadata_provider/metadata.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/metadata_provider/util.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/metaflow_config.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/metaflow_config_funcs.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/metaflow_current.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/metaflow_environment.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/metaflow_profile.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/metaflow_version.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/mflog/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/mflog/mflog.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/mflog/save_logs.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/mflog/save_logs_periodically.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/mflog/tee.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/monitor.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/multicore_utils.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/package.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/parameters.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/airflow/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/airflow/airflow.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/airflow/airflow_cli.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/airflow/airflow_decorator.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/airflow/airflow_utils.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/airflow/dag.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/airflow/exception.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/airflow/plumbing/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/airflow/plumbing/set_parameters.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/airflow/sensors/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/airflow/sensors/base_sensor.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/airflow/sensors/external_task_sensor.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/airflow/sensors/s3_sensor.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/argo/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/argo/argo_client.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/argo/argo_events.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/argo/argo_workflows.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/argo/argo_workflows_cli.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/argo/argo_workflows_decorator.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/argo/argo_workflows_deployer.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/argo/argo_workflows_deployer_objects.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/argo/capture_error.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/argo/generate_input_paths.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/argo/jobset_input_paths.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/aws/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/aws/aws_client.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/aws/aws_utils.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/aws/batch/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/aws/batch/batch.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/aws/batch/batch_client.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/aws/secrets_manager/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/aws/secrets_manager/aws_secrets_manager_secrets_provider.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/aws/step_functions/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/aws/step_functions/dynamo_db_client.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/aws/step_functions/event_bridge_client.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/aws/step_functions/production_token.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/aws/step_functions/schedule_decorator.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/aws/step_functions/set_batch_environment.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/aws/step_functions/step_functions.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/aws/step_functions/step_functions_cli.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/aws/step_functions/step_functions_client.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/aws/step_functions/step_functions_decorator.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/aws/step_functions/step_functions_deployer.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/aws/step_functions/step_functions_deployer_objects.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/azure/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/azure/azure_credential.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/azure/azure_exceptions.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/azure/azure_secret_manager_secrets_provider.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/azure/azure_tail.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/azure/azure_utils.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/azure/blob_service_client_factory.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/azure/includefile_support.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/cards/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/cards/card_cli.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/cards/card_client.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/cards/card_creator.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/cards/card_datastore.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/cards/card_decorator.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/cards/card_modules/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/cards/card_modules/base.html +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/cards/card_modules/basic.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/cards/card_modules/bundle.css +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/cards/card_modules/card.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/cards/card_modules/chevron/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/cards/card_modules/chevron/main.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/cards/card_modules/chevron/metadata.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/cards/card_modules/chevron/renderer.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/cards/card_modules/chevron/tokenizer.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/cards/card_modules/components.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/cards/card_modules/convert_to_native_type.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/cards/card_modules/main.js +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/cards/card_modules/renderer_tools.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/cards/card_modules/test_cards.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/cards/card_resolver.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/cards/card_server.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/cards/card_viewer/viewer.html +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/cards/component_serializer.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/cards/exception.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/catch_decorator.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/datastores/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/datastores/azure_storage.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/datastores/gs_storage.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/datastores/local_storage.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/datastores/s3_storage.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/datatools/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/datatools/local.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/datatools/s3/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/datatools/s3/s3.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/datatools/s3/s3op.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/datatools/s3/s3tail.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/datatools/s3/s3util.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/debug_logger.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/debug_monitor.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/env_escape/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/env_escape/client.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/env_escape/client_modules.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/env_escape/communication/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/env_escape/communication/bytestream.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/env_escape/communication/channel.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/env_escape/communication/socket_bytestream.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/env_escape/communication/utils.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/env_escape/configurations/emulate_test_lib/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/env_escape/configurations/emulate_test_lib/overrides.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/env_escape/configurations/emulate_test_lib/server_mappings.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/env_escape/configurations/test_lib_impl/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/env_escape/configurations/test_lib_impl/test_lib.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/env_escape/consts.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/env_escape/data_transferer.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/env_escape/exception_transferer.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/env_escape/override_decorators.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/env_escape/server.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/env_escape/stub.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/env_escape/utils.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/environment_decorator.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/events_decorator.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/frameworks/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/frameworks/pytorch.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/gcp/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/gcp/gcp_secret_manager_secrets_provider.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/gcp/gs_exceptions.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/gcp/gs_storage_client_factory.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/gcp/gs_tail.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/gcp/gs_utils.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/gcp/includefile_support.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/kubernetes/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/kubernetes/kube_utils.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/kubernetes/kubernetes.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/kubernetes/kubernetes_cli.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/kubernetes/kubernetes_client.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/kubernetes/kubernetes_decorator.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/kubernetes/kubernetes_job.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/kubernetes/kubernetes_jobsets.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/kubernetes/spot_metadata_cli.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/kubernetes/spot_monitor_sidecar.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/logs_cli.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/metadata_providers/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/metadata_providers/local.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/metadata_providers/service.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/package_cli.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/parallel_decorator.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/project_decorator.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/pypi/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/pypi/conda_decorator.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/pypi/conda_environment.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/pypi/micromamba.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/pypi/pip.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/pypi/pypi_decorator.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/pypi/pypi_environment.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/pypi/utils.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/resources_decorator.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/retry_decorator.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/secrets/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/secrets/inline_secrets_provider.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/secrets/secrets_decorator.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/storage_executor.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/tag_cli.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/test_unbounded_foreach_decorator.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/plugins/timeout_decorator.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/procpoll.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/py.typed +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/pylint_wrapper.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/runner/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/runner/click_api.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/runner/deployer.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/runner/deployer_impl.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/runner/metaflow_runner.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/runner/nbdeploy.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/runner/nbrun.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/runner/utils.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/runtime.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/sidecar/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/sidecar/sidecar.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/sidecar/sidecar_messages.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/sidecar/sidecar_subprocess.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/sidecar/sidecar_worker.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/system/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/system/system_logger.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/system/system_monitor.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/system/system_utils.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/tagging_util.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/task.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/tracing/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/tracing/propagator.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/tracing/span_exporter.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/tracing/tracing_modules.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/tuple_util.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/tutorials/00-helloworld/README.md +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/tutorials/00-helloworld/helloworld.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/tutorials/01-playlist/README.md +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/tutorials/01-playlist/movies.csv +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/tutorials/01-playlist/playlist.ipynb +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/tutorials/01-playlist/playlist.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/tutorials/02-statistics/README.md +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/tutorials/02-statistics/movies.csv +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/tutorials/02-statistics/stats.ipynb +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/tutorials/02-statistics/stats.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/tutorials/03-playlist-redux/README.md +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/tutorials/03-playlist-redux/playlist.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/tutorials/04-playlist-plus/README.md +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/tutorials/04-playlist-plus/playlist.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/tutorials/05-hello-cloud/README.md +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/tutorials/05-hello-cloud/hello-cloud.ipynb +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/tutorials/05-hello-cloud/hello-cloud.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/tutorials/06-statistics-redux/README.md +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/tutorials/06-statistics-redux/stats.ipynb +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/tutorials/07-worldview/README.md +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/tutorials/07-worldview/worldview.ipynb +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/tutorials/08-autopilot/README.md +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/tutorials/08-autopilot/autopilot.ipynb +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/unbounded_foreach.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/user_configs/__init__.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/user_configs/config_decorators.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/user_configs/config_options.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/user_configs/config_parameters.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/util.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow/vendor.py +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow.egg-info/dependency_links.txt +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/metaflow.egg-info/top_level.txt +0 -0
- {metaflow-2.14.3 → metaflow-2.15.0}/setup.cfg +0 -0
@@ -2,4 +2,5 @@ include LICENSE
|
|
2
2
|
include metaflow/plugins/cards/card_modules/*.html
|
3
3
|
include metaflow/plugins/cards/card_modules/*.js
|
4
4
|
include metaflow/plugins/cards/card_modules/*.css
|
5
|
-
include metaflow/plugins/cards/card_viewer/*.html
|
5
|
+
include metaflow/plugins/cards/card_viewer/*.html
|
6
|
+
recursive-include devtools *
|
@@ -1,7 +1,7 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: metaflow
|
3
|
-
Version: 2.
|
4
|
-
Summary: Metaflow: More
|
3
|
+
Version: 2.15.0
|
4
|
+
Summary: Metaflow: More AI and ML, Less Engineering
|
5
5
|
Author: Metaflow Developers
|
6
6
|
Author-email: help@metaflow.org
|
7
7
|
License: Apache Software License
|
@@ -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.15.0; extra == "stubs"
|
30
30
|
Dynamic: author
|
31
31
|
Dynamic: author-email
|
32
32
|
Dynamic: classifier
|
@@ -0,0 +1,323 @@
|
|
1
|
+
SHELL := /bin/bash
|
2
|
+
.SHELLFLAGS := -eu -o pipefail -c
|
3
|
+
|
4
|
+
help:
|
5
|
+
@echo "Available targets:"
|
6
|
+
@echo " up - Start the development environment"
|
7
|
+
@echo " shell - Switch to development environment's shell"
|
8
|
+
@echo " ui - Open Metaflow UI"
|
9
|
+
@echo " dashboard - Open Minikube dashboard"
|
10
|
+
@echo " down - Stop and clean up the environment"
|
11
|
+
@echo " help - Show this help message"
|
12
|
+
|
13
|
+
HELM_VERSION := v3.14.0
|
14
|
+
MINIKUBE_VERSION := v1.32.0
|
15
|
+
TILT_VERSION := v0.33.11
|
16
|
+
GUM_VERSION := v0.15.2
|
17
|
+
|
18
|
+
MKFILE_PATH := $(abspath $(lastword $(MAKEFILE_LIST)))
|
19
|
+
MKFILE_DIR := $(dir $(MKFILE_PATH))
|
20
|
+
DEVTOOLS_DIR := $(MKFILE_DIR).devtools
|
21
|
+
PICK_SERVICES := $(MKFILE_DIR)pick_services.sh
|
22
|
+
MINIKUBE_DIR := $(DEVTOOLS_DIR)/minikube
|
23
|
+
MINIKUBE := $(MINIKUBE_DIR)/minikube
|
24
|
+
TILT_DIR := $(DEVTOOLS_DIR)/tilt
|
25
|
+
TILT := $(TILT_DIR)/tilt
|
26
|
+
TILTFILE := $(MKFILE_DIR)/Tiltfile
|
27
|
+
MAKE_CMD := $(MAKE) -C "$(MKFILE_DIR)"
|
28
|
+
|
29
|
+
MINIKUBE_CPUS ?= 4
|
30
|
+
MINIKUBE_MEMORY ?= 6000
|
31
|
+
MINIKUBE_DISK_SIZE ?= 20g
|
32
|
+
|
33
|
+
ifeq ($(shell uname), Darwin)
|
34
|
+
minikube_os = darwin
|
35
|
+
tilt_os = mac
|
36
|
+
else
|
37
|
+
minikube_os = linux
|
38
|
+
tilt_os = linux
|
39
|
+
endif
|
40
|
+
|
41
|
+
ifeq ($(shell uname -m), x86_64)
|
42
|
+
arch = amd64
|
43
|
+
tilt_arch = x86_64
|
44
|
+
else
|
45
|
+
arch = arm64
|
46
|
+
tilt_arch = arm64
|
47
|
+
endif
|
48
|
+
|
49
|
+
# TODO: Move scripts to a folder
|
50
|
+
|
51
|
+
install-helm:
|
52
|
+
@if ! command -v helm >/dev/null 2>&1; then \
|
53
|
+
echo "📥 Installing Helm $(HELM_VERSION) (may require sudo access)..."; \
|
54
|
+
curl -fsSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | HELM_INSTALL_VERSION=$(HELM_VERSION) bash; \
|
55
|
+
echo "✅ Helm installation complete"; \
|
56
|
+
fi
|
57
|
+
|
58
|
+
check-docker:
|
59
|
+
@if ! command -v docker >/dev/null 2>&1; then \
|
60
|
+
echo "❌ Docker is not installed. Please install Docker first: https://docs.docker.com/get-docker/"; \
|
61
|
+
exit 1; \
|
62
|
+
fi
|
63
|
+
@echo "🔍 Checking Docker daemon..."
|
64
|
+
@if [ "$(shell uname)" = "Darwin" ]; then \
|
65
|
+
open -a Docker || (echo "❌ Please start Docker Desktop" && exit 1); \
|
66
|
+
else \
|
67
|
+
systemctl is-active --quiet docker || (echo "❌ Docker daemon is not running. Start with 'sudo systemctl start docker'" && exit 1); \
|
68
|
+
fi
|
69
|
+
@echo "✅ Docker is running"
|
70
|
+
|
71
|
+
install-brew:
|
72
|
+
@if [ "$(shell uname)" = "Darwin" ] && ! command -v brew >/dev/null 2>&1; then \
|
73
|
+
echo "📥 Installing Homebrew..."; \
|
74
|
+
/bin/bash -c "$$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"; \
|
75
|
+
echo "✅ Homebrew installation complete"; \
|
76
|
+
fi
|
77
|
+
|
78
|
+
install-curl:
|
79
|
+
@if ! command -v curl >/dev/null 2>&1; then \
|
80
|
+
echo "📥 Installing curl..."; \
|
81
|
+
if [ "$(shell uname)" = "Darwin" ]; then \
|
82
|
+
HOMEBREW_NO_AUTO_UPDATE=1 brew install curl; \
|
83
|
+
elif command -v apt-get >/dev/null 2>&1; then \
|
84
|
+
sudo apt-get update && sudo apt-get install -y curl; \
|
85
|
+
elif command -v yum >/dev/null 2>&1; then \
|
86
|
+
sudo yum install -y curl; \
|
87
|
+
elif command -v dnf >/dev/null 2>&1; then \
|
88
|
+
sudo dnf install -y curl; \
|
89
|
+
else \
|
90
|
+
echo "❌ Could not install curl. Please install manually."; \
|
91
|
+
exit 1; \
|
92
|
+
fi; \
|
93
|
+
echo "✅ curl installation complete"; \
|
94
|
+
fi
|
95
|
+
|
96
|
+
install-gum:
|
97
|
+
@echo "🔍 Checking if gum is installed..."
|
98
|
+
@if ! command -v gum >/dev/null 2>&1; then \
|
99
|
+
echo "📥 Installing gum..."; \
|
100
|
+
if [ "$(shell uname)" = "Darwin" ]; then \
|
101
|
+
HOMEBREW_NO_AUTO_UPDATE=1 brew install gum; \
|
102
|
+
elif command -v apt-get >/dev/null 2>&1; then \
|
103
|
+
curl -fsSL -o /tmp/gum.deb \
|
104
|
+
"https://github.com/charmbracelet/gum/releases/download/$(GUM_VERSION)/gum_$(GUM_VERSION:v%=%)_$(arch).deb"; \
|
105
|
+
sudo apt-get update -qq; \
|
106
|
+
sudo apt-get install -y /tmp/gum.deb || sudo dpkg -i /tmp/gum.deb; \
|
107
|
+
rm -f /tmp/gum.deb; \
|
108
|
+
else \
|
109
|
+
echo "❌ Could not determine how to install gum for your platform. Please install manually."; \
|
110
|
+
exit 1; \
|
111
|
+
fi; \
|
112
|
+
echo "✅ gum installation complete"; \
|
113
|
+
else \
|
114
|
+
echo "✅ gum is already installed."; \
|
115
|
+
fi
|
116
|
+
|
117
|
+
setup-minikube:
|
118
|
+
@if [ ! -f "$(MINIKUBE)" ]; then \
|
119
|
+
echo "📥 Installing Minikube $(MINIKUBE_VERSION)"; \
|
120
|
+
mkdir -p $(MINIKUBE_DIR); \
|
121
|
+
curl -L --fail https://github.com/kubernetes/minikube/releases/download/$(MINIKUBE_VERSION)/minikube-$(minikube_os)-$(arch) -o $(MINIKUBE) || (echo "❌ Failed to download minikube" && exit 1); \
|
122
|
+
chmod +x $(MINIKUBE); \
|
123
|
+
echo "✅ Minikube $(MINIKUBE_VERSION) installed successfully"; \
|
124
|
+
fi
|
125
|
+
@echo "🔧 Setting up Minikube $(MINIKUBE_VERSION) cluster..."
|
126
|
+
@if ! $(MINIKUBE) status >/dev/null 2>&1; then \
|
127
|
+
echo "🚀 Starting new Minikube $(MINIKUBE_VERSION) cluster..."; \
|
128
|
+
$(MINIKUBE) start \
|
129
|
+
--cpus $(MINIKUBE_CPUS) \
|
130
|
+
--memory $(MINIKUBE_MEMORY) \
|
131
|
+
--disk-size $(MINIKUBE_DISK_SIZE) \
|
132
|
+
--driver docker; \
|
133
|
+
echo "🔌 Enabling metrics-server and dashboard (quietly)..."; \
|
134
|
+
$(MINIKUBE) addons enable metrics-server >/dev/null 2>&1; \
|
135
|
+
$(MINIKUBE) addons enable dashboard >/dev/null 2>&1; \
|
136
|
+
else \
|
137
|
+
echo "✅ Minikube $(MINIKUBE_VERSION) cluster is already running"; \
|
138
|
+
fi
|
139
|
+
@echo "🎉 Minikube $(MINIKUBE_VERSION) cluster is ready!"
|
140
|
+
|
141
|
+
setup-tilt:
|
142
|
+
@if [ ! -f "$(TILT)" ]; then \
|
143
|
+
echo "📥 Installing Tilt $(TILT_VERSION)"; \
|
144
|
+
mkdir -p $(TILT_DIR); \
|
145
|
+
(curl -L https://github.com/tilt-dev/tilt/releases/download/$(TILT_VERSION)/tilt.$(TILT_VERSION:v%=%).$(tilt_os).$(tilt_arch).tar.gz | tar -xz -C $(TILT_DIR)) && echo "✅ Tilt $(TILT_VERSION) installed successfully" || (echo "❌ Failed to install Tilt" && exit 1); \
|
146
|
+
fi
|
147
|
+
|
148
|
+
tunnel:
|
149
|
+
$(MINIKUBE) tunnel
|
150
|
+
|
151
|
+
teardown-minikube:
|
152
|
+
@echo "🛑 Stopping Minikube $(MINIKUBE_VERSION) cluster..."
|
153
|
+
-$(MINIKUBE) stop
|
154
|
+
@echo "🗑️ Deleting Minikube $(MINIKUBE_VERSION) cluster..."
|
155
|
+
-$(MINIKUBE) delete --all
|
156
|
+
@echo "🧹 Removing Minikube binary..."
|
157
|
+
-rm -rf $(MINIKUBE_DIR)
|
158
|
+
@echo "✅ Minikube $(MINIKUBE_VERSION) teardown complete"
|
159
|
+
|
160
|
+
dashboard:
|
161
|
+
@echo "🔗 Opening Minikube Dashboard..."
|
162
|
+
@$(MINIKUBE) dashboard
|
163
|
+
|
164
|
+
# make shell is symlinked to metaflow-dev shell by metaflow
|
165
|
+
up: install-brew check-docker install-curl install-gum setup-minikube install-helm setup-tilt
|
166
|
+
@echo "🚀 Starting up (may require sudo access)..."
|
167
|
+
@mkdir -p $(DEVTOOLS_DIR)
|
168
|
+
@echo '#!/bin/bash' > $(DEVTOOLS_DIR)/start.sh
|
169
|
+
@echo 'set -e' >> $(DEVTOOLS_DIR)/start.sh
|
170
|
+
@echo 'trap "exit" INT TERM' >> $(DEVTOOLS_DIR)/start.sh
|
171
|
+
@echo 'trap "kill 0" EXIT' >> $(DEVTOOLS_DIR)/start.sh
|
172
|
+
@echo 'eval $$($(MINIKUBE) docker-env)' >> $(DEVTOOLS_DIR)/start.sh
|
173
|
+
|
174
|
+
@echo 'if [ -n "$$SERVICES_OVERRIDE" ]; then' >> "$(DEVTOOLS_DIR)/start.sh"
|
175
|
+
@echo ' echo "🌐 Using user-provided list of services: $$SERVICES_OVERRIDE"' >> "$(DEVTOOLS_DIR)/start.sh"
|
176
|
+
@echo ' SERVICES="$$SERVICES_OVERRIDE"' >> "$(DEVTOOLS_DIR)/start.sh"
|
177
|
+
@echo 'else' >> "$(DEVTOOLS_DIR)/start.sh"
|
178
|
+
@echo ' echo "📝 Selecting services..."' >> "$(DEVTOOLS_DIR)/start.sh"
|
179
|
+
@echo ' SERVICES=$$($(PICK_SERVICES))' >> "$(DEVTOOLS_DIR)/start.sh"
|
180
|
+
@echo 'fi' >> "$(DEVTOOLS_DIR)/start.sh"
|
181
|
+
@echo 'PATH="$(MINIKUBE_DIR):$(TILT_DIR):$$PATH" $(MINIKUBE) tunnel &' >> $(DEVTOOLS_DIR)/start.sh
|
182
|
+
@echo 'echo -e "🚀 Starting Tilt with selected services..."' >> $(DEVTOOLS_DIR)/start.sh
|
183
|
+
@echo 'echo -e "\033[1;38;5;46m\n🔥 \033[1;38;5;196mNext Steps:\033[0;38;5;46m Use \033[3mmetaflow-dev shell\033[23m to switch to the development\n environment'\''s shell and start executing your Metaflow flows.\n\033[0m"' >> "$(DEVTOOLS_DIR)/start.sh"
|
184
|
+
@echo 'PATH="$(MINIKUBE_DIR):$(TILT_DIR):$$PATH" SERVICES="$$SERVICES" tilt up -f $(TILTFILE)' >> $(DEVTOOLS_DIR)/start.sh
|
185
|
+
@echo 'wait' >> $(DEVTOOLS_DIR)/start.sh
|
186
|
+
@chmod +x $(DEVTOOLS_DIR)/start.sh
|
187
|
+
@$(DEVTOOLS_DIR)/start.sh
|
188
|
+
|
189
|
+
down:
|
190
|
+
@echo "🛑 Stopping all services..."
|
191
|
+
@-pkill -f "$(MINIKUBE) tunnel" 2>/dev/null || true
|
192
|
+
@echo "⏹️ Stopping Tilt..."
|
193
|
+
-PATH="$(MINIKUBE_DIR):$(TILT_DIR):$$PATH" tilt down -f $(TILTFILE)
|
194
|
+
@echo "🧹 Cleaning up Minikube..."
|
195
|
+
$(MAKE_CMD) teardown-minikube
|
196
|
+
@echo "🗑️ Removing Tilt binary and directory..."
|
197
|
+
-rm -rf $(TILT_DIR)
|
198
|
+
@echo "🧹 Removing temporary scripts..."
|
199
|
+
-rm -rf $(DEVTOOLS_DIR)
|
200
|
+
@echo "✨ All done!"
|
201
|
+
|
202
|
+
shell: setup-tilt
|
203
|
+
@echo "⏳ Checking if development environment is up..."
|
204
|
+
@set -e; \
|
205
|
+
for i in $$(seq 1 90); do \
|
206
|
+
if "$(TILT)" get session >/dev/null 2>&1; then \
|
207
|
+
found_session=1; \
|
208
|
+
break; \
|
209
|
+
else \
|
210
|
+
sleep 2; \
|
211
|
+
fi; \
|
212
|
+
done; \
|
213
|
+
if [ -z "$${found_session}" ]; then \
|
214
|
+
echo "❌ Development environment is not up."; \
|
215
|
+
echo " Please run 'metaflow-dev up' in another terminal, then re-run 'metaflow-dev shell'."; \
|
216
|
+
exit 1; \
|
217
|
+
fi
|
218
|
+
@echo "⏳ Waiting for development environment to be ready..."
|
219
|
+
@while true; do \
|
220
|
+
"$(TILT)" get uiresource generate-configs >/dev/null 2>&1; \
|
221
|
+
status=$$?; \
|
222
|
+
if [ $$status -eq 0 ]; then \
|
223
|
+
"$(TILT)" wait --for=condition=Ready uiresource/generate-configs; \
|
224
|
+
break; \
|
225
|
+
elif [ $$status -eq 127 ]; then \
|
226
|
+
echo "❌ Development environment is not up."; \
|
227
|
+
echo " Please run 'metaflow-dev up' in another terminal, then re-run 'metaflow-dev shell'."; \
|
228
|
+
exit 1; \
|
229
|
+
else \
|
230
|
+
sleep 1; \
|
231
|
+
fi; \
|
232
|
+
done
|
233
|
+
@echo "🔧 Starting a new shell for development environment..."
|
234
|
+
@bash -c '\
|
235
|
+
if [ -n "$$SHELL" ]; then \
|
236
|
+
user_shell="$$SHELL"; \
|
237
|
+
else \
|
238
|
+
user_shell="$(SHELL)"; \
|
239
|
+
fi; \
|
240
|
+
echo "🔎 Using $$user_shell for interactive session."; \
|
241
|
+
echo "🐍 If you installed Metaflow in a virtual environment, activate it now."; \
|
242
|
+
if [ -f "$(DEVTOOLS_DIR)/aws_config" ]; then \
|
243
|
+
env METAFLOW_HOME="$(DEVTOOLS_DIR)" \
|
244
|
+
METAFLOW_PROFILE=local \
|
245
|
+
AWS_CONFIG_FILE="$(DEVTOOLS_DIR)/aws_config" \
|
246
|
+
"$$user_shell" -i; \
|
247
|
+
else \
|
248
|
+
env METAFLOW_HOME="$(DEVTOOLS_DIR)" \
|
249
|
+
METAFLOW_PROFILE=local \
|
250
|
+
"$$user_shell" -i; \
|
251
|
+
fi'
|
252
|
+
|
253
|
+
# TODO: This can be done away with in a while since we now have metaflow-dev command.
|
254
|
+
#
|
255
|
+
# @echo '$(MAKE_CMD) create-dev-shell' >> $(DEVTOOLS_DIR)/start.sh
|
256
|
+
# @echo 'rm -f /tmp/metaflow-devshell-*' >> $(DEVTOOLS_DIR)/start.sh
|
257
|
+
create-dev-shell: setup-tilt
|
258
|
+
@bash -c '\
|
259
|
+
SHELL_PATH=/tmp/metaflow-dev-shell-$$$$ && \
|
260
|
+
echo "#!/bin/bash" > $$SHELL_PATH && \
|
261
|
+
echo "set -e" >> $$SHELL_PATH && \
|
262
|
+
echo "" >> $$SHELL_PATH && \
|
263
|
+
echo "echo \"⏳ Checking if development environment is up...\"" >> $$SHELL_PATH && \
|
264
|
+
echo "if ! $(TILT) get session >/dev/null 2>&1; then" >> $$SHELL_PATH && \
|
265
|
+
echo " echo \"❌ Development environment is not up.\"" >> $$SHELL_PATH && \
|
266
|
+
echo " echo \" Please run '\''make up'\'' in another terminal, then re-run this script.\"" >> $$SHELL_PATH && \
|
267
|
+
echo " exit 1" >> $$SHELL_PATH && \
|
268
|
+
echo "fi" >> $$SHELL_PATH && \
|
269
|
+
echo "" >> $$SHELL_PATH && \
|
270
|
+
echo "echo \"⏳ Waiting for development environment to be ready...\"" >> $$SHELL_PATH && \
|
271
|
+
echo "$(TILT) wait --for=condition=Ready uiresource/generate-configs" >> $$SHELL_PATH && \
|
272
|
+
echo "" >> $$SHELL_PATH && \
|
273
|
+
echo "echo \"🔧 Starting a new shell for development environment...\"" >> $$SHELL_PATH && \
|
274
|
+
echo "if [ -n \"\$$SHELL\" ]; then" >> $$SHELL_PATH && \
|
275
|
+
echo " user_shell=\"\$$SHELL\"" >> $$SHELL_PATH && \
|
276
|
+
echo "else" >> $$SHELL_PATH && \
|
277
|
+
echo " user_shell=\"$(SHELL)\"" >> $$SHELL_PATH && \
|
278
|
+
echo "fi" >> $$SHELL_PATH && \
|
279
|
+
echo "echo \"🔎 Using \$$user_shell for interactive session.\"" >> $$SHELL_PATH && \
|
280
|
+
echo "echo \"🐍 If you installed Metaflow in a virtual environment, activate it now.\"" >> $$SHELL_PATH && \
|
281
|
+
echo "if [ -f \"$(DEVTOOLS_DIR)/aws_config\" ]; then" >> $$SHELL_PATH && \
|
282
|
+
echo " env METAFLOW_HOME=\"$(DEVTOOLS_DIR)\" \\" >> $$SHELL_PATH && \
|
283
|
+
echo " METAFLOW_PROFILE=local \\" >> $$SHELL_PATH && \
|
284
|
+
echo " AWS_CONFIG_FILE=\"$(DEVTOOLS_DIR)/aws_config\" \\" >> $$SHELL_PATH && \
|
285
|
+
echo " \"\$$user_shell\" -i" >> $$SHELL_PATH && \
|
286
|
+
echo "else" >> $$SHELL_PATH && \
|
287
|
+
echo " env METAFLOW_HOME=\"$(DEVTOOLS_DIR)\" \\" >> $$SHELL_PATH && \
|
288
|
+
echo " METAFLOW_PROFILE=local \\" >> $$SHELL_PATH && \
|
289
|
+
echo " \"\$$user_shell\" -i" >> $$SHELL_PATH && \
|
290
|
+
echo "fi" >> $$SHELL_PATH && \
|
291
|
+
chmod +x $$SHELL_PATH && \
|
292
|
+
echo "✨ Created $$SHELL_PATH" && \
|
293
|
+
echo "🔑 Execute it from ANY directory to switch to development environment shell!" \
|
294
|
+
'
|
295
|
+
|
296
|
+
ui: setup-tilt
|
297
|
+
@echo "⏳ Checking if the development environment is up..."
|
298
|
+
@if ! $(TILT) get session >/dev/null 2>&1; then \
|
299
|
+
echo "❌ Development environment is not up."; \
|
300
|
+
echo " Please run 'metaflow-dev up' in another terminal, then re-run 'metaflow-dev ui'."; \
|
301
|
+
exit 1; \
|
302
|
+
fi
|
303
|
+
@echo "⏳ Waiting for Metaflow UI to be ready..."
|
304
|
+
@while true; do \
|
305
|
+
"$(TILT)" get uiresource metaflow-ui >/dev/null 2>&1; \
|
306
|
+
status=$$?; \
|
307
|
+
if [ $$status -eq 0 ]; then \
|
308
|
+
"$(TILT)" wait --for=condition=Ready uiresource/metaflow-ui; \
|
309
|
+
break; \
|
310
|
+
elif [ $$status -eq 127 ]; then \
|
311
|
+
echo "❌ Development environment is not up."; \
|
312
|
+
echo " Please run 'metaflow-dev up' in another terminal, then re-run 'metaflow-dev shell'."; \
|
313
|
+
exit 1; \
|
314
|
+
else \
|
315
|
+
sleep 1; \
|
316
|
+
fi; \
|
317
|
+
done
|
318
|
+
@echo "🔗 Opening Metaflow UI at http://localhost:3000"
|
319
|
+
@open http://localhost:3000
|
320
|
+
|
321
|
+
.PHONY: install-helm setup-minikube setup-tilt teardown-minikube tunnel up down check-docker install-curl install-gum install-brew up down dashboard shell ui help
|
322
|
+
|
323
|
+
.DEFAULT_GOAL := up
|