ob-metaflow-stubs 6.0.3.187__py2.py3-none-any.whl → 6.0.3.188rc0__py2.py3-none-any.whl
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-stubs/__init__.pyi +917 -917
- metaflow-stubs/cards.pyi +1 -1
- metaflow-stubs/cli.pyi +1 -1
- metaflow-stubs/cli_components/__init__.pyi +1 -1
- metaflow-stubs/cli_components/utils.pyi +1 -1
- metaflow-stubs/client/__init__.pyi +1 -1
- metaflow-stubs/client/core.pyi +4 -4
- metaflow-stubs/client/filecache.pyi +1 -1
- metaflow-stubs/events.pyi +2 -2
- metaflow-stubs/exception.pyi +1 -1
- metaflow-stubs/flowspec.pyi +3 -3
- metaflow-stubs/generated_for.txt +1 -1
- metaflow-stubs/includefile.pyi +3 -3
- metaflow-stubs/info_file.pyi +1 -1
- metaflow-stubs/metadata_provider/__init__.pyi +1 -1
- metaflow-stubs/metadata_provider/heartbeat.pyi +1 -1
- metaflow-stubs/metadata_provider/metadata.pyi +2 -2
- metaflow-stubs/metadata_provider/util.pyi +1 -1
- metaflow-stubs/metaflow_config.pyi +1 -1
- metaflow-stubs/metaflow_current.pyi +41 -41
- metaflow-stubs/metaflow_git.pyi +1 -1
- metaflow-stubs/mf_extensions/__init__.pyi +1 -1
- metaflow-stubs/mf_extensions/obcheckpoint/__init__.pyi +1 -1
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/__init__.pyi +1 -1
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/__init__.pyi +1 -1
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/card_utils/__init__.pyi +1 -1
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/card_utils/async_cards.pyi +1 -1
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/card_utils/deco_injection_mixin.pyi +1 -1
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/card_utils/extra_components.pyi +3 -3
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/checkpoints/__init__.pyi +1 -1
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/checkpoints/cards/__init__.pyi +1 -1
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/checkpoints/cards/checkpoint_lister.pyi +4 -4
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/checkpoints/cards/lineage_card.pyi +1 -1
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/checkpoints/checkpoint_storage.pyi +5 -5
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/checkpoints/constructors.pyi +1 -1
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/checkpoints/core.pyi +3 -3
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/checkpoints/decorator.pyi +3 -3
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/checkpoints/exceptions.pyi +1 -1
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/checkpoints/final_api.pyi +2 -2
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/checkpoints/lineage.pyi +1 -1
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/datastore/__init__.pyi +1 -1
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/datastore/context.pyi +2 -2
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/datastore/core.pyi +1 -1
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/datastore/decorator.pyi +1 -1
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/datastore/exceptions.pyi +1 -1
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/datastore/task_utils.pyi +3 -3
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/datastore/utils.pyi +1 -1
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/datastructures.pyi +2 -2
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/exceptions.pyi +1 -1
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/hf_hub/__init__.pyi +1 -1
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/hf_hub/decorator.pyi +2 -2
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/modeling_utils/__init__.pyi +1 -1
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/modeling_utils/core.pyi +3 -3
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/modeling_utils/exceptions.pyi +1 -1
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/modeling_utils/model_storage.pyi +3 -3
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/utils/__init__.pyi +1 -1
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/utils/flowspec_utils.pyi +1 -1
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/utils/general.pyi +1 -1
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/utils/identity_utils.pyi +2 -2
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/utils/serialization_handler/__init__.pyi +1 -1
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/utils/serialization_handler/base.pyi +1 -1
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/utils/serialization_handler/tar.pyi +2 -2
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/utils/tar_utils.pyi +2 -2
- metaflow-stubs/mf_extensions/outerbounds/__init__.pyi +1 -1
- metaflow-stubs/mf_extensions/outerbounds/plugins/__init__.pyi +1 -1
- metaflow-stubs/mf_extensions/outerbounds/plugins/apps/__init__.pyi +6 -0
- metaflow-stubs/mf_extensions/outerbounds/plugins/apps/core/__init__.pyi +22 -0
- metaflow-stubs/mf_extensions/outerbounds/plugins/apps/core/_state_machine.pyi +119 -0
- metaflow-stubs/mf_extensions/outerbounds/plugins/apps/core/_vendor/__init__.pyi +6 -0
- metaflow-stubs/mf_extensions/outerbounds/plugins/apps/core/_vendor/spinner/__init__.pyi +6 -0
- metaflow-stubs/mf_extensions/outerbounds/plugins/apps/core/_vendor/spinner/spinners.pyi +19 -0
- metaflow-stubs/mf_extensions/outerbounds/plugins/apps/core/app_cli.pyi +126 -0
- metaflow-stubs/mf_extensions/outerbounds/plugins/apps/core/app_config.pyi +98 -0
- metaflow-stubs/mf_extensions/outerbounds/plugins/apps/core/capsule.pyi +233 -0
- metaflow-stubs/mf_extensions/outerbounds/plugins/apps/core/cli_to_config.pyi +17 -0
- metaflow-stubs/mf_extensions/outerbounds/plugins/apps/core/click_importer.pyi +12 -0
- metaflow-stubs/mf_extensions/outerbounds/plugins/apps/core/code_package/__init__.pyi +12 -0
- metaflow-stubs/mf_extensions/outerbounds/plugins/apps/core/code_package/code_packager.pyi +242 -0
- metaflow-stubs/mf_extensions/outerbounds/plugins/apps/core/dependencies.pyi +50 -0
- metaflow-stubs/mf_extensions/outerbounds/plugins/apps/core/experimental/__init__.pyi +27 -0
- metaflow-stubs/mf_extensions/outerbounds/plugins/apps/core/perimeters.pyi +30 -0
- metaflow-stubs/mf_extensions/outerbounds/plugins/apps/core/secrets.pyi +46 -0
- metaflow-stubs/mf_extensions/outerbounds/plugins/apps/core/utils.pyi +91 -0
- metaflow-stubs/mf_extensions/outerbounds/plugins/apps/core/validations.pyi +24 -0
- metaflow-stubs/mf_extensions/outerbounds/plugins/aws/__init__.pyi +1 -1
- metaflow-stubs/mf_extensions/outerbounds/plugins/aws/assume_role_decorator.pyi +1 -1
- metaflow-stubs/mf_extensions/outerbounds/plugins/card_utilities/__init__.pyi +1 -1
- metaflow-stubs/mf_extensions/outerbounds/plugins/card_utilities/async_cards.pyi +2 -2
- metaflow-stubs/mf_extensions/outerbounds/plugins/card_utilities/injector.pyi +1 -1
- metaflow-stubs/mf_extensions/outerbounds/plugins/checkpoint_datastores/__init__.pyi +1 -1
- metaflow-stubs/mf_extensions/outerbounds/plugins/checkpoint_datastores/coreweave.pyi +1 -1
- metaflow-stubs/mf_extensions/outerbounds/plugins/checkpoint_datastores/nebius.pyi +1 -1
- metaflow-stubs/mf_extensions/outerbounds/plugins/fast_bakery/__init__.pyi +6 -0
- metaflow-stubs/mf_extensions/outerbounds/plugins/fast_bakery/baker.pyi +51 -0
- metaflow-stubs/mf_extensions/outerbounds/plugins/fast_bakery/docker_environment.pyi +65 -0
- metaflow-stubs/mf_extensions/outerbounds/plugins/fast_bakery/fast_bakery.pyi +74 -0
- metaflow-stubs/mf_extensions/outerbounds/plugins/kubernetes/__init__.pyi +1 -1
- metaflow-stubs/mf_extensions/outerbounds/plugins/kubernetes/pod_killer.pyi +1 -1
- metaflow-stubs/mf_extensions/outerbounds/plugins/ollama/__init__.pyi +1 -1
- metaflow-stubs/mf_extensions/outerbounds/plugins/ollama/constants.pyi +1 -1
- metaflow-stubs/mf_extensions/outerbounds/plugins/ollama/exceptions.pyi +1 -1
- metaflow-stubs/mf_extensions/outerbounds/plugins/ollama/ollama.pyi +1 -1
- metaflow-stubs/mf_extensions/outerbounds/plugins/ollama/status_card.pyi +1 -1
- metaflow-stubs/mf_extensions/outerbounds/plugins/snowflake/__init__.pyi +1 -1
- metaflow-stubs/mf_extensions/outerbounds/plugins/snowflake/snowflake.pyi +1 -1
- metaflow-stubs/mf_extensions/outerbounds/profilers/__init__.pyi +1 -1
- metaflow-stubs/mf_extensions/outerbounds/profilers/gpu.pyi +1 -1
- metaflow-stubs/mf_extensions/outerbounds/remote_config.pyi +1 -1
- metaflow-stubs/mf_extensions/outerbounds/toplevel/__init__.pyi +1 -1
- metaflow-stubs/mf_extensions/outerbounds/toplevel/global_aliases_for_metaflow_package.pyi +1 -1
- metaflow-stubs/multicore_utils.pyi +1 -1
- metaflow-stubs/ob_internal.pyi +3 -1
- metaflow-stubs/parameters.pyi +3 -3
- metaflow-stubs/plugins/__init__.pyi +11 -11
- metaflow-stubs/plugins/airflow/__init__.pyi +1 -1
- metaflow-stubs/plugins/airflow/airflow_utils.pyi +1 -1
- metaflow-stubs/plugins/airflow/exception.pyi +1 -1
- metaflow-stubs/plugins/airflow/sensors/__init__.pyi +1 -1
- metaflow-stubs/plugins/airflow/sensors/base_sensor.pyi +1 -1
- metaflow-stubs/plugins/airflow/sensors/external_task_sensor.pyi +1 -1
- metaflow-stubs/plugins/airflow/sensors/s3_sensor.pyi +1 -1
- metaflow-stubs/plugins/argo/__init__.pyi +1 -1
- metaflow-stubs/plugins/argo/argo_client.pyi +1 -1
- metaflow-stubs/plugins/argo/argo_events.pyi +1 -1
- metaflow-stubs/plugins/argo/argo_workflows.pyi +2 -2
- metaflow-stubs/plugins/argo/argo_workflows_decorator.pyi +1 -1
- metaflow-stubs/plugins/argo/argo_workflows_deployer.pyi +2 -2
- metaflow-stubs/plugins/argo/argo_workflows_deployer_objects.pyi +3 -3
- metaflow-stubs/plugins/aws/__init__.pyi +1 -1
- metaflow-stubs/plugins/aws/aws_client.pyi +1 -1
- metaflow-stubs/plugins/aws/aws_utils.pyi +1 -1
- metaflow-stubs/plugins/aws/batch/__init__.pyi +1 -1
- metaflow-stubs/plugins/aws/batch/batch.pyi +1 -1
- metaflow-stubs/plugins/aws/batch/batch_client.pyi +1 -1
- metaflow-stubs/plugins/aws/batch/batch_decorator.pyi +1 -1
- metaflow-stubs/plugins/aws/secrets_manager/__init__.pyi +1 -1
- metaflow-stubs/plugins/aws/secrets_manager/aws_secrets_manager_secrets_provider.pyi +2 -2
- metaflow-stubs/plugins/aws/step_functions/__init__.pyi +1 -1
- metaflow-stubs/plugins/aws/step_functions/event_bridge_client.pyi +1 -1
- metaflow-stubs/plugins/aws/step_functions/schedule_decorator.pyi +1 -1
- metaflow-stubs/plugins/aws/step_functions/step_functions.pyi +1 -1
- metaflow-stubs/plugins/aws/step_functions/step_functions_client.pyi +1 -1
- metaflow-stubs/plugins/aws/step_functions/step_functions_deployer.pyi +3 -3
- metaflow-stubs/plugins/aws/step_functions/step_functions_deployer_objects.pyi +3 -3
- metaflow-stubs/plugins/azure/__init__.pyi +1 -1
- metaflow-stubs/plugins/azure/azure_credential.pyi +1 -1
- metaflow-stubs/plugins/azure/azure_exceptions.pyi +1 -1
- metaflow-stubs/plugins/azure/azure_secret_manager_secrets_provider.pyi +2 -2
- metaflow-stubs/plugins/azure/azure_utils.pyi +1 -1
- metaflow-stubs/plugins/azure/blob_service_client_factory.pyi +1 -1
- metaflow-stubs/plugins/azure/includefile_support.pyi +1 -1
- metaflow-stubs/plugins/cards/__init__.pyi +5 -5
- metaflow-stubs/plugins/cards/card_client.pyi +1 -1
- metaflow-stubs/plugins/cards/card_creator.pyi +1 -1
- metaflow-stubs/plugins/cards/card_datastore.pyi +1 -1
- metaflow-stubs/plugins/cards/card_decorator.pyi +1 -1
- metaflow-stubs/plugins/cards/card_modules/__init__.pyi +1 -1
- metaflow-stubs/plugins/cards/card_modules/basic.pyi +1 -1
- metaflow-stubs/plugins/cards/card_modules/card.pyi +1 -1
- metaflow-stubs/plugins/cards/card_modules/components.pyi +3 -3
- metaflow-stubs/plugins/cards/card_modules/convert_to_native_type.pyi +1 -1
- metaflow-stubs/plugins/cards/card_modules/renderer_tools.pyi +1 -1
- metaflow-stubs/plugins/cards/card_modules/test_cards.pyi +1 -1
- metaflow-stubs/plugins/cards/card_resolver.pyi +1 -1
- metaflow-stubs/plugins/cards/component_serializer.pyi +1 -1
- metaflow-stubs/plugins/cards/exception.pyi +1 -1
- metaflow-stubs/plugins/catch_decorator.pyi +1 -1
- metaflow-stubs/plugins/datatools/__init__.pyi +1 -1
- metaflow-stubs/plugins/datatools/local.pyi +1 -1
- metaflow-stubs/plugins/datatools/s3/__init__.pyi +1 -1
- metaflow-stubs/plugins/datatools/s3/s3.pyi +3 -3
- metaflow-stubs/plugins/datatools/s3/s3tail.pyi +1 -1
- metaflow-stubs/plugins/datatools/s3/s3util.pyi +1 -1
- metaflow-stubs/plugins/debug_logger.pyi +1 -1
- metaflow-stubs/plugins/debug_monitor.pyi +1 -1
- metaflow-stubs/plugins/environment_decorator.pyi +1 -1
- metaflow-stubs/plugins/events_decorator.pyi +1 -1
- metaflow-stubs/plugins/frameworks/__init__.pyi +1 -1
- metaflow-stubs/plugins/frameworks/pytorch.pyi +1 -1
- metaflow-stubs/plugins/gcp/__init__.pyi +1 -1
- metaflow-stubs/plugins/gcp/gcp_secret_manager_secrets_provider.pyi +2 -2
- metaflow-stubs/plugins/gcp/gs_exceptions.pyi +1 -1
- metaflow-stubs/plugins/gcp/gs_storage_client_factory.pyi +1 -1
- metaflow-stubs/plugins/gcp/gs_utils.pyi +1 -1
- metaflow-stubs/plugins/gcp/includefile_support.pyi +1 -1
- metaflow-stubs/plugins/kubernetes/__init__.pyi +1 -1
- metaflow-stubs/plugins/kubernetes/kube_utils.pyi +2 -2
- metaflow-stubs/plugins/kubernetes/kubernetes.pyi +1 -1
- metaflow-stubs/plugins/kubernetes/kubernetes_client.pyi +1 -1
- metaflow-stubs/plugins/kubernetes/kubernetes_decorator.pyi +1 -1
- metaflow-stubs/plugins/kubernetes/kubernetes_jobsets.pyi +1 -1
- metaflow-stubs/plugins/kubernetes/spot_monitor_sidecar.pyi +1 -1
- metaflow-stubs/plugins/ollama/__init__.pyi +2 -2
- metaflow-stubs/plugins/parallel_decorator.pyi +1 -1
- metaflow-stubs/plugins/perimeters.pyi +1 -1
- metaflow-stubs/plugins/project_decorator.pyi +1 -1
- metaflow-stubs/plugins/pypi/__init__.pyi +1 -1
- metaflow-stubs/plugins/pypi/conda_decorator.pyi +1 -1
- metaflow-stubs/plugins/pypi/conda_environment.pyi +3 -3
- metaflow-stubs/plugins/pypi/parsers.pyi +1 -1
- metaflow-stubs/plugins/pypi/pypi_decorator.pyi +1 -1
- metaflow-stubs/plugins/pypi/pypi_environment.pyi +1 -1
- metaflow-stubs/plugins/pypi/utils.pyi +1 -1
- metaflow-stubs/plugins/resources_decorator.pyi +1 -1
- metaflow-stubs/plugins/retry_decorator.pyi +1 -1
- metaflow-stubs/plugins/secrets/__init__.pyi +2 -2
- metaflow-stubs/plugins/secrets/inline_secrets_provider.pyi +2 -2
- metaflow-stubs/plugins/secrets/secrets_decorator.pyi +1 -1
- metaflow-stubs/plugins/snowflake/__init__.pyi +1 -1
- metaflow-stubs/plugins/storage_executor.pyi +1 -1
- metaflow-stubs/plugins/test_unbounded_foreach_decorator.pyi +1 -1
- metaflow-stubs/plugins/timeout_decorator.pyi +1 -1
- metaflow-stubs/plugins/torchtune/__init__.pyi +1 -1
- metaflow-stubs/plugins/uv/__init__.pyi +1 -1
- metaflow-stubs/plugins/uv/uv_environment.pyi +1 -1
- metaflow-stubs/profilers/__init__.pyi +1 -1
- metaflow-stubs/pylint_wrapper.pyi +1 -1
- metaflow-stubs/runner/__init__.pyi +1 -1
- metaflow-stubs/runner/deployer.pyi +29 -29
- metaflow-stubs/runner/deployer_impl.pyi +2 -2
- metaflow-stubs/runner/metaflow_runner.pyi +3 -3
- metaflow-stubs/runner/nbdeploy.pyi +1 -1
- metaflow-stubs/runner/nbrun.pyi +1 -1
- metaflow-stubs/runner/subprocess_manager.pyi +1 -1
- metaflow-stubs/runner/utils.pyi +3 -3
- metaflow-stubs/system/__init__.pyi +1 -1
- metaflow-stubs/system/system_logger.pyi +1 -1
- metaflow-stubs/system/system_monitor.pyi +1 -1
- metaflow-stubs/tagging_util.pyi +1 -1
- metaflow-stubs/tuple_util.pyi +1 -1
- metaflow-stubs/user_configs/__init__.pyi +1 -1
- metaflow-stubs/user_configs/config_decorators.pyi +5 -5
- metaflow-stubs/user_configs/config_options.pyi +2 -2
- metaflow-stubs/user_configs/config_parameters.pyi +5 -5
- {ob_metaflow_stubs-6.0.3.187.dist-info → ob_metaflow_stubs-6.0.3.188rc0.dist-info}/METADATA +1 -1
- ob_metaflow_stubs-6.0.3.188rc0.dist-info/RECORD +239 -0
- ob_metaflow_stubs-6.0.3.187.dist-info/RECORD +0 -216
- {ob_metaflow_stubs-6.0.3.187.dist-info → ob_metaflow_stubs-6.0.3.188rc0.dist-info}/WHEEL +0 -0
- {ob_metaflow_stubs-6.0.3.187.dist-info → ob_metaflow_stubs-6.0.3.188rc0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,242 @@
|
|
1
|
+
######################################################################################################
|
2
|
+
# Auto-generated Metaflow stub file #
|
3
|
+
# MF version: 2.15.18.1+obcheckpoint(0.2.4);ob(v1) #
|
4
|
+
# Generated on 2025-07-03T01:34:48.366381 #
|
5
|
+
######################################################################################################
|
6
|
+
|
7
|
+
from __future__ import annotations
|
8
|
+
|
9
|
+
import typing
|
10
|
+
if typing.TYPE_CHECKING:
|
11
|
+
import typing
|
12
|
+
import metaflow.datastore.content_addressed_store
|
13
|
+
|
14
|
+
|
15
|
+
DATASTORE_SYSROOT_S3: None
|
16
|
+
|
17
|
+
DATASTORE_SYSROOT_AZURE: None
|
18
|
+
|
19
|
+
DATASTORE_SYSROOT_GS: None
|
20
|
+
|
21
|
+
DATASTORE_SYSROOT_LOCAL: None
|
22
|
+
|
23
|
+
CODE_PACKAGE_PREFIX: str
|
24
|
+
|
25
|
+
def walk_without_cycles(top_root):
|
26
|
+
...
|
27
|
+
|
28
|
+
def symlink_friendly_walk(root, exclude_hidden = True, suffixes = None):
|
29
|
+
...
|
30
|
+
|
31
|
+
class CodePackager(object, metaclass=type):
|
32
|
+
"""
|
33
|
+
A datastore-agnostic class for packaging code.
|
34
|
+
|
35
|
+
This class handles creating a code package (tarball) for deployment
|
36
|
+
and provides methods for storing and retrieving it using Metaflow's
|
37
|
+
ContentAddressedStore directly.
|
38
|
+
|
39
|
+
Usage examples:
|
40
|
+
```python
|
41
|
+
packager = CodePackager(
|
42
|
+
datastore_type: str = "s3",
|
43
|
+
datastore_root = None,
|
44
|
+
code_package_prefix = None,
|
45
|
+
)
|
46
|
+
|
47
|
+
package_url, package_key = packager.store(
|
48
|
+
paths_to_include = ["./"],
|
49
|
+
file_suffixes = [".py", ".txt", ".yaml", ".yml", ".json"],
|
50
|
+
)
|
51
|
+
|
52
|
+
package_url, package_key = packager.store(
|
53
|
+
package_create_fn = lambda: my_custom_package_create_fn(),
|
54
|
+
)
|
55
|
+
```
|
56
|
+
"""
|
57
|
+
def __init__(self, datastore_type: str = 's3', datastore_root: typing.Optional[str] = None, code_package_prefix: typing.Optional[str] = None):
|
58
|
+
"""
|
59
|
+
Initialize the CodePackager with datastore configuration.
|
60
|
+
|
61
|
+
Parameters
|
62
|
+
----------
|
63
|
+
datastore_type : str, default "s3"
|
64
|
+
The type of datastore to use: "s3", "azure", "gs", or "local"
|
65
|
+
datastore_root : str, optional
|
66
|
+
Root path for the datastore. If not provided, uses the default for the datastore type.
|
67
|
+
code_package_prefix : str, optional
|
68
|
+
The prefix to use for storing code packages in the content addressed store.
|
69
|
+
If not provided, uses the CODE_PACKAGE_PREFIX configuration value.
|
70
|
+
"""
|
71
|
+
...
|
72
|
+
def store(self, package_create_fn: typing.Optional[typing.Callable[[], bytes]] = None, paths_to_include: typing.Optional[typing.List[str]] = None, file_suffixes: typing.Optional[typing.List[str]] = None, metadata: typing.Optional[typing.Dict[str, typing.Any]] = None) -> typing.Tuple[str, str]:
|
73
|
+
"""
|
74
|
+
Create and store a code package using Metaflow's ContentAddressedStore.
|
75
|
+
|
76
|
+
This method can be called in two ways:
|
77
|
+
1. With paths_to_include and file_suffixes to use the default packaging
|
78
|
+
2. With a custom package_create_fn for custom packaging logic
|
79
|
+
|
80
|
+
Parameters
|
81
|
+
----------
|
82
|
+
package_create_fn : Callable[[], bytes], optional
|
83
|
+
A function that creates and returns a package as bytes.
|
84
|
+
This allows for custom packaging logic without dependency on specific objects.
|
85
|
+
paths_to_include : List[str], optional
|
86
|
+
List of paths to include in the package. Used by default_package_create.
|
87
|
+
file_suffixes : List[str], optional
|
88
|
+
List of file suffixes to include. Used by default_package_create.
|
89
|
+
metadata : Dict[str, Any], optional
|
90
|
+
Metadata to include in the package when using default_package_create.
|
91
|
+
|
92
|
+
Returns
|
93
|
+
-------
|
94
|
+
Tuple[str, str]
|
95
|
+
A tuple containing (package_url, package_key) that identifies the location
|
96
|
+
and content-addressed key of the stored package.
|
97
|
+
"""
|
98
|
+
...
|
99
|
+
@staticmethod
|
100
|
+
def get_content_addressed_store(datastore_type: str = 's3', datastore_root: typing.Optional[str] = None, prefix: typing.Optional[str] = None) -> metaflow.datastore.content_addressed_store.ContentAddressedStore:
|
101
|
+
"""
|
102
|
+
Get a ContentAddressedStore instance for the specified datastore.
|
103
|
+
|
104
|
+
Parameters
|
105
|
+
----------
|
106
|
+
datastore_type : str, default "s3"
|
107
|
+
Type of datastore: "s3", "azure", "gs", or "local"
|
108
|
+
datastore_root : str, optional
|
109
|
+
Root path for the datastore. If not provided, uses the default for the datastore type.
|
110
|
+
prefix : str, optional
|
111
|
+
Prefix to use when storing objects in the datastore.
|
112
|
+
If not provided, uses the CODE_PACKAGE_PREFIX configuration value.
|
113
|
+
|
114
|
+
Returns
|
115
|
+
-------
|
116
|
+
ContentAddressedStore
|
117
|
+
A ContentAddressedStore instance configured for the specified datastore
|
118
|
+
"""
|
119
|
+
...
|
120
|
+
@staticmethod
|
121
|
+
def get_download_cmd(package_url: str, datastore_type: str, python_cmd: str = 'python', target_file: str = 'job.tar', escape_quotes: bool = True) -> str:
|
122
|
+
"""
|
123
|
+
Generate a command to download the code package.
|
124
|
+
|
125
|
+
Parameters
|
126
|
+
----------
|
127
|
+
package_url : str
|
128
|
+
The URL of the package to download
|
129
|
+
datastore_type : str
|
130
|
+
The type of datastore (s3, azure, gs, local)
|
131
|
+
python_cmd : str, optional
|
132
|
+
The Python command to use
|
133
|
+
target_file : str, optional
|
134
|
+
The target file name to save the package as
|
135
|
+
escape_quotes : bool, optional
|
136
|
+
Whether to escape quotes in the command
|
137
|
+
|
138
|
+
Returns
|
139
|
+
-------
|
140
|
+
str
|
141
|
+
A shell command string to download the package
|
142
|
+
"""
|
143
|
+
...
|
144
|
+
def get_package_commands(self, code_package_url: str, python_cmd: str = 'python', target_file: str = 'job.tar', working_dir: str = 'metaflow', retries: int = 5, escape_quotes: bool = True) -> typing.List[str]:
|
145
|
+
"""
|
146
|
+
Get a complete list of shell commands to download and extract a code package.
|
147
|
+
|
148
|
+
This method generates a comprehensive set of shell commands for downloading
|
149
|
+
and extracting a code package, similar to MetaflowEnvironment.get_package_commands.
|
150
|
+
|
151
|
+
Parameters
|
152
|
+
----------
|
153
|
+
code_package_url : str
|
154
|
+
The URL of the code package to download
|
155
|
+
python_cmd : str, optional
|
156
|
+
The Python command to use
|
157
|
+
target_file : str, optional
|
158
|
+
The target file name to save the package as
|
159
|
+
working_dir : str, optional
|
160
|
+
The directory to create and extract the package into
|
161
|
+
retries : int, optional
|
162
|
+
Number of download retries to attempt
|
163
|
+
escape_quotes : bool, optional
|
164
|
+
Whether to escape quotes in the command
|
165
|
+
|
166
|
+
Returns
|
167
|
+
-------
|
168
|
+
List[str]
|
169
|
+
List of shell commands to execute
|
170
|
+
"""
|
171
|
+
...
|
172
|
+
@staticmethod
|
173
|
+
def directory_walker(root, exclude_hidden = True, suffixes = None) -> typing.List[typing.Tuple[str, str]]:
|
174
|
+
"""
|
175
|
+
Walk a directory and yield tuples of (file_path, relative_arcname) for files
|
176
|
+
that match the given suffix filters. It will follow symlinks, but not cycles.
|
177
|
+
|
178
|
+
This function is similar to MetaflowPackage._walk and handles symlinks safely.
|
179
|
+
|
180
|
+
Parameters
|
181
|
+
----------
|
182
|
+
root : str
|
183
|
+
The root directory to walk
|
184
|
+
exclude_hidden : bool, default True
|
185
|
+
Whether to exclude hidden files and directories (those starting with '.')
|
186
|
+
suffixes : List[str], optional
|
187
|
+
List of file suffixes to include (e.g. ['.py', '.txt'])
|
188
|
+
|
189
|
+
Returns
|
190
|
+
-------
|
191
|
+
List[Tuple[str, str]]
|
192
|
+
List of tuples (file_path, relative_arcname) where:
|
193
|
+
- file_path is the full path to the file
|
194
|
+
- relative_arcname is the path to use within the archive
|
195
|
+
"""
|
196
|
+
...
|
197
|
+
@staticmethod
|
198
|
+
def default_package_create(paths: typing.List[str], suffixes: typing.List[str], metadata: typing.Optional[typing.Dict[str, typing.Any]] = None) -> bytes:
|
199
|
+
"""
|
200
|
+
Create a default tarball package from specified paths.
|
201
|
+
|
202
|
+
Parameters
|
203
|
+
----------
|
204
|
+
paths : List[str]
|
205
|
+
List of paths to include in the package
|
206
|
+
suffixes : List[str]
|
207
|
+
List of file suffixes to include
|
208
|
+
metadata : Dict[str, Any], optional
|
209
|
+
Metadata to include in the package
|
210
|
+
|
211
|
+
Returns
|
212
|
+
-------
|
213
|
+
bytes
|
214
|
+
The binary content of the tarball
|
215
|
+
"""
|
216
|
+
...
|
217
|
+
@classmethod
|
218
|
+
def package_directory(cls, directory_path: str, suffixes: typing.Optional[typing.List[str]] = None, exclude_hidden: bool = True, metadata: typing.Optional[typing.Dict[str, typing.Any]] = None) -> bytes:
|
219
|
+
"""
|
220
|
+
Package a directory and all of its contents that match the given suffixes.
|
221
|
+
|
222
|
+
This is a convenience method that works similarly to MetaflowPackage._walk
|
223
|
+
to package a directory for deployment. Will default follow_symlinks.
|
224
|
+
|
225
|
+
Parameters
|
226
|
+
----------
|
227
|
+
directory_path : str
|
228
|
+
The directory to package
|
229
|
+
suffixes : List[str], optional
|
230
|
+
List of file suffixes to include (defaults to standard code extensions)
|
231
|
+
exclude_hidden : bool, default True
|
232
|
+
Whether to exclude hidden files and directories
|
233
|
+
metadata : Dict[str, Any], optional
|
234
|
+
Metadata to include in the package
|
235
|
+
Returns
|
236
|
+
-------
|
237
|
+
bytes
|
238
|
+
The binary content of the tarball
|
239
|
+
"""
|
240
|
+
...
|
241
|
+
...
|
242
|
+
|
@@ -0,0 +1,50 @@
|
|
1
|
+
######################################################################################################
|
2
|
+
# Auto-generated Metaflow stub file #
|
3
|
+
# MF version: 2.15.18.1+obcheckpoint(0.2.4);ob(v1) #
|
4
|
+
# Generated on 2025-07-03T01:34:48.333999 #
|
5
|
+
######################################################################################################
|
6
|
+
|
7
|
+
from __future__ import annotations
|
8
|
+
|
9
|
+
import typing
|
10
|
+
if typing.TYPE_CHECKING:
|
11
|
+
import typing
|
12
|
+
import metaflow.mf_extensions.outerbounds.plugins.apps.core.app_config
|
13
|
+
import metaflow.mf_extensions.outerbounds.plugins.apps.core.dependencies
|
14
|
+
|
15
|
+
from .app_config import AppConfig as AppConfig
|
16
|
+
from .utils import TODOException as TODOException
|
17
|
+
from ......metaflow_config import get_pinned_conda_libs as get_pinned_conda_libs
|
18
|
+
|
19
|
+
DEFAULT_DATASTORE: str
|
20
|
+
|
21
|
+
KUBERNETES_CONTAINER_IMAGE: None
|
22
|
+
|
23
|
+
class BakingStatus(tuple, metaclass=type):
|
24
|
+
"""
|
25
|
+
BakingStatus(image_should_be_baked, python_path, resolved_image)
|
26
|
+
"""
|
27
|
+
@staticmethod
|
28
|
+
def __new__(_cls, image_should_be_baked, python_path, resolved_image):
|
29
|
+
"""
|
30
|
+
Create new instance of BakingStatus(image_should_be_baked, python_path, resolved_image)
|
31
|
+
"""
|
32
|
+
...
|
33
|
+
def __repr__(self):
|
34
|
+
"""
|
35
|
+
Return a nicely formatted representation string
|
36
|
+
"""
|
37
|
+
...
|
38
|
+
def __getnewargs__(self):
|
39
|
+
"""
|
40
|
+
Return self as a plain tuple. Used by copy and pickle.
|
41
|
+
"""
|
42
|
+
...
|
43
|
+
...
|
44
|
+
|
45
|
+
class ImageBakingException(Exception, metaclass=type):
|
46
|
+
...
|
47
|
+
|
48
|
+
def bake_deployment_image(app_config: metaflow.mf_extensions.outerbounds.plugins.apps.core.app_config.AppConfig, cache_file_path: str, logger: typing.Optional[typing.Callable[[str], typing.Any]] = None) -> BakingStatus:
|
49
|
+
...
|
50
|
+
|
@@ -0,0 +1,27 @@
|
|
1
|
+
######################################################################################################
|
2
|
+
# Auto-generated Metaflow stub file #
|
3
|
+
# MF version: 2.15.18.1+obcheckpoint(0.2.4);ob(v1) #
|
4
|
+
# Generated on 2025-07-03T01:34:48.331619 #
|
5
|
+
######################################################################################################
|
6
|
+
|
7
|
+
from __future__ import annotations
|
8
|
+
|
9
|
+
|
10
|
+
from ......._vendor import click as click
|
11
|
+
|
12
|
+
TYPE_CHECKING: bool
|
13
|
+
|
14
|
+
DEFAULT_BRANCH: str
|
15
|
+
|
16
|
+
def wrapping_cli_options(func):
|
17
|
+
...
|
18
|
+
|
19
|
+
def build_config_from_options(options):
|
20
|
+
"""
|
21
|
+
Build an app configuration from CLI options.
|
22
|
+
"""
|
23
|
+
...
|
24
|
+
|
25
|
+
def capsule_input_overrides(app_config: "AppConfig", capsule_input: dict):
|
26
|
+
...
|
27
|
+
|
@@ -0,0 +1,30 @@
|
|
1
|
+
######################################################################################################
|
2
|
+
# Auto-generated Metaflow stub file #
|
3
|
+
# MF version: 2.15.18.1+obcheckpoint(0.2.4);ob(v1) #
|
4
|
+
# Generated on 2025-07-03T01:34:48.332671 #
|
5
|
+
######################################################################################################
|
6
|
+
|
7
|
+
from __future__ import annotations
|
8
|
+
|
9
|
+
import typing
|
10
|
+
|
11
|
+
|
12
|
+
class PerimeterExtractor(object, metaclass=type):
|
13
|
+
@classmethod
|
14
|
+
def for_ob_cli(cls, config_dir: str, profile: str) -> typing.Union[typing.Tuple[str, str], typing.Tuple[None, None]]:
|
15
|
+
"""
|
16
|
+
This function will be called when we are trying to extract the perimeter
|
17
|
+
via the ob cli's execution. We will rely on the following logic:
|
18
|
+
1. check environment variables like OB_CURRENT_PERIMETER / OBP_PERIMETER
|
19
|
+
2. run init config to extract the perimeter related configurations.
|
20
|
+
|
21
|
+
Returns
|
22
|
+
-------
|
23
|
+
Tuple[str, str] : Tuple containing perimeter name , API server url.
|
24
|
+
"""
|
25
|
+
...
|
26
|
+
@classmethod
|
27
|
+
def during_metaflow_execution(cls) -> str:
|
28
|
+
...
|
29
|
+
...
|
30
|
+
|
@@ -0,0 +1,46 @@
|
|
1
|
+
######################################################################################################
|
2
|
+
# Auto-generated Metaflow stub file #
|
3
|
+
# MF version: 2.15.18.1+obcheckpoint(0.2.4);ob(v1) #
|
4
|
+
# Generated on 2025-07-03T01:34:48.333603 #
|
5
|
+
######################################################################################################
|
6
|
+
|
7
|
+
from __future__ import annotations
|
8
|
+
|
9
|
+
import metaflow
|
10
|
+
import typing
|
11
|
+
if typing.TYPE_CHECKING:
|
12
|
+
import metaflow.mf_extensions.outerbounds.plugins.apps.core.secrets
|
13
|
+
|
14
|
+
from .utils import safe_requests_wrapper as safe_requests_wrapper
|
15
|
+
from .utils import TODOException as TODOException
|
16
|
+
|
17
|
+
class OuterboundsSecretsException(Exception, metaclass=type):
|
18
|
+
...
|
19
|
+
|
20
|
+
class SecretNotFound(OuterboundsSecretsException, metaclass=type):
|
21
|
+
...
|
22
|
+
|
23
|
+
class OuterboundsSecretsApiResponse(object, metaclass=type):
|
24
|
+
def __init__(self, response):
|
25
|
+
...
|
26
|
+
@property
|
27
|
+
def secret_resource_id(self):
|
28
|
+
...
|
29
|
+
@property
|
30
|
+
def secret_backend_type(self):
|
31
|
+
...
|
32
|
+
...
|
33
|
+
|
34
|
+
class SecretRetriever(object, metaclass=type):
|
35
|
+
def get_secret_as_dict(self, secret_id, options = {}, role = None):
|
36
|
+
"""
|
37
|
+
Supports a special way of specifying secrets sources in outerbounds using the format:
|
38
|
+
@secrets(sources=["outerbounds.<integrations_name>"])
|
39
|
+
|
40
|
+
When invoked it makes a requests to the integrations secrets metadata endpoint on the
|
41
|
+
keywest server to get the cloud resource id for a secret. It then uses that to invoke
|
42
|
+
secrets manager on the core oss and returns the secrets.
|
43
|
+
"""
|
44
|
+
...
|
45
|
+
...
|
46
|
+
|
@@ -0,0 +1,91 @@
|
|
1
|
+
######################################################################################################
|
2
|
+
# Auto-generated Metaflow stub file #
|
3
|
+
# MF version: 2.15.18.1+obcheckpoint(0.2.4);ob(v1) #
|
4
|
+
# Generated on 2025-07-03T01:34:48.333286 #
|
5
|
+
######################################################################################################
|
6
|
+
|
7
|
+
from __future__ import annotations
|
8
|
+
|
9
|
+
import logging
|
10
|
+
import typing
|
11
|
+
if typing.TYPE_CHECKING:
|
12
|
+
import logging
|
13
|
+
import metaflow.mf_extensions.outerbounds.plugins.apps.core._vendor.spinner.spinners
|
14
|
+
import metaflow.mf_extensions.outerbounds.plugins.apps.core.utils
|
15
|
+
|
16
|
+
from ......_vendor import click as click
|
17
|
+
from ._vendor.spinner.spinners import Spinners as Spinners
|
18
|
+
|
19
|
+
CAPSULE_DEBUG: bool
|
20
|
+
|
21
|
+
class MultiStepSpinner(object, metaclass=type):
|
22
|
+
"""
|
23
|
+
A spinner that supports multi-step progress and configurable alignment.
|
24
|
+
|
25
|
+
Parameters
|
26
|
+
----------
|
27
|
+
spinner : Spinners
|
28
|
+
Which spinner frames/interval to use.
|
29
|
+
text : str
|
30
|
+
Static text to display beside the spinner.
|
31
|
+
color : str, optional
|
32
|
+
Click color name.
|
33
|
+
align : {'left','right'}
|
34
|
+
Whether to render the spinner to the left (default) or right of the text.
|
35
|
+
"""
|
36
|
+
def __init__(self, spinner: metaflow.mf_extensions.outerbounds.plugins.apps.core._vendor.spinner.spinners.Spinners = ..., text: str = '', color: typing.Optional[str] = None, align: str = 'right', file = ...):
|
37
|
+
...
|
38
|
+
@property
|
39
|
+
def main_text(self):
|
40
|
+
...
|
41
|
+
def start(self):
|
42
|
+
...
|
43
|
+
def stop(self):
|
44
|
+
...
|
45
|
+
def log(self, *messages: str):
|
46
|
+
"""
|
47
|
+
Pause the spinner, emit a ✔ + message, then resume.
|
48
|
+
"""
|
49
|
+
...
|
50
|
+
def __enter__(self):
|
51
|
+
...
|
52
|
+
def __exit__(self, exc_type, exc, tb):
|
53
|
+
...
|
54
|
+
...
|
55
|
+
|
56
|
+
class SpinnerLogHandler(logging.Handler, metaclass=type):
|
57
|
+
def __init__(self, spinner: MultiStepSpinner, *args, **kwargs):
|
58
|
+
...
|
59
|
+
def emit(self, record):
|
60
|
+
...
|
61
|
+
...
|
62
|
+
|
63
|
+
class MaximumRetriesExceeded(Exception, metaclass=type):
|
64
|
+
def __init__(self, url, method, status_code, text):
|
65
|
+
...
|
66
|
+
def __str__(self):
|
67
|
+
...
|
68
|
+
...
|
69
|
+
|
70
|
+
class TODOException(Exception, metaclass=type):
|
71
|
+
...
|
72
|
+
|
73
|
+
requests_funcs: list
|
74
|
+
|
75
|
+
def safe_requests_wrapper(requests_module_fn, *args, conn_error_retries = 2, retryable_status_codes = [409], logger_fn = None, **kwargs):
|
76
|
+
"""
|
77
|
+
There are two categories of errors that we need to handle when dealing with any API server.
|
78
|
+
1. HTTP errors. These are are errors that are returned from the API server.
|
79
|
+
- How to handle retries for this case will be application specific.
|
80
|
+
2. Errors when the API server may not be reachable (DNS resolution / network issues)
|
81
|
+
- In this scenario, we know that something external to the API server is going wrong causing the issue.
|
82
|
+
- Failing pre-maturely in the case might not be the best course of action since critical user jobs might crash on intermittent issues.
|
83
|
+
- So in this case, we can just planely retry the request.
|
84
|
+
|
85
|
+
This function handles the second case. It's a simple wrapper to handle the retry logic for connection errors.
|
86
|
+
If this function is provided a `conn_error_retries` of 5, then the last retry will have waited 32 seconds.
|
87
|
+
Generally this is a safe enough number of retries after which we can assume that something is really broken. Until then,
|
88
|
+
there can be intermittent issues that would resolve themselves if we retry gracefully.
|
89
|
+
"""
|
90
|
+
...
|
91
|
+
|
@@ -0,0 +1,24 @@
|
|
1
|
+
######################################################################################################
|
2
|
+
# Auto-generated Metaflow stub file #
|
3
|
+
# MF version: 2.15.18.1+obcheckpoint(0.2.4);ob(v1) #
|
4
|
+
# Generated on 2025-07-03T01:34:48.334246 #
|
5
|
+
######################################################################################################
|
6
|
+
|
7
|
+
from __future__ import annotations
|
8
|
+
|
9
|
+
import typing
|
10
|
+
if typing.TYPE_CHECKING:
|
11
|
+
import metaflow.mf_extensions.outerbounds.plugins.apps.core.app_config
|
12
|
+
|
13
|
+
from .app_config import AppConfig as AppConfig
|
14
|
+
from .app_config import AppConfigError as AppConfigError
|
15
|
+
from .secrets import SecretRetriever as SecretRetriever
|
16
|
+
from .secrets import SecretNotFound as SecretNotFound
|
17
|
+
from .dependencies import bake_deployment_image as bake_deployment_image
|
18
|
+
|
19
|
+
def deploy_validations(app_config: metaflow.mf_extensions.outerbounds.plugins.apps.core.app_config.AppConfig, cache_dir: str, logger):
|
20
|
+
...
|
21
|
+
|
22
|
+
def run_validations(app_config: metaflow.mf_extensions.outerbounds.plugins.apps.core.app_config.AppConfig):
|
23
|
+
...
|
24
|
+
|
@@ -1,6 +1,6 @@
|
|
1
1
|
######################################################################################################
|
2
2
|
# Auto-generated Metaflow stub file #
|
3
3
|
# MF version: 2.15.18.1+obcheckpoint(0.2.4);ob(v1) #
|
4
|
-
# Generated on 2025-07-
|
4
|
+
# Generated on 2025-07-03T01:34:48.300162 #
|
5
5
|
######################################################################################################
|
6
6
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
######################################################################################################
|
2
2
|
# Auto-generated Metaflow stub file #
|
3
3
|
# MF version: 2.15.18.1+obcheckpoint(0.2.4);ob(v1) #
|
4
|
-
# Generated on 2025-07-
|
4
|
+
# Generated on 2025-07-03T01:34:48.300208 #
|
5
5
|
######################################################################################################
|
6
6
|
|
7
7
|
from __future__ import annotations
|
@@ -1,6 +1,6 @@
|
|
1
1
|
######################################################################################################
|
2
2
|
# Auto-generated Metaflow stub file #
|
3
3
|
# MF version: 2.15.18.1+obcheckpoint(0.2.4);ob(v1) #
|
4
|
-
# Generated on 2025-07-
|
4
|
+
# Generated on 2025-07-03T01:34:48.303847 #
|
5
5
|
######################################################################################################
|
6
6
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
######################################################################################################
|
2
2
|
# Auto-generated Metaflow stub file #
|
3
3
|
# MF version: 2.15.18.1+obcheckpoint(0.2.4);ob(v1) #
|
4
|
-
# Generated on 2025-07-
|
4
|
+
# Generated on 2025-07-03T01:34:48.329917 #
|
5
5
|
######################################################################################################
|
6
6
|
|
7
7
|
from __future__ import annotations
|
@@ -9,8 +9,8 @@ from __future__ import annotations
|
|
9
9
|
import threading
|
10
10
|
import typing
|
11
11
|
if typing.TYPE_CHECKING:
|
12
|
-
import metaflow.mf_extensions.outerbounds.plugins.card_utilities.async_cards
|
13
12
|
import threading
|
13
|
+
import metaflow.mf_extensions.outerbounds.plugins.card_utilities.async_cards
|
14
14
|
|
15
15
|
from .....metaflow_current import current as current
|
16
16
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
######################################################################################################
|
2
2
|
# Auto-generated Metaflow stub file #
|
3
3
|
# MF version: 2.15.18.1+obcheckpoint(0.2.4);ob(v1) #
|
4
|
-
# Generated on 2025-07-
|
4
|
+
# Generated on 2025-07-03T01:34:48.303893 #
|
5
5
|
######################################################################################################
|
6
6
|
|
7
7
|
from __future__ import annotations
|
@@ -1,6 +1,6 @@
|
|
1
1
|
######################################################################################################
|
2
2
|
# Auto-generated Metaflow stub file #
|
3
3
|
# MF version: 2.15.18.1+obcheckpoint(0.2.4);ob(v1) #
|
4
|
-
# Generated on 2025-07-
|
4
|
+
# Generated on 2025-07-03T01:34:48.299549 #
|
5
5
|
######################################################################################################
|
6
6
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
######################################################################################################
|
2
2
|
# Auto-generated Metaflow stub file #
|
3
3
|
# MF version: 2.15.18.1+obcheckpoint(0.2.4);ob(v1) #
|
4
|
-
# Generated on 2025-07-
|
4
|
+
# Generated on 2025-07-03T01:34:48.299864 #
|
5
5
|
######################################################################################################
|
6
6
|
|
7
7
|
from __future__ import annotations
|
@@ -1,7 +1,7 @@
|
|
1
1
|
######################################################################################################
|
2
2
|
# Auto-generated Metaflow stub file #
|
3
3
|
# MF version: 2.15.18.1+obcheckpoint(0.2.4);ob(v1) #
|
4
|
-
# Generated on 2025-07-
|
4
|
+
# Generated on 2025-07-03T01:34:48.299597 #
|
5
5
|
######################################################################################################
|
6
6
|
|
7
7
|
from __future__ import annotations
|
@@ -0,0 +1,6 @@
|
|
1
|
+
######################################################################################################
|
2
|
+
# Auto-generated Metaflow stub file #
|
3
|
+
# MF version: 2.15.18.1+obcheckpoint(0.2.4);ob(v1) #
|
4
|
+
# Generated on 2025-07-03T01:34:48.305323 #
|
5
|
+
######################################################################################################
|
6
|
+
|
@@ -0,0 +1,51 @@
|
|
1
|
+
######################################################################################################
|
2
|
+
# Auto-generated Metaflow stub file #
|
3
|
+
# MF version: 2.15.18.1+obcheckpoint(0.2.4);ob(v1) #
|
4
|
+
# Generated on 2025-07-03T01:34:48.305369 #
|
5
|
+
######################################################################################################
|
6
|
+
|
7
|
+
from __future__ import annotations
|
8
|
+
|
9
|
+
import typing
|
10
|
+
import metaflow
|
11
|
+
if typing.TYPE_CHECKING:
|
12
|
+
import metaflow.exception
|
13
|
+
import typing
|
14
|
+
import metaflow.mf_extensions.outerbounds.plugins.fast_bakery.fast_bakery
|
15
|
+
|
16
|
+
from .....exception import MetaflowException as MetaflowException
|
17
|
+
from .fast_bakery import FastBakery as FastBakery
|
18
|
+
from .fast_bakery import FastBakeryApiResponse as FastBakeryApiResponse
|
19
|
+
from .fast_bakery import FastBakeryException as FastBakeryException
|
20
|
+
from .docker_environment import cache_request as cache_request
|
21
|
+
|
22
|
+
FAST_BAKERY_URL: None
|
23
|
+
|
24
|
+
BAKERY_METAFILE: str
|
25
|
+
|
26
|
+
class BakerException(metaflow.exception.MetaflowException, metaclass=type):
|
27
|
+
def __init__(self, msg):
|
28
|
+
...
|
29
|
+
...
|
30
|
+
|
31
|
+
def bake_image(cache_file_path: str, ref: typing.Optional[str] = None, python: typing.Optional[str] = None, pypi_packages: typing.Optional[typing.Dict[str, str]] = None, conda_packages: typing.Optional[typing.Dict[str, str]] = None, base_image: typing.Optional[str] = None, logger: typing.Optional[typing.Callable[[str], typing.Any]] = None) -> metaflow.mf_extensions.outerbounds.plugins.fast_bakery.fast_bakery.FastBakeryApiResponse:
|
32
|
+
"""
|
33
|
+
Bakes a Docker image with the specified dependencies.
|
34
|
+
|
35
|
+
Args:
|
36
|
+
cache_file_path: Path to the cache file
|
37
|
+
ref: Reference identifier for this bake (for logging purposes)
|
38
|
+
python: Python version to use
|
39
|
+
pypi_packages: Dictionary of PyPI packages and versions
|
40
|
+
conda_packages: Dictionary of Conda packages and versions
|
41
|
+
base_image: Base Docker image to use
|
42
|
+
logger: Optional logger function to output progress
|
43
|
+
|
44
|
+
Returns:
|
45
|
+
FastBakeryApiResponse: The response from the bakery service
|
46
|
+
|
47
|
+
Raises:
|
48
|
+
BakerException: If the baking process fails
|
49
|
+
"""
|
50
|
+
...
|
51
|
+
|