ob-metaflow-extensions 1.4.5__tar.gz → 1.4.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of ob-metaflow-extensions might be problematic. Click here for more details.
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/PKG-INFO +1 -1
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/__init__.py +1 -1
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/capsule.py +33 -3
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/perimeters.py +1 -1
- ob_metaflow_extensions-1.4.6/metaflow_extensions/outerbounds/plugins/optuna/__init__.py +48 -0
- ob_metaflow_extensions-1.4.6/metaflow_extensions/outerbounds/toplevel/plugins/optuna/__init__.py +1 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/ob_metaflow_extensions.egg-info/PKG-INFO +1 -1
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/ob_metaflow_extensions.egg-info/SOURCES.txt +2 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/setup.py +1 -1
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/MANIFEST.in +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/README.md +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/__init__.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/config/__init__.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/__init__.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/app_cli.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/app_deploy_decorator.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/app_utils.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/consts.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/__init__.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/_state_machine.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/_vendor/__init__.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/_vendor/spinner/__init__.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/_vendor/spinner/spinners.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/app_cli.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/app_config.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/artifacts.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/click_importer.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/code_package/__init__.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/code_package/code_packager.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/code_package/examples.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/config/__init__.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/config/cli_generator.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/config/config_utils.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/config/schema_export.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/config/typed_configs.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/config/typed_init_generator.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/config/unified_config.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/config_schema.yaml +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/dependencies.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/deployer.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/experimental/__init__.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/secrets.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/utils.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/validations.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/deploy_decorator.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/supervisord_utils.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/auth_server.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/aws/__init__.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/aws/assume_role.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/aws/assume_role_decorator.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/card_utilities/__init__.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/card_utilities/async_cards.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/card_utilities/extra_components.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/card_utilities/injector.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/checkpoint_datastores/__init__.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/checkpoint_datastores/coreweave.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/checkpoint_datastores/external_chckpt.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/checkpoint_datastores/nebius.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/fast_bakery/__init__.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/fast_bakery/baker.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/fast_bakery/docker_environment.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/fast_bakery/fast_bakery.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/fast_bakery/fast_bakery_cli.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/fast_bakery/fast_bakery_decorator.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/kubernetes/__init__.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/kubernetes/kubernetes_client.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/kubernetes/pod_killer.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nim/card.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nim/nim_decorator.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nim/nim_manager.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nim/utils.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nvcf/__init__.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nvcf/constants.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nvcf/exceptions.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nvcf/heartbeat_store.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nvcf/nvcf.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nvcf/nvcf_cli.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nvcf/nvcf_decorator.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nvcf/utils.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nvct/__init__.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nvct/exceptions.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nvct/nvct.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nvct/nvct_cli.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nvct/nvct_decorator.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nvct/nvct_runner.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nvct/utils.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/ollama/__init__.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/ollama/constants.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/ollama/exceptions.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/ollama/ollama.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/ollama/status_card.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/perimeters.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/profilers/deco_injector.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/profilers/gpu_profile_decorator.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/profilers/simple_card_decorator.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/s3_proxy/__init__.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/s3_proxy/constants.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/s3_proxy/exceptions.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/s3_proxy/s3_proxy_api.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/s3_proxy/s3_proxy_decorator.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/s3_proxy/s3_proxy_manager.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/secrets/__init__.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/secrets/secrets.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/snowflake/__init__.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/snowflake/snowflake.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/snowpark/__init__.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/snowpark/snowpark.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/snowpark/snowpark_cli.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/snowpark/snowpark_client.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/snowpark/snowpark_decorator.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/snowpark/snowpark_exceptions.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/snowpark/snowpark_job.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/snowpark/snowpark_service_spec.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/tensorboard/__init__.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/torchtune/__init__.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/vllm/__init__.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/vllm/constants.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/vllm/exceptions.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/vllm/status_card.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/vllm/vllm_manager.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/profilers/__init__.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/profilers/gpu.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/remote_config.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/toplevel/__init__.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/toplevel/global_aliases_for_metaflow_package.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/toplevel/ob_internal.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/toplevel/plugins/azure/__init__.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/toplevel/plugins/gcp/__init__.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/toplevel/plugins/kubernetes/__init__.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/toplevel/plugins/ollama/__init__.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/toplevel/plugins/snowflake/__init__.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/toplevel/plugins/torchtune/__init__.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/toplevel/plugins/vllm/__init__.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/toplevel/s3_proxy.py +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/ob_metaflow_extensions.egg-info/dependency_links.txt +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/ob_metaflow_extensions.egg-info/requires.txt +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/ob_metaflow_extensions.egg-info/top_level.txt +0 -0
- {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/setup.cfg +0 -0
|
@@ -361,4 +361,4 @@ SECRETS_PROVIDERS_DESC = [
|
|
|
361
361
|
("outerbounds", ".secrets.secrets.OuterboundsSecretsProvider"),
|
|
362
362
|
]
|
|
363
363
|
# Adding an override here so the library can be imported at the metaflow.plugins level
|
|
364
|
-
__mf_promote_submodules__ = ["snowflake", "ollama", "torchtune"]
|
|
364
|
+
__mf_promote_submodules__ = ["snowflake", "ollama", "torchtune", "optuna"]
|
|
@@ -446,6 +446,34 @@ class CapsuleApi:
|
|
|
446
446
|
message="Capsule JSON decode failed",
|
|
447
447
|
)
|
|
448
448
|
|
|
449
|
+
def get_by_name(self, name: str, most_recent_only: bool = True):
|
|
450
|
+
_url = os.path.join(self._base_url, f"?displayName={name}")
|
|
451
|
+
response = self._wrapped_api_caller(
|
|
452
|
+
requests.get,
|
|
453
|
+
_url,
|
|
454
|
+
retryable_status_codes=[409], # todo : verify me
|
|
455
|
+
conn_error_retries=3,
|
|
456
|
+
)
|
|
457
|
+
try:
|
|
458
|
+
if most_recent_only:
|
|
459
|
+
result = response.json()
|
|
460
|
+
candidates = result["capsules"]
|
|
461
|
+
if not candidates:
|
|
462
|
+
return None
|
|
463
|
+
return sorted(
|
|
464
|
+
candidates, key=lambda x: x["metadata"]["createdAt"], reverse=True
|
|
465
|
+
)[0]
|
|
466
|
+
else:
|
|
467
|
+
return response.json()
|
|
468
|
+
except json.JSONDecodeError as e:
|
|
469
|
+
raise CapsuleApiException(
|
|
470
|
+
_url,
|
|
471
|
+
"get",
|
|
472
|
+
response.status_code,
|
|
473
|
+
response.text,
|
|
474
|
+
message="Capsule JSON decode failed",
|
|
475
|
+
)
|
|
476
|
+
|
|
449
477
|
def list(self):
|
|
450
478
|
response = self._wrapped_api_caller(
|
|
451
479
|
requests.get,
|
|
@@ -793,9 +821,11 @@ class CapsuleDeployer:
|
|
|
793
821
|
"💊 %s deployment status: %s "
|
|
794
822
|
% (
|
|
795
823
|
self.capsule_type.title(),
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
824
|
+
(
|
|
825
|
+
"in progress"
|
|
826
|
+
if state_machine.update_in_progress
|
|
827
|
+
else "completed"
|
|
828
|
+
),
|
|
799
829
|
)
|
|
800
830
|
)
|
|
801
831
|
_further_readiness_check_failed = False
|
|
@@ -40,7 +40,7 @@ class PerimeterExtractor:
|
|
|
40
40
|
return perimeter, api_server # type: ignore
|
|
41
41
|
|
|
42
42
|
@classmethod
|
|
43
|
-
def during_metaflow_execution(cls) -> str:
|
|
43
|
+
def during_metaflow_execution(cls) -> Union[Tuple[str, str], Tuple[None, None]]:
|
|
44
44
|
from metaflow.metaflow_config_funcs import init_config
|
|
45
45
|
|
|
46
46
|
clean_url = (
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import json
|
|
3
|
+
|
|
4
|
+
__mf_promote_submodules__ = ["plugins.optuna"]
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
def auth():
|
|
8
|
+
from metaflow.metaflow_config_funcs import init_config
|
|
9
|
+
|
|
10
|
+
conf = init_config()
|
|
11
|
+
if conf:
|
|
12
|
+
headers = {"x-api-key": conf["METAFLOW_SERVICE_AUTH_KEY"]}
|
|
13
|
+
else:
|
|
14
|
+
headers = json.loads(os.environ["METAFLOW_SERVICE_HEADERS"])
|
|
15
|
+
return headers
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def get_deployment_db_access_endpoint(name: str):
|
|
19
|
+
from ..apps.core.perimeters import PerimeterExtractor
|
|
20
|
+
from ..apps.core.capsule import CapsuleApi
|
|
21
|
+
|
|
22
|
+
perimeter, cap_url = PerimeterExtractor.during_metaflow_execution()
|
|
23
|
+
deployment = CapsuleApi(cap_url, perimeter).get_by_name(name)
|
|
24
|
+
if not deployment:
|
|
25
|
+
raise Exception(f"No app deployment found with name `{name}`")
|
|
26
|
+
|
|
27
|
+
if (
|
|
28
|
+
"status" in deployment
|
|
29
|
+
and "accessInfo" in deployment["status"]
|
|
30
|
+
and "extraAccessUrls" in deployment["status"]["accessInfo"]
|
|
31
|
+
):
|
|
32
|
+
for extra_url in deployment["status"]["accessInfo"]["extraAccessUrls"]:
|
|
33
|
+
if extra_url["name"] == "in_cluster_db_access":
|
|
34
|
+
db_url = extra_url["url"].replace("http://", "")
|
|
35
|
+
return db_url
|
|
36
|
+
|
|
37
|
+
raise Exception(f"No db access endpoint found for deployment `{name}`")
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
def get_db_url(app_name: str):
|
|
41
|
+
"""
|
|
42
|
+
Example usage:
|
|
43
|
+
>>> from metaflow.plugins.optuna import get_db_url
|
|
44
|
+
>>> s = optuna.create_study(..., storage=get_db_url("optuna-dashboard"))
|
|
45
|
+
"""
|
|
46
|
+
mf_token = auth()["x-api-key"]
|
|
47
|
+
app_url = get_deployment_db_access_endpoint(app_name)
|
|
48
|
+
return f"postgresql://userspace_default:{mf_token}@{app_url}/userspace_default?sslmode=disable"
|
ob_metaflow_extensions-1.4.6/metaflow_extensions/outerbounds/toplevel/plugins/optuna/__init__.py
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__mf_promote_submodules__ = ["plugins.optuna"]
|
|
@@ -86,6 +86,7 @@ metaflow_extensions/outerbounds/plugins/ollama/constants.py
|
|
|
86
86
|
metaflow_extensions/outerbounds/plugins/ollama/exceptions.py
|
|
87
87
|
metaflow_extensions/outerbounds/plugins/ollama/ollama.py
|
|
88
88
|
metaflow_extensions/outerbounds/plugins/ollama/status_card.py
|
|
89
|
+
metaflow_extensions/outerbounds/plugins/optuna/__init__.py
|
|
89
90
|
metaflow_extensions/outerbounds/plugins/profilers/deco_injector.py
|
|
90
91
|
metaflow_extensions/outerbounds/plugins/profilers/gpu_profile_decorator.py
|
|
91
92
|
metaflow_extensions/outerbounds/plugins/profilers/simple_card_decorator.py
|
|
@@ -124,6 +125,7 @@ metaflow_extensions/outerbounds/toplevel/plugins/azure/__init__.py
|
|
|
124
125
|
metaflow_extensions/outerbounds/toplevel/plugins/gcp/__init__.py
|
|
125
126
|
metaflow_extensions/outerbounds/toplevel/plugins/kubernetes/__init__.py
|
|
126
127
|
metaflow_extensions/outerbounds/toplevel/plugins/ollama/__init__.py
|
|
128
|
+
metaflow_extensions/outerbounds/toplevel/plugins/optuna/__init__.py
|
|
127
129
|
metaflow_extensions/outerbounds/toplevel/plugins/snowflake/__init__.py
|
|
128
130
|
metaflow_extensions/outerbounds/toplevel/plugins/torchtune/__init__.py
|
|
129
131
|
metaflow_extensions/outerbounds/toplevel/plugins/vllm/__init__.py
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|