ob-metaflow-stubs 6.0.3.177__py2.py3-none-any.whl → 6.0.3.178__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 +511 -507
- metaflow-stubs/cards.pyi +2 -2
- metaflow-stubs/cli.pyi +2 -2
- metaflow-stubs/cli_components/__init__.pyi +2 -2
- metaflow-stubs/cli_components/utils.pyi +2 -2
- metaflow-stubs/client/__init__.pyi +2 -2
- metaflow-stubs/client/core.pyi +26 -26
- metaflow-stubs/client/filecache.pyi +3 -3
- metaflow-stubs/events.pyi +6 -6
- metaflow-stubs/exception.pyi +2 -2
- metaflow-stubs/flowspec.pyi +4 -4
- metaflow-stubs/generated_for.txt +1 -1
- metaflow-stubs/includefile.pyi +4 -4
- metaflow-stubs/info_file.pyi +2 -2
- metaflow-stubs/metadata_provider/__init__.pyi +2 -2
- metaflow-stubs/metadata_provider/heartbeat.pyi +2 -2
- metaflow-stubs/metadata_provider/metadata.pyi +2 -2
- metaflow-stubs/metadata_provider/util.pyi +2 -2
- metaflow-stubs/metaflow_config.pyi +4 -2
- metaflow-stubs/metaflow_current.pyi +133 -133
- metaflow-stubs/metaflow_git.pyi +2 -2
- metaflow-stubs/mf_extensions/__init__.pyi +2 -2
- metaflow-stubs/mf_extensions/obcheckpoint/__init__.pyi +2 -2
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/__init__.pyi +2 -2
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/__init__.pyi +2 -2
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/card_utils/__init__.pyi +2 -2
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/card_utils/async_cards.pyi +2 -2
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/card_utils/deco_injection_mixin.pyi +2 -2
- 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 +2 -2
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/checkpoints/cards/__init__.pyi +2 -2
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/checkpoints/cards/checkpoint_lister.pyi +3 -3
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/checkpoints/cards/lineage_card.pyi +2 -2
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/checkpoints/checkpoint_storage.pyi +4 -4
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/checkpoints/constructors.pyi +2 -2
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/checkpoints/core.pyi +4 -4
- 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 +2 -2
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/checkpoints/final_api.pyi +3 -3
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/checkpoints/lineage.pyi +2 -2
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/datastore/__init__.pyi +2 -2
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/datastore/context.pyi +4 -4
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/datastore/core.pyi +4 -4
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/datastore/decorator.pyi +2 -2
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/datastore/exceptions.pyi +2 -2
- 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 +2 -2
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/datastructures.pyi +4 -4
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/exceptions.pyi +2 -2
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/hf_hub/__init__.pyi +2 -2
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/hf_hub/decorator.pyi +3 -3
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/modeling_utils/__init__.pyi +2 -2
- 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 +2 -2
- 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 +2 -2
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/utils/flowspec_utils.pyi +2 -2
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/utils/general.pyi +2 -2
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/utils/identity_utils.pyi +3 -3
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/utils/serialization_handler/__init__.pyi +2 -2
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/utils/serialization_handler/base.pyi +2 -2
- 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 +2 -2
- metaflow-stubs/mf_extensions/outerbounds/plugins/__init__.pyi +2 -2
- metaflow-stubs/mf_extensions/outerbounds/plugins/aws/__init__.pyi +2 -2
- metaflow-stubs/mf_extensions/outerbounds/plugins/aws/assume_role_decorator.pyi +2 -2
- metaflow-stubs/mf_extensions/outerbounds/plugins/card_utilities/__init__.pyi +2 -2
- metaflow-stubs/mf_extensions/outerbounds/plugins/card_utilities/async_cards.pyi +3 -3
- metaflow-stubs/mf_extensions/outerbounds/plugins/card_utilities/injector.pyi +2 -2
- metaflow-stubs/mf_extensions/outerbounds/plugins/checkpoint_datastores/__init__.pyi +2 -2
- metaflow-stubs/mf_extensions/outerbounds/plugins/checkpoint_datastores/coreweave.pyi +2 -2
- metaflow-stubs/mf_extensions/outerbounds/plugins/checkpoint_datastores/nebius.pyi +2 -2
- metaflow-stubs/mf_extensions/outerbounds/plugins/kubernetes/__init__.pyi +2 -2
- metaflow-stubs/mf_extensions/outerbounds/plugins/kubernetes/pod_killer.pyi +2 -2
- metaflow-stubs/mf_extensions/outerbounds/plugins/ollama/__init__.pyi +2 -2
- metaflow-stubs/mf_extensions/outerbounds/plugins/ollama/constants.pyi +2 -2
- metaflow-stubs/mf_extensions/outerbounds/plugins/ollama/exceptions.pyi +2 -2
- metaflow-stubs/mf_extensions/outerbounds/plugins/ollama/ollama.pyi +2 -2
- metaflow-stubs/mf_extensions/outerbounds/plugins/ollama/status_card.pyi +2 -2
- metaflow-stubs/mf_extensions/outerbounds/plugins/snowflake/__init__.pyi +2 -2
- metaflow-stubs/mf_extensions/outerbounds/plugins/snowflake/snowflake.pyi +2 -2
- metaflow-stubs/mf_extensions/outerbounds/profilers/__init__.pyi +2 -2
- metaflow-stubs/mf_extensions/outerbounds/profilers/gpu.pyi +2 -2
- metaflow-stubs/mf_extensions/outerbounds/remote_config.pyi +2 -2
- metaflow-stubs/mf_extensions/outerbounds/toplevel/__init__.pyi +2 -2
- metaflow-stubs/mf_extensions/outerbounds/toplevel/global_aliases_for_metaflow_package.pyi +2 -2
- metaflow-stubs/multicore_utils.pyi +2 -2
- metaflow-stubs/parameters.pyi +5 -5
- metaflow-stubs/plugins/__init__.pyi +10 -10
- metaflow-stubs/plugins/airflow/__init__.pyi +2 -2
- metaflow-stubs/plugins/airflow/airflow_utils.pyi +2 -2
- metaflow-stubs/plugins/airflow/exception.pyi +2 -2
- metaflow-stubs/plugins/airflow/sensors/__init__.pyi +2 -2
- metaflow-stubs/plugins/airflow/sensors/base_sensor.pyi +2 -2
- metaflow-stubs/plugins/airflow/sensors/external_task_sensor.pyi +2 -2
- metaflow-stubs/plugins/airflow/sensors/s3_sensor.pyi +2 -2
- metaflow-stubs/plugins/argo/__init__.pyi +2 -2
- metaflow-stubs/plugins/argo/argo_client.pyi +2 -2
- metaflow-stubs/plugins/argo/argo_events.pyi +2 -2
- metaflow-stubs/plugins/argo/argo_workflows.pyi +4 -2
- metaflow-stubs/plugins/argo/argo_workflows_decorator.pyi +3 -3
- metaflow-stubs/plugins/argo/argo_workflows_deployer.pyi +3 -3
- metaflow-stubs/plugins/argo/argo_workflows_deployer_objects.pyi +3 -5
- metaflow-stubs/plugins/aws/__init__.pyi +2 -2
- metaflow-stubs/plugins/aws/aws_client.pyi +2 -2
- metaflow-stubs/plugins/aws/aws_utils.pyi +2 -2
- metaflow-stubs/plugins/aws/batch/__init__.pyi +2 -2
- metaflow-stubs/plugins/aws/batch/batch.pyi +2 -2
- metaflow-stubs/plugins/aws/batch/batch_client.pyi +2 -2
- metaflow-stubs/plugins/aws/batch/batch_decorator.pyi +2 -2
- metaflow-stubs/plugins/aws/secrets_manager/__init__.pyi +2 -2
- metaflow-stubs/plugins/aws/secrets_manager/aws_secrets_manager_secrets_provider.pyi +3 -3
- metaflow-stubs/plugins/aws/step_functions/__init__.pyi +2 -2
- metaflow-stubs/plugins/aws/step_functions/event_bridge_client.pyi +2 -2
- metaflow-stubs/plugins/aws/step_functions/schedule_decorator.pyi +2 -2
- metaflow-stubs/plugins/aws/step_functions/step_functions.pyi +2 -2
- metaflow-stubs/plugins/aws/step_functions/step_functions_client.pyi +2 -2
- 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 +2 -2
- metaflow-stubs/plugins/azure/azure_credential.pyi +2 -2
- metaflow-stubs/plugins/azure/azure_exceptions.pyi +2 -2
- metaflow-stubs/plugins/azure/azure_secret_manager_secrets_provider.pyi +3 -3
- metaflow-stubs/plugins/azure/azure_utils.pyi +2 -2
- metaflow-stubs/plugins/azure/blob_service_client_factory.pyi +2 -2
- metaflow-stubs/plugins/azure/includefile_support.pyi +2 -2
- metaflow-stubs/plugins/cards/__init__.pyi +6 -6
- metaflow-stubs/plugins/cards/card_client.pyi +2 -2
- metaflow-stubs/plugins/cards/card_creator.pyi +2 -2
- metaflow-stubs/plugins/cards/card_datastore.pyi +2 -2
- metaflow-stubs/plugins/cards/card_decorator.pyi +2 -2
- metaflow-stubs/plugins/cards/card_modules/__init__.pyi +2 -2
- metaflow-stubs/plugins/cards/card_modules/basic.pyi +3 -3
- metaflow-stubs/plugins/cards/card_modules/card.pyi +2 -2
- metaflow-stubs/plugins/cards/card_modules/components.pyi +3 -3
- metaflow-stubs/plugins/cards/card_modules/convert_to_native_type.pyi +2 -2
- metaflow-stubs/plugins/cards/card_modules/renderer_tools.pyi +2 -2
- metaflow-stubs/plugins/cards/card_modules/test_cards.pyi +2 -2
- metaflow-stubs/plugins/cards/card_resolver.pyi +2 -2
- metaflow-stubs/plugins/cards/component_serializer.pyi +2 -2
- metaflow-stubs/plugins/cards/exception.pyi +2 -2
- metaflow-stubs/plugins/catch_decorator.pyi +3 -3
- metaflow-stubs/plugins/datatools/__init__.pyi +2 -2
- metaflow-stubs/plugins/datatools/local.pyi +2 -2
- metaflow-stubs/plugins/datatools/s3/__init__.pyi +2 -2
- metaflow-stubs/plugins/datatools/s3/s3.pyi +14 -14
- metaflow-stubs/plugins/datatools/s3/s3tail.pyi +2 -2
- metaflow-stubs/plugins/datatools/s3/s3util.pyi +2 -2
- metaflow-stubs/plugins/debug_logger.pyi +2 -2
- metaflow-stubs/plugins/debug_monitor.pyi +2 -2
- metaflow-stubs/plugins/environment_decorator.pyi +2 -2
- metaflow-stubs/plugins/events_decorator.pyi +2 -2
- metaflow-stubs/plugins/frameworks/__init__.pyi +2 -2
- metaflow-stubs/plugins/frameworks/pytorch.pyi +2 -2
- metaflow-stubs/plugins/gcp/__init__.pyi +2 -2
- metaflow-stubs/plugins/gcp/gcp_secret_manager_secrets_provider.pyi +3 -3
- metaflow-stubs/plugins/gcp/gs_exceptions.pyi +2 -2
- metaflow-stubs/plugins/gcp/gs_storage_client_factory.pyi +2 -2
- metaflow-stubs/plugins/gcp/gs_utils.pyi +2 -2
- metaflow-stubs/plugins/gcp/includefile_support.pyi +2 -2
- metaflow-stubs/plugins/kubernetes/__init__.pyi +2 -2
- metaflow-stubs/plugins/kubernetes/kube_utils.pyi +2 -2
- metaflow-stubs/plugins/kubernetes/kubernetes.pyi +4 -4
- metaflow-stubs/plugins/kubernetes/kubernetes_client.pyi +2 -2
- metaflow-stubs/plugins/kubernetes/kubernetes_decorator.pyi +8 -2
- metaflow-stubs/plugins/kubernetes/kubernetes_jobsets.pyi +2 -2
- metaflow-stubs/plugins/kubernetes/spot_monitor_sidecar.pyi +2 -2
- metaflow-stubs/plugins/ollama/__init__.pyi +2 -2
- metaflow-stubs/plugins/parallel_decorator.pyi +2 -2
- metaflow-stubs/plugins/perimeters.pyi +2 -2
- metaflow-stubs/plugins/project_decorator.pyi +2 -2
- metaflow-stubs/plugins/pypi/__init__.pyi +2 -2
- metaflow-stubs/plugins/pypi/conda_decorator.pyi +2 -2
- metaflow-stubs/plugins/pypi/conda_environment.pyi +3 -3
- metaflow-stubs/plugins/pypi/parsers.pyi +2 -2
- metaflow-stubs/plugins/pypi/pypi_decorator.pyi +2 -2
- metaflow-stubs/plugins/pypi/pypi_environment.pyi +2 -2
- metaflow-stubs/plugins/pypi/utils.pyi +2 -2
- metaflow-stubs/plugins/resources_decorator.pyi +2 -2
- metaflow-stubs/plugins/retry_decorator.pyi +2 -2
- metaflow-stubs/plugins/secrets/__init__.pyi +2 -2
- metaflow-stubs/plugins/secrets/inline_secrets_provider.pyi +3 -3
- metaflow-stubs/plugins/secrets/secrets_decorator.pyi +2 -2
- metaflow-stubs/plugins/snowflake/__init__.pyi +2 -2
- metaflow-stubs/plugins/storage_executor.pyi +2 -2
- metaflow-stubs/plugins/test_unbounded_foreach_decorator.pyi +2 -2
- metaflow-stubs/plugins/timeout_decorator.pyi +3 -3
- metaflow-stubs/plugins/torchtune/__init__.pyi +2 -2
- metaflow-stubs/plugins/uv/__init__.pyi +2 -2
- metaflow-stubs/plugins/uv/uv_environment.pyi +2 -2
- metaflow-stubs/profilers/__init__.pyi +2 -2
- metaflow-stubs/pylint_wrapper.pyi +2 -2
- metaflow-stubs/runner/__init__.pyi +2 -2
- metaflow-stubs/runner/deployer.pyi +32 -29
- metaflow-stubs/runner/deployer_impl.pyi +6 -3
- metaflow-stubs/runner/metaflow_runner.pyi +6 -3
- metaflow-stubs/runner/nbdeploy.pyi +2 -2
- metaflow-stubs/runner/nbrun.pyi +2 -2
- metaflow-stubs/runner/subprocess_manager.pyi +2 -2
- metaflow-stubs/runner/utils.pyi +5 -2
- metaflow-stubs/system/__init__.pyi +2 -2
- metaflow-stubs/system/system_logger.pyi +2 -2
- metaflow-stubs/system/system_monitor.pyi +2 -2
- metaflow-stubs/tagging_util.pyi +2 -2
- metaflow-stubs/tuple_util.pyi +2 -2
- metaflow-stubs/user_configs/__init__.pyi +2 -2
- metaflow-stubs/user_configs/config_decorators.pyi +7 -7
- metaflow-stubs/user_configs/config_options.pyi +3 -3
- metaflow-stubs/user_configs/config_parameters.pyi +79 -19
- {ob_metaflow_stubs-6.0.3.177.dist-info → ob_metaflow_stubs-6.0.3.178.dist-info}/METADATA +1 -1
- ob_metaflow_stubs-6.0.3.178.dist-info/RECORD +215 -0
- ob_metaflow_stubs-6.0.3.177.dist-info/RECORD +0 -215
- {ob_metaflow_stubs-6.0.3.177.dist-info → ob_metaflow_stubs-6.0.3.178.dist-info}/WHEEL +0 -0
- {ob_metaflow_stubs-6.0.3.177.dist-info → ob_metaflow_stubs-6.0.3.178.dist-info}/top_level.txt +0 -0
@@ -1,7 +1,7 @@
|
|
1
1
|
######################################################################################################
|
2
2
|
# Auto-generated Metaflow stub file #
|
3
|
-
# MF version: 2.15.
|
4
|
-
# Generated on 2025-06-
|
3
|
+
# MF version: 2.15.17.1+obcheckpoint(0.2.1);ob(v1) #
|
4
|
+
# Generated on 2025-06-13T18:34:09.311171 #
|
5
5
|
######################################################################################################
|
6
6
|
|
7
7
|
from __future__ import annotations
|
@@ -9,13 +9,13 @@ from __future__ import annotations
|
|
9
9
|
import typing
|
10
10
|
if typing.TYPE_CHECKING:
|
11
11
|
import metaflow.mf_extensions.obcheckpoint.plugins.machine_learning_utilities.hf_hub.decorator
|
12
|
+
import metaflow.events
|
12
13
|
import typing
|
13
|
-
import metaflow.plugins.cards.component_serializer
|
14
14
|
import metaflow.metaflow_current
|
15
|
-
import metaflow.events
|
16
15
|
import metaflow.mf_extensions.obcheckpoint.plugins.machine_learning_utilities.checkpoints.decorator
|
17
|
-
import metaflow
|
16
|
+
import metaflow.plugins.cards.component_serializer
|
18
17
|
import metaflow.mf_extensions.obcheckpoint.plugins.machine_learning_utilities.modeling_utils.core
|
18
|
+
import metaflow
|
19
19
|
|
20
20
|
|
21
21
|
TYPE_CHECKING: bool
|
@@ -228,111 +228,82 @@ class Current(object, metaclass=type):
|
|
228
228
|
def graph(self):
|
229
229
|
...
|
230
230
|
@property
|
231
|
-
def
|
231
|
+
def model(self) -> "metaflow.mf_extensions.obcheckpoint.plugins.machine_learning_utilities.modeling_utils.core.ModelSerializer":
|
232
232
|
"""
|
233
|
-
(only in the presence of the @
|
233
|
+
(only in the presence of the @model decorator)
|
234
234
|
|
235
|
-
The
|
236
|
-
|
237
|
-
|
238
|
-
|
235
|
+
The object used for loading / saving models.
|
236
|
+
`current.model` exposes a `save` method to save models and a `load` method to load models.
|
237
|
+
`current.model.loaded` exposes the paths to the models loaded via the `load` argument in the @model decorator
|
238
|
+
or models loaded via `current.model.load`.
|
239
239
|
|
240
|
-
|
240
|
+
Usage (Saving a model):
|
241
|
+
-------
|
241
242
|
|
242
|
-
|
243
|
+
```
|
244
|
+
@model
|
245
|
+
@step
|
246
|
+
def train(self):
|
247
|
+
# current.model.save returns a dictionary reference to the model saved
|
248
|
+
self.my_model = current.model.save(
|
249
|
+
path_to_my_model,
|
250
|
+
label="my_model",
|
251
|
+
metadata={
|
252
|
+
"epochs": 10,
|
253
|
+
"batch-size": 32,
|
254
|
+
"learning-rate": 0.001,
|
255
|
+
}
|
256
|
+
)
|
257
|
+
self.next(self.test)
|
258
|
+
|
259
|
+
@model(load="my_model")
|
260
|
+
@step
|
261
|
+
def test(self):
|
262
|
+
# `current.model.loaded` returns a dictionary of the loaded models
|
263
|
+
# where the key is the name of the artifact and the value is the path to the model
|
264
|
+
print(os.listdir(current.model.loaded["my_model"]))
|
265
|
+
self.next(self.end)
|
266
|
+
```
|
267
|
+
|
268
|
+
Usage (Loading models):
|
243
269
|
-------
|
244
|
-
CardComponentCollector
|
245
|
-
The or one of the cards attached to this step.
|
246
|
-
"""
|
247
|
-
...
|
248
|
-
@property
|
249
|
-
def parallel(self) -> "metaflow.metaflow_current.Parallel":
|
250
|
-
"""
|
251
|
-
(only in the presence of the @parallel decorator)
|
252
270
|
|
253
|
-
|
271
|
+
```
|
272
|
+
@step
|
273
|
+
def train(self):
|
274
|
+
# current.model.load returns the path to the model loaded
|
275
|
+
checkpoint_path = current.model.load(
|
276
|
+
self.checkpoint_key,
|
277
|
+
)
|
278
|
+
model_path = current.model.load(
|
279
|
+
self.model,
|
280
|
+
)
|
281
|
+
self.next(self.test)
|
282
|
+
```
|
283
|
+
|
254
284
|
|
255
285
|
Returns
|
256
286
|
-------
|
257
|
-
|
258
|
-
|
259
|
-
- main_ip (`str`)
|
260
|
-
The IP address of the control task.
|
261
|
-
- num_nodes (`int`)
|
262
|
-
The total number of tasks created by @parallel
|
263
|
-
- node_index (`int`)
|
264
|
-
The index of the current task in all the @parallel tasks.
|
265
|
-
- control_task_id (`Optional[str]`)
|
266
|
-
The task ID of the control task. Available to all tasks.
|
267
|
-
"""
|
268
|
-
...
|
269
|
-
@property
|
270
|
-
def is_parallel(self) -> bool:
|
271
|
-
"""
|
272
|
-
(only in the presence of the @parallel decorator)
|
273
|
-
|
274
|
-
True if the current step is a @parallel step.
|
287
|
+
ModelSerializer
|
288
|
+
The object used for loading / saving models.
|
275
289
|
"""
|
276
290
|
...
|
277
291
|
@property
|
278
|
-
def
|
292
|
+
def card(self) -> "metaflow.plugins.cards.component_serializer.CardComponentCollector":
|
279
293
|
"""
|
280
|
-
(only in the presence of the @
|
281
|
-
|
282
|
-
The `@checkpoint` decorator makes saving/loading checkpoints available through the `current.checkpoint`.
|
283
|
-
The object exposes `save`/`load`/`list` methods for saving/loading checkpoints.
|
284
|
-
|
285
|
-
You can check if a checkpoint is loaded by `current.checkpoint.is_loaded` and get the checkpoint information
|
286
|
-
by using `current.checkpoint.info`. The `current.checkpoint.directory` returns the path to the checkpoint directory
|
287
|
-
where the checkpoint maybe loaded or saved.
|
294
|
+
(only in the presence of the @card decorator)
|
288
295
|
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
@step
|
294
|
-
def train(self):
|
295
|
-
model = create_model(self.parameters, checkpoint_path = None)
|
296
|
-
for i in range(self.epochs):
|
297
|
-
# some training logic
|
298
|
-
loss = model.train(self.dataset)
|
299
|
-
if i % 10 == 0:
|
300
|
-
model.save(
|
301
|
-
current.checkpoint.directory,
|
302
|
-
)
|
303
|
-
# saves the contents of the `current.checkpoint.directory` as a checkpoint
|
304
|
-
# and returns a reference dictionary to the checkpoint saved in the datastore
|
305
|
-
self.latest_checkpoint = current.checkpoint.save(
|
306
|
-
name="epoch_checkpoint",
|
307
|
-
metadata={
|
308
|
-
"epoch": i,
|
309
|
-
"loss": loss,
|
310
|
-
}
|
311
|
-
)
|
312
|
-
```
|
313
|
-
Usage (Using Loaded Checkpoints):
|
314
|
-
-------
|
315
|
-
```
|
316
|
-
@retry(times=3)
|
317
|
-
@checkpoint
|
318
|
-
@step
|
319
|
-
def train(self):
|
320
|
-
# Assume that the task has restarted and the previous attempt of the task
|
321
|
-
# saved a checkpoint
|
322
|
-
checkpoint_path = None
|
323
|
-
if current.checkpoint.is_loaded: # Check if a checkpoint is loaded
|
324
|
-
print("Loaded checkpoint from the previous attempt")
|
325
|
-
checkpoint_path = current.checkpoint.directory
|
296
|
+
The `@card` decorator makes the cards available through the `current.card`
|
297
|
+
object. If multiple `@card` decorators are present, you can add an `ID` to
|
298
|
+
distinguish between them using `@card(id=ID)` as the decorator. You will then
|
299
|
+
be able to access that specific card using `current.card[ID].
|
326
300
|
|
327
|
-
|
328
|
-
for i in range(self.epochs):
|
329
|
-
...
|
330
|
-
```
|
301
|
+
Methods available are `append` and `extend`
|
331
302
|
|
332
303
|
Returns
|
333
304
|
-------
|
334
|
-
|
335
|
-
The
|
305
|
+
CardComponentCollector
|
306
|
+
The or one of the cards attached to this step.
|
336
307
|
"""
|
337
308
|
...
|
338
309
|
@property
|
@@ -405,64 +376,93 @@ class Current(object, metaclass=type):
|
|
405
376
|
"""
|
406
377
|
...
|
407
378
|
@property
|
408
|
-
def
|
379
|
+
def checkpoint(self) -> "metaflow.mf_extensions.obcheckpoint.plugins.machine_learning_utilities.checkpoints.decorator.CurrentCheckpointer":
|
409
380
|
"""
|
410
|
-
(only in the presence of the @
|
381
|
+
(only in the presence of the @checkpoint decorator)
|
411
382
|
|
412
|
-
The
|
413
|
-
|
414
|
-
`current.model.loaded` exposes the paths to the models loaded via the `load` argument in the @model decorator
|
415
|
-
or models loaded via `current.model.load`.
|
383
|
+
The `@checkpoint` decorator makes saving/loading checkpoints available through the `current.checkpoint`.
|
384
|
+
The object exposes `save`/`load`/`list` methods for saving/loading checkpoints.
|
416
385
|
|
417
|
-
|
418
|
-
|
386
|
+
You can check if a checkpoint is loaded by `current.checkpoint.is_loaded` and get the checkpoint information
|
387
|
+
by using `current.checkpoint.info`. The `current.checkpoint.directory` returns the path to the checkpoint directory
|
388
|
+
where the checkpoint maybe loaded or saved.
|
419
389
|
|
390
|
+
Usage (Saving Checkpoints):
|
391
|
+
-------
|
420
392
|
```
|
421
|
-
@
|
393
|
+
@checkpoint
|
422
394
|
@step
|
423
395
|
def train(self):
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
print(os.listdir(current.model.loaded["my_model"]))
|
442
|
-
self.next(self.end)
|
396
|
+
model = create_model(self.parameters, checkpoint_path = None)
|
397
|
+
for i in range(self.epochs):
|
398
|
+
# some training logic
|
399
|
+
loss = model.train(self.dataset)
|
400
|
+
if i % 10 == 0:
|
401
|
+
model.save(
|
402
|
+
current.checkpoint.directory,
|
403
|
+
)
|
404
|
+
# saves the contents of the `current.checkpoint.directory` as a checkpoint
|
405
|
+
# and returns a reference dictionary to the checkpoint saved in the datastore
|
406
|
+
self.latest_checkpoint = current.checkpoint.save(
|
407
|
+
name="epoch_checkpoint",
|
408
|
+
metadata={
|
409
|
+
"epoch": i,
|
410
|
+
"loss": loss,
|
411
|
+
}
|
412
|
+
)
|
443
413
|
```
|
444
|
-
|
445
|
-
Usage (Loading models):
|
414
|
+
Usage (Using Loaded Checkpoints):
|
446
415
|
-------
|
447
|
-
|
448
416
|
```
|
417
|
+
@retry(times=3)
|
418
|
+
@checkpoint
|
449
419
|
@step
|
450
420
|
def train(self):
|
451
|
-
#
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
421
|
+
# Assume that the task has restarted and the previous attempt of the task
|
422
|
+
# saved a checkpoint
|
423
|
+
checkpoint_path = None
|
424
|
+
if current.checkpoint.is_loaded: # Check if a checkpoint is loaded
|
425
|
+
print("Loaded checkpoint from the previous attempt")
|
426
|
+
checkpoint_path = current.checkpoint.directory
|
427
|
+
|
428
|
+
model = create_model(self.parameters, checkpoint_path = checkpoint_path)
|
429
|
+
for i in range(self.epochs):
|
430
|
+
...
|
459
431
|
```
|
460
432
|
|
433
|
+
Returns
|
434
|
+
-------
|
435
|
+
CurrentCheckpointer
|
436
|
+
The object for handling checkpointing within a step.
|
437
|
+
"""
|
438
|
+
...
|
439
|
+
@property
|
440
|
+
def parallel(self) -> "metaflow.metaflow_current.Parallel":
|
441
|
+
"""
|
442
|
+
(only in the presence of the @parallel decorator)
|
443
|
+
|
444
|
+
Returns a namedtuple with relevant information about the parallel task.
|
461
445
|
|
462
446
|
Returns
|
463
447
|
-------
|
464
|
-
|
465
|
-
|
448
|
+
Parallel
|
449
|
+
`namedtuple` with the following fields:
|
450
|
+
- main_ip (`str`)
|
451
|
+
The IP address of the control task.
|
452
|
+
- num_nodes (`int`)
|
453
|
+
The total number of tasks created by @parallel
|
454
|
+
- node_index (`int`)
|
455
|
+
The index of the current task in all the @parallel tasks.
|
456
|
+
- control_task_id (`Optional[str]`)
|
457
|
+
The task ID of the control task. Available to all tasks.
|
458
|
+
"""
|
459
|
+
...
|
460
|
+
@property
|
461
|
+
def is_parallel(self) -> bool:
|
462
|
+
"""
|
463
|
+
(only in the presence of the @parallel decorator)
|
464
|
+
|
465
|
+
True if the current step is a @parallel step.
|
466
466
|
"""
|
467
467
|
...
|
468
468
|
@property
|
metaflow-stubs/metaflow_git.pyi
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
######################################################################################################
|
2
2
|
# Auto-generated Metaflow stub file #
|
3
|
-
# MF version: 2.15.
|
4
|
-
# Generated on 2025-06-
|
3
|
+
# MF version: 2.15.17.1+obcheckpoint(0.2.1);ob(v1) #
|
4
|
+
# Generated on 2025-06-13T18:34:09.171164 #
|
5
5
|
######################################################################################################
|
6
6
|
|
7
7
|
from __future__ import annotations
|
@@ -1,6 +1,6 @@
|
|
1
1
|
######################################################################################################
|
2
2
|
# Auto-generated Metaflow stub file #
|
3
|
-
# MF version: 2.15.
|
4
|
-
# Generated on 2025-06-
|
3
|
+
# MF version: 2.15.17.1+obcheckpoint(0.2.1);ob(v1) #
|
4
|
+
# Generated on 2025-06-13T18:34:09.172516 #
|
5
5
|
######################################################################################################
|
6
6
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
######################################################################################################
|
2
2
|
# Auto-generated Metaflow stub file #
|
3
|
-
# MF version: 2.15.
|
4
|
-
# Generated on 2025-06-
|
3
|
+
# MF version: 2.15.17.1+obcheckpoint(0.2.1);ob(v1) #
|
4
|
+
# Generated on 2025-06-13T18:34:09.181471 #
|
5
5
|
######################################################################################################
|
6
6
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
######################################################################################################
|
2
2
|
# Auto-generated Metaflow stub file #
|
3
|
-
# MF version: 2.15.
|
4
|
-
# Generated on 2025-06-
|
3
|
+
# MF version: 2.15.17.1+obcheckpoint(0.2.1);ob(v1) #
|
4
|
+
# Generated on 2025-06-13T18:34:09.181531 #
|
5
5
|
######################################################################################################
|
6
6
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
######################################################################################################
|
2
2
|
# Auto-generated Metaflow stub file #
|
3
|
-
# MF version: 2.15.
|
4
|
-
# Generated on 2025-06-
|
3
|
+
# MF version: 2.15.17.1+obcheckpoint(0.2.1);ob(v1) #
|
4
|
+
# Generated on 2025-06-13T18:34:09.181585 #
|
5
5
|
######################################################################################################
|
6
6
|
|
metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/card_utils/__init__.pyi
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
######################################################################################################
|
2
2
|
# Auto-generated Metaflow stub file #
|
3
|
-
# MF version: 2.15.
|
4
|
-
# Generated on 2025-06-
|
3
|
+
# MF version: 2.15.17.1+obcheckpoint(0.2.1);ob(v1) #
|
4
|
+
# Generated on 2025-06-13T18:34:09.239326 #
|
5
5
|
######################################################################################################
|
6
6
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
######################################################################################################
|
2
2
|
# Auto-generated Metaflow stub file #
|
3
|
-
# MF version: 2.15.
|
4
|
-
# Generated on 2025-06-
|
3
|
+
# MF version: 2.15.17.1+obcheckpoint(0.2.1);ob(v1) #
|
4
|
+
# Generated on 2025-06-13T18:34:09.239893 #
|
5
5
|
######################################################################################################
|
6
6
|
|
7
7
|
from __future__ import annotations
|
@@ -1,7 +1,7 @@
|
|
1
1
|
######################################################################################################
|
2
2
|
# Auto-generated Metaflow stub file #
|
3
|
-
# MF version: 2.15.
|
4
|
-
# Generated on 2025-06-
|
3
|
+
# MF version: 2.15.17.1+obcheckpoint(0.2.1);ob(v1) #
|
4
|
+
# Generated on 2025-06-13T18:34:09.239373 #
|
5
5
|
######################################################################################################
|
6
6
|
|
7
7
|
from __future__ import annotations
|
@@ -1,7 +1,7 @@
|
|
1
1
|
######################################################################################################
|
2
2
|
# Auto-generated Metaflow stub file #
|
3
|
-
# MF version: 2.15.
|
4
|
-
# Generated on 2025-06-
|
3
|
+
# MF version: 2.15.17.1+obcheckpoint(0.2.1);ob(v1) #
|
4
|
+
# Generated on 2025-06-13T18:34:09.281846 #
|
5
5
|
######################################################################################################
|
6
6
|
|
7
7
|
from __future__ import annotations
|
@@ -9,8 +9,8 @@ from __future__ import annotations
|
|
9
9
|
import typing
|
10
10
|
import metaflow
|
11
11
|
if typing.TYPE_CHECKING:
|
12
|
-
import metaflow.plugins.cards.card_modules.card
|
13
12
|
import metaflow.plugins.cards.card_modules.components
|
13
|
+
import metaflow.plugins.cards.card_modules.card
|
14
14
|
|
15
15
|
from ......plugins.cards.card_modules.components import VegaChart as VegaChart
|
16
16
|
from ......plugins.cards.card_modules.card import MetaflowCardComponent as MetaflowCardComponent
|
@@ -1,6 +1,6 @@
|
|
1
1
|
######################################################################################################
|
2
2
|
# Auto-generated Metaflow stub file #
|
3
|
-
# MF version: 2.15.
|
4
|
-
# Generated on 2025-06-
|
3
|
+
# MF version: 2.15.17.1+obcheckpoint(0.2.1);ob(v1) #
|
4
|
+
# Generated on 2025-06-13T18:34:09.181638 #
|
5
5
|
######################################################################################################
|
6
6
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
######################################################################################################
|
2
2
|
# Auto-generated Metaflow stub file #
|
3
|
-
# MF version: 2.15.
|
4
|
-
# Generated on 2025-06-
|
3
|
+
# MF version: 2.15.17.1+obcheckpoint(0.2.1);ob(v1) #
|
4
|
+
# Generated on 2025-06-13T18:34:09.240677 #
|
5
5
|
######################################################################################################
|
6
6
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
######################################################################################################
|
2
2
|
# Auto-generated Metaflow stub file #
|
3
|
-
# MF version: 2.15.
|
4
|
-
# Generated on 2025-06-
|
3
|
+
# MF version: 2.15.17.1+obcheckpoint(0.2.1);ob(v1) #
|
4
|
+
# Generated on 2025-06-13T18:34:09.240727 #
|
5
5
|
######################################################################################################
|
6
6
|
|
7
7
|
from __future__ import annotations
|
@@ -11,8 +11,8 @@ import typing
|
|
11
11
|
import metaflow
|
12
12
|
if typing.TYPE_CHECKING:
|
13
13
|
import threading
|
14
|
-
import metaflow.mf_extensions.obcheckpoint.plugins.machine_learning_utilities.card_utils.async_cards
|
15
14
|
import metaflow.mf_extensions.obcheckpoint.plugins.machine_learning_utilities.datastructures
|
15
|
+
import metaflow.mf_extensions.obcheckpoint.plugins.machine_learning_utilities.card_utils.async_cards
|
16
16
|
|
17
17
|
from ...card_utils.deco_injection_mixin import CardDecoratorInjector as CardDecoratorInjector
|
18
18
|
from ...card_utils.async_cards import CardRefresher as CardRefresher
|
@@ -1,7 +1,7 @@
|
|
1
1
|
######################################################################################################
|
2
2
|
# Auto-generated Metaflow stub file #
|
3
|
-
# MF version: 2.15.
|
4
|
-
# Generated on 2025-06-
|
3
|
+
# MF version: 2.15.17.1+obcheckpoint(0.2.1);ob(v1) #
|
4
|
+
# Generated on 2025-06-13T18:34:09.241077 #
|
5
5
|
######################################################################################################
|
6
6
|
|
7
7
|
from __future__ import annotations
|
@@ -1,7 +1,7 @@
|
|
1
1
|
######################################################################################################
|
2
2
|
# Auto-generated Metaflow stub file #
|
3
|
-
# MF version: 2.15.
|
4
|
-
# Generated on 2025-06-
|
3
|
+
# MF version: 2.15.17.1+obcheckpoint(0.2.1);ob(v1) #
|
4
|
+
# Generated on 2025-06-13T18:34:09.281090 #
|
5
5
|
######################################################################################################
|
6
6
|
|
7
7
|
from __future__ import annotations
|
@@ -9,10 +9,10 @@ from __future__ import annotations
|
|
9
9
|
import typing
|
10
10
|
import metaflow
|
11
11
|
if typing.TYPE_CHECKING:
|
12
|
-
import metaflow.datastore.datastore_storage
|
13
12
|
import metaflow.mf_extensions.obcheckpoint.plugins.machine_learning_utilities.datastore.core
|
14
|
-
import metaflow.mf_extensions.obcheckpoint.plugins.machine_learning_utilities.datastructures
|
15
13
|
import metaflow.mf_extensions.obcheckpoint.plugins.machine_learning_utilities.checkpoints.checkpoint_storage
|
14
|
+
import metaflow.mf_extensions.obcheckpoint.plugins.machine_learning_utilities.datastructures
|
15
|
+
import metaflow.datastore.datastore_storage
|
16
16
|
|
17
17
|
from ..exceptions import KeyNotCompatibleWithObjectException as KeyNotCompatibleWithObjectException
|
18
18
|
from ..utils.identity_utils import pathspec_hash as pathspec_hash
|
@@ -1,7 +1,7 @@
|
|
1
1
|
######################################################################################################
|
2
2
|
# Auto-generated Metaflow stub file #
|
3
|
-
# MF version: 2.15.
|
4
|
-
# Generated on 2025-06-
|
3
|
+
# MF version: 2.15.17.1+obcheckpoint(0.2.1);ob(v1) #
|
4
|
+
# Generated on 2025-06-13T18:34:09.210434 #
|
5
5
|
######################################################################################################
|
6
6
|
|
7
7
|
from __future__ import annotations
|
metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/checkpoints/core.pyi
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
######################################################################################################
|
2
2
|
# Auto-generated Metaflow stub file #
|
3
|
-
# MF version: 2.15.
|
4
|
-
# Generated on 2025-06-
|
3
|
+
# MF version: 2.15.17.1+obcheckpoint(0.2.1);ob(v1) #
|
4
|
+
# Generated on 2025-06-13T18:34:09.238452 #
|
5
5
|
######################################################################################################
|
6
6
|
|
7
7
|
from __future__ import annotations
|
8
8
|
|
9
9
|
import typing
|
10
10
|
if typing.TYPE_CHECKING:
|
11
|
-
import metaflow
|
12
|
-
import metaflow.mf_extensions.obcheckpoint.plugins.machine_learning_utilities.datastructures
|
13
11
|
import metaflow.mf_extensions.obcheckpoint.plugins.machine_learning_utilities.checkpoints.checkpoint_storage
|
14
12
|
import metaflow.mf_extensions.obcheckpoint.plugins.machine_learning_utilities.checkpoints.core
|
13
|
+
import metaflow.mf_extensions.obcheckpoint.plugins.machine_learning_utilities.datastructures
|
14
|
+
import metaflow
|
15
15
|
|
16
16
|
from ......metaflow_current import current as current
|
17
17
|
from ......exception import MetaflowException as MetaflowException
|
@@ -1,7 +1,7 @@
|
|
1
1
|
######################################################################################################
|
2
2
|
# Auto-generated Metaflow stub file #
|
3
|
-
# MF version: 2.15.
|
4
|
-
# Generated on 2025-06-
|
3
|
+
# MF version: 2.15.17.1+obcheckpoint(0.2.1);ob(v1) #
|
4
|
+
# Generated on 2025-06-13T18:34:09.212662 #
|
5
5
|
######################################################################################################
|
6
6
|
|
7
7
|
from __future__ import annotations
|
@@ -10,8 +10,8 @@ import typing
|
|
10
10
|
import metaflow
|
11
11
|
if typing.TYPE_CHECKING:
|
12
12
|
import metaflow.decorators
|
13
|
-
import metaflow
|
14
13
|
import metaflow.mf_extensions.obcheckpoint.plugins.machine_learning_utilities.datastructures
|
14
|
+
import metaflow
|
15
15
|
import os
|
16
16
|
|
17
17
|
from .exceptions import CheckpointException as CheckpointException
|
@@ -1,7 +1,7 @@
|
|
1
1
|
######################################################################################################
|
2
2
|
# Auto-generated Metaflow stub file #
|
3
|
-
# MF version: 2.15.
|
4
|
-
# Generated on 2025-06-
|
3
|
+
# MF version: 2.15.17.1+obcheckpoint(0.2.1);ob(v1) #
|
4
|
+
# Generated on 2025-06-13T18:34:09.210654 #
|
5
5
|
######################################################################################################
|
6
6
|
|
7
7
|
from __future__ import annotations
|
@@ -1,15 +1,15 @@
|
|
1
1
|
######################################################################################################
|
2
2
|
# Auto-generated Metaflow stub file #
|
3
|
-
# MF version: 2.15.
|
4
|
-
# Generated on 2025-06-
|
3
|
+
# MF version: 2.15.17.1+obcheckpoint(0.2.1);ob(v1) #
|
4
|
+
# Generated on 2025-06-13T18:34:09.181684 #
|
5
5
|
######################################################################################################
|
6
6
|
|
7
7
|
from __future__ import annotations
|
8
8
|
|
9
9
|
import typing
|
10
10
|
if typing.TYPE_CHECKING:
|
11
|
-
import metaflow
|
12
11
|
import metaflow.mf_extensions.obcheckpoint.plugins.machine_learning_utilities.datastructures
|
12
|
+
import metaflow
|
13
13
|
|
14
14
|
from ..datastructures import CheckpointArtifact as CheckpointArtifact
|
15
15
|
from .constructors import load_checkpoint as load_checkpoint
|
metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/checkpoints/lineage.pyi
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
######################################################################################################
|
2
2
|
# Auto-generated Metaflow stub file #
|
3
|
-
# MF version: 2.15.
|
4
|
-
# Generated on 2025-06-
|
3
|
+
# MF version: 2.15.17.1+obcheckpoint(0.2.1);ob(v1) #
|
4
|
+
# Generated on 2025-06-13T18:34:09.241359 #
|
5
5
|
######################################################################################################
|
6
6
|
|
7
7
|
from __future__ import annotations
|
metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/datastore/__init__.pyi
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
######################################################################################################
|
2
2
|
# Auto-generated Metaflow stub file #
|
3
|
-
# MF version: 2.15.
|
4
|
-
# Generated on 2025-06-
|
3
|
+
# MF version: 2.15.17.1+obcheckpoint(0.2.1);ob(v1) #
|
4
|
+
# Generated on 2025-06-13T18:34:09.183270 #
|
5
5
|
######################################################################################################
|
6
6
|
|