metaflow 2.15.21__tar.gz → 2.16.1__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 (432) hide show
  1. {metaflow-2.15.21/metaflow.egg-info → metaflow-2.16.1}/PKG-INFO +2 -2
  2. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/__init__.py +7 -1
  3. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cli.py +19 -1
  4. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cli_components/init_cmd.py +1 -0
  5. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cli_components/run_cmds.py +8 -2
  6. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/client/core.py +22 -30
  7. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/datastore/task_datastore.py +0 -1
  8. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/debug.py +5 -0
  9. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/decorators.py +236 -70
  10. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/extension_support/__init__.py +15 -8
  11. metaflow-2.16.1/metaflow/extension_support/_empty_file.py +2 -0
  12. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/flowspec.py +92 -60
  13. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/graph.py +24 -2
  14. metaflow-2.16.1/metaflow/meta_files.py +13 -0
  15. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/metadata_provider/metadata.py +7 -1
  16. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/metaflow_config.py +5 -0
  17. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/metaflow_environment.py +82 -25
  18. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/metaflow_version.py +1 -1
  19. metaflow-2.16.1/metaflow/package/__init__.py +664 -0
  20. metaflow-2.16.1/metaflow/packaging_sys/__init__.py +870 -0
  21. metaflow-2.16.1/metaflow/packaging_sys/backend.py +113 -0
  22. metaflow-2.16.1/metaflow/packaging_sys/distribution_support.py +153 -0
  23. metaflow-2.16.1/metaflow/packaging_sys/tar_backend.py +86 -0
  24. metaflow-2.16.1/metaflow/packaging_sys/utils.py +91 -0
  25. metaflow-2.16.1/metaflow/packaging_sys/v1.py +480 -0
  26. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/airflow/airflow.py +5 -1
  27. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/airflow/airflow_cli.py +16 -5
  28. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/argo/argo_workflows.py +15 -4
  29. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/argo/argo_workflows_cli.py +17 -4
  30. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/batch/batch.py +22 -3
  31. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/batch/batch_cli.py +3 -0
  32. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/batch/batch_decorator.py +13 -5
  33. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/step_functions/step_functions.py +4 -1
  34. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/step_functions/step_functions_cli.py +16 -4
  35. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_decorator.py +0 -5
  36. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/kubernetes/kubernetes.py +8 -1
  37. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/kubernetes/kubernetes_cli.py +3 -0
  38. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/kubernetes/kubernetes_decorator.py +13 -5
  39. metaflow-2.16.1/metaflow/plugins/package_cli.py +69 -0
  40. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/parallel_decorator.py +4 -2
  41. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/pypi/bootstrap.py +8 -2
  42. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/pypi/conda_decorator.py +39 -82
  43. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/pypi/conda_environment.py +6 -2
  44. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/pypi/pypi_decorator.py +4 -4
  45. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/test_unbounded_foreach_decorator.py +2 -2
  46. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/timeout_decorator.py +0 -1
  47. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/uv/bootstrap.py +12 -1
  48. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/uv/uv_environment.py +4 -2
  49. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/pylint_wrapper.py +5 -1
  50. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/runner/click_api.py +5 -4
  51. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/runner/subprocess_manager.py +14 -2
  52. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/runtime.py +37 -11
  53. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/task.py +92 -7
  54. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/user_configs/config_options.py +13 -8
  55. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/user_configs/config_parameters.py +0 -4
  56. metaflow-2.16.1/metaflow/user_decorators/__init__.py +0 -0
  57. metaflow-2.16.1/metaflow/user_decorators/common.py +144 -0
  58. metaflow-2.16.1/metaflow/user_decorators/mutable_flow.py +499 -0
  59. metaflow-2.16.1/metaflow/user_decorators/mutable_step.py +424 -0
  60. metaflow-2.16.1/metaflow/user_decorators/user_flow_decorator.py +264 -0
  61. metaflow-2.16.1/metaflow/user_decorators/user_step_decorator.py +712 -0
  62. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/util.py +4 -1
  63. metaflow-2.16.1/metaflow/version.py +1 -0
  64. {metaflow-2.15.21 → metaflow-2.16.1/metaflow.egg-info}/PKG-INFO +2 -2
  65. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow.egg-info/SOURCES.txt +15 -4
  66. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow.egg-info/requires.txt +1 -1
  67. metaflow-2.15.21/metaflow/extension_support/_empty_file.py +0 -2
  68. metaflow-2.15.21/metaflow/info_file.py +0 -25
  69. metaflow-2.15.21/metaflow/package.py +0 -203
  70. metaflow-2.15.21/metaflow/plugins/package_cli.py +0 -67
  71. metaflow-2.15.21/metaflow/user_configs/config_decorators.py +0 -568
  72. metaflow-2.15.21/metaflow/version.py +0 -1
  73. {metaflow-2.15.21 → metaflow-2.16.1}/LICENSE +0 -0
  74. {metaflow-2.15.21 → metaflow-2.16.1}/MANIFEST.in +0 -0
  75. {metaflow-2.15.21 → metaflow-2.16.1}/README.md +0 -0
  76. {metaflow-2.15.21 → metaflow-2.16.1}/devtools/Makefile +0 -0
  77. {metaflow-2.15.21 → metaflow-2.16.1}/devtools/Tiltfile +0 -0
  78. {metaflow-2.15.21 → metaflow-2.16.1}/devtools/pick_services.sh +0 -0
  79. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/R.py +0 -0
  80. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/__init__.py +0 -0
  81. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/click/__init__.py +0 -0
  82. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/click/_bashcomplete.py +0 -0
  83. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/click/_compat.py +0 -0
  84. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/click/_termui_impl.py +0 -0
  85. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/click/_textwrap.py +0 -0
  86. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/click/_unicodefun.py +0 -0
  87. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/click/_winconsole.py +0 -0
  88. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/click/core.py +0 -0
  89. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/click/decorators.py +0 -0
  90. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/click/exceptions.py +0 -0
  91. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/click/formatting.py +0 -0
  92. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/click/globals.py +0 -0
  93. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/click/parser.py +0 -0
  94. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/click/termui.py +0 -0
  95. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/click/testing.py +0 -0
  96. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/click/types.py +0 -0
  97. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/click/utils.py +0 -0
  98. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/imghdr/__init__.py +0 -0
  99. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/importlib_metadata/__init__.py +0 -0
  100. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/importlib_metadata/_adapters.py +0 -0
  101. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/importlib_metadata/_collections.py +0 -0
  102. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/importlib_metadata/_compat.py +0 -0
  103. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/importlib_metadata/_functools.py +0 -0
  104. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/importlib_metadata/_itertools.py +0 -0
  105. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/importlib_metadata/_meta.py +0 -0
  106. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/importlib_metadata/_text.py +0 -0
  107. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/importlib_metadata/py.typed +0 -0
  108. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/packaging/__init__.py +0 -0
  109. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/packaging/_elffile.py +0 -0
  110. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/packaging/_manylinux.py +0 -0
  111. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/packaging/_musllinux.py +0 -0
  112. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/packaging/_parser.py +0 -0
  113. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/packaging/_structures.py +0 -0
  114. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/packaging/_tokenizer.py +0 -0
  115. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/packaging/markers.py +0 -0
  116. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/packaging/py.typed +0 -0
  117. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/packaging/requirements.py +0 -0
  118. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/packaging/specifiers.py +0 -0
  119. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/packaging/tags.py +0 -0
  120. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/packaging/utils.py +0 -0
  121. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/packaging/version.py +0 -0
  122. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/typeguard/__init__.py +0 -0
  123. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/typeguard/_checkers.py +0 -0
  124. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/typeguard/_config.py +0 -0
  125. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/typeguard/_decorators.py +0 -0
  126. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/typeguard/_exceptions.py +0 -0
  127. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/typeguard/_functions.py +0 -0
  128. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/typeguard/_importhook.py +0 -0
  129. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/typeguard/_memo.py +0 -0
  130. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/typeguard/_pytest_plugin.py +0 -0
  131. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/typeguard/_suppression.py +0 -0
  132. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/typeguard/_transformer.py +0 -0
  133. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/typeguard/_union_transformer.py +0 -0
  134. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/typeguard/_utils.py +0 -0
  135. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/typeguard/py.typed +0 -0
  136. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/typing_extensions.py +0 -0
  137. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_6/__init__.py +0 -0
  138. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_6/importlib_metadata/__init__.py +0 -0
  139. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_6/importlib_metadata/_adapters.py +0 -0
  140. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_6/importlib_metadata/_collections.py +0 -0
  141. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_6/importlib_metadata/_compat.py +0 -0
  142. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_6/importlib_metadata/_functools.py +0 -0
  143. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_6/importlib_metadata/_itertools.py +0 -0
  144. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_6/importlib_metadata/_meta.py +0 -0
  145. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_6/importlib_metadata/_text.py +0 -0
  146. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_6/importlib_metadata/py.typed +0 -0
  147. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_6/typing_extensions.py +0 -0
  148. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_6/zipp.py +0 -0
  149. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/__init__.py +0 -0
  150. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/importlib_metadata/__init__.py +0 -0
  151. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/importlib_metadata/_adapters.py +0 -0
  152. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/importlib_metadata/_collections.py +0 -0
  153. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/importlib_metadata/_compat.py +0 -0
  154. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/importlib_metadata/_functools.py +0 -0
  155. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/importlib_metadata/_itertools.py +0 -0
  156. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/importlib_metadata/_meta.py +0 -0
  157. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/importlib_metadata/_text.py +0 -0
  158. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/importlib_metadata/py.typed +0 -0
  159. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/typeguard/__init__.py +0 -0
  160. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/typeguard/_checkers.py +0 -0
  161. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/typeguard/_config.py +0 -0
  162. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/typeguard/_decorators.py +0 -0
  163. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/typeguard/_exceptions.py +0 -0
  164. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/typeguard/_functions.py +0 -0
  165. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/typeguard/_importhook.py +0 -0
  166. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/typeguard/_memo.py +0 -0
  167. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/typeguard/_pytest_plugin.py +0 -0
  168. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/typeguard/_suppression.py +0 -0
  169. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/typeguard/_transformer.py +0 -0
  170. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/typeguard/_union_transformer.py +0 -0
  171. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/typeguard/_utils.py +0 -0
  172. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/typeguard/py.typed +0 -0
  173. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/typing_extensions.py +0 -0
  174. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/v3_7/zipp.py +0 -0
  175. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/_vendor/zipp.py +0 -0
  176. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cards.py +0 -0
  177. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cli_args.py +0 -0
  178. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cli_components/__init__.py +0 -0
  179. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cli_components/dump_cmd.py +0 -0
  180. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cli_components/step_cmd.py +0 -0
  181. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cli_components/utils.py +0 -0
  182. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/client/__init__.py +0 -0
  183. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/client/filecache.py +0 -0
  184. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/clone_util.py +0 -0
  185. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cmd/__init__.py +0 -0
  186. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cmd/code/__init__.py +0 -0
  187. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cmd/configure_cmd.py +0 -0
  188. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cmd/develop/__init__.py +0 -0
  189. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cmd/develop/stub_generator.py +0 -0
  190. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cmd/develop/stubs.py +0 -0
  191. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cmd/main_cli.py +0 -0
  192. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cmd/make_wrapper.py +0 -0
  193. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cmd/tutorials_cmd.py +0 -0
  194. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cmd/util.py +0 -0
  195. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/cmd_with_io.py +0 -0
  196. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/datastore/__init__.py +0 -0
  197. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/datastore/content_addressed_store.py +0 -0
  198. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/datastore/datastore_set.py +0 -0
  199. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/datastore/datastore_storage.py +0 -0
  200. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/datastore/exceptions.py +0 -0
  201. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/datastore/flow_datastore.py +0 -0
  202. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/datastore/inputs.py +0 -0
  203. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/event_logger.py +0 -0
  204. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/events.py +0 -0
  205. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/exception.py +0 -0
  206. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/extension_support/cmd.py +0 -0
  207. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/extension_support/integrations.py +0 -0
  208. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/extension_support/plugins.py +0 -0
  209. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/includefile.py +0 -0
  210. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/integrations.py +0 -0
  211. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/lint.py +0 -0
  212. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/metadata_provider/__init__.py +0 -0
  213. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/metadata_provider/heartbeat.py +0 -0
  214. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/metadata_provider/util.py +0 -0
  215. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/metaflow_config_funcs.py +0 -0
  216. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/metaflow_current.py +0 -0
  217. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/metaflow_git.py +0 -0
  218. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/metaflow_profile.py +0 -0
  219. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/mflog/__init__.py +0 -0
  220. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/mflog/mflog.py +0 -0
  221. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/mflog/save_logs.py +0 -0
  222. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/mflog/save_logs_periodically.py +0 -0
  223. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/mflog/tee.py +0 -0
  224. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/monitor.py +0 -0
  225. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/multicore_utils.py +0 -0
  226. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/parameters.py +0 -0
  227. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/__init__.py +0 -0
  228. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/airflow/__init__.py +0 -0
  229. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/airflow/airflow_decorator.py +0 -0
  230. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/airflow/airflow_utils.py +0 -0
  231. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/airflow/dag.py +0 -0
  232. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/airflow/exception.py +0 -0
  233. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/airflow/plumbing/__init__.py +0 -0
  234. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/airflow/plumbing/set_parameters.py +0 -0
  235. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/airflow/sensors/__init__.py +0 -0
  236. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/airflow/sensors/base_sensor.py +0 -0
  237. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/airflow/sensors/external_task_sensor.py +0 -0
  238. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/airflow/sensors/s3_sensor.py +0 -0
  239. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/argo/__init__.py +0 -0
  240. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/argo/argo_client.py +0 -0
  241. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/argo/argo_events.py +0 -0
  242. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/argo/argo_workflows_decorator.py +0 -0
  243. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/argo/argo_workflows_deployer.py +0 -0
  244. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/argo/argo_workflows_deployer_objects.py +0 -0
  245. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/argo/capture_error.py +0 -0
  246. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/argo/exit_hooks.py +0 -0
  247. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/argo/generate_input_paths.py +0 -0
  248. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/argo/jobset_input_paths.py +0 -0
  249. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/__init__.py +0 -0
  250. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/aws_client.py +0 -0
  251. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/aws_utils.py +0 -0
  252. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/batch/__init__.py +0 -0
  253. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/batch/batch_client.py +0 -0
  254. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/secrets_manager/__init__.py +0 -0
  255. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/secrets_manager/aws_secrets_manager_secrets_provider.py +0 -0
  256. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/step_functions/__init__.py +0 -0
  257. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/step_functions/dynamo_db_client.py +0 -0
  258. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/step_functions/event_bridge_client.py +0 -0
  259. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/step_functions/production_token.py +0 -0
  260. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/step_functions/schedule_decorator.py +0 -0
  261. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/step_functions/set_batch_environment.py +0 -0
  262. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/step_functions/step_functions_client.py +0 -0
  263. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/step_functions/step_functions_decorator.py +0 -0
  264. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/step_functions/step_functions_deployer.py +0 -0
  265. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/aws/step_functions/step_functions_deployer_objects.py +0 -0
  266. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/azure/__init__.py +0 -0
  267. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/azure/azure_credential.py +0 -0
  268. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/azure/azure_exceptions.py +0 -0
  269. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/azure/azure_secret_manager_secrets_provider.py +0 -0
  270. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/azure/azure_tail.py +0 -0
  271. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/azure/azure_utils.py +0 -0
  272. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/azure/blob_service_client_factory.py +0 -0
  273. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/azure/includefile_support.py +0 -0
  274. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/__init__.py +0 -0
  275. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_cli.py +0 -0
  276. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_client.py +0 -0
  277. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_creator.py +0 -0
  278. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_datastore.py +0 -0
  279. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_modules/__init__.py +0 -0
  280. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_modules/base.html +0 -0
  281. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_modules/basic.py +0 -0
  282. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_modules/bundle.css +0 -0
  283. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_modules/card.py +0 -0
  284. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_modules/chevron/__init__.py +0 -0
  285. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_modules/chevron/main.py +0 -0
  286. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_modules/chevron/metadata.py +0 -0
  287. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_modules/chevron/renderer.py +0 -0
  288. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_modules/chevron/tokenizer.py +0 -0
  289. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_modules/components.py +0 -0
  290. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_modules/convert_to_native_type.py +0 -0
  291. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_modules/main.js +0 -0
  292. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_modules/renderer_tools.py +0 -0
  293. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_modules/test_cards.py +0 -0
  294. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_resolver.py +0 -0
  295. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_server.py +0 -0
  296. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/card_viewer/viewer.html +0 -0
  297. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/component_serializer.py +0 -0
  298. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/exception.py +0 -0
  299. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/cards/metadata.py +0 -0
  300. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/catch_decorator.py +0 -0
  301. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/datastores/__init__.py +0 -0
  302. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/datastores/azure_storage.py +0 -0
  303. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/datastores/gs_storage.py +0 -0
  304. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/datastores/local_storage.py +0 -0
  305. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/datastores/s3_storage.py +0 -0
  306. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/datatools/__init__.py +0 -0
  307. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/datatools/local.py +0 -0
  308. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/datatools/s3/__init__.py +0 -0
  309. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/datatools/s3/s3.py +0 -0
  310. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/datatools/s3/s3op.py +0 -0
  311. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/datatools/s3/s3tail.py +0 -0
  312. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/datatools/s3/s3util.py +0 -0
  313. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/debug_logger.py +0 -0
  314. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/debug_monitor.py +0 -0
  315. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/__init__.py +0 -0
  316. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/client.py +0 -0
  317. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/client_modules.py +0 -0
  318. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/communication/__init__.py +0 -0
  319. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/communication/bytestream.py +0 -0
  320. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/communication/channel.py +0 -0
  321. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/communication/socket_bytestream.py +0 -0
  322. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/communication/utils.py +0 -0
  323. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/configurations/emulate_test_lib/__init__.py +0 -0
  324. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/configurations/emulate_test_lib/overrides.py +0 -0
  325. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/configurations/emulate_test_lib/server_mappings.py +0 -0
  326. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/configurations/test_lib_impl/__init__.py +0 -0
  327. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/configurations/test_lib_impl/test_lib.py +0 -0
  328. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/consts.py +0 -0
  329. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/data_transferer.py +0 -0
  330. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/exception_transferer.py +0 -0
  331. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/override_decorators.py +0 -0
  332. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/server.py +0 -0
  333. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/stub.py +0 -0
  334. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/env_escape/utils.py +0 -0
  335. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/environment_decorator.py +0 -0
  336. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/events_decorator.py +0 -0
  337. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/exit_hook/__init__.py +0 -0
  338. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/exit_hook/exit_hook_decorator.py +0 -0
  339. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/exit_hook/exit_hook_script.py +0 -0
  340. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/frameworks/__init__.py +0 -0
  341. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/frameworks/pytorch.py +0 -0
  342. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/gcp/__init__.py +0 -0
  343. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/gcp/gcp_secret_manager_secrets_provider.py +0 -0
  344. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/gcp/gs_exceptions.py +0 -0
  345. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/gcp/gs_storage_client_factory.py +0 -0
  346. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/gcp/gs_tail.py +0 -0
  347. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/gcp/gs_utils.py +0 -0
  348. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/gcp/includefile_support.py +0 -0
  349. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/kubernetes/__init__.py +0 -0
  350. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/kubernetes/kube_utils.py +0 -0
  351. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/kubernetes/kubernetes_client.py +0 -0
  352. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/kubernetes/kubernetes_job.py +0 -0
  353. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/kubernetes/kubernetes_jobsets.py +0 -0
  354. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/kubernetes/spot_metadata_cli.py +0 -0
  355. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/kubernetes/spot_monitor_sidecar.py +0 -0
  356. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/logs_cli.py +0 -0
  357. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/metadata_providers/__init__.py +0 -0
  358. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/metadata_providers/local.py +0 -0
  359. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/metadata_providers/service.py +0 -0
  360. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/project_decorator.py +0 -0
  361. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/pypi/__init__.py +0 -0
  362. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/pypi/micromamba.py +0 -0
  363. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/pypi/parsers.py +0 -0
  364. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/pypi/pip.py +0 -0
  365. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/pypi/pypi_environment.py +0 -0
  366. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/pypi/utils.py +0 -0
  367. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/resources_decorator.py +0 -0
  368. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/retry_decorator.py +0 -0
  369. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/secrets/__init__.py +0 -0
  370. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/secrets/inline_secrets_provider.py +0 -0
  371. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/secrets/secrets_decorator.py +0 -0
  372. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/secrets/secrets_func.py +0 -0
  373. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/secrets/secrets_spec.py +0 -0
  374. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/secrets/utils.py +0 -0
  375. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/storage_executor.py +0 -0
  376. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/tag_cli.py +0 -0
  377. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/plugins/uv/__init__.py +0 -0
  378. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/procpoll.py +0 -0
  379. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/py.typed +0 -0
  380. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/runner/__init__.py +0 -0
  381. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/runner/deployer.py +0 -0
  382. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/runner/deployer_impl.py +0 -0
  383. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/runner/metaflow_runner.py +0 -0
  384. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/runner/nbdeploy.py +0 -0
  385. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/runner/nbrun.py +0 -0
  386. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/runner/utils.py +0 -0
  387. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/sidecar/__init__.py +0 -0
  388. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/sidecar/sidecar.py +0 -0
  389. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/sidecar/sidecar_messages.py +0 -0
  390. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/sidecar/sidecar_subprocess.py +0 -0
  391. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/sidecar/sidecar_worker.py +0 -0
  392. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/system/__init__.py +0 -0
  393. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/system/system_logger.py +0 -0
  394. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/system/system_monitor.py +0 -0
  395. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/system/system_utils.py +0 -0
  396. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tagging_util.py +0 -0
  397. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tracing/__init__.py +0 -0
  398. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tracing/propagator.py +0 -0
  399. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tracing/span_exporter.py +0 -0
  400. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tracing/tracing_modules.py +0 -0
  401. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tuple_util.py +0 -0
  402. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/00-helloworld/README.md +0 -0
  403. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/00-helloworld/helloworld.py +0 -0
  404. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/01-playlist/README.md +0 -0
  405. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/01-playlist/movies.csv +0 -0
  406. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/01-playlist/playlist.ipynb +0 -0
  407. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/01-playlist/playlist.py +0 -0
  408. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/02-statistics/README.md +0 -0
  409. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/02-statistics/movies.csv +0 -0
  410. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/02-statistics/stats.ipynb +0 -0
  411. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/02-statistics/stats.py +0 -0
  412. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/03-playlist-redux/README.md +0 -0
  413. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/03-playlist-redux/playlist.py +0 -0
  414. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/04-playlist-plus/README.md +0 -0
  415. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/04-playlist-plus/playlist.py +0 -0
  416. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/05-hello-cloud/README.md +0 -0
  417. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/05-hello-cloud/hello-cloud.ipynb +0 -0
  418. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/05-hello-cloud/hello-cloud.py +0 -0
  419. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/06-statistics-redux/README.md +0 -0
  420. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/06-statistics-redux/stats.ipynb +0 -0
  421. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/07-worldview/README.md +0 -0
  422. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/07-worldview/worldview.ipynb +0 -0
  423. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/08-autopilot/README.md +0 -0
  424. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/tutorials/08-autopilot/autopilot.ipynb +0 -0
  425. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/unbounded_foreach.py +0 -0
  426. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/user_configs/__init__.py +0 -0
  427. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow/vendor.py +0 -0
  428. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow.egg-info/dependency_links.txt +0 -0
  429. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow.egg-info/entry_points.txt +0 -0
  430. {metaflow-2.15.21 → metaflow-2.16.1}/metaflow.egg-info/top_level.txt +0 -0
  431. {metaflow-2.15.21 → metaflow-2.16.1}/setup.cfg +0 -0
  432. {metaflow-2.15.21 → metaflow-2.16.1}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: metaflow
3
- Version: 2.15.21
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.15.21; 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
@@ -104,7 +104,13 @@ from .flowspec import FlowSpec
104
104
  from .parameters import Parameter, JSONTypeClass, JSONType
105
105
 
106
106
  from .user_configs.config_parameters import Config, ConfigValue, config_expr
107
- from .user_configs.config_decorators import CustomFlowDecorator, CustomStepDecorator
107
+ from .user_decorators.user_step_decorator import (
108
+ UserStepDecorator,
109
+ StepMutator,
110
+ user_step_decorator,
111
+ USER_SKIP_STEP,
112
+ )
113
+ from .user_decorators.user_flow_decorator import FlowMutator
108
114
 
109
115
  # data layer
110
116
  # For historical reasons, we make metaflow.plugins.datatools accessible as
@@ -28,6 +28,7 @@ from .metaflow_config import (
28
28
  from .metaflow_current import current
29
29
  from metaflow.system import _system_monitor, _system_logger
30
30
  from .metaflow_environment import MetaflowEnvironment
31
+ from .packaging_sys import MetaflowCodeContent
31
32
  from .plugins import (
32
33
  DATASTORES,
33
34
  ENVIRONMENTS,
@@ -152,8 +153,13 @@ def check(obj, warnings=False):
152
153
  def show(obj):
153
154
  echo_always("\n%s" % obj.graph.doc)
154
155
  for node_name in obj.graph.sorted_nodes:
156
+ echo_always("")
155
157
  node = obj.graph[node_name]
156
- echo_always("\nStep *%s*" % node.name, err=False)
158
+ for deco in node.decorators:
159
+ echo_always("@%s" % deco.name, err=False)
160
+ for deco in node.wrappers:
161
+ echo_always("@%s" % deco.decorator_name, err=False)
162
+ echo_always("Step *%s*" % node.name, err=False)
157
163
  echo_always(node.doc if node.doc else "?", indent=True, err=False)
158
164
  if node.type != "end":
159
165
  echo_always(
@@ -336,6 +342,11 @@ def start(
336
342
  echo(" executing *%s*" % ctx.obj.flow.name, fg="magenta", nl=False)
337
343
  echo(" for *%s*" % resolve_identity(), fg="magenta")
338
344
 
345
+ # Check if we need to setup the distribution finder (if running )
346
+ dist_info = MetaflowCodeContent.get_distribution_finder()
347
+ if dist_info:
348
+ sys.meta_path.append(dist_info)
349
+
339
350
  # Setup the context
340
351
  cli_args._set_top_kwargs(ctx.params)
341
352
  ctx.obj.echo = echo
@@ -436,6 +447,10 @@ def start(
436
447
  # be raised. For resume, since we ignore those options, we ignore the error.
437
448
  raise ctx.obj.delayed_config_exception
438
449
 
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
+ decorator.external_init()
453
+
439
454
  new_cls = ctx.obj.flow._process_config_decorators(config_options)
440
455
  if new_cls:
441
456
  ctx.obj.flow = new_cls(use_cli=False)
@@ -547,6 +562,9 @@ def start(
547
562
  ctx.obj.logger,
548
563
  )
549
564
 
565
+ # Check the graph again (mutators may have changed it)
566
+ ctx.obj.graph = ctx.obj.flow._graph
567
+
550
568
  # TODO (savin): Enable lazy instantiation of package
551
569
  ctx.obj.package = None
552
570
 
@@ -46,6 +46,7 @@ def init(obj, run_id=None, task_id=None, tags=None, **kwargs):
46
46
  obj.event_logger,
47
47
  obj.monitor,
48
48
  run_id=run_id,
49
+ skip_decorator_hooks=True,
49
50
  )
50
51
  obj.flow._set_constants(obj.graph, kwargs, obj.config_options)
51
52
  runtime.persist_constants(task_id=task_id)
@@ -8,7 +8,7 @@ from .. import decorators, namespace, parameters, tracing
8
8
  from ..exception import CommandException
9
9
  from ..graph import FlowGraph
10
10
  from ..metaflow_current import current
11
- from ..metaflow_config import DEFAULT_DECOSPECS
11
+ from ..metaflow_config import DEFAULT_DECOSPECS, FEAT_ALWAYS_UPLOAD_CODE_PACKAGE
12
12
  from ..package import MetaflowPackage
13
13
  from ..runtime import NativeRuntime
14
14
  from ..system import _system_logger
@@ -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
 
@@ -61,7 +63,11 @@ def before_run(obj, tags, decospecs):
61
63
  # We explicitly avoid doing this in `start` since it is invoked for every
62
64
  # step in the run.
63
65
  obj.package = MetaflowPackage(
64
- obj.flow, obj.environment, obj.echo, obj.package_suffixes
66
+ obj.flow,
67
+ obj.environment,
68
+ obj.echo,
69
+ suffixes=obj.package_suffixes,
70
+ flow_datastore=obj.flow_datastore if FEAT_ALWAYS_UPLOAD_CODE_PACKAGE else None,
65
71
  )
66
72
 
67
73
 
@@ -32,11 +32,12 @@ from metaflow.exception import (
32
32
  from metaflow.includefile import IncludedFile
33
33
  from metaflow.metaflow_config import DEFAULT_METADATA, MAX_ATTEMPTS
34
34
  from metaflow.metaflow_environment import MetaflowEnvironment
35
+ from metaflow.package import MetaflowPackage
36
+ from metaflow.packaging_sys import ContentType
35
37
  from metaflow.plugins import ENVIRONMENTS, METADATA_PROVIDERS
36
38
  from metaflow.unbounded_foreach import CONTROL_TASK_TAG
37
39
  from metaflow.util import cached_property, is_stringish, resolve_identity, to_unicode
38
40
 
39
- from ..info_file import INFO_FILE
40
41
  from .filecache import FileCache
41
42
 
42
43
  if TYPE_CHECKING:
@@ -816,20 +817,26 @@ class MetaflowCode(object):
816
817
  self._path = info["location"]
817
818
  self._ds_type = info["ds_type"]
818
819
  self._sha = info["sha"]
820
+ self._code_metadata = info.get(
821
+ "metadata",
822
+ '{"version": 0, "archive_format": "tgz", "mfcontent_version": 0}',
823
+ )
824
+
825
+ self._backend = MetaflowPackage.get_backend(self._code_metadata)
819
826
 
820
827
  if filecache is None:
821
828
  filecache = FileCache()
822
829
  _, blobdata = filecache.get_data(
823
830
  self._ds_type, self._flow_name, self._path, self._sha
824
831
  )
825
- code_obj = BytesIO(blobdata)
826
- self._tar = tarfile.open(fileobj=code_obj, mode="r:gz")
827
- # The JSON module in Python3 deals with Unicode. Tar gives bytes.
828
- info_str = (
829
- self._tar.extractfile(os.path.basename(INFO_FILE)).read().decode("utf-8")
830
- )
831
- self._info = json.loads(info_str)
832
- self._flowspec = self._tar.extractfile(self._info["script"]).read()
832
+ self._code_obj = BytesIO(blobdata)
833
+ self._info = MetaflowPackage.cls_get_info(self._code_metadata, self._code_obj)
834
+ if self._info:
835
+ self._flowspec = MetaflowPackage.cls_get_content(
836
+ self._code_metadata, self._code_obj, self._info["script"]
837
+ )
838
+ else:
839
+ raise MetaflowInternalError("Code package metadata is invalid.")
833
840
 
834
841
  @property
835
842
  def path(self) -> str:
@@ -877,7 +884,9 @@ class MetaflowCode(object):
877
884
  TarFile
878
885
  TarFile for everything in this code package
879
886
  """
880
- return self._tar
887
+ if self._backend.type == "tgz":
888
+ return self._backend.cls_open(self._code_obj)
889
+ raise RuntimeError("Archive is not a tarball")
881
890
 
882
891
  def extract(self) -> TemporaryDirectory:
883
892
  """
@@ -908,27 +917,10 @@ class MetaflowCode(object):
908
917
  The directory and its contents are automatically deleted when
909
918
  this object is garbage collected.
910
919
  """
911
- exclusions = [
912
- "metaflow/",
913
- "metaflow_extensions/",
914
- "INFO",
915
- "CONFIG_PARAMETERS",
916
- "conda.manifest",
917
- # This file is created when using the conda/pypi features available in
918
- # nflx-metaflow-extensions: https://github.com/Netflix/metaflow-nflx-extensions
919
- "condav2-1.cnd",
920
- ]
921
- members = [
922
- m
923
- for m in self.tarball.getmembers()
924
- if not any(
925
- (x.endswith("/") and m.name.startswith(x)) or (m.name == x)
926
- for x in exclusions
927
- )
928
- ]
929
-
930
920
  tmp = TemporaryDirectory()
931
- self.tarball.extractall(tmp.name, members)
921
+ MetaflowPackage.cls_extract_into(
922
+ self._code_metadata, self._code_obj, tmp.name, ContentType.USER_CONTENT
923
+ )
932
924
  return tmp
933
925
 
934
926
  @property
@@ -99,7 +99,6 @@ class TaskDataStore(object):
99
99
  mode="r",
100
100
  allow_not_done=False,
101
101
  ):
102
-
103
102
  self._storage_impl = flow_datastore._storage_impl
104
103
  self.TYPE = self._storage_impl.TYPE
105
104
  self._ca_store = flow_datastore.ca_store
@@ -42,6 +42,11 @@ class Debug(object):
42
42
  filename = inspect.stack()[1][1]
43
43
  print("debug[%s %s:%s]: %s" % (typ, filename, lineno, s), file=sys.stderr)
44
44
 
45
+ def __getattr__(self, name):
46
+ # Small piece of code to get pyright and other linters to recognize that there
47
+ # are dynamic attributes.
48
+ return getattr(self, name)
49
+
45
50
  def noop(self, args):
46
51
  pass
47
52