metaflow-stubs 2.13.7__py2.py3-none-any.whl → 2.13.8__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 +191 -191
- 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 +4 -4
- metaflow-stubs/client/filecache.pyi +3 -3
- metaflow-stubs/events.pyi +2 -2
- metaflow-stubs/exception.pyi +2 -2
- metaflow-stubs/flowspec.pyi +5 -5
- metaflow-stubs/generated_for.txt +1 -1
- metaflow-stubs/includefile.pyi +3 -3
- 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 +22 -22
- metaflow-stubs/multicore_utils.pyi +2 -2
- metaflow-stubs/parameters.pyi +6 -3
- metaflow-stubs/plugins/__init__.pyi +13 -13
- metaflow-stubs/plugins/airflow/__init__.pyi +2 -2
- metaflow-stubs/plugins/airflow/airflow_decorator.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 +3 -3
- 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 +2 -2
- metaflow-stubs/plugins/aws/__init__.pyi +3 -3
- 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 +2 -2
- metaflow-stubs/plugins/aws/step_functions/__init__.pyi +2 -2
- metaflow-stubs/plugins/aws/step_functions/dynamo_db_client.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_decorator.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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +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 +12 -3
- 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 +2 -2
- 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 +2 -2
- metaflow-stubs/plugins/kubernetes/kubernetes_client.pyi +2 -2
- metaflow-stubs/plugins/kubernetes/kubernetes_decorator.pyi +2 -2
- metaflow-stubs/plugins/kubernetes/kubernetes_job.pyi +2 -2
- metaflow-stubs/plugins/kubernetes/kubernetes_jobsets.pyi +2 -2
- metaflow-stubs/plugins/kubernetes/spot_monitor_sidecar.pyi +2 -2
- metaflow-stubs/plugins/parallel_decorator.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 +4 -4
- 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 +3 -3
- metaflow-stubs/plugins/secrets/inline_secrets_provider.pyi +2 -2
- metaflow-stubs/plugins/secrets/secrets_decorator.pyi +2 -2
- metaflow-stubs/plugins/storage_executor.pyi +2 -2
- metaflow-stubs/plugins/test_unbounded_foreach_decorator.pyi +3 -3
- metaflow-stubs/plugins/timeout_decorator.pyi +3 -3
- metaflow-stubs/pylint_wrapper.pyi +2 -2
- metaflow-stubs/runner/__init__.pyi +2 -2
- metaflow-stubs/runner/deployer.pyi +5 -5
- metaflow-stubs/runner/deployer_impl.pyi +2 -2
- metaflow-stubs/runner/metaflow_runner.pyi +3 -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 -4
- 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 +5 -5
- metaflow-stubs/user_configs/config_options.pyi +2 -2
- metaflow-stubs/user_configs/config_parameters.pyi +4 -4
- metaflow-stubs/version.pyi +2 -2
- {metaflow_stubs-2.13.7.dist-info → metaflow_stubs-2.13.8.dist-info}/METADATA +2 -2
- metaflow_stubs-2.13.8.dist-info/RECORD +145 -0
- metaflow_stubs-2.13.7.dist-info/RECORD +0 -145
- {metaflow_stubs-2.13.7.dist-info → metaflow_stubs-2.13.8.dist-info}/WHEEL +0 -0
- {metaflow_stubs-2.13.7.dist-info → metaflow_stubs-2.13.8.dist-info}/top_level.txt +0 -0
metaflow-stubs/__init__.pyi
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
######################################################################################################
|
2
2
|
# Auto-generated Metaflow stub file #
|
3
|
-
# MF version: 2.13.
|
4
|
-
# Generated on 2025-01-
|
3
|
+
# MF version: 2.13.8 #
|
4
|
+
# Generated on 2025-01-30T22:35:29.279121 #
|
5
5
|
######################################################################################################
|
6
6
|
|
7
7
|
from __future__ import annotations
|
@@ -35,8 +35,8 @@ from .user_configs.config_parameters import ConfigValue as ConfigValue
|
|
35
35
|
from .user_configs.config_parameters import config_expr as config_expr
|
36
36
|
from .user_configs.config_decorators import CustomFlowDecorator as CustomFlowDecorator
|
37
37
|
from .user_configs.config_decorators import CustomStepDecorator as CustomStepDecorator
|
38
|
-
from . import tuple_util as tuple_util
|
39
38
|
from . import events as events
|
39
|
+
from . import tuple_util as tuple_util
|
40
40
|
from . import runner as runner
|
41
41
|
from . import plugins as plugins
|
42
42
|
from .plugins.datatools.s3.s3 import S3 as S3
|
@@ -143,80 +143,70 @@ def step(f: typing.Union[typing.Callable[[FlowSpecDerived], None], typing.Callab
|
|
143
143
|
...
|
144
144
|
|
145
145
|
@typing.overload
|
146
|
-
def
|
146
|
+
def resources(*, cpu: int = 1, gpu: typing.Optional[int] = None, disk: typing.Optional[int] = None, memory: int = 4096, shared_memory: typing.Optional[int] = None) -> typing.Callable[[typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]]], typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]]]:
|
147
147
|
"""
|
148
|
-
Specifies the
|
149
|
-
to a step needs to be retried.
|
148
|
+
Specifies the resources needed when executing this step.
|
150
149
|
|
151
|
-
|
152
|
-
|
153
|
-
it is advisable to annotate it with `@retry(times=0)`.
|
150
|
+
Use `@resources` to specify the resource requirements
|
151
|
+
independently of the specific compute layer (`@batch`, `@kubernetes`).
|
154
152
|
|
155
|
-
|
156
|
-
|
157
|
-
|
153
|
+
You can choose the compute layer on the command line by executing e.g.
|
154
|
+
```
|
155
|
+
python myflow.py run --with batch
|
156
|
+
```
|
157
|
+
or
|
158
|
+
```
|
159
|
+
python myflow.py run --with kubernetes
|
160
|
+
```
|
161
|
+
which executes the flow on the desired system using the
|
162
|
+
requirements specified in `@resources`.
|
158
163
|
"""
|
159
164
|
...
|
160
165
|
|
161
166
|
@typing.overload
|
162
|
-
def
|
167
|
+
def resources(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
|
163
168
|
...
|
164
169
|
|
165
170
|
@typing.overload
|
166
|
-
def
|
171
|
+
def resources(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
|
167
172
|
...
|
168
173
|
|
169
|
-
def
|
174
|
+
def resources(f: typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None], None] = None, *, cpu: int = 1, gpu: typing.Optional[int] = None, disk: typing.Optional[int] = None, memory: int = 4096, shared_memory: typing.Optional[int] = None):
|
170
175
|
"""
|
171
|
-
Specifies the
|
172
|
-
to a step needs to be retried.
|
176
|
+
Specifies the resources needed when executing this step.
|
173
177
|
|
174
|
-
|
175
|
-
|
176
|
-
it is advisable to annotate it with `@retry(times=0)`.
|
178
|
+
Use `@resources` to specify the resource requirements
|
179
|
+
independently of the specific compute layer (`@batch`, `@kubernetes`).
|
177
180
|
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
+
You can choose the compute layer on the command line by executing e.g.
|
182
|
+
```
|
183
|
+
python myflow.py run --with batch
|
184
|
+
```
|
185
|
+
or
|
186
|
+
```
|
187
|
+
python myflow.py run --with kubernetes
|
188
|
+
```
|
189
|
+
which executes the flow on the desired system using the
|
190
|
+
requirements specified in `@resources`.
|
181
191
|
"""
|
182
192
|
...
|
183
193
|
|
184
194
|
@typing.overload
|
185
|
-
def
|
195
|
+
def parallel(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
|
186
196
|
"""
|
187
|
-
|
188
|
-
|
189
|
-
This decorator is useful if this step may hang indefinitely.
|
190
|
-
|
191
|
-
This can be used in conjunction with the `@retry` decorator as well as the `@catch` decorator.
|
192
|
-
A timeout is considered to be an exception thrown by the step. It will cause the step to be
|
193
|
-
retried if needed and the exception will be caught by the `@catch` decorator, if present.
|
194
|
-
|
195
|
-
Note that all the values specified in parameters are added together so if you specify
|
196
|
-
60 seconds and 1 hour, the decorator will have an effective timeout of 1 hour and 1 minute.
|
197
|
+
Decorator prototype for all step decorators. This function gets specialized
|
198
|
+
and imported for all decorators types by _import_plugin_decorators().
|
197
199
|
"""
|
198
200
|
...
|
199
201
|
|
200
202
|
@typing.overload
|
201
|
-
def
|
202
|
-
...
|
203
|
-
|
204
|
-
@typing.overload
|
205
|
-
def timeout(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
|
203
|
+
def parallel(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
|
206
204
|
...
|
207
205
|
|
208
|
-
def
|
206
|
+
def parallel(f: typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None], None] = None):
|
209
207
|
"""
|
210
|
-
|
211
|
-
|
212
|
-
This decorator is useful if this step may hang indefinitely.
|
213
|
-
|
214
|
-
This can be used in conjunction with the `@retry` decorator as well as the `@catch` decorator.
|
215
|
-
A timeout is considered to be an exception thrown by the step. It will cause the step to be
|
216
|
-
retried if needed and the exception will be caught by the `@catch` decorator, if present.
|
217
|
-
|
218
|
-
Note that all the values specified in parameters are added together so if you specify
|
219
|
-
60 seconds and 1 hour, the decorator will have an effective timeout of 1 hour and 1 minute.
|
208
|
+
Decorator prototype for all step decorators. This function gets specialized
|
209
|
+
and imported for all decorators types by _import_plugin_decorators().
|
220
210
|
"""
|
221
211
|
...
|
222
212
|
|
@@ -242,257 +232,248 @@ def environment(f: typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], Non
|
|
242
232
|
...
|
243
233
|
|
244
234
|
@typing.overload
|
245
|
-
def
|
235
|
+
def secrets(*, sources: typing.List[typing.Union[str, typing.Dict[str, typing.Any]]] = []) -> typing.Callable[[typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]]], typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]]]:
|
246
236
|
"""
|
247
|
-
Specifies
|
248
|
-
|
249
|
-
Information in this decorator will augment any
|
250
|
-
attributes set in the `@conda_base` flow-level decorator. Hence,
|
251
|
-
you can use `@conda_base` to set packages required by all
|
252
|
-
steps and use `@conda` to specify step-specific overrides.
|
237
|
+
Specifies secrets to be retrieved and injected as environment variables prior to
|
238
|
+
the execution of a step.
|
253
239
|
"""
|
254
240
|
...
|
255
241
|
|
256
242
|
@typing.overload
|
257
|
-
def
|
243
|
+
def secrets(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
|
258
244
|
...
|
259
245
|
|
260
246
|
@typing.overload
|
261
|
-
def
|
247
|
+
def secrets(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
|
262
248
|
...
|
263
249
|
|
264
|
-
def
|
250
|
+
def secrets(f: typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None], None] = None, *, sources: typing.List[typing.Union[str, typing.Dict[str, typing.Any]]] = []):
|
265
251
|
"""
|
266
|
-
Specifies
|
267
|
-
|
268
|
-
Information in this decorator will augment any
|
269
|
-
attributes set in the `@conda_base` flow-level decorator. Hence,
|
270
|
-
you can use `@conda_base` to set packages required by all
|
271
|
-
steps and use `@conda` to specify step-specific overrides.
|
252
|
+
Specifies secrets to be retrieved and injected as environment variables prior to
|
253
|
+
the execution of a step.
|
272
254
|
"""
|
273
255
|
...
|
274
256
|
|
275
257
|
@typing.overload
|
276
|
-
def
|
258
|
+
def card(*, type: str = 'default', id: typing.Optional[str] = None, options: typing.Dict[str, typing.Any] = {}, timeout: int = 45) -> typing.Callable[[typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]]], typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]]]:
|
277
259
|
"""
|
278
|
-
|
260
|
+
Creates a human-readable report, a Metaflow Card, after this step completes.
|
261
|
+
|
262
|
+
Note that you may add multiple `@card` decorators in a step with different parameters.
|
279
263
|
"""
|
280
264
|
...
|
281
265
|
|
282
266
|
@typing.overload
|
283
|
-
def
|
267
|
+
def card(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
|
284
268
|
...
|
285
269
|
|
286
270
|
@typing.overload
|
287
|
-
def
|
288
|
-
...
|
289
|
-
|
290
|
-
def batch(f: typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None], None] = None, *, cpu: int = 1, gpu: int = 0, memory: int = 4096, image: typing.Optional[str] = None, queue: str = 'METAFLOW_BATCH_JOB_QUEUE', iam_role: str = 'METAFLOW_ECS_S3_ACCESS_IAM_ROLE', execution_role: str = 'METAFLOW_ECS_FARGATE_EXECUTION_ROLE', shared_memory: typing.Optional[int] = None, max_swap: typing.Optional[int] = None, swappiness: typing.Optional[int] = None, use_tmpfs: bool = False, tmpfs_tempdir: bool = True, tmpfs_size: typing.Optional[int] = None, tmpfs_path: typing.Optional[str] = None, inferentia: int = 0, trainium: int = None, efa: int = 0, ephemeral_storage: int = None, log_driver: typing.Optional[str] = None, log_options: typing.Optional[typing.List[str]] = None):
|
291
|
-
"""
|
292
|
-
Specifies that this step should execute on [AWS Batch](https://aws.amazon.com/batch/).
|
293
|
-
"""
|
271
|
+
def card(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
|
294
272
|
...
|
295
273
|
|
296
|
-
|
297
|
-
def pypi(*, packages: typing.Dict[str, str] = {}, python: typing.Optional[str] = None) -> typing.Callable[[typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]]], typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]]]:
|
274
|
+
def card(f: typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None], None] = None, *, type: str = 'default', id: typing.Optional[str] = None, options: typing.Dict[str, typing.Any] = {}, timeout: int = 45):
|
298
275
|
"""
|
299
|
-
|
276
|
+
Creates a human-readable report, a Metaflow Card, after this step completes.
|
300
277
|
|
301
|
-
|
302
|
-
attributes set in the `@pyi_base` flow-level decorator. Hence,
|
303
|
-
you can use `@pypi_base` to set packages required by all
|
304
|
-
steps and use `@pypi` to specify step-specific overrides.
|
278
|
+
Note that you may add multiple `@card` decorators in a step with different parameters.
|
305
279
|
"""
|
306
280
|
...
|
307
281
|
|
308
|
-
|
309
|
-
def pypi(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
|
310
|
-
...
|
311
|
-
|
312
|
-
@typing.overload
|
313
|
-
def pypi(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
|
314
|
-
...
|
315
|
-
|
316
|
-
def pypi(f: typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None], None] = None, *, packages: typing.Dict[str, str] = {}, python: typing.Optional[str] = None):
|
282
|
+
def kubernetes(*, cpu: int = 1, memory: int = 4096, disk: int = 10240, image: typing.Optional[str] = None, image_pull_policy: str = 'KUBERNETES_IMAGE_PULL_POLICY', service_account: str = 'METAFLOW_KUBERNETES_SERVICE_ACCOUNT', secrets: typing.Optional[typing.List[str]] = None, node_selector: typing.Union[typing.Dict[str, str], str, None] = None, namespace: str = 'METAFLOW_KUBERNETES_NAMESPACE', gpu: typing.Optional[int] = None, gpu_vendor: str = 'KUBERNETES_GPU_VENDOR', tolerations: typing.List[str] = [], labels: typing.Dict[str, str] = 'METAFLOW_KUBERNETES_LABELS', annotations: typing.Dict[str, str] = 'METAFLOW_KUBERNETES_ANNOTATIONS', use_tmpfs: bool = False, tmpfs_tempdir: bool = True, tmpfs_size: typing.Optional[int] = None, tmpfs_path: typing.Optional[str] = '/metaflow_temp', persistent_volume_claims: typing.Optional[typing.Dict[str, str]] = None, shared_memory: typing.Optional[int] = None, port: typing.Optional[int] = None, compute_pool: typing.Optional[str] = None, hostname_resolution_timeout: int = 600, qos: str = 'Burstable') -> typing.Callable[[typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]]], typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]]]:
|
317
283
|
"""
|
318
|
-
Specifies
|
319
|
-
|
320
|
-
Information in this decorator will augment any
|
321
|
-
attributes set in the `@pyi_base` flow-level decorator. Hence,
|
322
|
-
you can use `@pypi_base` to set packages required by all
|
323
|
-
steps and use `@pypi` to specify step-specific overrides.
|
284
|
+
Specifies that this step should execute on Kubernetes.
|
324
285
|
"""
|
325
286
|
...
|
326
287
|
|
327
288
|
@typing.overload
|
328
|
-
def
|
289
|
+
def batch(*, cpu: int = 1, gpu: int = 0, memory: int = 4096, image: typing.Optional[str] = None, queue: str = 'METAFLOW_BATCH_JOB_QUEUE', iam_role: str = 'METAFLOW_ECS_S3_ACCESS_IAM_ROLE', execution_role: str = 'METAFLOW_ECS_FARGATE_EXECUTION_ROLE', shared_memory: typing.Optional[int] = None, max_swap: typing.Optional[int] = None, swappiness: typing.Optional[int] = None, use_tmpfs: bool = False, tmpfs_tempdir: bool = True, tmpfs_size: typing.Optional[int] = None, tmpfs_path: typing.Optional[str] = None, inferentia: int = 0, trainium: int = None, efa: int = 0, ephemeral_storage: int = None, log_driver: typing.Optional[str] = None, log_options: typing.Optional[typing.List[str]] = None) -> typing.Callable[[typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]]], typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]]]:
|
329
290
|
"""
|
330
|
-
|
331
|
-
|
332
|
-
Note that you may add multiple `@card` decorators in a step with different parameters.
|
291
|
+
Specifies that this step should execute on [AWS Batch](https://aws.amazon.com/batch/).
|
333
292
|
"""
|
334
293
|
...
|
335
294
|
|
336
295
|
@typing.overload
|
337
|
-
def
|
296
|
+
def batch(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
|
338
297
|
...
|
339
298
|
|
340
299
|
@typing.overload
|
341
|
-
def
|
300
|
+
def batch(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
|
342
301
|
...
|
343
302
|
|
344
|
-
def
|
303
|
+
def batch(f: typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None], None] = None, *, cpu: int = 1, gpu: int = 0, memory: int = 4096, image: typing.Optional[str] = None, queue: str = 'METAFLOW_BATCH_JOB_QUEUE', iam_role: str = 'METAFLOW_ECS_S3_ACCESS_IAM_ROLE', execution_role: str = 'METAFLOW_ECS_FARGATE_EXECUTION_ROLE', shared_memory: typing.Optional[int] = None, max_swap: typing.Optional[int] = None, swappiness: typing.Optional[int] = None, use_tmpfs: bool = False, tmpfs_tempdir: bool = True, tmpfs_size: typing.Optional[int] = None, tmpfs_path: typing.Optional[str] = None, inferentia: int = 0, trainium: int = None, efa: int = 0, ephemeral_storage: int = None, log_driver: typing.Optional[str] = None, log_options: typing.Optional[typing.List[str]] = None):
|
345
304
|
"""
|
346
|
-
|
347
|
-
|
348
|
-
Note that you may add multiple `@card` decorators in a step with different parameters.
|
305
|
+
Specifies that this step should execute on [AWS Batch](https://aws.amazon.com/batch/).
|
349
306
|
"""
|
350
307
|
...
|
351
308
|
|
352
309
|
@typing.overload
|
353
|
-
def
|
310
|
+
def catch(*, var: typing.Optional[str] = None, print_exception: bool = True) -> typing.Callable[[typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]]], typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]]]:
|
354
311
|
"""
|
355
|
-
|
356
|
-
|
312
|
+
Specifies that the step will success under all circumstances.
|
313
|
+
|
314
|
+
The decorator will create an optional artifact, specified by `var`, which
|
315
|
+
contains the exception raised. You can use it to detect the presence
|
316
|
+
of errors, indicating that all happy-path artifacts produced by the step
|
317
|
+
are missing.
|
357
318
|
"""
|
358
319
|
...
|
359
320
|
|
360
321
|
@typing.overload
|
361
|
-
def
|
322
|
+
def catch(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
|
362
323
|
...
|
363
324
|
|
364
|
-
|
325
|
+
@typing.overload
|
326
|
+
def catch(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
|
327
|
+
...
|
328
|
+
|
329
|
+
def catch(f: typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None], None] = None, *, var: typing.Optional[str] = None, print_exception: bool = True):
|
365
330
|
"""
|
366
|
-
|
367
|
-
|
331
|
+
Specifies that the step will success under all circumstances.
|
332
|
+
|
333
|
+
The decorator will create an optional artifact, specified by `var`, which
|
334
|
+
contains the exception raised. You can use it to detect the presence
|
335
|
+
of errors, indicating that all happy-path artifacts produced by the step
|
336
|
+
are missing.
|
368
337
|
"""
|
369
338
|
...
|
370
339
|
|
371
340
|
@typing.overload
|
372
|
-
def
|
341
|
+
def pypi(*, packages: typing.Dict[str, str] = {}, python: typing.Optional[str] = None) -> typing.Callable[[typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]]], typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]]]:
|
373
342
|
"""
|
374
|
-
Specifies
|
375
|
-
|
343
|
+
Specifies the PyPI packages for the step.
|
344
|
+
|
345
|
+
Information in this decorator will augment any
|
346
|
+
attributes set in the `@pyi_base` flow-level decorator. Hence,
|
347
|
+
you can use `@pypi_base` to set packages required by all
|
348
|
+
steps and use `@pypi` to specify step-specific overrides.
|
376
349
|
"""
|
377
350
|
...
|
378
351
|
|
379
352
|
@typing.overload
|
380
|
-
def
|
353
|
+
def pypi(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
|
381
354
|
...
|
382
355
|
|
383
356
|
@typing.overload
|
384
|
-
def
|
357
|
+
def pypi(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
|
385
358
|
...
|
386
359
|
|
387
|
-
def
|
360
|
+
def pypi(f: typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None], None] = None, *, packages: typing.Dict[str, str] = {}, python: typing.Optional[str] = None):
|
388
361
|
"""
|
389
|
-
Specifies
|
390
|
-
|
362
|
+
Specifies the PyPI packages for the step.
|
363
|
+
|
364
|
+
Information in this decorator will augment any
|
365
|
+
attributes set in the `@pyi_base` flow-level decorator. Hence,
|
366
|
+
you can use `@pypi_base` to set packages required by all
|
367
|
+
steps and use `@pypi` to specify step-specific overrides.
|
391
368
|
"""
|
392
369
|
...
|
393
370
|
|
394
371
|
@typing.overload
|
395
|
-
def
|
372
|
+
def retry(*, times: int = 3, minutes_between_retries: int = 2) -> typing.Callable[[typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]]], typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]]]:
|
396
373
|
"""
|
397
|
-
Specifies the
|
374
|
+
Specifies the number of times the task corresponding
|
375
|
+
to a step needs to be retried.
|
398
376
|
|
399
|
-
|
400
|
-
|
377
|
+
This decorator is useful for handling transient errors, such as networking issues.
|
378
|
+
If your task contains operations that can't be retried safely, e.g. database updates,
|
379
|
+
it is advisable to annotate it with `@retry(times=0)`.
|
401
380
|
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
```
|
406
|
-
or
|
407
|
-
```
|
408
|
-
python myflow.py run --with kubernetes
|
409
|
-
```
|
410
|
-
which executes the flow on the desired system using the
|
411
|
-
requirements specified in `@resources`.
|
381
|
+
This can be used in conjunction with the `@catch` decorator. The `@catch`
|
382
|
+
decorator will execute a no-op task after all retries have been exhausted,
|
383
|
+
ensuring that the flow execution can continue.
|
412
384
|
"""
|
413
385
|
...
|
414
386
|
|
415
387
|
@typing.overload
|
416
|
-
def
|
388
|
+
def retry(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
|
417
389
|
...
|
418
390
|
|
419
391
|
@typing.overload
|
420
|
-
def
|
392
|
+
def retry(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
|
421
393
|
...
|
422
394
|
|
423
|
-
def
|
395
|
+
def retry(f: typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None], None] = None, *, times: int = 3, minutes_between_retries: int = 2):
|
424
396
|
"""
|
425
|
-
Specifies the
|
397
|
+
Specifies the number of times the task corresponding
|
398
|
+
to a step needs to be retried.
|
426
399
|
|
427
|
-
|
428
|
-
|
400
|
+
This decorator is useful for handling transient errors, such as networking issues.
|
401
|
+
If your task contains operations that can't be retried safely, e.g. database updates,
|
402
|
+
it is advisable to annotate it with `@retry(times=0)`.
|
429
403
|
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
```
|
434
|
-
or
|
435
|
-
```
|
436
|
-
python myflow.py run --with kubernetes
|
437
|
-
```
|
438
|
-
which executes the flow on the desired system using the
|
439
|
-
requirements specified in `@resources`.
|
440
|
-
"""
|
441
|
-
...
|
442
|
-
|
443
|
-
def kubernetes(*, cpu: int = 1, memory: int = 4096, disk: int = 10240, image: typing.Optional[str] = None, image_pull_policy: str = 'KUBERNETES_IMAGE_PULL_POLICY', service_account: str = 'METAFLOW_KUBERNETES_SERVICE_ACCOUNT', secrets: typing.Optional[typing.List[str]] = None, node_selector: typing.Union[typing.Dict[str, str], str, None] = None, namespace: str = 'METAFLOW_KUBERNETES_NAMESPACE', gpu: typing.Optional[int] = None, gpu_vendor: str = 'KUBERNETES_GPU_VENDOR', tolerations: typing.List[str] = [], labels: typing.Dict[str, str] = 'METAFLOW_KUBERNETES_LABELS', annotations: typing.Dict[str, str] = 'METAFLOW_KUBERNETES_ANNOTATIONS', use_tmpfs: bool = False, tmpfs_tempdir: bool = True, tmpfs_size: typing.Optional[int] = None, tmpfs_path: typing.Optional[str] = '/metaflow_temp', persistent_volume_claims: typing.Optional[typing.Dict[str, str]] = None, shared_memory: typing.Optional[int] = None, port: typing.Optional[int] = None, compute_pool: typing.Optional[str] = None, hostname_resolution_timeout: int = 600, qos: str = 'Burstable') -> typing.Callable[[typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]]], typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]]]:
|
444
|
-
"""
|
445
|
-
Specifies that this step should execute on Kubernetes.
|
404
|
+
This can be used in conjunction with the `@catch` decorator. The `@catch`
|
405
|
+
decorator will execute a no-op task after all retries have been exhausted,
|
406
|
+
ensuring that the flow execution can continue.
|
446
407
|
"""
|
447
408
|
...
|
448
409
|
|
449
410
|
@typing.overload
|
450
|
-
def
|
411
|
+
def timeout(*, seconds: int = 0, minutes: int = 0, hours: int = 0) -> typing.Callable[[typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]]], typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]]]:
|
451
412
|
"""
|
452
|
-
Specifies
|
413
|
+
Specifies a timeout for your step.
|
453
414
|
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
415
|
+
This decorator is useful if this step may hang indefinitely.
|
416
|
+
|
417
|
+
This can be used in conjunction with the `@retry` decorator as well as the `@catch` decorator.
|
418
|
+
A timeout is considered to be an exception thrown by the step. It will cause the step to be
|
419
|
+
retried if needed and the exception will be caught by the `@catch` decorator, if present.
|
420
|
+
|
421
|
+
Note that all the values specified in parameters are added together so if you specify
|
422
|
+
60 seconds and 1 hour, the decorator will have an effective timeout of 1 hour and 1 minute.
|
458
423
|
"""
|
459
424
|
...
|
460
425
|
|
461
426
|
@typing.overload
|
462
|
-
def
|
427
|
+
def timeout(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
|
463
428
|
...
|
464
429
|
|
465
430
|
@typing.overload
|
466
|
-
def
|
431
|
+
def timeout(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
|
467
432
|
...
|
468
433
|
|
469
|
-
def
|
434
|
+
def timeout(f: typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None], None] = None, *, seconds: int = 0, minutes: int = 0, hours: int = 0):
|
470
435
|
"""
|
471
|
-
Specifies
|
436
|
+
Specifies a timeout for your step.
|
472
437
|
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
438
|
+
This decorator is useful if this step may hang indefinitely.
|
439
|
+
|
440
|
+
This can be used in conjunction with the `@retry` decorator as well as the `@catch` decorator.
|
441
|
+
A timeout is considered to be an exception thrown by the step. It will cause the step to be
|
442
|
+
retried if needed and the exception will be caught by the `@catch` decorator, if present.
|
443
|
+
|
444
|
+
Note that all the values specified in parameters are added together so if you specify
|
445
|
+
60 seconds and 1 hour, the decorator will have an effective timeout of 1 hour and 1 minute.
|
477
446
|
"""
|
478
447
|
...
|
479
448
|
|
480
449
|
@typing.overload
|
481
|
-
def
|
450
|
+
def conda(*, packages: typing.Dict[str, str] = {}, libraries: typing.Dict[str, str] = {}, python: typing.Optional[str] = None, disabled: bool = False) -> typing.Callable[[typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]]], typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]]]:
|
482
451
|
"""
|
483
|
-
Specifies the
|
484
|
-
|
452
|
+
Specifies the Conda environment for the step.
|
453
|
+
|
454
|
+
Information in this decorator will augment any
|
455
|
+
attributes set in the `@conda_base` flow-level decorator. Hence,
|
456
|
+
you can use `@conda_base` to set packages required by all
|
457
|
+
steps and use `@conda` to specify step-specific overrides.
|
485
458
|
"""
|
486
459
|
...
|
487
460
|
|
488
461
|
@typing.overload
|
489
|
-
def
|
462
|
+
def conda(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
|
490
463
|
...
|
491
464
|
|
492
|
-
|
465
|
+
@typing.overload
|
466
|
+
def conda(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
|
467
|
+
...
|
468
|
+
|
469
|
+
def conda(f: typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None], None] = None, *, packages: typing.Dict[str, str] = {}, libraries: typing.Dict[str, str] = {}, python: typing.Optional[str] = None, disabled: bool = False):
|
493
470
|
"""
|
494
|
-
Specifies the
|
495
|
-
|
471
|
+
Specifies the Conda environment for the step.
|
472
|
+
|
473
|
+
Information in this decorator will augment any
|
474
|
+
attributes set in the `@conda_base` flow-level decorator. Hence,
|
475
|
+
you can use `@conda_base` to set packages required by all
|
476
|
+
steps and use `@conda` to specify step-specific overrides.
|
496
477
|
"""
|
497
478
|
...
|
498
479
|
|
@@ -650,12 +631,32 @@ def trigger(f: typing.Optional[typing.Type[FlowSpecDerived]] = None, *, event: t
|
|
650
631
|
"""
|
651
632
|
...
|
652
633
|
|
653
|
-
|
634
|
+
@typing.overload
|
635
|
+
def schedule(*, hourly: bool = False, daily: bool = True, weekly: bool = False, cron: typing.Optional[str] = None, timezone: typing.Optional[str] = None) -> typing.Callable[[typing.Type[FlowSpecDerived]], typing.Type[FlowSpecDerived]]:
|
654
636
|
"""
|
655
|
-
Specifies
|
656
|
-
|
657
|
-
|
658
|
-
|
637
|
+
Specifies the times when the flow should be run when running on a
|
638
|
+
production scheduler.
|
639
|
+
"""
|
640
|
+
...
|
641
|
+
|
642
|
+
@typing.overload
|
643
|
+
def schedule(f: typing.Type[FlowSpecDerived]) -> typing.Type[FlowSpecDerived]:
|
644
|
+
...
|
645
|
+
|
646
|
+
def schedule(f: typing.Optional[typing.Type[FlowSpecDerived]] = None, *, hourly: bool = False, daily: bool = True, weekly: bool = False, cron: typing.Optional[str] = None, timezone: typing.Optional[str] = None):
|
647
|
+
"""
|
648
|
+
Specifies the times when the flow should be run when running on a
|
649
|
+
production scheduler.
|
650
|
+
"""
|
651
|
+
...
|
652
|
+
|
653
|
+
def airflow_s3_key_sensor(*, timeout: int, poke_interval: int, mode: str, exponential_backoff: bool, pool: str, soft_fail: bool, name: str, description: str, bucket_key: typing.Union[str, typing.List[str]], bucket_name: str, wildcard_match: bool, aws_conn_id: str, verify: bool) -> typing.Callable[[typing.Type[FlowSpecDerived]], typing.Type[FlowSpecDerived]]:
|
654
|
+
"""
|
655
|
+
The `@airflow_s3_key_sensor` decorator attaches a Airflow [S3KeySensor](https://airflow.apache.org/docs/apache-airflow-providers-amazon/stable/_api/airflow/providers/amazon/aws/sensors/s3/index.html#airflow.providers.amazon.aws.sensors.s3.S3KeySensor)
|
656
|
+
before the start step of the flow. This decorator only works when a flow is scheduled on Airflow
|
657
|
+
and is compiled using `airflow create`. More than one `@airflow_s3_key_sensor` can be
|
658
|
+
added as a flow decorators. Adding more than one decorator will ensure that `start` step
|
659
|
+
starts only after all sensors finish.
|
659
660
|
"""
|
660
661
|
...
|
661
662
|
|
@@ -705,13 +706,12 @@ def conda_base(f: typing.Optional[typing.Type[FlowSpecDerived]] = None, *, packa
|
|
705
706
|
"""
|
706
707
|
...
|
707
708
|
|
708
|
-
def
|
709
|
+
def project(*, name: str) -> typing.Callable[[typing.Type[FlowSpecDerived]], typing.Type[FlowSpecDerived]]:
|
709
710
|
"""
|
710
|
-
|
711
|
-
|
712
|
-
|
713
|
-
|
714
|
-
starts only after all sensors finish.
|
711
|
+
Specifies what flows belong to the same project.
|
712
|
+
|
713
|
+
A project-specific namespace is created for all flows that
|
714
|
+
use the same `@project(name)`.
|
715
715
|
"""
|
716
716
|
...
|
717
717
|
|
metaflow-stubs/cards.pyi
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
######################################################################################################
|
2
2
|
# Auto-generated Metaflow stub file #
|
3
|
-
# MF version: 2.13.
|
4
|
-
# Generated on 2025-01-
|
3
|
+
# MF version: 2.13.8 #
|
4
|
+
# Generated on 2025-01-30T22:35:29.199412 #
|
5
5
|
######################################################################################################
|
6
6
|
|
7
7
|
from __future__ import annotations
|
metaflow-stubs/cli.pyi
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
######################################################################################################
|
2
2
|
# Auto-generated Metaflow stub file #
|
3
|
-
# MF version: 2.13.
|
4
|
-
# Generated on 2025-01-
|
3
|
+
# MF version: 2.13.8 #
|
4
|
+
# Generated on 2025-01-30T22:35:29.207772 #
|
5
5
|
######################################################################################################
|
6
6
|
|
7
7
|
from __future__ import annotations
|