metaflow-stubs 2.12.35__py2.py3-none-any.whl → 2.12.37__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.
Files changed (162) hide show
  1. metaflow-stubs/__init__.pyi +223 -219
  2. metaflow-stubs/cards.pyi +2 -2
  3. metaflow-stubs/cli.pyi +9 -21
  4. metaflow-stubs/{plugins/cards/card_modules/chevron/metadata.pyi → cli_components/__init__.pyi} +3 -4
  5. metaflow-stubs/cli_components/utils.pyi +35 -0
  6. metaflow-stubs/client/__init__.pyi +2 -2
  7. metaflow-stubs/client/core.pyi +5 -5
  8. metaflow-stubs/client/filecache.pyi +2 -2
  9. metaflow-stubs/events.pyi +2 -2
  10. metaflow-stubs/exception.pyi +2 -2
  11. metaflow-stubs/flowspec.pyi +12 -5
  12. metaflow-stubs/generated_for.txt +1 -1
  13. metaflow-stubs/includefile.pyi +18 -11
  14. metaflow-stubs/info_file.pyi +2 -2
  15. metaflow-stubs/metadata_provider/__init__.pyi +2 -2
  16. metaflow-stubs/metadata_provider/heartbeat.pyi +2 -2
  17. metaflow-stubs/metadata_provider/metadata.pyi +2 -2
  18. metaflow-stubs/metadata_provider/util.pyi +2 -2
  19. metaflow-stubs/metaflow_config.pyi +4 -2
  20. metaflow-stubs/metaflow_current.pyi +6 -6
  21. metaflow-stubs/multicore_utils.pyi +2 -2
  22. metaflow-stubs/parameters.pyi +33 -16
  23. metaflow-stubs/plugins/__init__.pyi +14 -14
  24. metaflow-stubs/plugins/airflow/__init__.pyi +2 -4
  25. metaflow-stubs/plugins/airflow/airflow_decorator.pyi +2 -2
  26. metaflow-stubs/plugins/airflow/airflow_utils.pyi +2 -2
  27. metaflow-stubs/plugins/airflow/exception.pyi +2 -2
  28. metaflow-stubs/plugins/airflow/sensors/__init__.pyi +2 -2
  29. metaflow-stubs/plugins/airflow/sensors/base_sensor.pyi +2 -2
  30. metaflow-stubs/plugins/airflow/sensors/external_task_sensor.pyi +2 -2
  31. metaflow-stubs/plugins/airflow/sensors/s3_sensor.pyi +2 -2
  32. metaflow-stubs/plugins/argo/__init__.pyi +2 -5
  33. metaflow-stubs/plugins/argo/argo_client.pyi +2 -2
  34. metaflow-stubs/plugins/argo/argo_events.pyi +2 -2
  35. metaflow-stubs/plugins/argo/argo_workflows.pyi +4 -3
  36. metaflow-stubs/plugins/argo/argo_workflows_decorator.pyi +4 -4
  37. metaflow-stubs/plugins/argo/argo_workflows_deployer.pyi +3 -3
  38. metaflow-stubs/plugins/argo/argo_workflows_deployer_objects.pyi +2 -2
  39. metaflow-stubs/plugins/aws/__init__.pyi +2 -2
  40. metaflow-stubs/plugins/aws/aws_client.pyi +2 -2
  41. metaflow-stubs/plugins/aws/aws_utils.pyi +2 -2
  42. metaflow-stubs/plugins/aws/batch/__init__.pyi +2 -3
  43. metaflow-stubs/plugins/aws/batch/batch.pyi +2 -2
  44. metaflow-stubs/plugins/aws/batch/batch_client.pyi +2 -2
  45. metaflow-stubs/plugins/aws/batch/batch_decorator.pyi +3 -3
  46. metaflow-stubs/plugins/aws/secrets_manager/__init__.pyi +2 -2
  47. metaflow-stubs/plugins/aws/secrets_manager/aws_secrets_manager_secrets_provider.pyi +3 -3
  48. metaflow-stubs/plugins/aws/step_functions/__init__.pyi +2 -7
  49. metaflow-stubs/plugins/aws/step_functions/dynamo_db_client.pyi +2 -2
  50. metaflow-stubs/plugins/aws/step_functions/event_bridge_client.pyi +2 -2
  51. metaflow-stubs/plugins/aws/step_functions/schedule_decorator.pyi +2 -2
  52. metaflow-stubs/plugins/aws/step_functions/step_functions.pyi +3 -2
  53. metaflow-stubs/plugins/aws/step_functions/step_functions_client.pyi +2 -2
  54. metaflow-stubs/plugins/aws/step_functions/step_functions_decorator.pyi +2 -2
  55. metaflow-stubs/plugins/aws/step_functions/step_functions_deployer.pyi +3 -3
  56. metaflow-stubs/plugins/aws/step_functions/step_functions_deployer_objects.pyi +3 -3
  57. metaflow-stubs/plugins/azure/__init__.pyi +2 -2
  58. metaflow-stubs/plugins/azure/azure_credential.pyi +2 -2
  59. metaflow-stubs/plugins/azure/azure_exceptions.pyi +2 -2
  60. metaflow-stubs/plugins/azure/azure_secret_manager_secrets_provider.pyi +3 -3
  61. metaflow-stubs/plugins/azure/azure_utils.pyi +2 -2
  62. metaflow-stubs/plugins/azure/blob_service_client_factory.pyi +2 -2
  63. metaflow-stubs/plugins/azure/includefile_support.pyi +2 -2
  64. metaflow-stubs/plugins/cards/__init__.pyi +2 -3
  65. metaflow-stubs/plugins/cards/card_client.pyi +3 -3
  66. metaflow-stubs/plugins/cards/card_creator.pyi +2 -2
  67. metaflow-stubs/plugins/cards/card_datastore.pyi +2 -2
  68. metaflow-stubs/plugins/cards/card_decorator.pyi +2 -2
  69. metaflow-stubs/plugins/cards/card_modules/__init__.pyi +2 -3
  70. metaflow-stubs/plugins/cards/card_modules/basic.pyi +2 -2
  71. metaflow-stubs/plugins/cards/card_modules/card.pyi +2 -2
  72. metaflow-stubs/plugins/cards/card_modules/components.pyi +2 -2
  73. metaflow-stubs/plugins/cards/card_modules/convert_to_native_type.pyi +2 -2
  74. metaflow-stubs/plugins/cards/card_modules/renderer_tools.pyi +2 -2
  75. metaflow-stubs/plugins/cards/card_modules/test_cards.pyi +2 -2
  76. metaflow-stubs/plugins/cards/card_resolver.pyi +2 -2
  77. metaflow-stubs/plugins/cards/component_serializer.pyi +2 -2
  78. metaflow-stubs/plugins/cards/exception.pyi +2 -2
  79. metaflow-stubs/plugins/catch_decorator.pyi +3 -3
  80. metaflow-stubs/plugins/datatools/__init__.pyi +2 -2
  81. metaflow-stubs/plugins/datatools/local.pyi +2 -2
  82. metaflow-stubs/plugins/datatools/s3/__init__.pyi +2 -2
  83. metaflow-stubs/plugins/datatools/s3/s3.pyi +3 -3
  84. metaflow-stubs/plugins/datatools/s3/s3tail.pyi +2 -2
  85. metaflow-stubs/plugins/datatools/s3/s3util.pyi +2 -2
  86. metaflow-stubs/plugins/debug_logger.pyi +2 -2
  87. metaflow-stubs/plugins/debug_monitor.pyi +2 -2
  88. metaflow-stubs/plugins/environment_decorator.pyi +2 -2
  89. metaflow-stubs/plugins/events_decorator.pyi +2 -2
  90. metaflow-stubs/plugins/frameworks/__init__.pyi +2 -2
  91. metaflow-stubs/plugins/frameworks/pytorch.pyi +2 -2
  92. metaflow-stubs/plugins/gcp/__init__.pyi +2 -2
  93. metaflow-stubs/plugins/gcp/gcp_secret_manager_secrets_provider.pyi +3 -3
  94. metaflow-stubs/plugins/gcp/gs_exceptions.pyi +2 -2
  95. metaflow-stubs/plugins/gcp/gs_storage_client_factory.pyi +2 -2
  96. metaflow-stubs/plugins/gcp/gs_utils.pyi +2 -2
  97. metaflow-stubs/plugins/gcp/includefile_support.pyi +2 -2
  98. metaflow-stubs/plugins/kubernetes/__init__.pyi +2 -3
  99. metaflow-stubs/plugins/kubernetes/kube_utils.pyi +2 -2
  100. metaflow-stubs/plugins/kubernetes/kubernetes.pyi +2 -2
  101. metaflow-stubs/plugins/kubernetes/kubernetes_client.pyi +2 -2
  102. metaflow-stubs/plugins/kubernetes/kubernetes_decorator.pyi +3 -3
  103. metaflow-stubs/plugins/kubernetes/kubernetes_job.pyi +2 -2
  104. metaflow-stubs/plugins/kubernetes/kubernetes_jobsets.pyi +2 -2
  105. metaflow-stubs/plugins/parallel_decorator.pyi +2 -2
  106. metaflow-stubs/plugins/project_decorator.pyi +2 -2
  107. metaflow-stubs/plugins/pypi/__init__.pyi +3 -3
  108. metaflow-stubs/plugins/pypi/conda_decorator.pyi +6 -2
  109. metaflow-stubs/plugins/pypi/conda_environment.pyi +5 -5
  110. metaflow-stubs/plugins/pypi/pypi_decorator.pyi +2 -2
  111. metaflow-stubs/plugins/pypi/pypi_environment.pyi +2 -2
  112. metaflow-stubs/plugins/pypi/utils.pyi +2 -2
  113. metaflow-stubs/plugins/resources_decorator.pyi +2 -2
  114. metaflow-stubs/plugins/retry_decorator.pyi +2 -2
  115. metaflow-stubs/plugins/secrets/__init__.pyi +2 -2
  116. metaflow-stubs/plugins/secrets/inline_secrets_provider.pyi +2 -2
  117. metaflow-stubs/plugins/secrets/secrets_decorator.pyi +2 -2
  118. metaflow-stubs/plugins/storage_executor.pyi +2 -2
  119. metaflow-stubs/plugins/test_unbounded_foreach_decorator.pyi +2 -2
  120. metaflow-stubs/plugins/timeout_decorator.pyi +4 -4
  121. metaflow-stubs/pylint_wrapper.pyi +2 -2
  122. metaflow-stubs/runner/__init__.pyi +2 -2
  123. metaflow-stubs/runner/deployer.pyi +29 -29
  124. metaflow-stubs/runner/deployer_impl.pyi +2 -2
  125. metaflow-stubs/runner/metaflow_runner.pyi +3 -3
  126. metaflow-stubs/runner/nbdeploy.pyi +2 -2
  127. metaflow-stubs/runner/nbrun.pyi +2 -2
  128. metaflow-stubs/runner/subprocess_manager.pyi +2 -2
  129. metaflow-stubs/runner/utils.pyi +3 -3
  130. metaflow-stubs/system/__init__.pyi +2 -2
  131. metaflow-stubs/system/system_logger.pyi +2 -2
  132. metaflow-stubs/system/system_monitor.pyi +2 -2
  133. metaflow-stubs/tagging_util.pyi +2 -2
  134. metaflow-stubs/tuple_util.pyi +2 -2
  135. metaflow-stubs/{plugins/package_cli.pyi → user_configs/__init__.pyi} +5 -3
  136. metaflow-stubs/user_configs/config_decorators.pyi +253 -0
  137. metaflow-stubs/user_configs/config_options.pyi +82 -0
  138. metaflow-stubs/user_configs/config_parameters.pyi +217 -0
  139. metaflow-stubs/version.pyi +2 -2
  140. {metaflow_stubs-2.12.35.dist-info → metaflow_stubs-2.12.37.dist-info}/METADATA +2 -2
  141. metaflow_stubs-2.12.37.dist-info/RECORD +144 -0
  142. metaflow-stubs/clone_util.pyi +0 -14
  143. metaflow-stubs/mflog/__init__.pyi +0 -6
  144. metaflow-stubs/mflog/mflog.pyi +0 -69
  145. metaflow-stubs/plugins/airflow/airflow.pyi +0 -89
  146. metaflow-stubs/plugins/airflow/airflow_cli.pyi +0 -37
  147. metaflow-stubs/plugins/argo/argo_workflows_cli.pyi +0 -103
  148. metaflow-stubs/plugins/aws/batch/batch_cli.pyi +0 -25
  149. metaflow-stubs/plugins/aws/step_functions/production_token.pyi +0 -19
  150. metaflow-stubs/plugins/aws/step_functions/step_functions_cli.pyi +0 -69
  151. metaflow-stubs/plugins/cards/card_cli.pyi +0 -146
  152. metaflow-stubs/plugins/cards/card_modules/chevron/__init__.pyi +0 -17
  153. metaflow-stubs/plugins/cards/card_modules/chevron/main.pyi +0 -22
  154. metaflow-stubs/plugins/cards/card_modules/chevron/renderer.pyi +0 -77
  155. metaflow-stubs/plugins/cards/card_modules/chevron/tokenizer.pyi +0 -76
  156. metaflow-stubs/plugins/kubernetes/kubernetes_cli.pyi +0 -33
  157. metaflow-stubs/plugins/logs_cli.pyi +0 -46
  158. metaflow-stubs/plugins/tag_cli.pyi +0 -19
  159. metaflow-stubs/procpoll.pyi +0 -53
  160. metaflow_stubs-2.12.35.dist-info/RECORD +0 -158
  161. {metaflow_stubs-2.12.35.dist-info → metaflow_stubs-2.12.37.dist-info}/WHEEL +0 -0
  162. {metaflow_stubs-2.12.35.dist-info → metaflow_stubs-2.12.37.dist-info}/top_level.txt +0 -0
@@ -1,7 +1,7 @@
1
1
  ######################################################################################################
2
2
  # Auto-generated Metaflow stub file #
3
- # MF version: 2.12.35 #
4
- # Generated on 2024-12-06T00:07:18.502279 #
3
+ # MF version: 2.12.37 #
4
+ # Generated on 2024-12-07T08:10:43.629344 #
5
5
  ######################################################################################################
6
6
 
7
7
  from __future__ import annotations
@@ -22,6 +22,7 @@ from .multicore_utils import parallel_map as parallel_map
22
22
  from . import metaflow_current as metaflow_current
23
23
  from .metaflow_current import current as current
24
24
  from . import parameters as parameters
25
+ from . import user_configs as user_configs
25
26
  from . import tagging_util as tagging_util
26
27
  from . import metadata_provider as metadata_provider
27
28
  from . import flowspec as flowspec
@@ -29,8 +30,12 @@ from .flowspec import FlowSpec as FlowSpec
29
30
  from .parameters import Parameter as Parameter
30
31
  from .parameters import JSONTypeClass as JSONTypeClass
31
32
  from .parameters import JSONType as JSONType
32
- from . import events as events
33
+ from .user_configs.config_parameters import Config as Config
34
+ from .user_configs.config_parameters import config_expr as config_expr
35
+ from .user_configs.config_decorators import CustomFlowDecorator as CustomFlowDecorator
36
+ from .user_configs.config_decorators import CustomStepDecorator as CustomStepDecorator
33
37
  from . import tuple_util as tuple_util
38
+ from . import events as events
34
39
  from . import runner as runner
35
40
  from . import plugins as plugins
36
41
  from .plugins.datatools.s3.s3 import S3 as S3
@@ -56,10 +61,9 @@ from .runner.deployer import Deployer as Deployer
56
61
  from .runner.deployer import DeployedFlow as DeployedFlow
57
62
  from .runner.nbdeploy import NBDeployer as NBDeployer
58
63
  from . import version as version
64
+ from . import cli_components as cli_components
59
65
  from . import system as system
60
66
  from . import pylint_wrapper as pylint_wrapper
61
- from . import procpoll as procpoll
62
- from . import clone_util as clone_util
63
67
  from . import cli as cli
64
68
 
65
69
  EXT_PKG: str
@@ -137,25 +141,6 @@ def step(f: typing.Union[typing.Callable[[FlowSpecDerived], None], typing.Callab
137
141
  """
138
142
  ...
139
143
 
140
- @typing.overload
141
- def parallel(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
142
- """
143
- Decorator prototype for all step decorators. This function gets specialized
144
- and imported for all decorators types by _import_plugin_decorators().
145
- """
146
- ...
147
-
148
- @typing.overload
149
- def parallel(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
150
- ...
151
-
152
- def parallel(f: typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None], None] = None):
153
- """
154
- Decorator prototype for all step decorators. This function gets specialized
155
- and imported for all decorators types by _import_plugin_decorators().
156
- """
157
- ...
158
-
159
144
  @typing.overload
160
145
  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]]]:
161
146
  """
@@ -195,6 +180,93 @@ def retry(f: typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], ty
195
180
  """
196
181
  ...
197
182
 
183
+ @typing.overload
184
+ 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]]]:
185
+ """
186
+ Specifies the Conda environment for the step.
187
+
188
+ Information in this decorator will augment any
189
+ attributes set in the `@conda_base` flow-level decorator. Hence,
190
+ you can use `@conda_base` to set packages required by all
191
+ steps and use `@conda` to specify step-specific overrides.
192
+ """
193
+ ...
194
+
195
+ @typing.overload
196
+ def conda(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
197
+ ...
198
+
199
+ @typing.overload
200
+ def conda(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
201
+ ...
202
+
203
+ 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):
204
+ """
205
+ Specifies the Conda environment for the step.
206
+
207
+ Information in this decorator will augment any
208
+ attributes set in the `@conda_base` flow-level decorator. Hence,
209
+ you can use `@conda_base` to set packages required by all
210
+ steps and use `@conda` to specify step-specific overrides.
211
+ """
212
+ ...
213
+
214
+ @typing.overload
215
+ def parallel(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
216
+ """
217
+ Decorator prototype for all step decorators. This function gets specialized
218
+ and imported for all decorators types by _import_plugin_decorators().
219
+ """
220
+ ...
221
+
222
+ @typing.overload
223
+ def parallel(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
224
+ ...
225
+
226
+ def parallel(f: typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None], typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None], None] = None):
227
+ """
228
+ Decorator prototype for all step decorators. This function gets specialized
229
+ and imported for all decorators types by _import_plugin_decorators().
230
+ """
231
+ ...
232
+
233
+ @typing.overload
234
+ 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]]]:
235
+ """
236
+ Specifies the PyPI packages for the step.
237
+
238
+ Information in this decorator will augment any
239
+ attributes set in the `@pyi_base` flow-level decorator. Hence,
240
+ you can use `@pypi_base` to set packages required by all
241
+ steps and use `@pypi` to specify step-specific overrides.
242
+ """
243
+ ...
244
+
245
+ @typing.overload
246
+ def pypi(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
247
+ ...
248
+
249
+ @typing.overload
250
+ def pypi(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
251
+ ...
252
+
253
+ 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):
254
+ """
255
+ Specifies the PyPI packages for the step.
256
+
257
+ Information in this decorator will augment any
258
+ attributes set in the `@pyi_base` flow-level decorator. Hence,
259
+ you can use `@pypi_base` to set packages required by all
260
+ steps and use `@pypi` to specify step-specific overrides.
261
+ """
262
+ ...
263
+
264
+ 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, 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]]]:
265
+ """
266
+ Specifies that this step should execute on Kubernetes.
267
+ """
268
+ ...
269
+
198
270
  @typing.overload
199
271
  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]]]:
200
272
  """
@@ -218,6 +290,27 @@ def secrets(f: typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None],
218
290
  """
219
291
  ...
220
292
 
293
+ @typing.overload
294
+ 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]]]:
295
+ """
296
+ Specifies that this step should execute on [AWS Batch](https://aws.amazon.com/batch/).
297
+ """
298
+ ...
299
+
300
+ @typing.overload
301
+ def batch(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
302
+ ...
303
+
304
+ @typing.overload
305
+ def batch(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
306
+ ...
307
+
308
+ 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):
309
+ """
310
+ Specifies that this step should execute on [AWS Batch](https://aws.amazon.com/batch/).
311
+ """
312
+ ...
313
+
221
314
  @typing.overload
222
315
  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]]]:
223
316
  """
@@ -268,33 +361,27 @@ def resources(f: typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None]
268
361
  ...
269
362
 
270
363
  @typing.overload
271
- 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]]]:
364
+ 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]]]:
272
365
  """
273
- Specifies the PyPI packages for the step.
366
+ Creates a human-readable report, a Metaflow Card, after this step completes.
274
367
 
275
- Information in this decorator will augment any
276
- attributes set in the `@pyi_base` flow-level decorator. Hence,
277
- you can use `@pypi_base` to set packages required by all
278
- steps and use `@pypi` to specify step-specific overrides.
368
+ Note that you may add multiple `@card` decorators in a step with different parameters.
279
369
  """
280
370
  ...
281
371
 
282
372
  @typing.overload
283
- def pypi(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
373
+ def card(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
284
374
  ...
285
375
 
286
376
  @typing.overload
287
- def pypi(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
377
+ def card(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
288
378
  ...
289
379
 
290
- 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):
380
+ 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):
291
381
  """
292
- Specifies the PyPI packages for the step.
382
+ Creates a human-readable report, a Metaflow Card, after this step completes.
293
383
 
294
- Information in this decorator will augment any
295
- attributes set in the `@pyi_base` flow-level decorator. Hence,
296
- you can use `@pypi_base` to set packages required by all
297
- steps and use `@pypi` to specify step-specific overrides.
384
+ Note that you may add multiple `@card` decorators in a step with different parameters.
298
385
  """
299
386
  ...
300
387
 
@@ -390,104 +477,116 @@ def timeout(f: typing.Union[typing.Callable[[FlowSpecDerived, StepFlag], None],
390
477
  ...
391
478
 
392
479
  @typing.overload
393
- 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]]]:
480
+ 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]]:
394
481
  """
395
- Creates a human-readable report, a Metaflow Card, after this step completes.
482
+ Specifies the flow(s) that this flow depends on.
396
483
 
397
- Note that you may add multiple `@card` decorators in a step with different parameters.
398
- """
399
- ...
400
-
401
- @typing.overload
402
- def card(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
403
- ...
404
-
405
- @typing.overload
406
- def card(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
407
- ...
408
-
409
- 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):
410
- """
411
- Creates a human-readable report, a Metaflow Card, after this step completes.
484
+ ```
485
+ @trigger_on_finish(flow='FooFlow')
486
+ ```
487
+ or
488
+ ```
489
+ @trigger_on_finish(flows=['FooFlow', 'BarFlow'])
490
+ ```
491
+ This decorator respects the @project decorator and triggers the flow
492
+ when upstream runs within the same namespace complete successfully
412
493
 
413
- Note that you may add multiple `@card` decorators in a step with different parameters.
414
- """
415
- ...
416
-
417
- 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, 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]]]:
418
- """
419
- Specifies that this step should execute on Kubernetes.
420
- """
421
- ...
422
-
423
- @typing.overload
424
- 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]]]:
425
- """
426
- Specifies that this step should execute on [AWS Batch](https://aws.amazon.com/batch/).
494
+ Additionally, you can specify project aware upstream flow dependencies
495
+ by specifying the fully qualified project_flow_name.
496
+ ```
497
+ @trigger_on_finish(flow='my_project.branch.my_branch.FooFlow')
498
+ ```
499
+ or
500
+ ```
501
+ @trigger_on_finish(flows=['my_project.branch.my_branch.FooFlow', 'BarFlow'])
502
+ ```
503
+
504
+ You can also specify just the project or project branch (other values will be
505
+ inferred from the current project or project branch):
506
+ ```
507
+ @trigger_on_finish(flow={"name": "FooFlow", "project": "my_project", "project_branch": "branch"})
508
+ ```
509
+
510
+ Note that `branch` is typically one of:
511
+ - `prod`
512
+ - `user.bob`
513
+ - `test.my_experiment`
514
+ - `prod.staging`
427
515
  """
428
516
  ...
429
517
 
430
518
  @typing.overload
431
- def batch(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
432
- ...
433
-
434
- @typing.overload
435
- def batch(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
519
+ def trigger_on_finish(f: typing.Type[FlowSpecDerived]) -> typing.Type[FlowSpecDerived]:
436
520
  ...
437
521
 
438
- 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):
522
+ def trigger_on_finish(f: typing.Optional[typing.Type[FlowSpecDerived]] = None, *, 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] = {}):
439
523
  """
440
- Specifies that this step should execute on [AWS Batch](https://aws.amazon.com/batch/).
524
+ Specifies the flow(s) that this flow depends on.
525
+
526
+ ```
527
+ @trigger_on_finish(flow='FooFlow')
528
+ ```
529
+ or
530
+ ```
531
+ @trigger_on_finish(flows=['FooFlow', 'BarFlow'])
532
+ ```
533
+ This decorator respects the @project decorator and triggers the flow
534
+ when upstream runs within the same namespace complete successfully
535
+
536
+ Additionally, you can specify project aware upstream flow dependencies
537
+ by specifying the fully qualified project_flow_name.
538
+ ```
539
+ @trigger_on_finish(flow='my_project.branch.my_branch.FooFlow')
540
+ ```
541
+ or
542
+ ```
543
+ @trigger_on_finish(flows=['my_project.branch.my_branch.FooFlow', 'BarFlow'])
544
+ ```
545
+
546
+ You can also specify just the project or project branch (other values will be
547
+ inferred from the current project or project branch):
548
+ ```
549
+ @trigger_on_finish(flow={"name": "FooFlow", "project": "my_project", "project_branch": "branch"})
550
+ ```
551
+
552
+ Note that `branch` is typically one of:
553
+ - `prod`
554
+ - `user.bob`
555
+ - `test.my_experiment`
556
+ - `prod.staging`
441
557
  """
442
558
  ...
443
559
 
444
560
  @typing.overload
445
- 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]]]:
561
+ 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]]:
446
562
  """
447
- Specifies the Conda environment for the step.
563
+ Specifies the Conda environment for all steps of the flow.
448
564
 
449
- Information in this decorator will augment any
450
- attributes set in the `@conda_base` flow-level decorator. Hence,
451
- you can use `@conda_base` to set packages required by all
452
- steps and use `@conda` to specify step-specific overrides.
565
+ Use `@conda_base` to set common libraries required by all
566
+ steps and use `@conda` to specify step-specific additions.
453
567
  """
454
568
  ...
455
569
 
456
570
  @typing.overload
457
- def conda(f: typing.Callable[[FlowSpecDerived, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, StepFlag], None]:
458
- ...
459
-
460
- @typing.overload
461
- def conda(f: typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]) -> typing.Callable[[FlowSpecDerived, typing.Any, StepFlag], None]:
571
+ def conda_base(f: typing.Type[FlowSpecDerived]) -> typing.Type[FlowSpecDerived]:
462
572
  ...
463
573
 
464
- 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):
574
+ def conda_base(f: typing.Optional[typing.Type[FlowSpecDerived]] = None, *, packages: typing.Dict[str, str] = {}, libraries: typing.Dict[str, str] = {}, python: typing.Optional[str] = None, disabled: bool = False):
465
575
  """
466
- Specifies the Conda environment for the step.
576
+ Specifies the Conda environment for all steps of the flow.
467
577
 
468
- Information in this decorator will augment any
469
- attributes set in the `@conda_base` flow-level decorator. Hence,
470
- you can use `@conda_base` to set packages required by all
471
- steps and use `@conda` to specify step-specific overrides.
472
- """
473
- ...
474
-
475
- @typing.overload
476
- 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]]:
477
- """
478
- Specifies the times when the flow should be run when running on a
479
- production scheduler.
578
+ Use `@conda_base` to set common libraries required by all
579
+ steps and use `@conda` to specify step-specific additions.
480
580
  """
481
581
  ...
482
582
 
483
- @typing.overload
484
- def schedule(f: typing.Type[FlowSpecDerived]) -> typing.Type[FlowSpecDerived]:
485
- ...
486
-
487
- 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):
583
+ 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]]:
488
584
  """
489
- Specifies the times when the flow should be run when running on a
490
- production scheduler.
585
+ 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)
586
+ before the start step of the flow. This decorator only works when a flow is scheduled on Airflow
587
+ and is compiled using `airflow create`. More than one `@airflow_s3_key_sensor` can be
588
+ added as a flow decorators. Adding more than one decorator will ensure that `start` step
589
+ starts only after all sensors finish.
491
590
  """
492
591
  ...
493
592
 
@@ -564,117 +663,22 @@ def trigger(f: typing.Optional[typing.Type[FlowSpecDerived]] = None, *, event: t
564
663
  """
565
664
  ...
566
665
 
567
- 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]]:
568
- """
569
- 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)
570
- before the start step of the flow. This decorator only works when a flow is scheduled on Airflow
571
- and is compiled using `airflow create`. More than one `@airflow_s3_key_sensor` can be
572
- added as a flow decorators. Adding more than one decorator will ensure that `start` step
573
- starts only after all sensors finish.
574
- """
575
- ...
576
-
577
- @typing.overload
578
- def pypi_base(*, packages: typing.Dict[str, str] = {}, python: typing.Optional[str] = None) -> typing.Callable[[typing.Type[FlowSpecDerived]], typing.Type[FlowSpecDerived]]:
579
- """
580
- Specifies the PyPI packages for all steps of the flow.
581
-
582
- Use `@pypi_base` to set common packages required by all
583
- steps and use `@pypi` to specify step-specific overrides.
584
- """
585
- ...
586
-
587
666
  @typing.overload
588
- def pypi_base(f: typing.Type[FlowSpecDerived]) -> typing.Type[FlowSpecDerived]:
589
- ...
590
-
591
- def pypi_base(f: typing.Optional[typing.Type[FlowSpecDerived]] = None, *, packages: typing.Dict[str, str] = {}, python: typing.Optional[str] = None):
592
- """
593
- Specifies the PyPI packages for all steps of the flow.
594
-
595
- Use `@pypi_base` to set common packages required by all
596
- steps and use `@pypi` to specify step-specific overrides.
597
- """
598
- ...
599
-
600
- @typing.overload
601
- 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]]:
667
+ 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]]:
602
668
  """
603
- Specifies the flow(s) that this flow depends on.
604
-
605
- ```
606
- @trigger_on_finish(flow='FooFlow')
607
- ```
608
- or
609
- ```
610
- @trigger_on_finish(flows=['FooFlow', 'BarFlow'])
611
- ```
612
- This decorator respects the @project decorator and triggers the flow
613
- when upstream runs within the same namespace complete successfully
614
-
615
- Additionally, you can specify project aware upstream flow dependencies
616
- by specifying the fully qualified project_flow_name.
617
- ```
618
- @trigger_on_finish(flow='my_project.branch.my_branch.FooFlow')
619
- ```
620
- or
621
- ```
622
- @trigger_on_finish(flows=['my_project.branch.my_branch.FooFlow', 'BarFlow'])
623
- ```
624
-
625
- You can also specify just the project or project branch (other values will be
626
- inferred from the current project or project branch):
627
- ```
628
- @trigger_on_finish(flow={"name": "FooFlow", "project": "my_project", "project_branch": "branch"})
629
- ```
630
-
631
- Note that `branch` is typically one of:
632
- - `prod`
633
- - `user.bob`
634
- - `test.my_experiment`
635
- - `prod.staging`
669
+ Specifies the times when the flow should be run when running on a
670
+ production scheduler.
636
671
  """
637
672
  ...
638
673
 
639
674
  @typing.overload
640
- def trigger_on_finish(f: typing.Type[FlowSpecDerived]) -> typing.Type[FlowSpecDerived]:
675
+ def schedule(f: typing.Type[FlowSpecDerived]) -> typing.Type[FlowSpecDerived]:
641
676
  ...
642
677
 
643
- def trigger_on_finish(f: typing.Optional[typing.Type[FlowSpecDerived]] = None, *, 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] = {}):
678
+ 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):
644
679
  """
645
- Specifies the flow(s) that this flow depends on.
646
-
647
- ```
648
- @trigger_on_finish(flow='FooFlow')
649
- ```
650
- or
651
- ```
652
- @trigger_on_finish(flows=['FooFlow', 'BarFlow'])
653
- ```
654
- This decorator respects the @project decorator and triggers the flow
655
- when upstream runs within the same namespace complete successfully
656
-
657
- Additionally, you can specify project aware upstream flow dependencies
658
- by specifying the fully qualified project_flow_name.
659
- ```
660
- @trigger_on_finish(flow='my_project.branch.my_branch.FooFlow')
661
- ```
662
- or
663
- ```
664
- @trigger_on_finish(flows=['my_project.branch.my_branch.FooFlow', 'BarFlow'])
665
- ```
666
-
667
- You can also specify just the project or project branch (other values will be
668
- inferred from the current project or project branch):
669
- ```
670
- @trigger_on_finish(flow={"name": "FooFlow", "project": "my_project", "project_branch": "branch"})
671
- ```
672
-
673
- Note that `branch` is typically one of:
674
- - `prod`
675
- - `user.bob`
676
- - `test.my_experiment`
677
- - `prod.staging`
680
+ Specifies the times when the flow should be run when running on a
681
+ production scheduler.
678
682
  """
679
683
  ...
680
684
 
@@ -686,25 +690,25 @@ def airflow_external_task_sensor(*, timeout: int, poke_interval: int, mode: str,
686
690
  ...
687
691
 
688
692
  @typing.overload
689
- 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]]:
693
+ def pypi_base(*, packages: typing.Dict[str, str] = {}, python: typing.Optional[str] = None) -> typing.Callable[[typing.Type[FlowSpecDerived]], typing.Type[FlowSpecDerived]]:
690
694
  """
691
- Specifies the Conda environment for all steps of the flow.
695
+ Specifies the PyPI packages for all steps of the flow.
692
696
 
693
- Use `@conda_base` to set common libraries required by all
694
- steps and use `@conda` to specify step-specific additions.
697
+ Use `@pypi_base` to set common packages required by all
698
+ steps and use `@pypi` to specify step-specific overrides.
695
699
  """
696
700
  ...
697
701
 
698
702
  @typing.overload
699
- def conda_base(f: typing.Type[FlowSpecDerived]) -> typing.Type[FlowSpecDerived]:
703
+ def pypi_base(f: typing.Type[FlowSpecDerived]) -> typing.Type[FlowSpecDerived]:
700
704
  ...
701
705
 
702
- def conda_base(f: typing.Optional[typing.Type[FlowSpecDerived]] = None, *, packages: typing.Dict[str, str] = {}, libraries: typing.Dict[str, str] = {}, python: typing.Optional[str] = None, disabled: bool = False):
706
+ def pypi_base(f: typing.Optional[typing.Type[FlowSpecDerived]] = None, *, packages: typing.Dict[str, str] = {}, python: typing.Optional[str] = None):
703
707
  """
704
- Specifies the Conda environment for all steps of the flow.
708
+ Specifies the PyPI packages for all steps of the flow.
705
709
 
706
- Use `@conda_base` to set common libraries required by all
707
- steps and use `@conda` to specify step-specific additions.
710
+ Use `@pypi_base` to set common packages required by all
711
+ steps and use `@pypi` to specify step-specific overrides.
708
712
  """
709
713
  ...
710
714
 
metaflow-stubs/cards.pyi CHANGED
@@ -1,7 +1,7 @@
1
1
  ######################################################################################################
2
2
  # Auto-generated Metaflow stub file #
3
- # MF version: 2.12.35 #
4
- # Generated on 2024-12-06T00:07:18.409954 #
3
+ # MF version: 2.12.37 #
4
+ # Generated on 2024-12-07T08:10:43.543117 #
5
5
  ######################################################################################################
6
6
 
7
7
  from __future__ import annotations