ob-metaflow 2.10.7.3__tar.gz → 2.10.9.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.
Potentially problematic release.
This version of ob-metaflow might be problematic. Click here for more details.
- {ob-metaflow-2.10.7.3/ob_metaflow.egg-info → ob-metaflow-2.10.9.1}/PKG-INFO +1 -1
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/cards.py +2 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/decorators.py +1 -1
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/metaflow_config.py +2 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/__init__.py +4 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/airflow/airflow_cli.py +1 -1
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/argo/argo_workflows_cli.py +1 -1
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/aws_utils.py +1 -1
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/batch/batch.py +4 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/batch/batch_cli.py +3 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/batch/batch_client.py +40 -11
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/batch/batch_decorator.py +1 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/step_functions/step_functions.py +1 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/step_functions/step_functions_cli.py +1 -1
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/azure/azure_exceptions.py +1 -1
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/cards/card_cli.py +413 -28
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/cards/card_client.py +16 -7
- ob-metaflow-2.10.9.1/metaflow/plugins/cards/card_creator.py +228 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/cards/card_datastore.py +124 -26
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/cards/card_decorator.py +40 -86
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/cards/card_modules/base.html +12 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/cards/card_modules/basic.py +74 -8
- ob-metaflow-2.10.9.1/metaflow/plugins/cards/card_modules/bundle.css +1 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/cards/card_modules/card.py +65 -0
- ob-metaflow-2.10.9.1/metaflow/plugins/cards/card_modules/components.py +807 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/cards/card_modules/convert_to_native_type.py +9 -3
- ob-metaflow-2.10.9.1/metaflow/plugins/cards/card_modules/main.js +250 -0
- ob-metaflow-2.10.9.1/metaflow/plugins/cards/card_modules/test_cards.py +217 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/cards/card_resolver.py +0 -2
- ob-metaflow-2.10.9.1/metaflow/plugins/cards/card_server.py +361 -0
- ob-metaflow-2.10.9.1/metaflow/plugins/cards/component_serializer.py +865 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/cards/exception.py +20 -1
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/datastores/azure_storage.py +1 -2
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/datastores/gs_storage.py +1 -2
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/datastores/s3_storage.py +2 -1
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/datatools/s3/s3.py +24 -11
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/client.py +2 -12
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/client_modules.py +18 -14
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/server.py +18 -11
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/utils.py +12 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/gcp/gs_exceptions.py +1 -1
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/gcp/gs_utils.py +1 -1
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/pypi/conda_environment.py +5 -6
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/pypi/pip.py +2 -2
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/pypi/utils.py +15 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/task.py +1 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tracing/span_exporter.py +2 -2
- ob-metaflow-2.10.9.1/metaflow/version.py +1 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1/ob_metaflow.egg-info}/PKG-INFO +1 -1
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/ob_metaflow.egg-info/SOURCES.txt +2 -0
- ob-metaflow-2.10.7.3/metaflow/plugins/cards/card_modules/bundle.css +0 -170
- ob-metaflow-2.10.7.3/metaflow/plugins/cards/card_modules/components.py +0 -442
- ob-metaflow-2.10.7.3/metaflow/plugins/cards/card_modules/main.js +0 -21
- ob-metaflow-2.10.7.3/metaflow/plugins/cards/card_modules/test_cards.py +0 -100
- ob-metaflow-2.10.7.3/metaflow/plugins/cards/component_serializer.py +0 -401
- ob-metaflow-2.10.7.3/metaflow/version.py +0 -1
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/LICENSE +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/MANIFEST.in +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/README.md +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/R.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/click/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/click/_bashcomplete.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/click/_compat.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/click/_termui_impl.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/click/_textwrap.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/click/_unicodefun.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/click/_winconsole.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/click/core.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/click/decorators.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/click/exceptions.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/click/formatting.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/click/globals.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/click/parser.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/click/termui.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/click/testing.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/click/types.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/click/utils.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/packaging/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/packaging/_elffile.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/packaging/_manylinux.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/packaging/_musllinux.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/packaging/_parser.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/packaging/_structures.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/packaging/_tokenizer.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/packaging/markers.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/packaging/py.typed +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/packaging/requirements.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/packaging/specifiers.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/packaging/tags.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/packaging/utils.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/packaging/version.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/v3_5/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/v3_5/importlib_metadata/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/v3_5/importlib_metadata/_compat.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/v3_5/zipp.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/v3_6/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/v3_6/importlib_metadata/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/v3_6/importlib_metadata/_adapters.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/v3_6/importlib_metadata/_collections.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/v3_6/importlib_metadata/_compat.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/v3_6/importlib_metadata/_functools.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/v3_6/importlib_metadata/_itertools.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/v3_6/importlib_metadata/_meta.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/v3_6/importlib_metadata/_text.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/v3_6/importlib_metadata/py.typed +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/v3_6/typing_extensions.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/v3_6/zipp.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/v3_7/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/v3_7/zipp.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/cli.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/cli_args.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/client/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/client/core.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/client/filecache.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/cmd/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/cmd/configure_cmd.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/cmd/main_cli.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/cmd/tutorials_cmd.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/cmd/util.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/cmd_with_io.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/current.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/datastore/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/datastore/content_addressed_store.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/datastore/datastore_set.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/datastore/datastore_storage.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/datastore/exceptions.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/datastore/flow_datastore.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/datastore/inputs.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/datastore/task_datastore.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/debug.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/event_logger.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/events.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/exception.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/extension_support/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/extension_support/_empty_file.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/extension_support/cmd.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/extension_support/integrations.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/extension_support/plugins.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/flowspec.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/graph.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/includefile.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/integrations.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/lint.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/metadata/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/metadata/heartbeat.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/metadata/metadata.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/metadata/util.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/metaflow_config_funcs.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/metaflow_environment.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/metaflow_profile.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/metaflow_version.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/mflog/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/mflog/mflog.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/mflog/save_logs.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/mflog/save_logs_periodically.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/mflog/tee.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/monitor.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/multicore_utils.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/package.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/parameters.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/airflow/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/airflow/airflow.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/airflow/airflow_decorator.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/airflow/airflow_utils.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/airflow/dag.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/airflow/exception.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/airflow/plumbing/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/airflow/plumbing/set_parameters.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/airflow/sensors/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/airflow/sensors/base_sensor.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/airflow/sensors/external_task_sensor.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/airflow/sensors/s3_sensor.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/argo/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/argo/argo_client.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/argo/argo_events.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/argo/argo_workflows.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/argo/argo_workflows_decorator.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/argo/process_input_paths.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/aws_client.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/batch/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/secrets_manager/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/secrets_manager/aws_secrets_manager_secrets_provider.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/step_functions/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/step_functions/dynamo_db_client.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/step_functions/event_bridge_client.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/step_functions/production_token.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/step_functions/schedule_decorator.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/step_functions/set_batch_environment.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/step_functions/step_functions_client.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/step_functions/step_functions_decorator.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/azure/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/azure/azure_credential.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/azure/azure_tail.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/azure/azure_utils.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/azure/blob_service_client_factory.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/azure/includefile_support.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/cards/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/cards/card_modules/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/cards/card_modules/chevron/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/cards/card_modules/chevron/main.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/cards/card_modules/chevron/metadata.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/cards/card_modules/chevron/renderer.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/cards/card_modules/chevron/tokenizer.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/cards/card_modules/renderer_tools.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/catch_decorator.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/datastores/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/datastores/local_storage.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/datatools/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/datatools/local.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/datatools/s3/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/datatools/s3/s3op.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/datatools/s3/s3tail.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/datatools/s3/s3util.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/debug_logger.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/debug_monitor.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/communication/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/communication/bytestream.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/communication/channel.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/communication/socket_bytestream.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/communication/utils.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/configurations/emulate_test_lib/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/configurations/emulate_test_lib/overrides.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/configurations/emulate_test_lib/server_mappings.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/configurations/test_lib_impl/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/configurations/test_lib_impl/test_lib.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/consts.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/data_transferer.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/exception_transferer.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/override_decorators.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/stub.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/environment_decorator.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/events_decorator.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/frameworks/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/frameworks/pytorch.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/gcp/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/gcp/gs_storage_client_factory.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/gcp/gs_tail.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/gcp/includefile_support.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/kubernetes/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/kubernetes/kubernetes.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/kubernetes/kubernetes_cli.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/kubernetes/kubernetes_client.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/kubernetes/kubernetes_decorator.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/kubernetes/kubernetes_job.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/metadata/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/metadata/local.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/metadata/service.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/package_cli.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/parallel_decorator.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/project_decorator.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/pypi/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/pypi/bootstrap.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/pypi/conda_decorator.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/pypi/micromamba.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/pypi/pypi_decorator.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/pypi/pypi_environment.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/resources_decorator.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/retry_decorator.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/secrets/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/secrets/inline_secrets_provider.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/secrets/secrets_decorator.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/storage_executor.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/tag_cli.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/test_unbounded_foreach_decorator.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/timeout_decorator.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/procpoll.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/py.typed +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/pylint_wrapper.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/runtime.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/sidecar/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/sidecar/sidecar.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/sidecar/sidecar_messages.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/sidecar/sidecar_subprocess.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/sidecar/sidecar_worker.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tagging_util.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tracing/__init__.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tracing/propagator.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tracing/tracing_modules.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/00-helloworld/README.md +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/00-helloworld/helloworld.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/01-playlist/README.md +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/01-playlist/movies.csv +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/01-playlist/playlist.ipynb +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/01-playlist/playlist.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/02-statistics/README.md +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/02-statistics/movies.csv +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/02-statistics/stats.ipynb +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/02-statistics/stats.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/03-playlist-redux/README.md +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/03-playlist-redux/playlist.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/04-playlist-plus/README.md +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/04-playlist-plus/playlist.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/05-hello-cloud/README.md +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/05-hello-cloud/hello-cloud.ipynb +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/05-hello-cloud/hello-cloud.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/06-statistics-redux/README.md +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/06-statistics-redux/stats.ipynb +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/07-worldview/README.md +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/07-worldview/worldview.ipynb +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/08-autopilot/README.md +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/08-autopilot/autopilot.ipynb +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/unbounded_foreach.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/util.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/vendor.py +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/ob_metaflow.egg-info/dependency_links.txt +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/ob_metaflow.egg-info/entry_points.txt +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/ob_metaflow.egg-info/requires.txt +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/ob_metaflow.egg-info/top_level.txt +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/setup.cfg +0 -0
- {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/setup.py +0 -0
|
@@ -129,7 +129,7 @@ class Decorator(object):
|
|
|
129
129
|
|
|
130
130
|
attrs = {}
|
|
131
131
|
# TODO: Do we really want to allow spaces in the names of attributes?!?
|
|
132
|
-
for a in re.split(""",(?=[\s\w]+=)""", deco_spec):
|
|
132
|
+
for a in re.split(r""",(?=[\s\w]+=)""", deco_spec):
|
|
133
133
|
name, val = a.split("=", 1)
|
|
134
134
|
try:
|
|
135
135
|
val_parsed = json.loads(val.strip().replace('\\"', '"'))
|
|
@@ -165,6 +165,8 @@ CARD_NO_WARNING = from_conf("CARD_NO_WARNING", False)
|
|
|
165
165
|
|
|
166
166
|
SKIP_CARD_DUALWRITE = from_conf("SKIP_CARD_DUALWRITE", False)
|
|
167
167
|
|
|
168
|
+
RUNTIME_CARD_RENDER_INTERVAL = from_conf("RUNTIME_CARD_RENDER_INTERVAL", 60)
|
|
169
|
+
|
|
168
170
|
# Azure storage account URL
|
|
169
171
|
AZURE_STORAGE_BLOB_SERVICE_ENDPOINT = from_conf("AZURE_STORAGE_BLOB_SERVICE_ENDPOINT")
|
|
170
172
|
|
|
@@ -172,6 +172,8 @@ from .cards.card_modules.test_cards import (
|
|
|
172
172
|
TestNonEditableCard,
|
|
173
173
|
TestPathSpecCard,
|
|
174
174
|
TestTimeoutCard,
|
|
175
|
+
TestRefreshCard,
|
|
176
|
+
TestRefreshComponentCard,
|
|
175
177
|
)
|
|
176
178
|
|
|
177
179
|
CARDS = [
|
|
@@ -188,5 +190,7 @@ CARDS = [
|
|
|
188
190
|
TestNonEditableCard,
|
|
189
191
|
BlankCard,
|
|
190
192
|
DefaultCardJSON,
|
|
193
|
+
TestRefreshCard,
|
|
194
|
+
TestRefreshComponentCard,
|
|
191
195
|
]
|
|
192
196
|
merge_lists(CARDS, MF_EXTERNAL_CARDS, "type")
|
|
@@ -29,7 +29,7 @@ from metaflow.util import get_username, to_bytes, to_unicode, version_parse
|
|
|
29
29
|
|
|
30
30
|
from .argo_workflows import ArgoWorkflows
|
|
31
31
|
|
|
32
|
-
VALID_NAME = re.compile("^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$")
|
|
32
|
+
VALID_NAME = re.compile(r"^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$")
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
class IncorrectProductionToken(MetaflowException):
|
|
@@ -185,6 +185,7 @@ class Batch(object):
|
|
|
185
185
|
env={},
|
|
186
186
|
attrs={},
|
|
187
187
|
host_volumes=None,
|
|
188
|
+
efs_volumes=None,
|
|
188
189
|
use_tmpfs=None,
|
|
189
190
|
tmpfs_tempdir=None,
|
|
190
191
|
tmpfs_size=None,
|
|
@@ -232,6 +233,7 @@ class Batch(object):
|
|
|
232
233
|
efa,
|
|
233
234
|
memory=memory,
|
|
234
235
|
host_volumes=host_volumes,
|
|
236
|
+
efs_volumes=efs_volumes,
|
|
235
237
|
use_tmpfs=use_tmpfs,
|
|
236
238
|
tmpfs_tempdir=tmpfs_tempdir,
|
|
237
239
|
tmpfs_size=tmpfs_size,
|
|
@@ -341,6 +343,7 @@ class Batch(object):
|
|
|
341
343
|
inferentia=None,
|
|
342
344
|
efa=None,
|
|
343
345
|
host_volumes=None,
|
|
346
|
+
efs_volumes=None,
|
|
344
347
|
use_tmpfs=None,
|
|
345
348
|
tmpfs_tempdir=None,
|
|
346
349
|
tmpfs_size=None,
|
|
@@ -379,6 +382,7 @@ class Batch(object):
|
|
|
379
382
|
env=env,
|
|
380
383
|
attrs=attrs,
|
|
381
384
|
host_volumes=host_volumes,
|
|
385
|
+
efs_volumes=efs_volumes,
|
|
382
386
|
use_tmpfs=use_tmpfs,
|
|
383
387
|
tmpfs_tempdir=tmpfs_tempdir,
|
|
384
388
|
tmpfs_size=tmpfs_size,
|
|
@@ -153,6 +153,7 @@ def kill(ctx, run_id, user, my_runs):
|
|
|
153
153
|
# TODO: Maybe remove it altogether since it's not used here
|
|
154
154
|
@click.option("--ubf-context", default=None, type=click.Choice([None, "ubf_control"]))
|
|
155
155
|
@click.option("--host-volumes", multiple=True)
|
|
156
|
+
@click.option("--efs-volumes", multiple=True)
|
|
156
157
|
@click.option(
|
|
157
158
|
"--num-parallel",
|
|
158
159
|
default=0,
|
|
@@ -184,6 +185,7 @@ def step(
|
|
|
184
185
|
tmpfs_size=None,
|
|
185
186
|
tmpfs_path=None,
|
|
186
187
|
host_volumes=None,
|
|
188
|
+
efs_volumes=None,
|
|
187
189
|
num_parallel=None,
|
|
188
190
|
**kwargs
|
|
189
191
|
):
|
|
@@ -310,6 +312,7 @@ def step(
|
|
|
310
312
|
env=env,
|
|
311
313
|
attrs=attrs,
|
|
312
314
|
host_volumes=host_volumes,
|
|
315
|
+
efs_volumes=efs_volumes,
|
|
313
316
|
use_tmpfs=use_tmpfs,
|
|
314
317
|
tmpfs_tempdir=tmpfs_tempdir,
|
|
315
318
|
tmpfs_size=tmpfs_size,
|
|
@@ -152,6 +152,7 @@ class BatchJob(object):
|
|
|
152
152
|
efa,
|
|
153
153
|
memory,
|
|
154
154
|
host_volumes,
|
|
155
|
+
efs_volumes,
|
|
155
156
|
use_tmpfs,
|
|
156
157
|
tmpfs_tempdir,
|
|
157
158
|
tmpfs_size,
|
|
@@ -274,19 +275,45 @@ class BatchJob(object):
|
|
|
274
275
|
}
|
|
275
276
|
)
|
|
276
277
|
|
|
277
|
-
if host_volumes:
|
|
278
|
+
if host_volumes or efs_volumes:
|
|
278
279
|
job_definition["containerProperties"]["volumes"] = []
|
|
279
280
|
job_definition["containerProperties"]["mountPoints"] = []
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
281
|
+
|
|
282
|
+
if host_volumes:
|
|
283
|
+
if isinstance(host_volumes, str):
|
|
284
|
+
host_volumes = [host_volumes]
|
|
285
|
+
for host_path in host_volumes:
|
|
286
|
+
container_path = host_path
|
|
287
|
+
if ":" in host_path:
|
|
288
|
+
host_path, container_path = host_path.split(":", 1)
|
|
289
|
+
name = host_path.replace("/", "_").replace(".", "_")
|
|
290
|
+
job_definition["containerProperties"]["volumes"].append(
|
|
291
|
+
{"name": name, "host": {"sourcePath": host_path}}
|
|
292
|
+
)
|
|
293
|
+
job_definition["containerProperties"]["mountPoints"].append(
|
|
294
|
+
{"sourceVolume": name, "containerPath": container_path}
|
|
295
|
+
)
|
|
296
|
+
|
|
297
|
+
if efs_volumes:
|
|
298
|
+
if isinstance(efs_volumes, str):
|
|
299
|
+
efs_volumes = [efs_volumes]
|
|
300
|
+
for efs_id in efs_volumes:
|
|
301
|
+
container_path = "/mnt/" + efs_id
|
|
302
|
+
if ":" in efs_id:
|
|
303
|
+
efs_id, container_path = efs_id.split(":", 1)
|
|
304
|
+
name = "efs_" + efs_id
|
|
305
|
+
job_definition["containerProperties"]["volumes"].append(
|
|
306
|
+
{
|
|
307
|
+
"name": name,
|
|
308
|
+
"efsVolumeConfiguration": {
|
|
309
|
+
"fileSystemId": efs_id,
|
|
310
|
+
"transitEncryption": "ENABLED",
|
|
311
|
+
},
|
|
312
|
+
}
|
|
313
|
+
)
|
|
314
|
+
job_definition["containerProperties"]["mountPoints"].append(
|
|
315
|
+
{"sourceVolume": name, "containerPath": container_path}
|
|
316
|
+
)
|
|
290
317
|
|
|
291
318
|
if use_tmpfs or (tmpfs_size and not use_tmpfs):
|
|
292
319
|
if tmpfs_size:
|
|
@@ -401,6 +428,7 @@ class BatchJob(object):
|
|
|
401
428
|
efa,
|
|
402
429
|
memory,
|
|
403
430
|
host_volumes,
|
|
431
|
+
efs_volumes,
|
|
404
432
|
use_tmpfs,
|
|
405
433
|
tmpfs_tempdir,
|
|
406
434
|
tmpfs_size,
|
|
@@ -419,6 +447,7 @@ class BatchJob(object):
|
|
|
419
447
|
efa,
|
|
420
448
|
memory,
|
|
421
449
|
host_volumes,
|
|
450
|
+
efs_volumes,
|
|
422
451
|
use_tmpfs,
|
|
423
452
|
tmpfs_tempdir,
|
|
424
453
|
tmpfs_size,
|
|
@@ -19,7 +19,7 @@ from metaflow.util import get_username, to_bytes, to_unicode, version_parse
|
|
|
19
19
|
from .step_functions import StepFunctions
|
|
20
20
|
from .production_token import load_token, store_token, new_token
|
|
21
21
|
|
|
22
|
-
VALID_NAME = re.compile("[^a-zA-Z0-9_\-\.]")
|
|
22
|
+
VALID_NAME = re.compile(r"[^a-zA-Z0-9_\-\.]")
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
class IncorrectProductionToken(MetaflowException):
|
|
@@ -10,4 +10,4 @@ class MetaflowAzureResourceError(MetaflowException):
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
class MetaflowAzurePackageError(MetaflowException):
|
|
13
|
-
headline = "Missing required packages azure-identity and azure-storage-blob"
|
|
13
|
+
headline = "Missing required packages 'azure-identity' and 'azure-storage-blob'"
|