metaflow-stubs 2.12.30__py2.py3-none-any.whl → 2.12.32__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/client/__init__.pyi +2 -2
- metaflow-stubs/client/core.pyi +5 -5
- metaflow-stubs/client/filecache.pyi +2 -2
- metaflow-stubs/clone_util.pyi +2 -2
- metaflow-stubs/events.pyi +3 -3
- 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 +2 -2
- metaflow-stubs/metadata_provider/util.pyi +2 -2
- metaflow-stubs/metaflow_config.pyi +2 -2
- metaflow-stubs/metaflow_current.pyi +26 -26
- metaflow-stubs/mflog/__init__.pyi +2 -2
- metaflow-stubs/mflog/mflog.pyi +2 -2
- metaflow-stubs/multicore_utils.pyi +2 -2
- metaflow-stubs/parameters.pyi +4 -4
- metaflow-stubs/plugins/__init__.pyi +15 -15
- metaflow-stubs/plugins/airflow/__init__.pyi +2 -2
- metaflow-stubs/plugins/airflow/airflow.pyi +2 -2
- metaflow-stubs/plugins/airflow/airflow_cli.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 +2 -2
- metaflow-stubs/plugins/argo/argo_workflows_cli.pyi +2 -2
- metaflow-stubs/plugins/argo/argo_workflows_decorator.pyi +3 -3
- metaflow-stubs/plugins/argo/argo_workflows_deployer.pyi +3 -3
- metaflow-stubs/plugins/argo/argo_workflows_deployer_objects.pyi +3 -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_cli.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/production_token.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_cli.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 +4 -4
- 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_cli.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 +3 -3
- metaflow-stubs/plugins/cards/card_modules/card.pyi +2 -2
- metaflow-stubs/plugins/cards/card_modules/chevron/__init__.pyi +2 -2
- metaflow-stubs/plugins/cards/card_modules/chevron/main.pyi +2 -2
- metaflow-stubs/plugins/cards/card_modules/chevron/metadata.pyi +2 -2
- metaflow-stubs/plugins/cards/card_modules/chevron/renderer.pyi +2 -2
- metaflow-stubs/plugins/cards/card_modules/chevron/tokenizer.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 +4 -4
- 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 +12 -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 +3 -3
- metaflow-stubs/plugins/kubernetes/kubernetes_cli.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/logs_cli.pyi +3 -3
- metaflow-stubs/plugins/package_cli.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 +5 -5
- 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 +3 -3
- metaflow-stubs/plugins/secrets/secrets_decorator.pyi +2 -2
- metaflow-stubs/plugins/storage_executor.pyi +2 -2
- metaflow-stubs/plugins/tag_cli.pyi +2 -2
- metaflow-stubs/plugins/test_unbounded_foreach_decorator.pyi +2 -2
- metaflow-stubs/plugins/timeout_decorator.pyi +2 -2
- metaflow-stubs/procpoll.pyi +2 -2
- metaflow-stubs/pylint_wrapper.pyi +2 -2
- metaflow-stubs/runner/__init__.pyi +2 -2
- metaflow-stubs/runner/deployer.pyi +4 -4
- metaflow-stubs/runner/deployer_impl.pyi +3 -3
- 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 +4 -4
- metaflow-stubs/system/__init__.pyi +2 -2
- metaflow-stubs/system/system_logger.pyi +3 -3
- metaflow-stubs/system/system_monitor.pyi +2 -2
- metaflow-stubs/tagging_util.pyi +2 -2
- metaflow-stubs/tuple_util.pyi +2 -2
- metaflow-stubs/version.pyi +2 -2
- {metaflow_stubs-2.12.30.dist-info → metaflow_stubs-2.12.32.dist-info}/METADATA +2 -2
- metaflow_stubs-2.12.32.dist-info/RECORD +158 -0
- {metaflow_stubs-2.12.30.dist-info → metaflow_stubs-2.12.32.dist-info}/WHEEL +1 -1
- metaflow_stubs-2.12.30.dist-info/RECORD +0 -158
- {metaflow_stubs-2.12.30.dist-info → metaflow_stubs-2.12.32.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.12.
|
4
|
-
# Generated on 2024-11-
|
3
|
+
# MF version: 2.12.32 #
|
4
|
+
# Generated on 2024-11-26T19:51:56.545525 #
|
5
5
|
######################################################################################################
|
6
6
|
|
7
7
|
from __future__ import annotations
|
@@ -138,126 +138,87 @@ def step(f: typing.Union[typing.Callable[[FlowSpecDerived], None], typing.Callab
|
|
138
138
|
...
|
139
139
|
|
140
140
|
@typing.overload
|
141
|
-
def
|
141
|
+
def parallel(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
|
142
142
|
"""
|
143
|
-
|
144
|
-
|
145
|
-
The decorator will create an optional artifact, specified by `var`, which
|
146
|
-
contains the exception raised. You can use it to detect the presence
|
147
|
-
of errors, indicating that all happy-path artifacts produced by the step
|
148
|
-
are missing.
|
143
|
+
Decorator prototype for all step decorators. This function gets specialized
|
144
|
+
and imported for all decorators types by _import_plugin_decorators().
|
149
145
|
"""
|
150
146
|
...
|
151
147
|
|
152
148
|
@typing.overload
|
153
|
-
def
|
154
|
-
...
|
155
|
-
|
156
|
-
@typing.overload
|
157
|
-
def catch(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
|
158
|
-
...
|
159
|
-
|
160
|
-
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):
|
161
|
-
"""
|
162
|
-
Specifies that the step will success under all circumstances.
|
163
|
-
|
164
|
-
The decorator will create an optional artifact, specified by `var`, which
|
165
|
-
contains the exception raised. You can use it to detect the presence
|
166
|
-
of errors, indicating that all happy-path artifacts produced by the step
|
167
|
-
are missing.
|
168
|
-
"""
|
149
|
+
def parallel(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
|
169
150
|
...
|
170
151
|
|
171
|
-
|
172
|
-
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]]]:
|
152
|
+
def parallel(f: typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None], None] = None):
|
173
153
|
"""
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
This decorator is useful for handling transient errors, such as networking issues.
|
178
|
-
If your task contains operations that can't be retried safely, e.g. database updates,
|
179
|
-
it is advisable to annotate it with `@retry(times=0)`.
|
180
|
-
|
181
|
-
This can be used in conjunction with the `@catch` decorator. The `@catch`
|
182
|
-
decorator will execute a no-op task after all retries have been exhausted,
|
183
|
-
ensuring that the flow execution can continue.
|
154
|
+
Decorator prototype for all step decorators. This function gets specialized
|
155
|
+
and imported for all decorators types by _import_plugin_decorators().
|
184
156
|
"""
|
185
157
|
...
|
186
158
|
|
187
|
-
|
188
|
-
def retry(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
|
189
|
-
...
|
190
|
-
|
191
|
-
@typing.overload
|
192
|
-
def retry(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
|
193
|
-
...
|
194
|
-
|
195
|
-
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):
|
159
|
+
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] = [], 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) -> 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]]]:
|
196
160
|
"""
|
197
|
-
Specifies
|
198
|
-
to a step needs to be retried.
|
199
|
-
|
200
|
-
This decorator is useful for handling transient errors, such as networking issues.
|
201
|
-
If your task contains operations that can't be retried safely, e.g. database updates,
|
202
|
-
it is advisable to annotate it with `@retry(times=0)`.
|
203
|
-
|
204
|
-
This can be used in conjunction with the `@catch` decorator. The `@catch`
|
205
|
-
decorator will execute a no-op task after all retries have been exhausted,
|
206
|
-
ensuring that the flow execution can continue.
|
161
|
+
Specifies that this step should execute on Kubernetes.
|
207
162
|
"""
|
208
163
|
...
|
209
164
|
|
210
165
|
@typing.overload
|
211
|
-
def
|
166
|
+
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]]]:
|
212
167
|
"""
|
213
|
-
|
214
|
-
|
215
|
-
Note that you may add multiple `@card` decorators in a step with different parameters.
|
168
|
+
Specifies environment variables to be set prior to the execution of a step.
|
216
169
|
"""
|
217
170
|
...
|
218
171
|
|
219
172
|
@typing.overload
|
220
|
-
def
|
173
|
+
def environment(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
|
221
174
|
...
|
222
175
|
|
223
176
|
@typing.overload
|
224
|
-
def
|
177
|
+
def environment(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
|
225
178
|
...
|
226
179
|
|
227
|
-
def
|
180
|
+
def environment(f: typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None], None] = None, *, vars: typing.Dict[str, str] = {}):
|
228
181
|
"""
|
229
|
-
|
230
|
-
|
231
|
-
Note that you may add multiple `@card` decorators in a step with different parameters.
|
182
|
+
Specifies environment variables to be set prior to the execution of a step.
|
232
183
|
"""
|
233
184
|
...
|
234
185
|
|
235
186
|
@typing.overload
|
236
|
-
def
|
187
|
+
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]]]:
|
237
188
|
"""
|
238
|
-
Specifies
|
239
|
-
|
189
|
+
Specifies a timeout for your step.
|
190
|
+
|
191
|
+
This decorator is useful if this step may hang indefinitely.
|
192
|
+
|
193
|
+
This can be used in conjunction with the `@retry` decorator as well as the `@catch` decorator.
|
194
|
+
A timeout is considered to be an exception thrown by the step. It will cause the step to be
|
195
|
+
retried if needed and the exception will be caught by the `@catch` decorator, if present.
|
196
|
+
|
197
|
+
Note that all the values specified in parameters are added together so if you specify
|
198
|
+
60 seconds and 1 hour, the decorator will have an effective timeout of 1 hour and 1 minute.
|
240
199
|
"""
|
241
200
|
...
|
242
201
|
|
243
202
|
@typing.overload
|
244
|
-
def
|
203
|
+
def timeout(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
|
245
204
|
...
|
246
205
|
|
247
206
|
@typing.overload
|
248
|
-
def
|
249
|
-
...
|
250
|
-
|
251
|
-
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]]] = []):
|
252
|
-
"""
|
253
|
-
Specifies secrets to be retrieved and injected as environment variables prior to
|
254
|
-
the execution of a step.
|
255
|
-
"""
|
207
|
+
def timeout(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
|
256
208
|
...
|
257
209
|
|
258
|
-
def
|
210
|
+
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):
|
259
211
|
"""
|
260
|
-
Specifies
|
212
|
+
Specifies a timeout for your step.
|
213
|
+
|
214
|
+
This decorator is useful if this step may hang indefinitely.
|
215
|
+
|
216
|
+
This can be used in conjunction with the `@retry` decorator as well as the `@catch` decorator.
|
217
|
+
A timeout is considered to be an exception thrown by the step. It will cause the step to be
|
218
|
+
retried if needed and the exception will be caught by the `@catch` decorator, if present.
|
219
|
+
|
220
|
+
Note that all the values specified in parameters are added together so if you specify
|
221
|
+
60 seconds and 1 hour, the decorator will have an effective timeout of 1 hour and 1 minute.
|
261
222
|
"""
|
262
223
|
...
|
263
224
|
|
@@ -311,193 +272,210 @@ def resources(f: typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None]
|
|
311
272
|
...
|
312
273
|
|
313
274
|
@typing.overload
|
314
|
-
def
|
275
|
+
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]]]:
|
315
276
|
"""
|
316
|
-
Specifies
|
317
|
-
|
318
|
-
Information in this decorator will augment any
|
319
|
-
attributes set in the `@conda_base` flow-level decorator. Hence,
|
320
|
-
you can use `@conda_base` to set packages required by all
|
321
|
-
steps and use `@conda` to specify step-specific overrides.
|
277
|
+
Specifies secrets to be retrieved and injected as environment variables prior to
|
278
|
+
the execution of a step.
|
322
279
|
"""
|
323
280
|
...
|
324
281
|
|
325
282
|
@typing.overload
|
326
|
-
def
|
283
|
+
def secrets(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
|
327
284
|
...
|
328
285
|
|
329
286
|
@typing.overload
|
330
|
-
def
|
287
|
+
def secrets(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
|
331
288
|
...
|
332
289
|
|
333
|
-
def
|
290
|
+
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]]] = []):
|
334
291
|
"""
|
335
|
-
Specifies
|
336
|
-
|
337
|
-
Information in this decorator will augment any
|
338
|
-
attributes set in the `@conda_base` flow-level decorator. Hence,
|
339
|
-
you can use `@conda_base` to set packages required by all
|
340
|
-
steps and use `@conda` to specify step-specific overrides.
|
292
|
+
Specifies secrets to be retrieved and injected as environment variables prior to
|
293
|
+
the execution of a step.
|
341
294
|
"""
|
342
295
|
...
|
343
296
|
|
344
297
|
@typing.overload
|
345
|
-
def
|
298
|
+
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]]]:
|
346
299
|
"""
|
347
|
-
Specifies
|
300
|
+
Specifies that this step should execute on [AWS Batch](https://aws.amazon.com/batch/).
|
348
301
|
"""
|
349
302
|
...
|
350
303
|
|
351
304
|
@typing.overload
|
352
|
-
def
|
305
|
+
def batch(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
|
353
306
|
...
|
354
307
|
|
355
308
|
@typing.overload
|
356
|
-
def
|
309
|
+
def batch(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
|
357
310
|
...
|
358
311
|
|
359
|
-
def
|
312
|
+
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):
|
360
313
|
"""
|
361
|
-
Specifies
|
314
|
+
Specifies that this step should execute on [AWS Batch](https://aws.amazon.com/batch/).
|
362
315
|
"""
|
363
316
|
...
|
364
317
|
|
365
318
|
@typing.overload
|
366
|
-
def
|
319
|
+
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]]]:
|
367
320
|
"""
|
368
|
-
Specifies that
|
321
|
+
Specifies that the step will success under all circumstances.
|
322
|
+
|
323
|
+
The decorator will create an optional artifact, specified by `var`, which
|
324
|
+
contains the exception raised. You can use it to detect the presence
|
325
|
+
of errors, indicating that all happy-path artifacts produced by the step
|
326
|
+
are missing.
|
369
327
|
"""
|
370
328
|
...
|
371
329
|
|
372
330
|
@typing.overload
|
373
|
-
def
|
331
|
+
def catch(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
|
374
332
|
...
|
375
333
|
|
376
334
|
@typing.overload
|
377
|
-
def
|
335
|
+
def catch(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
|
378
336
|
...
|
379
337
|
|
380
|
-
def
|
338
|
+
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
339
|
"""
|
382
|
-
Specifies that
|
340
|
+
Specifies that the step will success under all circumstances.
|
341
|
+
|
342
|
+
The decorator will create an optional artifact, specified by `var`, which
|
343
|
+
contains the exception raised. You can use it to detect the presence
|
344
|
+
of errors, indicating that all happy-path artifacts produced by the step
|
345
|
+
are missing.
|
383
346
|
"""
|
384
347
|
...
|
385
348
|
|
386
349
|
@typing.overload
|
387
|
-
def
|
350
|
+
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]]]:
|
388
351
|
"""
|
389
|
-
Specifies the
|
352
|
+
Specifies the Conda environment for the step.
|
390
353
|
|
391
354
|
Information in this decorator will augment any
|
392
|
-
attributes set in the `@
|
393
|
-
you can use `@
|
394
|
-
steps and use `@
|
355
|
+
attributes set in the `@conda_base` flow-level decorator. Hence,
|
356
|
+
you can use `@conda_base` to set packages required by all
|
357
|
+
steps and use `@conda` to specify step-specific overrides.
|
395
358
|
"""
|
396
359
|
...
|
397
360
|
|
398
361
|
@typing.overload
|
399
|
-
def
|
362
|
+
def conda(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
|
400
363
|
...
|
401
364
|
|
402
365
|
@typing.overload
|
403
|
-
def
|
366
|
+
def conda(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
|
404
367
|
...
|
405
368
|
|
406
|
-
def
|
369
|
+
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):
|
407
370
|
"""
|
408
|
-
Specifies the
|
371
|
+
Specifies the Conda environment for the step.
|
409
372
|
|
410
373
|
Information in this decorator will augment any
|
411
|
-
attributes set in the `@
|
412
|
-
you can use `@
|
413
|
-
steps and use `@
|
374
|
+
attributes set in the `@conda_base` flow-level decorator. Hence,
|
375
|
+
you can use `@conda_base` to set packages required by all
|
376
|
+
steps and use `@conda` to specify step-specific overrides.
|
414
377
|
"""
|
415
378
|
...
|
416
379
|
|
417
380
|
@typing.overload
|
418
|
-
def
|
381
|
+
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]]]:
|
419
382
|
"""
|
420
|
-
|
421
|
-
|
383
|
+
Specifies the number of times the task corresponding
|
384
|
+
to a step needs to be retried.
|
385
|
+
|
386
|
+
This decorator is useful for handling transient errors, such as networking issues.
|
387
|
+
If your task contains operations that can't be retried safely, e.g. database updates,
|
388
|
+
it is advisable to annotate it with `@retry(times=0)`.
|
389
|
+
|
390
|
+
This can be used in conjunction with the `@catch` decorator. The `@catch`
|
391
|
+
decorator will execute a no-op task after all retries have been exhausted,
|
392
|
+
ensuring that the flow execution can continue.
|
422
393
|
"""
|
423
394
|
...
|
424
395
|
|
425
396
|
@typing.overload
|
426
|
-
def
|
397
|
+
def retry(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
|
427
398
|
...
|
428
399
|
|
429
|
-
|
400
|
+
@typing.overload
|
401
|
+
def retry(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
|
402
|
+
...
|
403
|
+
|
404
|
+
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):
|
430
405
|
"""
|
431
|
-
|
432
|
-
|
406
|
+
Specifies the number of times the task corresponding
|
407
|
+
to a step needs to be retried.
|
408
|
+
|
409
|
+
This decorator is useful for handling transient errors, such as networking issues.
|
410
|
+
If your task contains operations that can't be retried safely, e.g. database updates,
|
411
|
+
it is advisable to annotate it with `@retry(times=0)`.
|
412
|
+
|
413
|
+
This can be used in conjunction with the `@catch` decorator. The `@catch`
|
414
|
+
decorator will execute a no-op task after all retries have been exhausted,
|
415
|
+
ensuring that the flow execution can continue.
|
433
416
|
"""
|
434
417
|
...
|
435
418
|
|
436
419
|
@typing.overload
|
437
|
-
def
|
420
|
+
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]]]:
|
438
421
|
"""
|
439
|
-
|
440
|
-
|
441
|
-
This decorator is useful if this step may hang indefinitely.
|
442
|
-
|
443
|
-
This can be used in conjunction with the `@retry` decorator as well as the `@catch` decorator.
|
444
|
-
A timeout is considered to be an exception thrown by the step. It will cause the step to be
|
445
|
-
retried if needed and the exception will be caught by the `@catch` decorator, if present.
|
422
|
+
Creates a human-readable report, a Metaflow Card, after this step completes.
|
446
423
|
|
447
|
-
Note that
|
448
|
-
60 seconds and 1 hour, the decorator will have an effective timeout of 1 hour and 1 minute.
|
424
|
+
Note that you may add multiple `@card` decorators in a step with different parameters.
|
449
425
|
"""
|
450
426
|
...
|
451
427
|
|
452
428
|
@typing.overload
|
453
|
-
def
|
429
|
+
def card(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
|
454
430
|
...
|
455
431
|
|
456
432
|
@typing.overload
|
457
|
-
def
|
433
|
+
def card(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
|
458
434
|
...
|
459
435
|
|
460
|
-
def
|
436
|
+
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):
|
461
437
|
"""
|
462
|
-
|
463
|
-
|
464
|
-
This decorator is useful if this step may hang indefinitely.
|
465
|
-
|
466
|
-
This can be used in conjunction with the `@retry` decorator as well as the `@catch` decorator.
|
467
|
-
A timeout is considered to be an exception thrown by the step. It will cause the step to be
|
468
|
-
retried if needed and the exception will be caught by the `@catch` decorator, if present.
|
438
|
+
Creates a human-readable report, a Metaflow Card, after this step completes.
|
469
439
|
|
470
|
-
Note that
|
471
|
-
60 seconds and 1 hour, the decorator will have an effective timeout of 1 hour and 1 minute.
|
440
|
+
Note that you may add multiple `@card` decorators in a step with different parameters.
|
472
441
|
"""
|
473
442
|
...
|
474
443
|
|
475
|
-
|
444
|
+
@typing.overload
|
445
|
+
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]]]:
|
476
446
|
"""
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
447
|
+
Specifies the PyPI packages for the step.
|
448
|
+
|
449
|
+
Information in this decorator will augment any
|
450
|
+
attributes set in the `@pyi_base` flow-level decorator. Hence,
|
451
|
+
you can use `@pypi_base` to set packages required by all
|
452
|
+
steps and use `@pypi` to specify step-specific overrides.
|
482
453
|
"""
|
483
454
|
...
|
484
455
|
|
485
456
|
@typing.overload
|
486
|
-
def
|
487
|
-
"""
|
488
|
-
Specifies the times when the flow should be run when running on a
|
489
|
-
production scheduler.
|
490
|
-
"""
|
457
|
+
def pypi(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
|
491
458
|
...
|
492
459
|
|
493
460
|
@typing.overload
|
494
|
-
def
|
461
|
+
def pypi(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
|
495
462
|
...
|
496
463
|
|
497
|
-
def
|
464
|
+
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):
|
498
465
|
"""
|
499
|
-
Specifies the
|
500
|
-
|
466
|
+
Specifies the PyPI packages for the step.
|
467
|
+
|
468
|
+
Information in this decorator will augment any
|
469
|
+
attributes set in the `@pyi_base` flow-level decorator. Hence,
|
470
|
+
you can use `@pypi_base` to set packages required by all
|
471
|
+
steps and use `@pypi` to specify step-specific overrides.
|
472
|
+
"""
|
473
|
+
...
|
474
|
+
|
475
|
+
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]]:
|
476
|
+
"""
|
477
|
+
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.
|
478
|
+
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.
|
501
479
|
"""
|
502
480
|
...
|
503
481
|
|
@@ -524,6 +502,15 @@ def conda_base(f: typing.Optional[typing.Type[FlowSpecDerived]] = None, *, packa
|
|
524
502
|
"""
|
525
503
|
...
|
526
504
|
|
505
|
+
def project(*, name: str) -> typing.Callable[[typing.Type[FlowSpecDerived]], typing.Type[FlowSpecDerived]]:
|
506
|
+
"""
|
507
|
+
Specifies what flows belong to the same project.
|
508
|
+
|
509
|
+
A project-specific namespace is created for all flows that
|
510
|
+
use the same `@project(name)`.
|
511
|
+
"""
|
512
|
+
...
|
513
|
+
|
527
514
|
@typing.overload
|
528
515
|
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]]:
|
529
516
|
"""
|
@@ -620,15 +607,6 @@ def pypi_base(f: typing.Optional[typing.Type[FlowSpecDerived]] = None, *, packag
|
|
620
607
|
"""
|
621
608
|
...
|
622
609
|
|
623
|
-
def project(*, name: str) -> typing.Callable[[typing.Type[FlowSpecDerived]], typing.Type[FlowSpecDerived]]:
|
624
|
-
"""
|
625
|
-
Specifies what flows belong to the same project.
|
626
|
-
|
627
|
-
A project-specific namespace is created for all flows that
|
628
|
-
use the same `@project(name)`.
|
629
|
-
"""
|
630
|
-
...
|
631
|
-
|
632
610
|
@typing.overload
|
633
611
|
def trigger_on_finish(*, flow: typing.Union[typing.Dict[str, str], str, None] = None, flows: typing.List[typing.Union[str, typing.Dict[str, str]]] = [], options: typing.Dict[str, typing.Any] = {}) -> typing.Callable[[typing.Type[FlowSpecDerived]], typing.Type[FlowSpecDerived]]:
|
634
612
|
"""
|
@@ -710,10 +688,32 @@ def trigger_on_finish(f: typing.Optional[typing.Type[FlowSpecDerived]] = None, *
|
|
710
688
|
"""
|
711
689
|
...
|
712
690
|
|
713
|
-
|
691
|
+
@typing.overload
|
692
|
+
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]]:
|
714
693
|
"""
|
715
|
-
|
716
|
-
|
694
|
+
Specifies the times when the flow should be run when running on a
|
695
|
+
production scheduler.
|
696
|
+
"""
|
697
|
+
...
|
698
|
+
|
699
|
+
@typing.overload
|
700
|
+
def schedule(f: typing.Type[FlowSpecDerived]) -> typing.Type[FlowSpecDerived]:
|
701
|
+
...
|
702
|
+
|
703
|
+
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):
|
704
|
+
"""
|
705
|
+
Specifies the times when the flow should be run when running on a
|
706
|
+
production scheduler.
|
707
|
+
"""
|
708
|
+
...
|
709
|
+
|
710
|
+
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]]:
|
711
|
+
"""
|
712
|
+
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)
|
713
|
+
before the start step of the flow. This decorator only works when a flow is scheduled on Airflow
|
714
|
+
and is compiled using `airflow create`. More than one `@airflow_s3_key_sensor` can be
|
715
|
+
added as a flow decorators. Adding more than one decorator will ensure that `start` step
|
716
|
+
starts only after all sensors finish.
|
717
717
|
"""
|
718
718
|
...
|
719
719
|
|
metaflow-stubs/cards.pyi
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
######################################################################################################
|
2
2
|
# Auto-generated Metaflow stub file #
|
3
|
-
# MF version: 2.12.
|
4
|
-
# Generated on 2024-11-
|
3
|
+
# MF version: 2.12.32 #
|
4
|
+
# Generated on 2024-11-26T19:51:56.453211 #
|
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.12.
|
4
|
-
# Generated on 2024-11-
|
3
|
+
# MF version: 2.12.32 #
|
4
|
+
# Generated on 2024-11-26T19:51:56.463531 #
|
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.12.
|
4
|
-
# Generated on 2024-11-
|
3
|
+
# MF version: 2.12.32 #
|
4
|
+
# Generated on 2024-11-26T19:51:56.453553 #
|
5
5
|
######################################################################################################
|
6
6
|
|
7
7
|
from __future__ import annotations
|
metaflow-stubs/client/core.pyi
CHANGED
@@ -1,18 +1,18 @@
|
|
1
1
|
######################################################################################################
|
2
2
|
# Auto-generated Metaflow stub file #
|
3
|
-
# MF version: 2.12.
|
4
|
-
# Generated on 2024-11-
|
3
|
+
# MF version: 2.12.32 #
|
4
|
+
# Generated on 2024-11-26T19:51:56.458664 #
|
5
5
|
######################################################################################################
|
6
6
|
|
7
7
|
from __future__ import annotations
|
8
8
|
|
9
|
-
import metaflow
|
10
9
|
import typing
|
10
|
+
import metaflow
|
11
11
|
if typing.TYPE_CHECKING:
|
12
|
-
import metaflow.events
|
13
|
-
import typing
|
14
12
|
import tarfile
|
15
13
|
import datetime
|
14
|
+
import typing
|
15
|
+
import metaflow.events
|
16
16
|
import metaflow.client.core
|
17
17
|
|
18
18
|
from ..metaflow_current import current as current
|