ob-metaflow-stubs 6.0.3.177__py2.py3-none-any.whl → 6.0.3.179__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 +836 -794
- 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 +27 -27
- metaflow-stubs/client/filecache.pyi +2 -2
- metaflow-stubs/events.pyi +5 -5
- metaflow-stubs/exception.pyi +2 -2
- metaflow-stubs/flowspec.pyi +6 -6
- 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 +3 -3
- metaflow-stubs/metadata_provider/util.pyi +2 -2
- metaflow-stubs/metaflow_config.pyi +4 -2
- metaflow-stubs/metaflow_current.pyi +102 -102
- 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 +4 -4
- 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 +4 -4
- 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 +5 -5
- 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 +2 -2
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/datastore/core.pyi +3 -3
- 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 +5 -5
- 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 +2 -2
- 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 +5 -5
- 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 +2 -2
- 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 +3 -3
- metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/utils/tar_utils.pyi +3 -3
- 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 +2 -2
- 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 +11 -11
- 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 +6 -4
- metaflow-stubs/plugins/argo/argo_workflows_decorator.pyi +3 -3
- metaflow-stubs/plugins/argo/argo_workflows_deployer.pyi +4 -4
- metaflow-stubs/plugins/argo/argo_workflows_deployer_objects.pyi +4 -6
- 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 +4 -4
- metaflow-stubs/plugins/aws/step_functions/step_functions_deployer_objects.pyi +4 -4
- 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 +4 -4
- 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 +2 -2
- 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 +15 -15
- 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 +3 -3
- 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 +3 -3
- metaflow-stubs/plugins/pypi/conda_decorator.pyi +2 -2
- metaflow-stubs/plugins/pypi/conda_environment.pyi +5 -5
- 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 +2 -2
- 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 +2 -2
- metaflow-stubs/plugins/torchtune/__init__.pyi +2 -2
- metaflow-stubs/plugins/uv/__init__.pyi +2 -2
- metaflow-stubs/plugins/uv/uv_environment.pyi +3 -3
- 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 +33 -30
- metaflow-stubs/runner/deployer_impl.pyi +6 -3
- metaflow-stubs/runner/metaflow_runner.pyi +8 -5
- 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 +8 -8
- metaflow-stubs/user_configs/config_options.pyi +3 -3
- metaflow-stubs/user_configs/config_parameters.pyi +77 -17
- {ob_metaflow_stubs-6.0.3.177.dist-info → ob_metaflow_stubs-6.0.3.179.dist-info}/METADATA +1 -1
- ob_metaflow_stubs-6.0.3.179.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.179.dist-info}/WHEEL +0 -0
- {ob_metaflow_stubs-6.0.3.177.dist-info → ob_metaflow_stubs-6.0.3.179.dist-info}/top_level.txt +0 -0
@@ -1,21 +1,21 @@
|
|
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-16T20:11:03.039759 #
|
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.mf_extensions.obcheckpoint.plugins.machine_learning_utilities.hf_hub.decorator
|
12
|
-
import typing
|
13
|
-
import metaflow.plugins.cards.component_serializer
|
14
|
-
import metaflow.metaflow_current
|
15
|
-
import metaflow.events
|
16
|
-
import metaflow.mf_extensions.obcheckpoint.plugins.machine_learning_utilities.checkpoints.decorator
|
17
11
|
import metaflow
|
12
|
+
import metaflow.mf_extensions.obcheckpoint.plugins.machine_learning_utilities.checkpoints.decorator
|
18
13
|
import metaflow.mf_extensions.obcheckpoint.plugins.machine_learning_utilities.modeling_utils.core
|
14
|
+
import metaflow.events
|
15
|
+
import metaflow.metaflow_current
|
16
|
+
import metaflow.plugins.cards.component_serializer
|
17
|
+
import metaflow.mf_extensions.obcheckpoint.plugins.machine_learning_utilities.hf_hub.decorator
|
18
|
+
import typing
|
19
19
|
|
20
20
|
|
21
21
|
TYPE_CHECKING: bool
|
@@ -228,50 +228,64 @@ 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
|
@@ -405,64 +419,63 @@ class Current(object, metaclass=type):
|
|
405
419
|
"""
|
406
420
|
...
|
407
421
|
@property
|
408
|
-
def
|
422
|
+
def parallel(self) -> "metaflow.metaflow_current.Parallel":
|
409
423
|
"""
|
410
|
-
(only in the presence of the @
|
424
|
+
(only in the presence of the @parallel decorator)
|
411
425
|
|
412
|
-
|
413
|
-
`current.model` exposes a `save` method to save models and a `load` method to load models.
|
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`.
|
426
|
+
Returns a namedtuple with relevant information about the parallel task.
|
416
427
|
|
417
|
-
|
428
|
+
Returns
|
418
429
|
-------
|
430
|
+
Parallel
|
431
|
+
`namedtuple` with the following fields:
|
432
|
+
- main_ip (`str`)
|
433
|
+
The IP address of the control task.
|
434
|
+
- num_nodes (`int`)
|
435
|
+
The total number of tasks created by @parallel
|
436
|
+
- node_index (`int`)
|
437
|
+
The index of the current task in all the @parallel tasks.
|
438
|
+
- control_task_id (`Optional[str]`)
|
439
|
+
The task ID of the control task. Available to all tasks.
|
440
|
+
"""
|
441
|
+
...
|
442
|
+
@property
|
443
|
+
def is_parallel(self) -> bool:
|
444
|
+
"""
|
445
|
+
(only in the presence of the @parallel decorator)
|
419
446
|
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
label="my_model",
|
428
|
-
metadata={
|
429
|
-
"epochs": 10,
|
430
|
-
"batch-size": 32,
|
431
|
-
"learning-rate": 0.001,
|
432
|
-
}
|
433
|
-
)
|
434
|
-
self.next(self.test)
|
447
|
+
True if the current step is a @parallel step.
|
448
|
+
"""
|
449
|
+
...
|
450
|
+
@property
|
451
|
+
def card(self) -> "metaflow.plugins.cards.component_serializer.CardComponentCollector":
|
452
|
+
"""
|
453
|
+
(only in the presence of the @card decorator)
|
435
454
|
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
# where the key is the name of the artifact and the value is the path to the model
|
441
|
-
print(os.listdir(current.model.loaded["my_model"]))
|
442
|
-
self.next(self.end)
|
443
|
-
```
|
455
|
+
The `@card` decorator makes the cards available through the `current.card`
|
456
|
+
object. If multiple `@card` decorators are present, you can add an `ID` to
|
457
|
+
distinguish between them using `@card(id=ID)` as the decorator. You will then
|
458
|
+
be able to access that specific card using `current.card[ID].
|
444
459
|
|
445
|
-
|
446
|
-
-------
|
460
|
+
Methods available are `append` and `extend`
|
447
461
|
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
self.next(self.test)
|
459
|
-
```
|
462
|
+
Returns
|
463
|
+
-------
|
464
|
+
CardComponentCollector
|
465
|
+
The or one of the cards attached to this step.
|
466
|
+
"""
|
467
|
+
...
|
468
|
+
@property
|
469
|
+
def trigger(self) -> "metaflow.events.Trigger":
|
470
|
+
"""
|
471
|
+
(only in the presence of the @trigger, or @trigger_on_finish decorators)
|
460
472
|
|
473
|
+
Returns `Trigger` if the current run is triggered by an event
|
461
474
|
|
462
475
|
Returns
|
463
476
|
-------
|
464
|
-
|
465
|
-
|
477
|
+
Trigger
|
478
|
+
`Trigger` if triggered by an event
|
466
479
|
"""
|
467
480
|
...
|
468
481
|
@property
|
@@ -532,19 +545,6 @@ class Current(object, metaclass=type):
|
|
532
545
|
True if the flow is deployed with `--production`.
|
533
546
|
"""
|
534
547
|
...
|
535
|
-
@property
|
536
|
-
def trigger(self) -> "metaflow.events.Trigger":
|
537
|
-
"""
|
538
|
-
(only in the presence of the @trigger_on_finish, or @trigger decorators)
|
539
|
-
|
540
|
-
Returns `Trigger` if the current run is triggered by an event
|
541
|
-
|
542
|
-
Returns
|
543
|
-
-------
|
544
|
-
Trigger
|
545
|
-
`Trigger` if triggered by an event
|
546
|
-
"""
|
547
|
-
...
|
548
548
|
...
|
549
549
|
|
550
550
|
current: Current
|
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-16T20:11:02.865514 #
|
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-16T20:11:02.867541 #
|
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-16T20:11:02.877062 #
|
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-16T20:11:02.877125 #
|
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-16T20:11:02.877180 #
|
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-16T20:11:02.936617 #
|
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-16T20:11:02.937435 #
|
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-16T20:11:02.936689 #
|
5
5
|
######################################################################################################
|
6
6
|
|
7
7
|
from __future__ import annotations
|
@@ -1,16 +1,16 @@
|
|
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-16T20:11:03.004026 #
|
5
5
|
######################################################################################################
|
6
6
|
|
7
7
|
from __future__ import annotations
|
8
8
|
|
9
|
-
import typing
|
10
9
|
import metaflow
|
10
|
+
import typing
|
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-16T20:11:02.877237 #
|
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-16T20:11:02.938809 #
|
5
5
|
######################################################################################################
|
6
6
|
|
@@ -1,18 +1,18 @@
|
|
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-16T20:11:02.938894 #
|
5
5
|
######################################################################################################
|
6
6
|
|
7
7
|
from __future__ import annotations
|
8
8
|
|
9
9
|
import threading
|
10
|
-
import typing
|
11
10
|
import metaflow
|
11
|
+
import typing
|
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-16T20:11:02.939520 #
|
5
5
|
######################################################################################################
|
6
6
|
|
7
7
|
from __future__ import annotations
|
@@ -1,18 +1,18 @@
|
|
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-16T20:11:03.002445 #
|
5
5
|
######################################################################################################
|
6
6
|
|
7
7
|
from __future__ import annotations
|
8
8
|
|
9
|
-
import typing
|
10
9
|
import metaflow
|
10
|
+
import typing
|
11
11
|
if typing.TYPE_CHECKING:
|
12
12
|
import metaflow.datastore.datastore_storage
|
13
13
|
import metaflow.mf_extensions.obcheckpoint.plugins.machine_learning_utilities.datastore.core
|
14
|
-
import metaflow.mf_extensions.obcheckpoint.plugins.machine_learning_utilities.datastructures
|
15
14
|
import metaflow.mf_extensions.obcheckpoint.plugins.machine_learning_utilities.checkpoints.checkpoint_storage
|
15
|
+
import metaflow.mf_extensions.obcheckpoint.plugins.machine_learning_utilities.datastructures
|
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-16T20:11:02.907160 #
|
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-16T20:11:02.935723 #
|
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
|
13
|
-
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
|
14
|
+
import metaflow.mf_extensions.obcheckpoint.plugins.machine_learning_utilities.checkpoints.checkpoint_storage
|
15
15
|
|
16
16
|
from ......metaflow_current import current as current
|
17
17
|
from ......exception import MetaflowException as MetaflowException
|
@@ -1,18 +1,18 @@
|
|
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-16T20:11:02.909647 #
|
5
5
|
######################################################################################################
|
6
6
|
|
7
7
|
from __future__ import annotations
|
8
8
|
|
9
|
-
import typing
|
10
9
|
import metaflow
|
10
|
+
import typing
|
11
11
|
if typing.TYPE_CHECKING:
|
12
|
-
import metaflow.decorators
|
13
|
-
import metaflow
|
14
12
|
import metaflow.mf_extensions.obcheckpoint.plugins.machine_learning_utilities.datastructures
|
13
|
+
import metaflow
|
15
14
|
import os
|
15
|
+
import metaflow.decorators
|
16
16
|
|
17
17
|
from .exceptions import CheckpointException as CheckpointException
|
18
18
|
from ..utils import flowspec_utils as flowspec_utils
|
@@ -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-16T20:11:02.907447 #
|
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-16T20:11:02.877279 #
|
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-16T20:11:02.939994 #
|
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-16T20:11:02.878958 #
|
5
5
|
######################################################################################################
|
6
6
|
|
metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/datastore/context.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-16T20:11:02.879007 #
|
5
5
|
######################################################################################################
|
6
6
|
|
7
7
|
from __future__ import annotations
|
metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/datastore/core.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-16T20:11:02.942887 #
|
5
5
|
######################################################################################################
|
6
6
|
|
7
7
|
from __future__ import annotations
|
@@ -136,7 +136,7 @@ class ObjectStorage(object, metaclass=type):
|
|
136
136
|
...
|
137
137
|
def get_file(self, key):
|
138
138
|
...
|
139
|
-
def list_paths(self, keys, recursive = False) -> typing.Iterator[ListPathResult]:
|
139
|
+
def list_paths(self, keys, recursive = False) -> typing.Iterator[metaflow.mf_extensions.obcheckpoint.plugins.machine_learning_utilities.datastore.core.ListPathResult]:
|
140
140
|
"""
|
141
141
|
List all objects in the datastore's `keys` index.
|
142
142
|
"""
|
metaflow-stubs/mf_extensions/obcheckpoint/plugins/machine_learning_utilities/datastore/decorator.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-16T20:11:02.940581 #
|
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-16T20:11:03.024483 #
|
5
5
|
######################################################################################################
|
6
6
|
|
7
7
|
from __future__ import annotations
|