metaflow 2.12.37__py2.py3-none-any.whl → 2.12.38__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
@@ -461,7 +461,7 @@ def start(
461
461
  )
462
462
  if all_decospecs:
463
463
  decorators._attach_decorators(ctx.obj.flow, all_decospecs)
464
- decorators._init(ctx.obj.flow, only_non_static=True)
464
+ decorators._init(ctx.obj.flow)
465
465
  # Regenerate graph if we attached more decorators
466
466
  ctx.obj.graph = FlowGraph(ctx.obj.flow.__class__)
467
467
 
@@ -40,7 +40,7 @@ def before_run(obj, tags, decospecs):
40
40
  )
41
41
  if all_decospecs:
42
42
  decorators._attach_decorators(obj.flow, all_decospecs)
43
- decorators._init(obj.flow, only_non_static=True)
43
+ decorators._init(obj.flow)
44
44
  obj.graph = FlowGraph(obj.flow.__class__)
45
45
 
46
46
  obj.check(obj.graph, obj.flow, obj.environment, pylint=obj.pylint)
@@ -138,7 +138,7 @@ def step(
138
138
 
139
139
  if decospecs:
140
140
  decorators._attach_decorators_to_step(func, decospecs)
141
- decorators._init(ctx.obj.flow, only_non_static=True)
141
+ decorators._init(ctx.obj.flow)
142
142
 
143
143
  step_kwargs = ctx.params
144
144
  # Remove argument `step_name` from `step_kwargs`.
metaflow/decorators.py CHANGED
@@ -27,6 +27,11 @@ except NameError:
27
27
  unicode = str
28
28
  basestring = str
29
29
 
30
+ # Contains the decorators on which _init was called. We want to ensure it is called
31
+ # only once on each decorator and, as the _init() function below can be called in
32
+ # several places, we need to track which decorator had their init function called
33
+ _inited_decorators = set()
34
+
30
35
 
31
36
  class BadStepDecoratorException(MetaflowException):
32
37
  headline = "Syntax error"
@@ -553,12 +558,16 @@ def _attach_decorators_to_step(step, decospecs):
553
558
  def _init(flow, only_non_static=False):
554
559
  for decorators in flow._flow_decorators.values():
555
560
  for deco in decorators:
556
- if not only_non_static or not deco.statically_defined:
557
- deco.init()
561
+ if deco in _inited_decorators:
562
+ continue
563
+ deco.init()
564
+ _inited_decorators.add(deco)
558
565
  for flowstep in flow:
559
566
  for deco in flowstep.decorators:
560
- if not only_non_static or not deco.statically_defined:
561
- deco.init()
567
+ if deco in _inited_decorators:
568
+ continue
569
+ deco.init()
570
+ _inited_decorators.add(deco)
562
571
 
563
572
 
564
573
  def _init_flow_decorators(
@@ -283,7 +283,7 @@ def make_flow(
283
283
  ):
284
284
  # Attach @kubernetes.
285
285
  decorators._attach_decorators(obj.flow, [KubernetesDecorator.name])
286
- decorators._init(obj.flow, only_non_static=True)
286
+ decorators._init(obj.flow)
287
287
 
288
288
  decorators._init_step_decorators(
289
289
  obj.flow, obj.graph, obj.environment, obj.flow_datastore, obj.logger
@@ -470,7 +470,7 @@ def make_flow(
470
470
  decorators._attach_decorators(
471
471
  obj.flow, [KubernetesDecorator.name, EnvironmentDecorator.name]
472
472
  )
473
- decorators._init(obj.flow, only_non_static=True)
473
+ decorators._init(obj.flow)
474
474
 
475
475
  decorators._init_step_decorators(
476
476
  obj.flow, obj.graph, obj.environment, obj.flow_datastore, obj.logger
@@ -326,7 +326,7 @@ def make_flow(
326
326
 
327
327
  # Attach AWS Batch decorator to the flow
328
328
  decorators._attach_decorators(obj.flow, [BatchDecorator.name])
329
- decorators._init(obj.flow, only_non_static=True)
329
+ decorators._init(obj.flow)
330
330
  decorators._init_step_decorators(
331
331
  obj.flow, obj.graph, obj.environment, obj.flow_datastore, obj.logger
332
332
  )
@@ -140,7 +140,7 @@ class PyPIFlowDecorator(FlowDecorator):
140
140
  from metaflow import decorators
141
141
 
142
142
  decorators._attach_decorators(flow, ["pypi"])
143
- decorators._init(flow, only_non_static=True)
143
+ decorators._init(flow)
144
144
 
145
145
  # @pypi uses a conda environment to create a virtual environment.
146
146
  # The conda environment can be created through micromamba.
metaflow/version.py CHANGED
@@ -1 +1 @@
1
- metaflow_version = "2.12.37"
1
+ metaflow_version = "2.12.38"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: metaflow
3
- Version: 2.12.37
3
+ Version: 2.12.38
4
4
  Summary: Metaflow: More Data Science, 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.12.37; extra == "stubs"
29
+ Requires-Dist: metaflow-stubs==2.12.38; extra == "stubs"
30
30
 
31
31
  ![Metaflow_Logo_Horizontal_FullColor_Ribbon_Dark_RGB](https://user-images.githubusercontent.com/763451/89453116-96a57e00-d713-11ea-9fa6-82b29d4d6eff.png)
32
32
 
@@ -1,12 +1,12 @@
1
1
  metaflow/R.py,sha256=CqVfIatvmjciuICNnoyyNGrwE7Va9iXfLdFbQa52hwA,3958
2
2
  metaflow/__init__.py,sha256=yeHIcwunlMyp_1Y6D9iuCbWi4atVMoEp2F_6-CagnDs,5819
3
3
  metaflow/cards.py,sha256=tP1_RrtmqdFh741pqE4t98S7SA0MtGRlGvRICRZF1Mg,426
4
- metaflow/cli.py,sha256=M7MRG0Zqyem1YIUa92Nqp7cO5JL2BG0EFwr-j8vzaTw,18451
4
+ metaflow/cli.py,sha256=aE3CtoLcD8wsdR-mUDVbi8RuyrQOUzfzq_iqjHROjZ8,18429
5
5
  metaflow/cli_args.py,sha256=nz6ZN-gv-NFTFrfHCBJRy_JtzV42iltXI4V4-sBTukE,3626
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=HEmt_16tJtqHXQXsqD9pqOFe3CWR5GZ7VwpaYQgnRdU,1466
9
- metaflow/decorators.py,sha256=IqpTOpuaNJZuPkDHGbDe9Q4AIaLlQvR_lG1jvfzA9jg,23559
9
+ metaflow/decorators.py,sha256=BxzcxPkc8SvVTDD5pNhE3bmy7bYn6pBPEF-WYjnw-MY,23911
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=KC1LHJQzzYkWib0DeQ4l_A2r8VaudywsSqIQuq1RDZU,4954
@@ -36,7 +36,7 @@ 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=wA25u2oXP-mHuDJM8Yx9gnPGZa9dP5tP1RWD9EULPow,14698
38
38
  metaflow/vendor.py,sha256=FchtA9tH22JM-eEtJ2c9FpUdMn8sSb1VHuQS56EcdZk,5139
39
- metaflow/version.py,sha256=rbXl9FIHxAycvo-PZLNF2WHWcZy_9dxHui5CINEj4NM,29
39
+ metaflow/version.py,sha256=kjSTwD2udYmEmclSTkhC0i7uIhUTBLw_NyG4uykyRS4,29
40
40
  metaflow/_vendor/__init__.py,sha256=y_CiwUD3l4eAKvTVDZeqgVujMy31cAM1qjAB-HfI-9s,353
41
41
  metaflow/_vendor/typing_extensions.py,sha256=0nUs5p1A_UrZigrAVBoOEM6TxU37zzPDUtiij1ZwpNc,110417
42
42
  metaflow/_vendor/zipp.py,sha256=ajztOH-9I7KA_4wqDYygtHa6xUBVZgFpmZ8FE74HHHI,8425
@@ -113,8 +113,8 @@ metaflow/_vendor/v3_6/importlib_metadata/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCe
113
113
  metaflow/cli_components/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
114
114
  metaflow/cli_components/dump_cmd.py,sha256=SZEX51BWNd1o3H2uHDkYA8KRvou5X8g5rTwpdu5vnNQ,2704
115
115
  metaflow/cli_components/init_cmd.py,sha256=Er-BO59UEUV1HIsg81bRtZWT2D2IZNMp93l-AoZLCls,1519
116
- metaflow/cli_components/run_cmds.py,sha256=vnjkvVt_-VwK22eRQ6arFQ4zxD9WQXmX2WZkusKrUwU,10374
117
- metaflow/cli_components/step_cmd.py,sha256=ZnUTHTf8Gh2d5LcgMSo_-pAd7FFNEDighrp1tmzAZqo,5079
116
+ metaflow/cli_components/run_cmds.py,sha256=hgSPO5it4xG22ObZ3y5o8Vpf5DbZokX-Rjg-lACPLcY,10352
117
+ metaflow/cli_components/step_cmd.py,sha256=Mkztidy-wxYH7KyLSVsWK7SeYPJIeihpDClzTn9-2oo,5057
118
118
  metaflow/cli_components/utils.py,sha256=gpoDociadjnJD7MuiJup_MDR02ZJjjleejr0jPBu29c,6057
119
119
  metaflow/client/__init__.py,sha256=1GtQB4Y_CBkzaxg32L1syNQSlfj762wmLrfrDxGi1b8,226
120
120
  metaflow/client/core.py,sha256=Ka6G12h6pS_046cej0c8npvaBGpiKyvJ1bGbRFZL6Kg,75437
@@ -167,7 +167,7 @@ metaflow/plugins/test_unbounded_foreach_decorator.py,sha256=33p5aCWnyk9MT5DmXcm4
167
167
  metaflow/plugins/timeout_decorator.py,sha256=ZOUmg5HIm_9kteMC7qbzj2tTVBESwRfp1hPJd8MJMBg,3586
168
168
  metaflow/plugins/airflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
169
169
  metaflow/plugins/airflow/airflow.py,sha256=GDaKLdzzySttJfhl_OiYjkK_ubIaRKR4YgcLaKRCQLk,32293
170
- metaflow/plugins/airflow/airflow_cli.py,sha256=6qoei1o4Eslf9EsOgBRIfl1TsX4YI8O56Siza37oGiw,14745
170
+ metaflow/plugins/airflow/airflow_cli.py,sha256=k6UfaDzkipUOIhoGYUV6bnS9kUNRvPNi5uN_TspTFnQ,14723
171
171
  metaflow/plugins/airflow/airflow_decorator.py,sha256=IWT6M9gga8t65FR4Wi7pIZvOupk3hE75B5NRg9tMEps,1781
172
172
  metaflow/plugins/airflow/airflow_utils.py,sha256=dvRllfQeOWfDUseFnOocIGaL3gRI_A7cEHnC1w01vfk,28905
173
173
  metaflow/plugins/airflow/dag.py,sha256=zYV3QsyqGIOxgipbiEb4dX-r6aippNbXjuT6Jt2s4xI,129
@@ -182,7 +182,7 @@ metaflow/plugins/argo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
182
182
  metaflow/plugins/argo/argo_client.py,sha256=Z_A1TO9yw4Y-a8VAlwrFS0BwunWzXpbtik-j_xjcuHE,16303
183
183
  metaflow/plugins/argo/argo_events.py,sha256=_C1KWztVqgi3zuH57pInaE9OzABc2NnncC-zdwOMZ-w,5909
184
184
  metaflow/plugins/argo/argo_workflows.py,sha256=lPPPKlHgz2cKYHM8mdq8Aywoi6vYytyCzxd5PrsWGFE,175733
185
- metaflow/plugins/argo/argo_workflows_cli.py,sha256=PcvFDn_VOW2D6_fb19hhSzC_CNnXP1CINES5cugB6BU,36774
185
+ metaflow/plugins/argo/argo_workflows_cli.py,sha256=k8rDbHMXF-A0CxxEnVMvk_9OYobPIyjF-PHBGYfH8b4,36752
186
186
  metaflow/plugins/argo/argo_workflows_decorator.py,sha256=QdM1rK9gM-lDhyZldK8WqvFqJDvfJ7i3JPR5Uzaq2as,7887
187
187
  metaflow/plugins/argo/argo_workflows_deployer.py,sha256=6kHxEnYXJwzNCM9swI8-0AckxtPWqwhZLerYkX8fxUM,4444
188
188
  metaflow/plugins/argo/argo_workflows_deployer_objects.py,sha256=GJ1Jsm5KHYaBbJjKRz82Cwhi_PN1XnMiSmL1C0LNLYQ,12318
@@ -206,7 +206,7 @@ metaflow/plugins/aws/step_functions/production_token.py,sha256=_o4emv3rozYZoWpaj
206
206
  metaflow/plugins/aws/step_functions/schedule_decorator.py,sha256=Ab1rW8O_no4HNZm4__iBmFDCDW0Z8-TgK4lnxHHA6HI,1940
207
207
  metaflow/plugins/aws/step_functions/set_batch_environment.py,sha256=ibiGWFHDjKcLfprH3OsX-g2M9lUsh6J-bp7v2cdLhD4,1294
208
208
  metaflow/plugins/aws/step_functions/step_functions.py,sha256=ZQ1qKLieQ99lWm6RI0zagEW8eOKKxGBiGwnBgFJS1DQ,53146
209
- metaflow/plugins/aws/step_functions/step_functions_cli.py,sha256=vxXhbOu9NibYXyrrT--Pkp1DF8YMfq0vqeyfahOncTI,26129
209
+ metaflow/plugins/aws/step_functions/step_functions_cli.py,sha256=4RsVtkw_3FO9Y2HrOcffTKnzSBG5sh3IWX-F6vDZM3Y,26107
210
210
  metaflow/plugins/aws/step_functions/step_functions_client.py,sha256=DKpNwAIWElvWjFANs5Ku3rgzjxFoqAD6k-EF8Xhkg3Q,4754
211
211
  metaflow/plugins/aws/step_functions/step_functions_decorator.py,sha256=LoZC5BuQLqyFtfE-sGla26l2xXlCKN9aSvIlzPKV134,3800
212
212
  metaflow/plugins/aws/step_functions/step_functions_deployer.py,sha256=JKYtDhKivtXUWPklprZFzkqezh14loGDmk8mNk6QtpI,3714
@@ -303,7 +303,7 @@ metaflow/plugins/pypi/conda_decorator.py,sha256=XSdY2jDMzJdEL-P0YYJYx4-IinMjB40a
303
303
  metaflow/plugins/pypi/conda_environment.py,sha256=IGHIphHm1e8UEJX-PvyTesfKRCpxtJIc1pxJ5Wen-aU,19765
304
304
  metaflow/plugins/pypi/micromamba.py,sha256=QaZYMy5w4esW2w_Lb9kZdWU07EtZD_Ky00MVlA4FJw0,14079
305
305
  metaflow/plugins/pypi/pip.py,sha256=Uewmt6-meLyPhNLiAOAkDdfd1P4Go07bkQUD0uE5VIs,13827
306
- metaflow/plugins/pypi/pypi_decorator.py,sha256=iTY3dU_W3SqI6XFtI9mQVAmmnL3l5avxkio6feW1gm8,7282
306
+ metaflow/plugins/pypi/pypi_decorator.py,sha256=N1fqebjChbg9mji7vZpqv2BKDSVBDPZ-QRGUyMgoUqI,7260
307
307
  metaflow/plugins/pypi/pypi_environment.py,sha256=FYMg8kF3lXqcLfRYWD83a9zpVjcoo_TARqMGZ763rRk,230
308
308
  metaflow/plugins/pypi/utils.py,sha256=ds1Mnv_DaxGnLAYp7ozg_K6oyguGyNhvHfE-75Ia1YA,2836
309
309
  metaflow/plugins/secrets/__init__.py,sha256=mhJaN2eMS_ZZVewAMR2E-JdP5i0t3v9e6Dcwd-WpruE,310
@@ -358,9 +358,9 @@ metaflow/user_configs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
358
358
  metaflow/user_configs/config_decorators.py,sha256=Tj0H88UT8Q6pylXxHXgiA6cqnNlw4d3mR7M8J9g3ZUg,20139
359
359
  metaflow/user_configs/config_options.py,sha256=3l293IQHOE-DqNzDt7kc1vLWMLuevoJceYVQ43dEhQY,19165
360
360
  metaflow/user_configs/config_parameters.py,sha256=cBlnhLoax-QbpD46oofuLUJhT3_8WHscLNDSpO8hWOU,13098
361
- metaflow-2.12.37.dist-info/LICENSE,sha256=nl_Lt5v9VvJ-5lWJDT4ddKAG-VZ-2IaLmbzpgYDz2hU,11343
362
- metaflow-2.12.37.dist-info/METADATA,sha256=dlMDdlS3IEuX5HrIvEWl8e-b4EdFL2G9zgMv4aDE7pE,5908
363
- metaflow-2.12.37.dist-info/WHEEL,sha256=pxeNX5JdtCe58PUSYP9upmc7jdRPgvT0Gm9kb1SHlVw,109
364
- metaflow-2.12.37.dist-info/entry_points.txt,sha256=IKwTN1T3I5eJL3uo_vnkyxVffcgnRdFbKwlghZfn27k,57
365
- metaflow-2.12.37.dist-info/top_level.txt,sha256=v1pDHoWaSaKeuc5fKTRSfsXCKSdW1zvNVmvA-i0if3o,9
366
- metaflow-2.12.37.dist-info/RECORD,,
361
+ metaflow-2.12.38.dist-info/LICENSE,sha256=nl_Lt5v9VvJ-5lWJDT4ddKAG-VZ-2IaLmbzpgYDz2hU,11343
362
+ metaflow-2.12.38.dist-info/METADATA,sha256=x6ZBy_CGEAQaUrUfP_VOX_DRHZxICz8M4_uBZMO01WY,5908
363
+ metaflow-2.12.38.dist-info/WHEEL,sha256=pxeNX5JdtCe58PUSYP9upmc7jdRPgvT0Gm9kb1SHlVw,109
364
+ metaflow-2.12.38.dist-info/entry_points.txt,sha256=IKwTN1T3I5eJL3uo_vnkyxVffcgnRdFbKwlghZfn27k,57
365
+ metaflow-2.12.38.dist-info/top_level.txt,sha256=v1pDHoWaSaKeuc5fKTRSfsXCKSdW1zvNVmvA-i0if3o,9
366
+ metaflow-2.12.38.dist-info/RECORD,,