metaflow 2.16.0__tar.gz → 2.16.2__tar.gz

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 (427) hide show
  1. {metaflow-2.16.0/metaflow.egg-info → metaflow-2.16.2}/PKG-INFO +2 -2
  2. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/cli.py +5 -2
  3. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/cli_components/run_cmds.py +2 -0
  4. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/decorators.py +7 -1
  5. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/flowspec.py +12 -7
  6. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/packaging_sys/v1.py +5 -1
  7. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/airflow/airflow_cli.py +1 -1
  8. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/argo/argo_workflows.py +19 -6
  9. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/argo/argo_workflows_cli.py +1 -0
  10. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/aws/step_functions/step_functions_cli.py +1 -0
  11. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/metadata_providers/service.py +1 -1
  12. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/uv/bootstrap.py +1 -1
  13. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/task.py +5 -4
  14. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/user_decorators/mutable_step.py +1 -1
  15. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/user_decorators/user_flow_decorator.py +2 -1
  16. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/user_decorators/user_step_decorator.py +1 -1
  17. metaflow-2.16.2/metaflow/version.py +1 -0
  18. {metaflow-2.16.0 → metaflow-2.16.2/metaflow.egg-info}/PKG-INFO +2 -2
  19. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow.egg-info/requires.txt +1 -1
  20. metaflow-2.16.0/metaflow/version.py +0 -1
  21. {metaflow-2.16.0 → metaflow-2.16.2}/LICENSE +0 -0
  22. {metaflow-2.16.0 → metaflow-2.16.2}/MANIFEST.in +0 -0
  23. {metaflow-2.16.0 → metaflow-2.16.2}/README.md +0 -0
  24. {metaflow-2.16.0 → metaflow-2.16.2}/devtools/Makefile +0 -0
  25. {metaflow-2.16.0 → metaflow-2.16.2}/devtools/Tiltfile +0 -0
  26. {metaflow-2.16.0 → metaflow-2.16.2}/devtools/pick_services.sh +0 -0
  27. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/R.py +0 -0
  28. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/__init__.py +0 -0
  29. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/__init__.py +0 -0
  30. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/click/__init__.py +0 -0
  31. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/click/_bashcomplete.py +0 -0
  32. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/click/_compat.py +0 -0
  33. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/click/_termui_impl.py +0 -0
  34. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/click/_textwrap.py +0 -0
  35. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/click/_unicodefun.py +0 -0
  36. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/click/_winconsole.py +0 -0
  37. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/click/core.py +0 -0
  38. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/click/decorators.py +0 -0
  39. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/click/exceptions.py +0 -0
  40. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/click/formatting.py +0 -0
  41. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/click/globals.py +0 -0
  42. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/click/parser.py +0 -0
  43. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/click/termui.py +0 -0
  44. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/click/testing.py +0 -0
  45. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/click/types.py +0 -0
  46. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/click/utils.py +0 -0
  47. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/imghdr/__init__.py +0 -0
  48. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/importlib_metadata/__init__.py +0 -0
  49. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/importlib_metadata/_adapters.py +0 -0
  50. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/importlib_metadata/_collections.py +0 -0
  51. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/importlib_metadata/_compat.py +0 -0
  52. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/importlib_metadata/_functools.py +0 -0
  53. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/importlib_metadata/_itertools.py +0 -0
  54. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/importlib_metadata/_meta.py +0 -0
  55. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/importlib_metadata/_text.py +0 -0
  56. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/importlib_metadata/py.typed +0 -0
  57. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/packaging/__init__.py +0 -0
  58. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/packaging/_elffile.py +0 -0
  59. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/packaging/_manylinux.py +0 -0
  60. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/packaging/_musllinux.py +0 -0
  61. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/packaging/_parser.py +0 -0
  62. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/packaging/_structures.py +0 -0
  63. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/packaging/_tokenizer.py +0 -0
  64. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/packaging/markers.py +0 -0
  65. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/packaging/py.typed +0 -0
  66. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/packaging/requirements.py +0 -0
  67. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/packaging/specifiers.py +0 -0
  68. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/packaging/tags.py +0 -0
  69. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/packaging/utils.py +0 -0
  70. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/packaging/version.py +0 -0
  71. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/typeguard/__init__.py +0 -0
  72. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/typeguard/_checkers.py +0 -0
  73. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/typeguard/_config.py +0 -0
  74. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/typeguard/_decorators.py +0 -0
  75. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/typeguard/_exceptions.py +0 -0
  76. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/typeguard/_functions.py +0 -0
  77. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/typeguard/_importhook.py +0 -0
  78. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/typeguard/_memo.py +0 -0
  79. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/typeguard/_pytest_plugin.py +0 -0
  80. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/typeguard/_suppression.py +0 -0
  81. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/typeguard/_transformer.py +0 -0
  82. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/typeguard/_union_transformer.py +0 -0
  83. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/typeguard/_utils.py +0 -0
  84. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/typeguard/py.typed +0 -0
  85. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/typing_extensions.py +0 -0
  86. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_6/__init__.py +0 -0
  87. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_6/importlib_metadata/__init__.py +0 -0
  88. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_6/importlib_metadata/_adapters.py +0 -0
  89. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_6/importlib_metadata/_collections.py +0 -0
  90. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_6/importlib_metadata/_compat.py +0 -0
  91. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_6/importlib_metadata/_functools.py +0 -0
  92. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_6/importlib_metadata/_itertools.py +0 -0
  93. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_6/importlib_metadata/_meta.py +0 -0
  94. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_6/importlib_metadata/_text.py +0 -0
  95. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_6/importlib_metadata/py.typed +0 -0
  96. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_6/typing_extensions.py +0 -0
  97. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_6/zipp.py +0 -0
  98. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_7/__init__.py +0 -0
  99. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_7/importlib_metadata/__init__.py +0 -0
  100. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_7/importlib_metadata/_adapters.py +0 -0
  101. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_7/importlib_metadata/_collections.py +0 -0
  102. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_7/importlib_metadata/_compat.py +0 -0
  103. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_7/importlib_metadata/_functools.py +0 -0
  104. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_7/importlib_metadata/_itertools.py +0 -0
  105. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_7/importlib_metadata/_meta.py +0 -0
  106. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_7/importlib_metadata/_text.py +0 -0
  107. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_7/importlib_metadata/py.typed +0 -0
  108. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_7/typeguard/__init__.py +0 -0
  109. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_7/typeguard/_checkers.py +0 -0
  110. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_7/typeguard/_config.py +0 -0
  111. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_7/typeguard/_decorators.py +0 -0
  112. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_7/typeguard/_exceptions.py +0 -0
  113. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_7/typeguard/_functions.py +0 -0
  114. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_7/typeguard/_importhook.py +0 -0
  115. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_7/typeguard/_memo.py +0 -0
  116. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_7/typeguard/_pytest_plugin.py +0 -0
  117. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_7/typeguard/_suppression.py +0 -0
  118. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_7/typeguard/_transformer.py +0 -0
  119. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_7/typeguard/_union_transformer.py +0 -0
  120. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_7/typeguard/_utils.py +0 -0
  121. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_7/typeguard/py.typed +0 -0
  122. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_7/typing_extensions.py +0 -0
  123. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/v3_7/zipp.py +0 -0
  124. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/_vendor/zipp.py +0 -0
  125. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/cards.py +0 -0
  126. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/cli_args.py +0 -0
  127. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/cli_components/__init__.py +0 -0
  128. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/cli_components/dump_cmd.py +0 -0
  129. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/cli_components/init_cmd.py +0 -0
  130. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/cli_components/step_cmd.py +0 -0
  131. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/cli_components/utils.py +0 -0
  132. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/client/__init__.py +0 -0
  133. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/client/core.py +0 -0
  134. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/client/filecache.py +0 -0
  135. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/clone_util.py +0 -0
  136. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/cmd/__init__.py +0 -0
  137. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/cmd/code/__init__.py +0 -0
  138. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/cmd/configure_cmd.py +0 -0
  139. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/cmd/develop/__init__.py +0 -0
  140. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/cmd/develop/stub_generator.py +0 -0
  141. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/cmd/develop/stubs.py +0 -0
  142. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/cmd/main_cli.py +0 -0
  143. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/cmd/make_wrapper.py +0 -0
  144. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/cmd/tutorials_cmd.py +0 -0
  145. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/cmd/util.py +0 -0
  146. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/cmd_with_io.py +0 -0
  147. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/datastore/__init__.py +0 -0
  148. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/datastore/content_addressed_store.py +0 -0
  149. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/datastore/datastore_set.py +0 -0
  150. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/datastore/datastore_storage.py +0 -0
  151. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/datastore/exceptions.py +0 -0
  152. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/datastore/flow_datastore.py +0 -0
  153. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/datastore/inputs.py +0 -0
  154. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/datastore/task_datastore.py +0 -0
  155. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/debug.py +0 -0
  156. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/event_logger.py +0 -0
  157. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/events.py +0 -0
  158. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/exception.py +0 -0
  159. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/extension_support/__init__.py +0 -0
  160. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/extension_support/_empty_file.py +0 -0
  161. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/extension_support/cmd.py +0 -0
  162. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/extension_support/integrations.py +0 -0
  163. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/extension_support/plugins.py +0 -0
  164. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/graph.py +0 -0
  165. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/includefile.py +0 -0
  166. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/integrations.py +0 -0
  167. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/lint.py +0 -0
  168. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/meta_files.py +0 -0
  169. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/metadata_provider/__init__.py +0 -0
  170. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/metadata_provider/heartbeat.py +0 -0
  171. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/metadata_provider/metadata.py +0 -0
  172. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/metadata_provider/util.py +0 -0
  173. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/metaflow_config.py +0 -0
  174. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/metaflow_config_funcs.py +0 -0
  175. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/metaflow_current.py +0 -0
  176. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/metaflow_environment.py +0 -0
  177. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/metaflow_git.py +0 -0
  178. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/metaflow_profile.py +0 -0
  179. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/metaflow_version.py +0 -0
  180. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/mflog/__init__.py +0 -0
  181. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/mflog/mflog.py +0 -0
  182. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/mflog/save_logs.py +0 -0
  183. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/mflog/save_logs_periodically.py +0 -0
  184. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/mflog/tee.py +0 -0
  185. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/monitor.py +0 -0
  186. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/multicore_utils.py +0 -0
  187. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/package/__init__.py +0 -0
  188. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/packaging_sys/__init__.py +0 -0
  189. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/packaging_sys/backend.py +0 -0
  190. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/packaging_sys/distribution_support.py +0 -0
  191. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/packaging_sys/tar_backend.py +0 -0
  192. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/packaging_sys/utils.py +0 -0
  193. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/parameters.py +0 -0
  194. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/__init__.py +0 -0
  195. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/airflow/__init__.py +0 -0
  196. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/airflow/airflow.py +0 -0
  197. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/airflow/airflow_decorator.py +0 -0
  198. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/airflow/airflow_utils.py +0 -0
  199. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/airflow/dag.py +0 -0
  200. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/airflow/exception.py +0 -0
  201. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/airflow/plumbing/__init__.py +0 -0
  202. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/airflow/plumbing/set_parameters.py +0 -0
  203. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/airflow/sensors/__init__.py +0 -0
  204. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/airflow/sensors/base_sensor.py +0 -0
  205. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/airflow/sensors/external_task_sensor.py +0 -0
  206. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/airflow/sensors/s3_sensor.py +0 -0
  207. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/argo/__init__.py +0 -0
  208. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/argo/argo_client.py +0 -0
  209. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/argo/argo_events.py +0 -0
  210. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/argo/argo_workflows_decorator.py +0 -0
  211. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/argo/argo_workflows_deployer.py +0 -0
  212. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/argo/argo_workflows_deployer_objects.py +0 -0
  213. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/argo/capture_error.py +0 -0
  214. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/argo/exit_hooks.py +0 -0
  215. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/argo/generate_input_paths.py +0 -0
  216. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/argo/jobset_input_paths.py +0 -0
  217. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/aws/__init__.py +0 -0
  218. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/aws/aws_client.py +0 -0
  219. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/aws/aws_utils.py +0 -0
  220. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/aws/batch/__init__.py +0 -0
  221. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/aws/batch/batch.py +0 -0
  222. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/aws/batch/batch_cli.py +0 -0
  223. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/aws/batch/batch_client.py +0 -0
  224. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/aws/batch/batch_decorator.py +0 -0
  225. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/aws/secrets_manager/__init__.py +0 -0
  226. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/aws/secrets_manager/aws_secrets_manager_secrets_provider.py +0 -0
  227. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/aws/step_functions/__init__.py +0 -0
  228. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/aws/step_functions/dynamo_db_client.py +0 -0
  229. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/aws/step_functions/event_bridge_client.py +0 -0
  230. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/aws/step_functions/production_token.py +0 -0
  231. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/aws/step_functions/schedule_decorator.py +0 -0
  232. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/aws/step_functions/set_batch_environment.py +0 -0
  233. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/aws/step_functions/step_functions.py +0 -0
  234. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/aws/step_functions/step_functions_client.py +0 -0
  235. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/aws/step_functions/step_functions_decorator.py +0 -0
  236. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/aws/step_functions/step_functions_deployer.py +0 -0
  237. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/aws/step_functions/step_functions_deployer_objects.py +0 -0
  238. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/azure/__init__.py +0 -0
  239. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/azure/azure_credential.py +0 -0
  240. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/azure/azure_exceptions.py +0 -0
  241. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/azure/azure_secret_manager_secrets_provider.py +0 -0
  242. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/azure/azure_tail.py +0 -0
  243. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/azure/azure_utils.py +0 -0
  244. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/azure/blob_service_client_factory.py +0 -0
  245. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/azure/includefile_support.py +0 -0
  246. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/cards/__init__.py +0 -0
  247. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/cards/card_cli.py +0 -0
  248. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/cards/card_client.py +0 -0
  249. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/cards/card_creator.py +0 -0
  250. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/cards/card_datastore.py +0 -0
  251. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/cards/card_decorator.py +0 -0
  252. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/cards/card_modules/__init__.py +0 -0
  253. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/cards/card_modules/base.html +0 -0
  254. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/cards/card_modules/basic.py +0 -0
  255. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/cards/card_modules/bundle.css +0 -0
  256. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/cards/card_modules/card.py +0 -0
  257. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/cards/card_modules/chevron/__init__.py +0 -0
  258. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/cards/card_modules/chevron/main.py +0 -0
  259. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/cards/card_modules/chevron/metadata.py +0 -0
  260. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/cards/card_modules/chevron/renderer.py +0 -0
  261. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/cards/card_modules/chevron/tokenizer.py +0 -0
  262. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/cards/card_modules/components.py +0 -0
  263. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/cards/card_modules/convert_to_native_type.py +0 -0
  264. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/cards/card_modules/main.js +0 -0
  265. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/cards/card_modules/renderer_tools.py +0 -0
  266. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/cards/card_modules/test_cards.py +0 -0
  267. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/cards/card_resolver.py +0 -0
  268. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/cards/card_server.py +0 -0
  269. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/cards/card_viewer/viewer.html +0 -0
  270. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/cards/component_serializer.py +0 -0
  271. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/cards/exception.py +0 -0
  272. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/cards/metadata.py +0 -0
  273. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/catch_decorator.py +0 -0
  274. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/datastores/__init__.py +0 -0
  275. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/datastores/azure_storage.py +0 -0
  276. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/datastores/gs_storage.py +0 -0
  277. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/datastores/local_storage.py +0 -0
  278. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/datastores/s3_storage.py +0 -0
  279. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/datatools/__init__.py +0 -0
  280. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/datatools/local.py +0 -0
  281. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/datatools/s3/__init__.py +0 -0
  282. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/datatools/s3/s3.py +0 -0
  283. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/datatools/s3/s3op.py +0 -0
  284. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/datatools/s3/s3tail.py +0 -0
  285. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/datatools/s3/s3util.py +0 -0
  286. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/debug_logger.py +0 -0
  287. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/debug_monitor.py +0 -0
  288. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/env_escape/__init__.py +0 -0
  289. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/env_escape/client.py +0 -0
  290. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/env_escape/client_modules.py +0 -0
  291. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/env_escape/communication/__init__.py +0 -0
  292. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/env_escape/communication/bytestream.py +0 -0
  293. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/env_escape/communication/channel.py +0 -0
  294. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/env_escape/communication/socket_bytestream.py +0 -0
  295. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/env_escape/communication/utils.py +0 -0
  296. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/env_escape/configurations/emulate_test_lib/__init__.py +0 -0
  297. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/env_escape/configurations/emulate_test_lib/overrides.py +0 -0
  298. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/env_escape/configurations/emulate_test_lib/server_mappings.py +0 -0
  299. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/env_escape/configurations/test_lib_impl/__init__.py +0 -0
  300. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/env_escape/configurations/test_lib_impl/test_lib.py +0 -0
  301. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/env_escape/consts.py +0 -0
  302. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/env_escape/data_transferer.py +0 -0
  303. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/env_escape/exception_transferer.py +0 -0
  304. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/env_escape/override_decorators.py +0 -0
  305. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/env_escape/server.py +0 -0
  306. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/env_escape/stub.py +0 -0
  307. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/env_escape/utils.py +0 -0
  308. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/environment_decorator.py +0 -0
  309. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/events_decorator.py +0 -0
  310. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/exit_hook/__init__.py +0 -0
  311. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/exit_hook/exit_hook_decorator.py +0 -0
  312. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/exit_hook/exit_hook_script.py +0 -0
  313. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/frameworks/__init__.py +0 -0
  314. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/frameworks/pytorch.py +0 -0
  315. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/gcp/__init__.py +0 -0
  316. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/gcp/gcp_secret_manager_secrets_provider.py +0 -0
  317. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/gcp/gs_exceptions.py +0 -0
  318. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/gcp/gs_storage_client_factory.py +0 -0
  319. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/gcp/gs_tail.py +0 -0
  320. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/gcp/gs_utils.py +0 -0
  321. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/gcp/includefile_support.py +0 -0
  322. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/kubernetes/__init__.py +0 -0
  323. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/kubernetes/kube_utils.py +0 -0
  324. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/kubernetes/kubernetes.py +0 -0
  325. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/kubernetes/kubernetes_cli.py +0 -0
  326. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/kubernetes/kubernetes_client.py +0 -0
  327. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/kubernetes/kubernetes_decorator.py +0 -0
  328. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/kubernetes/kubernetes_job.py +0 -0
  329. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/kubernetes/kubernetes_jobsets.py +0 -0
  330. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/kubernetes/spot_metadata_cli.py +0 -0
  331. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/kubernetes/spot_monitor_sidecar.py +0 -0
  332. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/logs_cli.py +0 -0
  333. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/metadata_providers/__init__.py +0 -0
  334. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/metadata_providers/local.py +0 -0
  335. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/package_cli.py +0 -0
  336. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/parallel_decorator.py +0 -0
  337. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/project_decorator.py +0 -0
  338. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/pypi/__init__.py +0 -0
  339. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/pypi/bootstrap.py +0 -0
  340. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/pypi/conda_decorator.py +0 -0
  341. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/pypi/conda_environment.py +0 -0
  342. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/pypi/micromamba.py +0 -0
  343. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/pypi/parsers.py +0 -0
  344. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/pypi/pip.py +0 -0
  345. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/pypi/pypi_decorator.py +0 -0
  346. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/pypi/pypi_environment.py +0 -0
  347. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/pypi/utils.py +0 -0
  348. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/resources_decorator.py +0 -0
  349. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/retry_decorator.py +0 -0
  350. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/secrets/__init__.py +0 -0
  351. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/secrets/inline_secrets_provider.py +0 -0
  352. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/secrets/secrets_decorator.py +0 -0
  353. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/secrets/secrets_func.py +0 -0
  354. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/secrets/secrets_spec.py +0 -0
  355. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/secrets/utils.py +0 -0
  356. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/storage_executor.py +0 -0
  357. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/tag_cli.py +0 -0
  358. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/test_unbounded_foreach_decorator.py +0 -0
  359. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/timeout_decorator.py +0 -0
  360. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/uv/__init__.py +0 -0
  361. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/plugins/uv/uv_environment.py +0 -0
  362. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/procpoll.py +0 -0
  363. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/py.typed +0 -0
  364. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/pylint_wrapper.py +0 -0
  365. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/runner/__init__.py +0 -0
  366. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/runner/click_api.py +0 -0
  367. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/runner/deployer.py +0 -0
  368. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/runner/deployer_impl.py +0 -0
  369. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/runner/metaflow_runner.py +0 -0
  370. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/runner/nbdeploy.py +0 -0
  371. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/runner/nbrun.py +0 -0
  372. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/runner/subprocess_manager.py +0 -0
  373. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/runner/utils.py +0 -0
  374. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/runtime.py +0 -0
  375. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/sidecar/__init__.py +0 -0
  376. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/sidecar/sidecar.py +0 -0
  377. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/sidecar/sidecar_messages.py +0 -0
  378. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/sidecar/sidecar_subprocess.py +0 -0
  379. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/sidecar/sidecar_worker.py +0 -0
  380. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/system/__init__.py +0 -0
  381. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/system/system_logger.py +0 -0
  382. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/system/system_monitor.py +0 -0
  383. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/system/system_utils.py +0 -0
  384. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/tagging_util.py +0 -0
  385. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/tracing/__init__.py +0 -0
  386. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/tracing/propagator.py +0 -0
  387. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/tracing/span_exporter.py +0 -0
  388. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/tracing/tracing_modules.py +0 -0
  389. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/tuple_util.py +0 -0
  390. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/tutorials/00-helloworld/README.md +0 -0
  391. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/tutorials/00-helloworld/helloworld.py +0 -0
  392. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/tutorials/01-playlist/README.md +0 -0
  393. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/tutorials/01-playlist/movies.csv +0 -0
  394. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/tutorials/01-playlist/playlist.ipynb +0 -0
  395. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/tutorials/01-playlist/playlist.py +0 -0
  396. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/tutorials/02-statistics/README.md +0 -0
  397. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/tutorials/02-statistics/movies.csv +0 -0
  398. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/tutorials/02-statistics/stats.ipynb +0 -0
  399. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/tutorials/02-statistics/stats.py +0 -0
  400. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/tutorials/03-playlist-redux/README.md +0 -0
  401. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/tutorials/03-playlist-redux/playlist.py +0 -0
  402. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/tutorials/04-playlist-plus/README.md +0 -0
  403. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/tutorials/04-playlist-plus/playlist.py +0 -0
  404. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/tutorials/05-hello-cloud/README.md +0 -0
  405. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/tutorials/05-hello-cloud/hello-cloud.ipynb +0 -0
  406. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/tutorials/05-hello-cloud/hello-cloud.py +0 -0
  407. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/tutorials/06-statistics-redux/README.md +0 -0
  408. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/tutorials/06-statistics-redux/stats.ipynb +0 -0
  409. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/tutorials/07-worldview/README.md +0 -0
  410. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/tutorials/07-worldview/worldview.ipynb +0 -0
  411. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/tutorials/08-autopilot/README.md +0 -0
  412. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/tutorials/08-autopilot/autopilot.ipynb +0 -0
  413. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/unbounded_foreach.py +0 -0
  414. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/user_configs/__init__.py +0 -0
  415. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/user_configs/config_options.py +0 -0
  416. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/user_configs/config_parameters.py +0 -0
  417. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/user_decorators/__init__.py +0 -0
  418. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/user_decorators/common.py +0 -0
  419. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/user_decorators/mutable_flow.py +0 -0
  420. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/util.py +0 -0
  421. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow/vendor.py +0 -0
  422. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow.egg-info/SOURCES.txt +0 -0
  423. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow.egg-info/dependency_links.txt +0 -0
  424. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow.egg-info/entry_points.txt +0 -0
  425. {metaflow-2.16.0 → metaflow-2.16.2}/metaflow.egg-info/top_level.txt +0 -0
  426. {metaflow-2.16.0 → metaflow-2.16.2}/setup.cfg +0 -0
  427. {metaflow-2.16.0 → metaflow-2.16.2}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: metaflow
3
- Version: 2.16.0
3
+ Version: 2.16.2
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.2; extra == "stubs"
30
30
  Dynamic: author
31
31
  Dynamic: author-email
32
32
  Dynamic: classifier
@@ -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
 
@@ -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(
@@ -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(
@@ -2125,8 +2125,17 @@ class ArgoWorkflows(object):
2125
2125
  .node_selectors(resources.get("node_selector"))
2126
2126
  # Set tolerations
2127
2127
  .tolerations(resources.get("tolerations"))
2128
- # Set image pull secrets
2129
- .image_pull_secrets(resources.get("image_pull_secrets"))
2128
+ # Set image pull secrets if present. We need to use pod_spec_patch due to Argo not supporting this on a template level.
2129
+ .pod_spec_patch(
2130
+ {
2131
+ "imagePullSecrets": [
2132
+ {"name": secret}
2133
+ for secret in resources["image_pull_secrets"]
2134
+ ]
2135
+ }
2136
+ if resources["image_pull_secrets"]
2137
+ else None
2138
+ )
2130
2139
  # Set container
2131
2140
  .container(
2132
2141
  # TODO: Unify the logic with kubernetes.py
@@ -3825,6 +3834,14 @@ class Template(object):
3825
3834
  )
3826
3835
  return self
3827
3836
 
3837
+ def pod_spec_patch(self, pod_spec_patch=None):
3838
+ if pod_spec_patch is None:
3839
+ return self
3840
+
3841
+ self.payload["podSpecPatch"] = json.dumps(pod_spec_patch)
3842
+
3843
+ return self
3844
+
3828
3845
  def node_selectors(self, node_selectors):
3829
3846
  if "nodeSelector" not in self.payload:
3830
3847
  self.payload["nodeSelector"] = {}
@@ -3836,10 +3853,6 @@ class Template(object):
3836
3853
  self.payload["tolerations"] = tolerations
3837
3854
  return self
3838
3855
 
3839
- def image_pull_secrets(self, image_pull_secrets):
3840
- self.payload["image_pull_secrets"] = image_pull_secrets
3841
- return self
3842
-
3843
3856
  def to_json(self):
3844
3857
  return self.payload
3845
3858
 
@@ -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,
@@ -591,7 +591,7 @@ class ServiceMetadataProvider(MetadataProvider):
591
591
  else:
592
592
  if resp.status_code < 300:
593
593
  return resp.headers.get("METADATA_SERVICE_VERSION", None)
594
- elif resp.status_code != 503:
594
+ elif resp.status_code not in (503, 500):
595
595
  raise ServiceException(
596
596
  "Metadata request (%s) failed"
597
597
  " (code %s): %s" % (url, resp.status_code, resp.text),
@@ -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
@@ -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
 
@@ -0,0 +1 @@
1
+ metaflow_version = "2.16.2"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: metaflow
3
- Version: 2.16.0
3
+ Version: 2.16.2
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.2; extra == "stubs"
30
30
  Dynamic: author
31
31
  Dynamic: author-email
32
32
  Dynamic: classifier
@@ -2,4 +2,4 @@ requests
2
2
  boto3
3
3
 
4
4
  [stubs]
5
- metaflow-stubs==2.16.0
5
+ metaflow-stubs==2.16.2
@@ -1 +0,0 @@
1
- metaflow_version = "2.16.0"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes