metaflow 2.16.0__py2.py3-none-any.whl → 2.16.1__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/cli.py CHANGED
@@ -447,8 +447,8 @@ def start(
447
447
  # be raised. For resume, since we ignore those options, we ignore the error.
448
448
  raise ctx.obj.delayed_config_exception
449
449
 
450
- # Init all values in the config decorators and then process them
451
- for decorator in ctx.obj.flow._flow_state.get(_FlowState.CONFIG_DECORATORS, []):
450
+ # Init all values in the flow mutators and then process them
451
+ for decorator in ctx.obj.flow._flow_state.get(_FlowState.FLOW_MUTATORS, []):
452
452
  decorator.external_init()
453
453
 
454
454
  new_cls = ctx.obj.flow._process_config_decorators(config_options)
@@ -562,6 +562,9 @@ def start(
562
562
  ctx.obj.logger,
563
563
  )
564
564
 
565
+ # Check the graph again (mutators may have changed it)
566
+ ctx.obj.graph = ctx.obj.flow._graph
567
+
565
568
  # TODO (savin): Enable lazy instantiation of package
566
569
  ctx.obj.package = None
567
570
 
@@ -54,6 +54,8 @@ def before_run(obj, tags, decospecs):
54
54
  decorators._init_step_decorators(
55
55
  obj.flow, obj.graph, obj.environment, obj.flow_datastore, obj.logger
56
56
  )
57
+ # Re-read graph since it may have been modified by mutators
58
+ obj.graph = obj.flow._graph
57
59
 
58
60
  obj.metadata.add_sticky_tags(tags=tags)
59
61
 
metaflow/decorators.py CHANGED
@@ -715,13 +715,16 @@ def _init_flow_decorators(
715
715
 
716
716
 
717
717
  def _init_step_decorators(flow, graph, environment, flow_datastore, logger):
718
+ # NOTE: We don't need graph but keeping it for backwards compatibility with
719
+ # extensions that use it directly. We will remove it at some point.
720
+
718
721
  # We call the mutate method for both the flow and step mutators.
719
722
  cls = flow.__class__
720
723
  # Run all the decorators. We first run the flow-level decorators
721
724
  # and then the step level ones to maintain a consistent order with how
722
725
  # other decorators are run.
723
726
 
724
- for deco in cls._flow_state.get(_FlowState.CONFIG_DECORATORS, []):
727
+ for deco in cls._flow_state.get(_FlowState.FLOW_MUTATORS, []):
725
728
  if isinstance(deco, FlowMutator):
726
729
  inserted_by_value = [deco.decorator_name] + (deco.inserted_by or [])
727
730
  mutable_flow = MutableFlow(
@@ -777,6 +780,9 @@ def _init_step_decorators(flow, graph, environment, flow_datastore, logger):
777
780
  # We remove all mention of the custom step decorator
778
781
  setattr(cls, step.name, step)
779
782
 
783
+ cls._init_graph()
784
+ graph = flow._graph
785
+
780
786
  for step in flow:
781
787
  for deco in step.decorators:
782
788
  deco.step_init(
metaflow/flowspec.py CHANGED
@@ -78,7 +78,7 @@ class ParallelUBF(UnboundedForeachInput):
78
78
 
79
79
  class _FlowState(Enum):
80
80
  CONFIGS = 1
81
- CONFIG_DECORATORS = 2
81
+ FLOW_MUTATORS = 2
82
82
  CACHED_PARAMETERS = 3
83
83
  SET_CONFIG_PARAMETERS = (
84
84
  4 # These are Parameters that now have a ConfigValue (converted)
@@ -135,12 +135,17 @@ class FlowSpecMeta(type):
135
135
  raise DuplicateFlowDecoratorException(deco_name)
136
136
  cls._flow_decorators.setdefault(deco_name, []).extend(deco)
137
137
 
138
- # Take care of configs and config decorators
139
- base_configs = base._flow_state.get(_FlowState.CONFIG_DECORATORS)
138
+ # Take care of configs and flow mutators
139
+ base_configs = base._flow_state.get(_FlowState.CONFIGS)
140
140
  if base_configs:
141
- cls._flow_state.setdefault(_FlowState.CONFIG_DECORATORS, []).extend(
141
+ cls._flow_state.setdefault(_FlowState.CONFIGS, {}).update(
142
142
  base_configs
143
143
  )
144
+ base_mutators = base._flow_state.get(_FlowState.FLOW_MUTATORS)
145
+ if base_mutators:
146
+ cls._flow_state.setdefault(_FlowState.FLOW_MUTATORS, []).extend(
147
+ base_mutators
148
+ )
144
149
 
145
150
  cls._init_graph()
146
151
 
@@ -245,7 +250,7 @@ class FlowSpec(metaclass=FlowSpecMeta):
245
250
 
246
251
  # Fast path for no user configurations
247
252
  if not process_configs or (
248
- not cls._flow_state.get(_FlowState.CONFIG_DECORATORS)
253
+ not cls._flow_state.get(_FlowState.FLOW_MUTATORS)
249
254
  and all(len(step.config_decorators) == 0 for step in cls._steps)
250
255
  ):
251
256
  # Process parameters to allow them to also use config values easily
@@ -284,7 +289,7 @@ class FlowSpec(metaclass=FlowSpecMeta):
284
289
  # and then the step level ones to maintain a consistent order with how
285
290
  # other decorators are run.
286
291
 
287
- for deco in cls._flow_state.get(_FlowState.CONFIG_DECORATORS, []):
292
+ for deco in cls._flow_state.get(_FlowState.FLOW_MUTATORS, []):
288
293
  if isinstance(deco, FlowMutator):
289
294
  inserted_by_value = [deco.decorator_name] + (deco.inserted_by or [])
290
295
  mutable_flow = MutableFlow(
@@ -423,7 +428,7 @@ class FlowSpec(metaclass=FlowSpecMeta):
423
428
  "statically_defined": deco.statically_defined,
424
429
  "inserted_by": deco.inserted_by,
425
430
  }
426
- for deco in self._flow_state.get(_FlowState.CONFIG_DECORATORS, [])
431
+ for deco in self._flow_state.get(_FlowState.FLOW_MUTATORS, [])
427
432
  ],
428
433
  "extensions": extension_info(),
429
434
  }
@@ -41,7 +41,11 @@ class MetaflowCodeContentV1(MetaflowCodeContentV1Base):
41
41
  # We try to find the modules we need to package. We will first look at all modules
42
42
  # and apply the criteria to them. Then we will use the most parent module that
43
43
  # fits the criteria as the module to package
44
- modules = filter(lambda x: criteria(x[1]), sys.modules.items())
44
+
45
+ # Make a copy since sys.modules could be modified while we load other
46
+ # modules. See https://github.com/Netflix/metaflow/issues/2489
47
+ all_modules = dict(sys.modules)
48
+ modules = filter(lambda x: criteria(x[1]), all_modules.items())
45
49
  # Ensure that we see the parent modules first
46
50
  modules = sorted(modules, key=lambda x: x[0])
47
51
  if modules:
@@ -289,7 +289,7 @@ def make_flow(
289
289
  decorators._init_step_decorators(
290
290
  obj.flow, obj.graph, obj.environment, obj.flow_datastore, obj.logger
291
291
  )
292
-
292
+ obj.graph = obj.flow._graph
293
293
  # Save the code package in the flow datastore so that both user code and
294
294
  # metaflow package can be retrieved during workflow execution.
295
295
  obj.package = MetaflowPackage(
@@ -515,6 +515,7 @@ def make_flow(
515
515
  decorators._init_step_decorators(
516
516
  obj.flow, obj.graph, obj.environment, obj.flow_datastore, obj.logger
517
517
  )
518
+ obj.graph = obj.flow._graph
518
519
 
519
520
  # Save the code package in the flow datastore so that both user code and
520
521
  # metaflow package can be retrieved during workflow execution.
@@ -330,6 +330,7 @@ def make_flow(
330
330
  decorators._init_step_decorators(
331
331
  obj.flow, obj.graph, obj.environment, obj.flow_datastore, obj.logger
332
332
  )
333
+ obj.graph = obj.flow._graph
333
334
 
334
335
  obj.package = MetaflowPackage(
335
336
  obj.flow,
@@ -5,7 +5,7 @@ import sys
5
5
  import time
6
6
 
7
7
  from metaflow.util import which
8
- from metaflow.info_file import read_info_file
8
+ from metaflow.meta_files import read_info_file
9
9
  from metaflow.metaflow_config import get_pinned_conda_libs
10
10
  from metaflow.packaging_sys import MetaflowCodeContent, ContentType
11
11
  from urllib.request import Request, urlopen
metaflow/task.py CHANGED
@@ -106,14 +106,15 @@ class MetaflowTask(object):
106
106
  except Exception as ex:
107
107
  raised_exception = ex
108
108
 
109
- if do_next:
109
+ if do_next or raised_exception:
110
110
  # If we are skipping the step, or executed a wrapped function,
111
111
  # we need to set the transition variables
112
112
  # properly. We call the next function as needed
113
- graph_node = self.flow._graph[step_function.name]
113
+ # We also do this in case we want to gobble the exception.
114
+ graph_node = self.flow._graph[orig_step_func.name]
114
115
  out_funcs = [getattr(self.flow, f) for f in graph_node.out_funcs]
115
116
  if out_funcs:
116
- if isinstance(do_next, bool):
117
+ if isinstance(do_next, bool) or raised_exception:
117
118
  # We need to extract things from the self.next. This is not possible
118
119
  # in the case where there was a num_parallel.
119
120
  if graph_node.parallel_foreach:
@@ -137,7 +138,7 @@ class MetaflowTask(object):
137
138
  # We back out of the stack of generators
138
139
  for w in reversed(wrappers_stack):
139
140
  raised_exception = w.post_step(
140
- step_function.name, self.flow, raised_exception
141
+ orig_step_func.name, self.flow, raised_exception
141
142
  )
142
143
  if raised_exception:
143
144
  # We have an exception that we need to propagate
@@ -368,7 +368,6 @@ class MutableStep:
368
368
  if issubclass(canonical_deco_type, UserStepDecoratorBase):
369
369
  for attr in ["config_decorators", "wrappers"]:
370
370
  new_deco_list = []
371
-
372
371
  for deco in getattr(self._my_step, attr):
373
372
  if deco.decorator_name == canonical_deco_type.decorator_name:
374
373
  if do_all:
@@ -396,6 +395,7 @@ class MutableStep:
396
395
 
397
396
  if did_remove:
398
397
  return True
398
+ new_deco_list = []
399
399
  for deco in self._my_step.decorators:
400
400
  if deco.name == deco_name:
401
401
  if do_all:
@@ -190,7 +190,7 @@ class FlowMutator(metaclass=FlowMutatorMeta):
190
190
  ) -> "metaflow.flowspec.FlowSpecMeta":
191
191
  from ..flowspec import _FlowState
192
192
 
193
- flow_spec._flow_state.setdefault(_FlowState.CONFIG_DECORATORS, []).append(self)
193
+ flow_spec._flow_state.setdefault(_FlowState.FLOW_MUTATORS, []).append(self)
194
194
  self._flow_cls = flow_spec
195
195
  return flow_spec
196
196
 
@@ -225,6 +225,7 @@ class FlowMutator(metaclass=FlowMutatorMeta):
225
225
  raise MetaflowException(
226
226
  "%s is used with arguments but does not implement init" % self
227
227
  )
228
+ if "init" in self.__class__.__dict__:
228
229
  self.init(*self._args, **self._kwargs)
229
230
 
230
231
  def pre_mutate(
@@ -393,7 +393,7 @@ class UserStepDecoratorBase(metaclass=UserStepDecoratorMeta):
393
393
  raise MetaflowException(
394
394
  "%s is used with arguments but does not implement init" % self
395
395
  )
396
-
396
+ if "init" in self.__class__.__dict__:
397
397
  self.init(*self._args, **self._kwargs)
398
398
 
399
399
 
metaflow/version.py CHANGED
@@ -1 +1 @@
1
- metaflow_version = "2.16.0"
1
+ metaflow_version = "2.16.1"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: metaflow
3
- Version: 2.16.0
3
+ Version: 2.16.1
4
4
  Summary: Metaflow: More AI and ML, Less Engineering
5
5
  Author: Metaflow Developers
6
6
  Author-email: help@metaflow.org
@@ -26,7 +26,7 @@ License-File: LICENSE
26
26
  Requires-Dist: requests
27
27
  Requires-Dist: boto3
28
28
  Provides-Extra: stubs
29
- Requires-Dist: metaflow-stubs==2.16.0; extra == "stubs"
29
+ Requires-Dist: metaflow-stubs==2.16.1; extra == "stubs"
30
30
  Dynamic: author
31
31
  Dynamic: author-email
32
32
  Dynamic: classifier
@@ -1,16 +1,16 @@
1
1
  metaflow/R.py,sha256=CqVfIatvmjciuICNnoyyNGrwE7Va9iXfLdFbQa52hwA,3958
2
2
  metaflow/__init__.py,sha256=8V_NsmWtat2FnIUp5GenscY0vz4egOkIlpNjqwtTJnY,6051
3
3
  metaflow/cards.py,sha256=IbRmredvmFEU0V6JL7DR8wCESwVmmZJubr6x24bo7U4,442
4
- metaflow/cli.py,sha256=EjSoVNg4pMno0Uir0GIdHvMNfpEohT1VhMVzbs6x0Fw,22353
4
+ metaflow/cli.py,sha256=WG_2HjYM5ETGl_Vw6nQmFxROKXHH3ZqK1WVmFbGp4r4,22453
5
5
  metaflow/cli_args.py,sha256=hDsdWdRmfXYifVGq6b6FDfgoWxtIG2nr_lU6EBV0Pnk,3584
6
6
  metaflow/clone_util.py,sha256=LSuVbFpPUh92UW32DBcnZbL0FFw-4w3CLa0tpEbCkzk,2066
7
7
  metaflow/cmd_with_io.py,sha256=kl53HkAIyv0ecpItv08wZYczv7u3msD1VCcciqigqf0,588
8
8
  metaflow/debug.py,sha256=DDUYLWLAZ4Shg_uXz67BD2nRt8Gilemhlbv9YccKVt4,1656
9
- metaflow/decorators.py,sha256=HDBXtJy_aEzjTB6R18F6PxXPGHhtKB797okeuvwgmls,30639
9
+ metaflow/decorators.py,sha256=HXfD7NIm5WED7aziq8ul3-lkFgzf7BVVQ3PmocAs8Mw,30835
10
10
  metaflow/event_logger.py,sha256=joTVRqZPL87nvah4ZOwtqWX8NeraM_CXKXXGVpKGD8o,780
11
11
  metaflow/events.py,sha256=ahjzkSbSnRCK9RZ-9vTfUviz_6gMvSO9DGkJ86X80-k,5300
12
12
  metaflow/exception.py,sha256=_m9ZBJM0cooHRslDqfxCPQmkChqaTh6fGxp7HvISnYI,5161
13
- metaflow/flowspec.py,sha256=M9AcYfqt8FP_lUjmbEi8ym58Nm5UI5bczLMFmjZoG1Q,37726
13
+ metaflow/flowspec.py,sha256=hCONv0wlC-MgxNUDWzDtS_4ayr-0sqPNUdnpXJ75b1Y,37944
14
14
  metaflow/graph.py,sha256=alPCQPexm-0hjquQgLYNhoe6PbXL_LXMg1L__G1DxYw,13183
15
15
  metaflow/includefile.py,sha256=RtISGl1V48qjkJBakUZ9yPpHV102h7pOIFiKP8PLHpc,20927
16
16
  metaflow/integrations.py,sha256=LlsaoePRg03DjENnmLxZDYto3NwWc9z_PtU6nJxLldg,1480
@@ -31,12 +31,12 @@ metaflow/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
31
  metaflow/pylint_wrapper.py,sha256=tJjmdsgtbHTCqg_oA6fV6SbWq_3V5XUgE9xH0zJ1CGU,3004
32
32
  metaflow/runtime.py,sha256=KwHKZ6kNZuC8HgL_r0-gTi9Y-GPAhTz0tNXydQFjZO4,77617
33
33
  metaflow/tagging_util.py,sha256=ctyf0Q1gBi0RyZX6J0e9DQGNkNHblV_CITfy66axXB4,2346
34
- metaflow/task.py,sha256=Vt25iu8mIfK0F_W2akuy4pn2W404DyHOvCfHS0t6zTk,34243
34
+ metaflow/task.py,sha256=1DslU1CHoEeFIilABQvk4Zbpl-yCdZMEkECnv2LQAZg,34356
35
35
  metaflow/tuple_util.py,sha256=_G5YIEhuugwJ_f6rrZoelMFak3DqAR2tt_5CapS1XTY,830
36
36
  metaflow/unbounded_foreach.py,sha256=p184WMbrMJ3xKYHwewj27ZhRUsSj_kw1jlye5gA9xJk,387
37
37
  metaflow/util.py,sha256=g2SOU_CRzJLgDM_UGF9QDMANMAIHAsDRXE6S76_YzsY,14594
38
38
  metaflow/vendor.py,sha256=EDZokNMrx1PU07jNMiWFMFtC7TL03pMXZ1kKn13k-2g,5139
39
- metaflow/version.py,sha256=Fol9F1ZMClYmN4yFVSlHZ1ZQA1fVyDtwLDjFZFEonn4,28
39
+ metaflow/version.py,sha256=UyMOYxhUmaZP3zt8IK5HPTbd1c0Z1QPVTghR2Ezbjr4,28
40
40
  metaflow/_vendor/__init__.py,sha256=y_CiwUD3l4eAKvTVDZeqgVujMy31cAM1qjAB-HfI-9s,353
41
41
  metaflow/_vendor/typing_extensions.py,sha256=q9zxWa6p6CzF1zZvSkygSlklduHf_b3K7MCxGz7MJRc,134519
42
42
  metaflow/_vendor/zipp.py,sha256=ajztOH-9I7KA_4wqDYygtHa6xUBVZgFpmZ8FE74HHHI,8425
@@ -136,7 +136,7 @@ metaflow/_vendor/v3_7/typeguard/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
136
136
  metaflow/cli_components/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
137
137
  metaflow/cli_components/dump_cmd.py,sha256=SZEX51BWNd1o3H2uHDkYA8KRvou5X8g5rTwpdu5vnNQ,2704
138
138
  metaflow/cli_components/init_cmd.py,sha256=AIkQHNlMRsmf8fxXwXQSEWTuv_9nxNY82-IdWsgGjEs,1554
139
- metaflow/cli_components/run_cmds.py,sha256=3ycqyPgzP6v811sTYjPhmk-arhytIDpUFBrFzuKhy_Q,11459
139
+ metaflow/cli_components/run_cmds.py,sha256=xULZQ2UrxLNsWjQIZd38EbOGNBw8UJT7w_T19UbS_fg,11555
140
140
  metaflow/cli_components/step_cmd.py,sha256=zGJgTv7wxrv34nWDi__CHaC2eS6kItR95EdVGJX803w,4766
141
141
  metaflow/cli_components/utils.py,sha256=gpoDociadjnJD7MuiJup_MDR02ZJjjleejr0jPBu29c,6057
142
142
  metaflow/client/__init__.py,sha256=1GtQB4Y_CBkzaxg32L1syNQSlfj762wmLrfrDxGi1b8,226
@@ -180,7 +180,7 @@ metaflow/packaging_sys/backend.py,sha256=b3OX42Io8xP5l56zhXZxi-VLqXBr-B2q8AM7cWZ
180
180
  metaflow/packaging_sys/distribution_support.py,sha256=VvikZBCH8N1TBZZ2Twk8jH1brmiinKWCD3y_aFqBsIw,4937
181
181
  metaflow/packaging_sys/tar_backend.py,sha256=EYZD5iGEzPoO4L6IQhmrZC1QlaOPV471SBKyOYBS2XU,2593
182
182
  metaflow/packaging_sys/utils.py,sha256=x8SVglJvY5mIAilS7MqZi2PpMr6IEyi6RCg3l8hN3G0,2972
183
- metaflow/packaging_sys/v1.py,sha256=a4a_awxS0Wtj407-KyvosZoPeT4HlhRHDaD5gPUNPZc,20293
183
+ metaflow/packaging_sys/v1.py,sha256=_YlVPR7oSYt7B8dHOS0Fb6ZPrxaSZMSQyRhdN8CL8ZY,20483
184
184
  metaflow/plugins/__init__.py,sha256=yFxjJOlnfap7tQMNgSgaso2tl_zr1BcWL7KoUKk4c9Y,8617
185
185
  metaflow/plugins/catch_decorator.py,sha256=UOM2taN_OL2RPpuJhwEOA9ZALm0-hHD0XS2Hn2GUev0,4061
186
186
  metaflow/plugins/debug_logger.py,sha256=mcF5HYzJ0NQmqCMjyVUk3iAP-heroHRIiVWQC6Ha2-I,879
@@ -199,7 +199,7 @@ metaflow/plugins/test_unbounded_foreach_decorator.py,sha256=4FA7IFSJgyf4yAyEre7y
199
199
  metaflow/plugins/timeout_decorator.py,sha256=tKTUn9pUdX7l_AC7gydtBho0W2NfHdvFq6HUbxB0bHo,3563
200
200
  metaflow/plugins/airflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
201
201
  metaflow/plugins/airflow/airflow.py,sha256=EEbQZk451p8ksvCiYjAUWg3d0h6Dm3N53Yhok0a2WgE,32778
202
- metaflow/plugins/airflow/airflow_cli.py,sha256=EoYW_LwV3OXRewnuozrtrKStZ-2-d8oQVKWqzeyCrDE,15157
202
+ metaflow/plugins/airflow/airflow_cli.py,sha256=qOWmHAe4Z5KKp-5EX-qtSh9lWNF6mB0Ze7lA_LqRaCg,15188
203
203
  metaflow/plugins/airflow/airflow_decorator.py,sha256=IWT6M9gga8t65FR4Wi7pIZvOupk3hE75B5NRg9tMEps,1781
204
204
  metaflow/plugins/airflow/airflow_utils.py,sha256=dvRllfQeOWfDUseFnOocIGaL3gRI_A7cEHnC1w01vfk,28905
205
205
  metaflow/plugins/airflow/dag.py,sha256=zYV3QsyqGIOxgipbiEb4dX-r6aippNbXjuT6Jt2s4xI,129
@@ -214,7 +214,7 @@ metaflow/plugins/argo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
214
214
  metaflow/plugins/argo/argo_client.py,sha256=A1kI9rjVjCadDsBscZ2Wk8xRBI6GNgWV6SU7TyrdfrI,16530
215
215
  metaflow/plugins/argo/argo_events.py,sha256=_C1KWztVqgi3zuH57pInaE9OzABc2NnncC-zdwOMZ-w,5909
216
216
  metaflow/plugins/argo/argo_workflows.py,sha256=v2_FiimUW-qSG_IBMhJjdtrguHsRCCTz6i-qEJ7-Ysc,187152
217
- metaflow/plugins/argo/argo_workflows_cli.py,sha256=mbnedATebvYinr25alYYqEOwhzobvnLFsk5xahM0HOk,38778
217
+ metaflow/plugins/argo/argo_workflows_cli.py,sha256=pfqYH0nqkgmkDcz3EPIz5yR_PSdd3CfLb92wzplS8fY,38810
218
218
  metaflow/plugins/argo/argo_workflows_decorator.py,sha256=ogCSBmwsC2C3eusydrgjuAJd4qK18f1sI4jJwA4Fd-o,7800
219
219
  metaflow/plugins/argo/argo_workflows_deployer.py,sha256=6kHxEnYXJwzNCM9swI8-0AckxtPWqwhZLerYkX8fxUM,4444
220
220
  metaflow/plugins/argo/argo_workflows_deployer_objects.py,sha256=7OiapcIM_r-aBkuIobhofgLC5NRJHC-p9bvBmxvhqoM,12500
@@ -239,7 +239,7 @@ metaflow/plugins/aws/step_functions/production_token.py,sha256=rREx9djJzKYDiGhPC
239
239
  metaflow/plugins/aws/step_functions/schedule_decorator.py,sha256=Ab1rW8O_no4HNZm4__iBmFDCDW0Z8-TgK4lnxHHA6HI,1940
240
240
  metaflow/plugins/aws/step_functions/set_batch_environment.py,sha256=ibiGWFHDjKcLfprH3OsX-g2M9lUsh6J-bp7v2cdLhD4,1294
241
241
  metaflow/plugins/aws/step_functions/step_functions.py,sha256=Svz232OA5UewY5W9gfDk-xGqiWyCNPkuUwlPxe9g5j8,53577
242
- metaflow/plugins/aws/step_functions/step_functions_cli.py,sha256=HPOhoTrx7GLjVjAt9m000R_i1sB6xFQtCwhboZKRcpY,26463
242
+ metaflow/plugins/aws/step_functions/step_functions_cli.py,sha256=tLIfDwgdcfBjkjmQMNgVjXY85HoDZNA6lNcOtZZZA1A,26495
243
243
  metaflow/plugins/aws/step_functions/step_functions_client.py,sha256=DKpNwAIWElvWjFANs5Ku3rgzjxFoqAD6k-EF8Xhkg3Q,4754
244
244
  metaflow/plugins/aws/step_functions/step_functions_decorator.py,sha256=jzDHYmgU_XvLffZDazR_1viow_1qQFblx9UKyjtoM_0,3788
245
245
  metaflow/plugins/aws/step_functions/step_functions_deployer.py,sha256=JKYtDhKivtXUWPklprZFzkqezh14loGDmk8mNk6QtpI,3714
@@ -353,7 +353,7 @@ metaflow/plugins/secrets/secrets_func.py,sha256=zjDJdJLiKJfcvKzzkDbnbQCPUoCmr8q4
353
353
  metaflow/plugins/secrets/secrets_spec.py,sha256=rZCBd7Til5laiXCaYLz4izwvM8aQ3__wgBkB-c8X4fA,4251
354
354
  metaflow/plugins/secrets/utils.py,sha256=Pxx1iiYRitKQIwJeCnTtV4-IrACMI5aSaUkefKF9E7Y,2669
355
355
  metaflow/plugins/uv/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
356
- metaflow/plugins/uv/bootstrap.py,sha256=UgoeI3cvKbFssXV9e-vx-VKpJMjbdUXvvb_zYZ6mpyI,4364
356
+ metaflow/plugins/uv/bootstrap.py,sha256=awFHAiZANkAlvHWCm3G1UbhVxEjJB8buoZoBa5GiKJc,4365
357
357
  metaflow/plugins/uv/uv_environment.py,sha256=AYZICrBEq3Bv-taXktJwu9DhKFxNooPFwlcH379EYMs,2719
358
358
  metaflow/runner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
359
359
  metaflow/runner/click_api.py,sha256=DSxa5A0C_IHNug7fZlLpD_N99F_skDcAjTRx5YRMylY,23756
@@ -406,15 +406,15 @@ metaflow/user_configs/config_parameters.py,sha256=Loa5wu3vIs0SLyGhbOo8b88nWgCuZ0
406
406
  metaflow/user_decorators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
407
407
  metaflow/user_decorators/common.py,sha256=0u9NRLQ95TfJCjWVEOGT4MJ9WoQgAMBM9kJ2gJGlVjk,5362
408
408
  metaflow/user_decorators/mutable_flow.py,sha256=y2FCTQVjTTeiptsztD26jdkU_LY_Z_kzMjTkDajo2rc,19303
409
- metaflow/user_decorators/mutable_step.py,sha256=2B0uYK0pLH3FT479ZLNj1QNgwYZaGEaP9y5JSF6waNg,16765
410
- metaflow/user_decorators/user_flow_decorator.py,sha256=ntV2L4IZ-YFPafymqHkQL4JU1vV_1XBbMCnHK3bSyEY,9848
411
- metaflow/user_decorators/user_step_decorator.py,sha256=peypU6azfYWCfY6co-gjCS1GbJBtlaY4cgzmqHBX7gk,25962
412
- metaflow-2.16.0.data/data/share/metaflow/devtools/Makefile,sha256=5n89OGIC_kE4wxtEI66VCucN-b-1w5bqvGeZYmeRGz8,13737
413
- metaflow-2.16.0.data/data/share/metaflow/devtools/Tiltfile,sha256=I55XTG4RBnrMfDcYRtREXqqS8T9bF8agkZq0DlvdFLk,21404
414
- metaflow-2.16.0.data/data/share/metaflow/devtools/pick_services.sh,sha256=DCnrMXwtApfx3B4S-YiZESMyAFHbXa3VuNL0MxPLyiE,2196
415
- metaflow-2.16.0.dist-info/licenses/LICENSE,sha256=nl_Lt5v9VvJ-5lWJDT4ddKAG-VZ-2IaLmbzpgYDz2hU,11343
416
- metaflow-2.16.0.dist-info/METADATA,sha256=D_GpJxsk45wimTe8X2ao6fQgHwgSKBhTKqWY9ZRruek,6740
417
- metaflow-2.16.0.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
418
- metaflow-2.16.0.dist-info/entry_points.txt,sha256=RvEq8VFlgGe_FfqGOZi0D7ze1hLD0pAtXeNyGfzc_Yc,103
419
- metaflow-2.16.0.dist-info/top_level.txt,sha256=v1pDHoWaSaKeuc5fKTRSfsXCKSdW1zvNVmvA-i0if3o,9
420
- metaflow-2.16.0.dist-info/RECORD,,
409
+ metaflow/user_decorators/mutable_step.py,sha256=-BY0UDXf_RCAEnC5JlLzEXGdiw1KD9oSrSxS_SWaB9Y,16791
410
+ metaflow/user_decorators/user_flow_decorator.py,sha256=2yDwZq9QGv9W-7kEuKwa8o4ZkTvuHJ5ESz7VVrGViAI,9890
411
+ metaflow/user_decorators/user_step_decorator.py,sha256=JYNGXONWCpzwn-_bF5WiAkof4Ii9tRS4xdK8ojSxG6M,26007
412
+ metaflow-2.16.1.data/data/share/metaflow/devtools/Makefile,sha256=5n89OGIC_kE4wxtEI66VCucN-b-1w5bqvGeZYmeRGz8,13737
413
+ metaflow-2.16.1.data/data/share/metaflow/devtools/Tiltfile,sha256=I55XTG4RBnrMfDcYRtREXqqS8T9bF8agkZq0DlvdFLk,21404
414
+ metaflow-2.16.1.data/data/share/metaflow/devtools/pick_services.sh,sha256=DCnrMXwtApfx3B4S-YiZESMyAFHbXa3VuNL0MxPLyiE,2196
415
+ metaflow-2.16.1.dist-info/licenses/LICENSE,sha256=nl_Lt5v9VvJ-5lWJDT4ddKAG-VZ-2IaLmbzpgYDz2hU,11343
416
+ metaflow-2.16.1.dist-info/METADATA,sha256=juqAkLZQtmv1VhBrGrFeunOHFyoVK9rUyLQyCNDNdvw,6740
417
+ metaflow-2.16.1.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
418
+ metaflow-2.16.1.dist-info/entry_points.txt,sha256=RvEq8VFlgGe_FfqGOZi0D7ze1hLD0pAtXeNyGfzc_Yc,103
419
+ metaflow-2.16.1.dist-info/top_level.txt,sha256=v1pDHoWaSaKeuc5fKTRSfsXCKSdW1zvNVmvA-i0if3o,9
420
+ metaflow-2.16.1.dist-info/RECORD,,