metaflow-stubs 2.13.5__py2.py3-none-any.whl → 2.13.6__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 +176 -176
- 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 +2 -2
- metaflow-stubs/events.pyi +3 -3
- metaflow-stubs/exception.pyi +2 -2
- metaflow-stubs/flowspec.pyi +5 -5
- 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 +2 -2
- metaflow-stubs/metaflow_current.pyi +22 -22
- metaflow-stubs/multicore_utils.pyi +2 -2
- metaflow-stubs/parameters.pyi +4 -4
- metaflow-stubs/plugins/__init__.pyi +14 -14
- 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 +2 -2
- metaflow-stubs/plugins/argo/argo_workflows_deployer_objects.pyi +3 -3
- 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 +4 -4
- 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 +2 -2
- 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 +4 -4
- 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 +3 -3
- 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 +2 -2
- 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 +3 -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 +4 -4
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- metaflow-stubs/plugins/timeout_decorator.pyi +2 -2
- metaflow-stubs/pylint_wrapper.pyi +2 -2
- metaflow-stubs/runner/__init__.pyi +2 -2
- metaflow-stubs/runner/deployer.pyi +29 -29
- metaflow-stubs/runner/deployer_impl.pyi +2 -2
- metaflow-stubs/runner/metaflow_runner.pyi +2 -2
- 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 +3 -3
- 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 +3 -3
- metaflow-stubs/user_configs/config_parameters.pyi +5 -5
- metaflow-stubs/version.pyi +2 -2
- {metaflow_stubs-2.13.5.dist-info → metaflow_stubs-2.13.6.dist-info}/METADATA +2 -2
- metaflow_stubs-2.13.6.dist-info/RECORD +145 -0
- metaflow_stubs-2.13.5.dist-info/RECORD +0 -145
- {metaflow_stubs-2.13.5.dist-info → metaflow_stubs-2.13.6.dist-info}/WHEEL +0 -0
- {metaflow_stubs-2.13.5.dist-info → metaflow_stubs-2.13.6.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.6 #
|
4
|
+
# Generated on 2025-01-23T12:09:53.031777 #
|
5
5
|
######################################################################################################
|
6
6
|
|
7
7
|
from __future__ import annotations
|
@@ -143,199 +143,186 @@ def step(f: typing.Union[typing.Callable[[FlowSpecDerived], None], typing.Callab
|
|
143
143
|
...
|
144
144
|
|
145
145
|
@typing.overload
|
146
|
-
def
|
146
|
+
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]]]:
|
147
147
|
"""
|
148
|
-
Specifies
|
148
|
+
Specifies a timeout for your step.
|
149
149
|
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
150
|
+
This decorator is useful if this step may hang indefinitely.
|
151
|
+
|
152
|
+
This can be used in conjunction with the `@retry` decorator as well as the `@catch` decorator.
|
153
|
+
A timeout is considered to be an exception thrown by the step. It will cause the step to be
|
154
|
+
retried if needed and the exception will be caught by the `@catch` decorator, if present.
|
155
|
+
|
156
|
+
Note that all the values specified in parameters are added together so if you specify
|
157
|
+
60 seconds and 1 hour, the decorator will have an effective timeout of 1 hour and 1 minute.
|
154
158
|
"""
|
155
159
|
...
|
156
160
|
|
157
161
|
@typing.overload
|
158
|
-
def
|
162
|
+
def timeout(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
|
159
163
|
...
|
160
164
|
|
161
165
|
@typing.overload
|
162
|
-
def
|
166
|
+
def timeout(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
|
163
167
|
...
|
164
168
|
|
165
|
-
def
|
169
|
+
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):
|
166
170
|
"""
|
167
|
-
Specifies
|
171
|
+
Specifies a timeout for your step.
|
168
172
|
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
+
This decorator is useful if this step may hang indefinitely.
|
174
|
+
|
175
|
+
This can be used in conjunction with the `@retry` decorator as well as the `@catch` decorator.
|
176
|
+
A timeout is considered to be an exception thrown by the step. It will cause the step to be
|
177
|
+
retried if needed and the exception will be caught by the `@catch` decorator, if present.
|
178
|
+
|
179
|
+
Note that all the values specified in parameters are added together so if you specify
|
180
|
+
60 seconds and 1 hour, the decorator will have an effective timeout of 1 hour and 1 minute.
|
173
181
|
"""
|
174
182
|
...
|
175
183
|
|
176
184
|
@typing.overload
|
177
|
-
def
|
185
|
+
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]]]:
|
178
186
|
"""
|
179
|
-
|
180
|
-
and imported for all decorators types by _import_plugin_decorators().
|
187
|
+
Specifies that this step should execute on [AWS Batch](https://aws.amazon.com/batch/).
|
181
188
|
"""
|
182
189
|
...
|
183
190
|
|
184
191
|
@typing.overload
|
185
|
-
def
|
192
|
+
def batch(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
|
186
193
|
...
|
187
194
|
|
188
|
-
|
195
|
+
@typing.overload
|
196
|
+
def batch(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
|
197
|
+
...
|
198
|
+
|
199
|
+
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):
|
189
200
|
"""
|
190
|
-
|
191
|
-
and imported for all decorators types by _import_plugin_decorators().
|
201
|
+
Specifies that this step should execute on [AWS Batch](https://aws.amazon.com/batch/).
|
192
202
|
"""
|
193
203
|
...
|
194
204
|
|
195
205
|
@typing.overload
|
196
|
-
def
|
206
|
+
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]]]:
|
197
207
|
"""
|
198
|
-
|
208
|
+
Specifies the number of times the task corresponding
|
209
|
+
to a step needs to be retried.
|
199
210
|
|
200
|
-
|
211
|
+
This decorator is useful for handling transient errors, such as networking issues.
|
212
|
+
If your task contains operations that can't be retried safely, e.g. database updates,
|
213
|
+
it is advisable to annotate it with `@retry(times=0)`.
|
214
|
+
|
215
|
+
This can be used in conjunction with the `@catch` decorator. The `@catch`
|
216
|
+
decorator will execute a no-op task after all retries have been exhausted,
|
217
|
+
ensuring that the flow execution can continue.
|
201
218
|
"""
|
202
219
|
...
|
203
220
|
|
204
221
|
@typing.overload
|
205
|
-
def
|
222
|
+
def retry(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
|
206
223
|
...
|
207
224
|
|
208
225
|
@typing.overload
|
209
|
-
def
|
226
|
+
def retry(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
|
210
227
|
...
|
211
228
|
|
212
|
-
def
|
229
|
+
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):
|
213
230
|
"""
|
214
|
-
|
231
|
+
Specifies the number of times the task corresponding
|
232
|
+
to a step needs to be retried.
|
215
233
|
|
216
|
-
|
234
|
+
This decorator is useful for handling transient errors, such as networking issues.
|
235
|
+
If your task contains operations that can't be retried safely, e.g. database updates,
|
236
|
+
it is advisable to annotate it with `@retry(times=0)`.
|
237
|
+
|
238
|
+
This can be used in conjunction with the `@catch` decorator. The `@catch`
|
239
|
+
decorator will execute a no-op task after all retries have been exhausted,
|
240
|
+
ensuring that the flow execution can continue.
|
217
241
|
"""
|
218
242
|
...
|
219
243
|
|
220
244
|
@typing.overload
|
221
|
-
def
|
245
|
+
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]]]:
|
222
246
|
"""
|
223
|
-
Specifies
|
247
|
+
Specifies the Conda environment for the step.
|
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.
|
224
253
|
"""
|
225
254
|
...
|
226
255
|
|
227
256
|
@typing.overload
|
228
|
-
def
|
257
|
+
def conda(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
|
229
258
|
...
|
230
259
|
|
231
260
|
@typing.overload
|
232
|
-
def
|
233
|
-
...
|
234
|
-
|
235
|
-
def environment(f: typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None], None] = None, *, vars: typing.Dict[str, str] = {}):
|
236
|
-
"""
|
237
|
-
Specifies environment variables to be set prior to the execution of a step.
|
238
|
-
"""
|
261
|
+
def conda(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
|
239
262
|
...
|
240
263
|
|
241
|
-
|
242
|
-
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]]]:
|
264
|
+
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):
|
243
265
|
"""
|
244
|
-
Specifies
|
266
|
+
Specifies the Conda environment for the step.
|
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.
|
245
272
|
"""
|
246
273
|
...
|
247
274
|
|
248
|
-
|
249
|
-
def batch(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
|
250
|
-
...
|
251
|
-
|
252
|
-
@typing.overload
|
253
|
-
def batch(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
|
254
|
-
...
|
255
|
-
|
256
|
-
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):
|
275
|
+
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]]]:
|
257
276
|
"""
|
258
|
-
Specifies that this step should execute on
|
277
|
+
Specifies that this step should execute on Kubernetes.
|
259
278
|
"""
|
260
279
|
...
|
261
280
|
|
262
281
|
@typing.overload
|
263
|
-
def
|
282
|
+
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]]]:
|
264
283
|
"""
|
265
|
-
Specifies
|
266
|
-
|
267
|
-
The decorator will create an optional artifact, specified by `var`, which
|
268
|
-
contains the exception raised. You can use it to detect the presence
|
269
|
-
of errors, indicating that all happy-path artifacts produced by the step
|
270
|
-
are missing.
|
284
|
+
Specifies secrets to be retrieved and injected as environment variables prior to
|
285
|
+
the execution of a step.
|
271
286
|
"""
|
272
287
|
...
|
273
288
|
|
274
289
|
@typing.overload
|
275
|
-
def
|
290
|
+
def secrets(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
|
276
291
|
...
|
277
292
|
|
278
293
|
@typing.overload
|
279
|
-
def
|
294
|
+
def secrets(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
|
280
295
|
...
|
281
296
|
|
282
|
-
def
|
297
|
+
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]]] = []):
|
283
298
|
"""
|
284
|
-
Specifies
|
285
|
-
|
286
|
-
The decorator will create an optional artifact, specified by `var`, which
|
287
|
-
contains the exception raised. You can use it to detect the presence
|
288
|
-
of errors, indicating that all happy-path artifacts produced by the step
|
289
|
-
are missing.
|
299
|
+
Specifies secrets to be retrieved and injected as environment variables prior to
|
300
|
+
the execution of a step.
|
290
301
|
"""
|
291
302
|
...
|
292
303
|
|
293
304
|
@typing.overload
|
294
|
-
def
|
305
|
+
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]]]:
|
295
306
|
"""
|
296
|
-
|
297
|
-
|
298
|
-
Use `@resources` to specify the resource requirements
|
299
|
-
independently of the specific compute layer (`@batch`, `@kubernetes`).
|
307
|
+
Creates a human-readable report, a Metaflow Card, after this step completes.
|
300
308
|
|
301
|
-
|
302
|
-
```
|
303
|
-
python myflow.py run --with batch
|
304
|
-
```
|
305
|
-
or
|
306
|
-
```
|
307
|
-
python myflow.py run --with kubernetes
|
308
|
-
```
|
309
|
-
which executes the flow on the desired system using the
|
310
|
-
requirements specified in `@resources`.
|
309
|
+
Note that you may add multiple `@card` decorators in a step with different parameters.
|
311
310
|
"""
|
312
311
|
...
|
313
312
|
|
314
313
|
@typing.overload
|
315
|
-
def
|
314
|
+
def card(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
|
316
315
|
...
|
317
316
|
|
318
317
|
@typing.overload
|
319
|
-
def
|
318
|
+
def card(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
|
320
319
|
...
|
321
320
|
|
322
|
-
def
|
321
|
+
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):
|
323
322
|
"""
|
324
|
-
|
325
|
-
|
326
|
-
Use `@resources` to specify the resource requirements
|
327
|
-
independently of the specific compute layer (`@batch`, `@kubernetes`).
|
323
|
+
Creates a human-readable report, a Metaflow Card, after this step completes.
|
328
324
|
|
329
|
-
|
330
|
-
```
|
331
|
-
python myflow.py run --with batch
|
332
|
-
```
|
333
|
-
or
|
334
|
-
```
|
335
|
-
python myflow.py run --with kubernetes
|
336
|
-
```
|
337
|
-
which executes the flow on the desired system using the
|
338
|
-
requirements specified in `@resources`.
|
325
|
+
Note that you may add multiple `@card` decorators in a step with different parameters.
|
339
326
|
"""
|
340
327
|
...
|
341
328
|
|
@@ -370,110 +357,123 @@ def pypi(f: typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typ
|
|
370
357
|
"""
|
371
358
|
...
|
372
359
|
|
373
|
-
|
360
|
+
@typing.overload
|
361
|
+
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]]]:
|
374
362
|
"""
|
375
|
-
Specifies that
|
363
|
+
Specifies that the step will success under all circumstances.
|
364
|
+
|
365
|
+
The decorator will create an optional artifact, specified by `var`, which
|
366
|
+
contains the exception raised. You can use it to detect the presence
|
367
|
+
of errors, indicating that all happy-path artifacts produced by the step
|
368
|
+
are missing.
|
376
369
|
"""
|
377
370
|
...
|
378
371
|
|
379
372
|
@typing.overload
|
380
|
-
def
|
373
|
+
def catch(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
|
374
|
+
...
|
375
|
+
|
376
|
+
@typing.overload
|
377
|
+
def catch(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
|
378
|
+
...
|
379
|
+
|
380
|
+
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):
|
381
381
|
"""
|
382
|
-
Specifies
|
383
|
-
|
382
|
+
Specifies that the step will success under all circumstances.
|
383
|
+
|
384
|
+
The decorator will create an optional artifact, specified by `var`, which
|
385
|
+
contains the exception raised. You can use it to detect the presence
|
386
|
+
of errors, indicating that all happy-path artifacts produced by the step
|
387
|
+
are missing.
|
384
388
|
"""
|
385
389
|
...
|
386
390
|
|
387
391
|
@typing.overload
|
388
|
-
def
|
392
|
+
def environment(*, vars: typing.Dict[str, str] = {}) -> 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]]]:
|
393
|
+
"""
|
394
|
+
Specifies environment variables to be set prior to the execution of a step.
|
395
|
+
"""
|
389
396
|
...
|
390
397
|
|
391
398
|
@typing.overload
|
392
|
-
def
|
399
|
+
def environment(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
|
393
400
|
...
|
394
401
|
|
395
|
-
|
402
|
+
@typing.overload
|
403
|
+
def environment(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
|
404
|
+
...
|
405
|
+
|
406
|
+
def environment(f: typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None], None] = None, *, vars: typing.Dict[str, str] = {}):
|
396
407
|
"""
|
397
|
-
Specifies
|
398
|
-
the execution of a step.
|
408
|
+
Specifies environment variables to be set prior to the execution of a step.
|
399
409
|
"""
|
400
410
|
...
|
401
411
|
|
402
412
|
@typing.overload
|
403
|
-
def
|
413
|
+
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]]]:
|
404
414
|
"""
|
405
|
-
Specifies
|
406
|
-
|
407
|
-
This decorator is useful if this step may hang indefinitely.
|
415
|
+
Specifies the resources needed when executing this step.
|
408
416
|
|
409
|
-
|
410
|
-
|
411
|
-
retried if needed and the exception will be caught by the `@catch` decorator, if present.
|
417
|
+
Use `@resources` to specify the resource requirements
|
418
|
+
independently of the specific compute layer (`@batch`, `@kubernetes`).
|
412
419
|
|
413
|
-
|
414
|
-
|
420
|
+
You can choose the compute layer on the command line by executing e.g.
|
421
|
+
```
|
422
|
+
python myflow.py run --with batch
|
423
|
+
```
|
424
|
+
or
|
425
|
+
```
|
426
|
+
python myflow.py run --with kubernetes
|
427
|
+
```
|
428
|
+
which executes the flow on the desired system using the
|
429
|
+
requirements specified in `@resources`.
|
415
430
|
"""
|
416
431
|
...
|
417
432
|
|
418
433
|
@typing.overload
|
419
|
-
def
|
434
|
+
def resources(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
|
420
435
|
...
|
421
436
|
|
422
437
|
@typing.overload
|
423
|
-
def
|
438
|
+
def resources(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
|
424
439
|
...
|
425
440
|
|
426
|
-
def
|
441
|
+
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):
|
427
442
|
"""
|
428
|
-
Specifies
|
429
|
-
|
430
|
-
This decorator is useful if this step may hang indefinitely.
|
443
|
+
Specifies the resources needed when executing this step.
|
431
444
|
|
432
|
-
|
433
|
-
|
434
|
-
retried if needed and the exception will be caught by the `@catch` decorator, if present.
|
445
|
+
Use `@resources` to specify the resource requirements
|
446
|
+
independently of the specific compute layer (`@batch`, `@kubernetes`).
|
435
447
|
|
436
|
-
|
437
|
-
|
448
|
+
You can choose the compute layer on the command line by executing e.g.
|
449
|
+
```
|
450
|
+
python myflow.py run --with batch
|
451
|
+
```
|
452
|
+
or
|
453
|
+
```
|
454
|
+
python myflow.py run --with kubernetes
|
455
|
+
```
|
456
|
+
which executes the flow on the desired system using the
|
457
|
+
requirements specified in `@resources`.
|
438
458
|
"""
|
439
459
|
...
|
440
460
|
|
441
461
|
@typing.overload
|
442
|
-
def
|
462
|
+
def parallel(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
|
443
463
|
"""
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
This decorator is useful for handling transient errors, such as networking issues.
|
448
|
-
If your task contains operations that can't be retried safely, e.g. database updates,
|
449
|
-
it is advisable to annotate it with `@retry(times=0)`.
|
450
|
-
|
451
|
-
This can be used in conjunction with the `@catch` decorator. The `@catch`
|
452
|
-
decorator will execute a no-op task after all retries have been exhausted,
|
453
|
-
ensuring that the flow execution can continue.
|
464
|
+
Decorator prototype for all step decorators. This function gets specialized
|
465
|
+
and imported for all decorators types by _import_plugin_decorators().
|
454
466
|
"""
|
455
467
|
...
|
456
468
|
|
457
469
|
@typing.overload
|
458
|
-
def
|
459
|
-
...
|
460
|
-
|
461
|
-
@typing.overload
|
462
|
-
def retry(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
|
470
|
+
def parallel(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
|
463
471
|
...
|
464
472
|
|
465
|
-
def
|
473
|
+
def parallel(f: typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None], None] = None):
|
466
474
|
"""
|
467
|
-
|
468
|
-
|
469
|
-
|
470
|
-
This decorator is useful for handling transient errors, such as networking issues.
|
471
|
-
If your task contains operations that can't be retried safely, e.g. database updates,
|
472
|
-
it is advisable to annotate it with `@retry(times=0)`.
|
473
|
-
|
474
|
-
This can be used in conjunction with the `@catch` decorator. The `@catch`
|
475
|
-
decorator will execute a no-op task after all retries have been exhausted,
|
476
|
-
ensuring that the flow execution can continue.
|
475
|
+
Decorator prototype for all step decorators. This function gets specialized
|
476
|
+
and imported for all decorators types by _import_plugin_decorators().
|
477
477
|
"""
|
478
478
|
...
|
479
479
|
|
@@ -558,13 +558,6 @@ def trigger_on_finish(f: typing.Optional[typing.Type[FlowSpecDerived]] = None, *
|
|
558
558
|
"""
|
559
559
|
...
|
560
560
|
|
561
|
-
def airflow_external_task_sensor(*, timeout: int, poke_interval: int, mode: str, exponential_backoff: bool, pool: str, soft_fail: bool, name: str, description: str, external_dag_id: str, external_task_ids: typing.List[str], allowed_states: typing.List[str], failed_states: typing.List[str], execution_delta: "datetime.timedelta", check_existence: bool) -> typing.Callable[[typing.Type[FlowSpecDerived]], typing.Type[FlowSpecDerived]]:
|
562
|
-
"""
|
563
|
-
The `@airflow_external_task_sensor` decorator attaches a Airflow [ExternalTaskSensor](https://airflow.apache.org/docs/apache-airflow/stable/_api/airflow/sensors/external_task/index.html#airflow.sensors.external_task.ExternalTaskSensor) before the start step of the flow.
|
564
|
-
This decorator only works when a flow is scheduled on Airflow and is compiled using `airflow create`. More than one `@airflow_external_task_sensor` can be added as a flow decorators. Adding more than one decorator will ensure that `start` step starts only after all sensors finish.
|
565
|
-
"""
|
566
|
-
...
|
567
|
-
|
568
561
|
@typing.overload
|
569
562
|
def trigger(*, event: typing.Union[str, typing.Dict[str, typing.Any], None] = None, events: typing.List[typing.Union[str, typing.Dict[str, typing.Any]]] = [], options: typing.Dict[str, typing.Any] = {}) -> typing.Callable[[typing.Type[FlowSpecDerived]], typing.Type[FlowSpecDerived]]:
|
570
563
|
"""
|
@@ -680,16 +673,6 @@ def pypi_base(f: typing.Optional[typing.Type[FlowSpecDerived]] = None, *, packag
|
|
680
673
|
"""
|
681
674
|
...
|
682
675
|
|
683
|
-
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]]:
|
684
|
-
"""
|
685
|
-
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)
|
686
|
-
before the start step of the flow. This decorator only works when a flow is scheduled on Airflow
|
687
|
-
and is compiled using `airflow create`. More than one `@airflow_s3_key_sensor` can be
|
688
|
-
added as a flow decorators. Adding more than one decorator will ensure that `start` step
|
689
|
-
starts only after all sensors finish.
|
690
|
-
"""
|
691
|
-
...
|
692
|
-
|
693
676
|
@typing.overload
|
694
677
|
def conda_base(*, packages: typing.Dict[str, str] = {}, libraries: typing.Dict[str, str] = {}, python: typing.Optional[str] = None, disabled: bool = False) -> typing.Callable[[typing.Type[FlowSpecDerived]], typing.Type[FlowSpecDerived]]:
|
695
678
|
"""
|
@@ -713,6 +696,13 @@ def conda_base(f: typing.Optional[typing.Type[FlowSpecDerived]] = None, *, packa
|
|
713
696
|
"""
|
714
697
|
...
|
715
698
|
|
699
|
+
def airflow_external_task_sensor(*, timeout: int, poke_interval: int, mode: str, exponential_backoff: bool, pool: str, soft_fail: bool, name: str, description: str, external_dag_id: str, external_task_ids: typing.List[str], allowed_states: typing.List[str], failed_states: typing.List[str], execution_delta: "datetime.timedelta", check_existence: bool) -> typing.Callable[[typing.Type[FlowSpecDerived]], typing.Type[FlowSpecDerived]]:
|
700
|
+
"""
|
701
|
+
The `@airflow_external_task_sensor` decorator attaches a Airflow [ExternalTaskSensor](https://airflow.apache.org/docs/apache-airflow/stable/_api/airflow/sensors/external_task/index.html#airflow.sensors.external_task.ExternalTaskSensor) before the start step of the flow.
|
702
|
+
This decorator only works when a flow is scheduled on Airflow and is compiled using `airflow create`. More than one `@airflow_external_task_sensor` can be added as a flow decorators. Adding more than one decorator will ensure that `start` step starts only after all sensors finish.
|
703
|
+
"""
|
704
|
+
...
|
705
|
+
|
716
706
|
def project(*, name: str) -> typing.Callable[[typing.Type[FlowSpecDerived]], typing.Type[FlowSpecDerived]]:
|
717
707
|
"""
|
718
708
|
Specifies what flows belong to the same project.
|
@@ -722,3 +712,13 @@ def project(*, name: str) -> typing.Callable[[typing.Type[FlowSpecDerived]], typ
|
|
722
712
|
"""
|
723
713
|
...
|
724
714
|
|
715
|
+
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]]:
|
716
|
+
"""
|
717
|
+
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)
|
718
|
+
before the start step of the flow. This decorator only works when a flow is scheduled on Airflow
|
719
|
+
and is compiled using `airflow create`. More than one `@airflow_s3_key_sensor` can be
|
720
|
+
added as a flow decorators. Adding more than one decorator will ensure that `start` step
|
721
|
+
starts only after all sensors finish.
|
722
|
+
"""
|
723
|
+
...
|
724
|
+
|
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.6 #
|
4
|
+
# Generated on 2025-01-23T12:09:52.952052 #
|
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.6 #
|
4
|
+
# Generated on 2025-01-23T12:09:52.961230 #
|
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.13.
|
4
|
-
# Generated on 2025-01-
|
3
|
+
# MF version: 2.13.6 #
|
4
|
+
# Generated on 2025-01-23T12:09:52.959924 #
|
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.13.
|
4
|
-
# Generated on 2025-01-
|
3
|
+
# MF version: 2.13.6 #
|
4
|
+
# Generated on 2025-01-23T12:09:52.982895 #
|
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.13.
|
4
|
-
# Generated on 2025-01-
|
3
|
+
# MF version: 2.13.6 #
|
4
|
+
# Generated on 2025-01-23T12:09:52.952355 #
|
5
5
|
######################################################################################################
|
6
6
|
|
7
7
|
from __future__ import annotations
|