metaflow 2.15.15__tar.gz → 2.15.16__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 (407) hide show
  1. {metaflow-2.15.15/metaflow.egg-info → metaflow-2.15.16}/PKG-INFO +2 -2
  2. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/cmd/develop/stub_generator.py +30 -16
  3. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/argo/argo_workflows_deployer_objects.py +6 -49
  4. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/aws/aws_client.py +6 -0
  5. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/datatools/s3/s3op.py +1 -1
  6. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/metadata_providers/service.py +12 -8
  7. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/runner/deployer.py +49 -0
  8. metaflow-2.15.16/metaflow/version.py +1 -0
  9. {metaflow-2.15.15 → metaflow-2.15.16/metaflow.egg-info}/PKG-INFO +2 -2
  10. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow.egg-info/requires.txt +1 -1
  11. metaflow-2.15.15/metaflow/version.py +0 -1
  12. {metaflow-2.15.15 → metaflow-2.15.16}/LICENSE +0 -0
  13. {metaflow-2.15.15 → metaflow-2.15.16}/MANIFEST.in +0 -0
  14. {metaflow-2.15.15 → metaflow-2.15.16}/README.md +0 -0
  15. {metaflow-2.15.15 → metaflow-2.15.16}/devtools/Makefile +0 -0
  16. {metaflow-2.15.15 → metaflow-2.15.16}/devtools/Tiltfile +0 -0
  17. {metaflow-2.15.15 → metaflow-2.15.16}/devtools/pick_services.sh +0 -0
  18. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/R.py +0 -0
  19. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/__init__.py +0 -0
  20. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/__init__.py +0 -0
  21. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/click/__init__.py +0 -0
  22. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/click/_bashcomplete.py +0 -0
  23. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/click/_compat.py +0 -0
  24. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/click/_termui_impl.py +0 -0
  25. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/click/_textwrap.py +0 -0
  26. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/click/_unicodefun.py +0 -0
  27. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/click/_winconsole.py +0 -0
  28. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/click/core.py +0 -0
  29. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/click/decorators.py +0 -0
  30. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/click/exceptions.py +0 -0
  31. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/click/formatting.py +0 -0
  32. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/click/globals.py +0 -0
  33. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/click/parser.py +0 -0
  34. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/click/termui.py +0 -0
  35. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/click/testing.py +0 -0
  36. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/click/types.py +0 -0
  37. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/click/utils.py +0 -0
  38. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/importlib_metadata/__init__.py +0 -0
  39. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/importlib_metadata/_adapters.py +0 -0
  40. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/importlib_metadata/_collections.py +0 -0
  41. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/importlib_metadata/_compat.py +0 -0
  42. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/importlib_metadata/_functools.py +0 -0
  43. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/importlib_metadata/_itertools.py +0 -0
  44. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/importlib_metadata/_meta.py +0 -0
  45. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/importlib_metadata/_text.py +0 -0
  46. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/importlib_metadata/py.typed +0 -0
  47. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/packaging/__init__.py +0 -0
  48. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/packaging/_elffile.py +0 -0
  49. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/packaging/_manylinux.py +0 -0
  50. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/packaging/_musllinux.py +0 -0
  51. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/packaging/_parser.py +0 -0
  52. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/packaging/_structures.py +0 -0
  53. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/packaging/_tokenizer.py +0 -0
  54. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/packaging/markers.py +0 -0
  55. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/packaging/py.typed +0 -0
  56. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/packaging/requirements.py +0 -0
  57. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/packaging/specifiers.py +0 -0
  58. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/packaging/tags.py +0 -0
  59. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/packaging/utils.py +0 -0
  60. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/packaging/version.py +0 -0
  61. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/typeguard/__init__.py +0 -0
  62. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/typeguard/_checkers.py +0 -0
  63. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/typeguard/_config.py +0 -0
  64. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/typeguard/_decorators.py +0 -0
  65. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/typeguard/_exceptions.py +0 -0
  66. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/typeguard/_functions.py +0 -0
  67. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/typeguard/_importhook.py +0 -0
  68. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/typeguard/_memo.py +0 -0
  69. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/typeguard/_pytest_plugin.py +0 -0
  70. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/typeguard/_suppression.py +0 -0
  71. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/typeguard/_transformer.py +0 -0
  72. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/typeguard/_union_transformer.py +0 -0
  73. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/typeguard/_utils.py +0 -0
  74. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/typeguard/py.typed +0 -0
  75. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/typing_extensions.py +0 -0
  76. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_6/__init__.py +0 -0
  77. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_6/importlib_metadata/__init__.py +0 -0
  78. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_6/importlib_metadata/_adapters.py +0 -0
  79. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_6/importlib_metadata/_collections.py +0 -0
  80. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_6/importlib_metadata/_compat.py +0 -0
  81. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_6/importlib_metadata/_functools.py +0 -0
  82. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_6/importlib_metadata/_itertools.py +0 -0
  83. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_6/importlib_metadata/_meta.py +0 -0
  84. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_6/importlib_metadata/_text.py +0 -0
  85. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_6/importlib_metadata/py.typed +0 -0
  86. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_6/typing_extensions.py +0 -0
  87. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_6/zipp.py +0 -0
  88. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_7/__init__.py +0 -0
  89. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_7/importlib_metadata/__init__.py +0 -0
  90. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_7/importlib_metadata/_adapters.py +0 -0
  91. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_7/importlib_metadata/_collections.py +0 -0
  92. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_7/importlib_metadata/_compat.py +0 -0
  93. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_7/importlib_metadata/_functools.py +0 -0
  94. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_7/importlib_metadata/_itertools.py +0 -0
  95. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_7/importlib_metadata/_meta.py +0 -0
  96. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_7/importlib_metadata/_text.py +0 -0
  97. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_7/importlib_metadata/py.typed +0 -0
  98. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_7/typeguard/__init__.py +0 -0
  99. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_7/typeguard/_checkers.py +0 -0
  100. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_7/typeguard/_config.py +0 -0
  101. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_7/typeguard/_decorators.py +0 -0
  102. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_7/typeguard/_exceptions.py +0 -0
  103. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_7/typeguard/_functions.py +0 -0
  104. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_7/typeguard/_importhook.py +0 -0
  105. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_7/typeguard/_memo.py +0 -0
  106. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_7/typeguard/_pytest_plugin.py +0 -0
  107. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_7/typeguard/_suppression.py +0 -0
  108. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_7/typeguard/_transformer.py +0 -0
  109. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_7/typeguard/_union_transformer.py +0 -0
  110. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_7/typeguard/_utils.py +0 -0
  111. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_7/typeguard/py.typed +0 -0
  112. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_7/typing_extensions.py +0 -0
  113. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/v3_7/zipp.py +0 -0
  114. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/_vendor/zipp.py +0 -0
  115. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/cards.py +0 -0
  116. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/cli.py +0 -0
  117. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/cli_args.py +0 -0
  118. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/cli_components/__init__.py +0 -0
  119. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/cli_components/dump_cmd.py +0 -0
  120. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/cli_components/init_cmd.py +0 -0
  121. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/cli_components/run_cmds.py +0 -0
  122. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/cli_components/step_cmd.py +0 -0
  123. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/cli_components/utils.py +0 -0
  124. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/client/__init__.py +0 -0
  125. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/client/core.py +0 -0
  126. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/client/filecache.py +0 -0
  127. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/clone_util.py +0 -0
  128. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/cmd/__init__.py +0 -0
  129. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/cmd/code/__init__.py +0 -0
  130. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/cmd/configure_cmd.py +0 -0
  131. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/cmd/develop/__init__.py +0 -0
  132. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/cmd/develop/stubs.py +0 -0
  133. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/cmd/main_cli.py +0 -0
  134. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/cmd/make_wrapper.py +0 -0
  135. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/cmd/tutorials_cmd.py +0 -0
  136. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/cmd/util.py +0 -0
  137. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/cmd_with_io.py +0 -0
  138. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/datastore/__init__.py +0 -0
  139. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/datastore/content_addressed_store.py +0 -0
  140. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/datastore/datastore_set.py +0 -0
  141. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/datastore/datastore_storage.py +0 -0
  142. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/datastore/exceptions.py +0 -0
  143. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/datastore/flow_datastore.py +0 -0
  144. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/datastore/inputs.py +0 -0
  145. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/datastore/task_datastore.py +0 -0
  146. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/debug.py +0 -0
  147. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/decorators.py +0 -0
  148. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/event_logger.py +0 -0
  149. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/events.py +0 -0
  150. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/exception.py +0 -0
  151. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/extension_support/__init__.py +0 -0
  152. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/extension_support/_empty_file.py +0 -0
  153. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/extension_support/cmd.py +0 -0
  154. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/extension_support/integrations.py +0 -0
  155. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/extension_support/plugins.py +0 -0
  156. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/flowspec.py +0 -0
  157. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/graph.py +0 -0
  158. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/includefile.py +0 -0
  159. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/info_file.py +0 -0
  160. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/integrations.py +0 -0
  161. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/lint.py +0 -0
  162. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/metadata_provider/__init__.py +0 -0
  163. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/metadata_provider/heartbeat.py +0 -0
  164. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/metadata_provider/metadata.py +0 -0
  165. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/metadata_provider/util.py +0 -0
  166. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/metaflow_config.py +0 -0
  167. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/metaflow_config_funcs.py +0 -0
  168. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/metaflow_current.py +0 -0
  169. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/metaflow_environment.py +0 -0
  170. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/metaflow_git.py +0 -0
  171. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/metaflow_profile.py +0 -0
  172. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/metaflow_version.py +0 -0
  173. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/mflog/__init__.py +0 -0
  174. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/mflog/mflog.py +0 -0
  175. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/mflog/save_logs.py +0 -0
  176. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/mflog/save_logs_periodically.py +0 -0
  177. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/mflog/tee.py +0 -0
  178. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/monitor.py +0 -0
  179. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/multicore_utils.py +0 -0
  180. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/package.py +0 -0
  181. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/parameters.py +0 -0
  182. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/__init__.py +0 -0
  183. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/airflow/__init__.py +0 -0
  184. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/airflow/airflow.py +0 -0
  185. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/airflow/airflow_cli.py +0 -0
  186. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/airflow/airflow_decorator.py +0 -0
  187. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/airflow/airflow_utils.py +0 -0
  188. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/airflow/dag.py +0 -0
  189. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/airflow/exception.py +0 -0
  190. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/airflow/plumbing/__init__.py +0 -0
  191. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/airflow/plumbing/set_parameters.py +0 -0
  192. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/airflow/sensors/__init__.py +0 -0
  193. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/airflow/sensors/base_sensor.py +0 -0
  194. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/airflow/sensors/external_task_sensor.py +0 -0
  195. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/airflow/sensors/s3_sensor.py +0 -0
  196. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/argo/__init__.py +0 -0
  197. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/argo/argo_client.py +0 -0
  198. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/argo/argo_events.py +0 -0
  199. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/argo/argo_workflows.py +0 -0
  200. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/argo/argo_workflows_cli.py +0 -0
  201. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/argo/argo_workflows_decorator.py +0 -0
  202. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/argo/argo_workflows_deployer.py +0 -0
  203. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/argo/capture_error.py +0 -0
  204. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/argo/generate_input_paths.py +0 -0
  205. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/argo/jobset_input_paths.py +0 -0
  206. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/aws/__init__.py +0 -0
  207. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/aws/aws_utils.py +0 -0
  208. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/aws/batch/__init__.py +0 -0
  209. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/aws/batch/batch.py +0 -0
  210. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/aws/batch/batch_cli.py +0 -0
  211. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/aws/batch/batch_client.py +0 -0
  212. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/aws/batch/batch_decorator.py +0 -0
  213. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/aws/secrets_manager/__init__.py +0 -0
  214. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/aws/secrets_manager/aws_secrets_manager_secrets_provider.py +0 -0
  215. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/aws/step_functions/__init__.py +0 -0
  216. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/aws/step_functions/dynamo_db_client.py +0 -0
  217. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/aws/step_functions/event_bridge_client.py +0 -0
  218. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/aws/step_functions/production_token.py +0 -0
  219. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/aws/step_functions/schedule_decorator.py +0 -0
  220. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/aws/step_functions/set_batch_environment.py +0 -0
  221. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/aws/step_functions/step_functions.py +0 -0
  222. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/aws/step_functions/step_functions_cli.py +0 -0
  223. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/aws/step_functions/step_functions_client.py +0 -0
  224. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/aws/step_functions/step_functions_decorator.py +0 -0
  225. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/aws/step_functions/step_functions_deployer.py +0 -0
  226. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/aws/step_functions/step_functions_deployer_objects.py +0 -0
  227. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/azure/__init__.py +0 -0
  228. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/azure/azure_credential.py +0 -0
  229. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/azure/azure_exceptions.py +0 -0
  230. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/azure/azure_secret_manager_secrets_provider.py +0 -0
  231. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/azure/azure_tail.py +0 -0
  232. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/azure/azure_utils.py +0 -0
  233. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/azure/blob_service_client_factory.py +0 -0
  234. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/azure/includefile_support.py +0 -0
  235. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/cards/__init__.py +0 -0
  236. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/cards/card_cli.py +0 -0
  237. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/cards/card_client.py +0 -0
  238. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/cards/card_creator.py +0 -0
  239. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/cards/card_datastore.py +0 -0
  240. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/cards/card_decorator.py +0 -0
  241. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/cards/card_modules/__init__.py +0 -0
  242. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/cards/card_modules/base.html +0 -0
  243. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/cards/card_modules/basic.py +0 -0
  244. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/cards/card_modules/bundle.css +0 -0
  245. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/cards/card_modules/card.py +0 -0
  246. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/cards/card_modules/chevron/__init__.py +0 -0
  247. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/cards/card_modules/chevron/main.py +0 -0
  248. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/cards/card_modules/chevron/metadata.py +0 -0
  249. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/cards/card_modules/chevron/renderer.py +0 -0
  250. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/cards/card_modules/chevron/tokenizer.py +0 -0
  251. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/cards/card_modules/components.py +0 -0
  252. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/cards/card_modules/convert_to_native_type.py +0 -0
  253. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/cards/card_modules/main.js +0 -0
  254. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/cards/card_modules/renderer_tools.py +0 -0
  255. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/cards/card_modules/test_cards.py +0 -0
  256. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/cards/card_resolver.py +0 -0
  257. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/cards/card_server.py +0 -0
  258. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/cards/card_viewer/viewer.html +0 -0
  259. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/cards/component_serializer.py +0 -0
  260. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/cards/exception.py +0 -0
  261. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/catch_decorator.py +0 -0
  262. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/datastores/__init__.py +0 -0
  263. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/datastores/azure_storage.py +0 -0
  264. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/datastores/gs_storage.py +0 -0
  265. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/datastores/local_storage.py +0 -0
  266. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/datastores/s3_storage.py +0 -0
  267. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/datatools/__init__.py +0 -0
  268. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/datatools/local.py +0 -0
  269. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/datatools/s3/__init__.py +0 -0
  270. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/datatools/s3/s3.py +0 -0
  271. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/datatools/s3/s3tail.py +0 -0
  272. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/datatools/s3/s3util.py +0 -0
  273. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/debug_logger.py +0 -0
  274. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/debug_monitor.py +0 -0
  275. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/env_escape/__init__.py +0 -0
  276. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/env_escape/client.py +0 -0
  277. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/env_escape/client_modules.py +0 -0
  278. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/env_escape/communication/__init__.py +0 -0
  279. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/env_escape/communication/bytestream.py +0 -0
  280. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/env_escape/communication/channel.py +0 -0
  281. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/env_escape/communication/socket_bytestream.py +0 -0
  282. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/env_escape/communication/utils.py +0 -0
  283. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/env_escape/configurations/emulate_test_lib/__init__.py +0 -0
  284. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/env_escape/configurations/emulate_test_lib/overrides.py +0 -0
  285. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/env_escape/configurations/emulate_test_lib/server_mappings.py +0 -0
  286. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/env_escape/configurations/test_lib_impl/__init__.py +0 -0
  287. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/env_escape/configurations/test_lib_impl/test_lib.py +0 -0
  288. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/env_escape/consts.py +0 -0
  289. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/env_escape/data_transferer.py +0 -0
  290. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/env_escape/exception_transferer.py +0 -0
  291. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/env_escape/override_decorators.py +0 -0
  292. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/env_escape/server.py +0 -0
  293. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/env_escape/stub.py +0 -0
  294. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/env_escape/utils.py +0 -0
  295. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/environment_decorator.py +0 -0
  296. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/events_decorator.py +0 -0
  297. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/frameworks/__init__.py +0 -0
  298. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/frameworks/pytorch.py +0 -0
  299. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/gcp/__init__.py +0 -0
  300. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/gcp/gcp_secret_manager_secrets_provider.py +0 -0
  301. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/gcp/gs_exceptions.py +0 -0
  302. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/gcp/gs_storage_client_factory.py +0 -0
  303. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/gcp/gs_tail.py +0 -0
  304. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/gcp/gs_utils.py +0 -0
  305. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/gcp/includefile_support.py +0 -0
  306. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/kubernetes/__init__.py +0 -0
  307. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/kubernetes/kube_utils.py +0 -0
  308. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/kubernetes/kubernetes.py +0 -0
  309. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/kubernetes/kubernetes_cli.py +0 -0
  310. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/kubernetes/kubernetes_client.py +0 -0
  311. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/kubernetes/kubernetes_decorator.py +0 -0
  312. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/kubernetes/kubernetes_job.py +0 -0
  313. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/kubernetes/kubernetes_jobsets.py +0 -0
  314. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/kubernetes/spot_metadata_cli.py +0 -0
  315. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/kubernetes/spot_monitor_sidecar.py +0 -0
  316. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/logs_cli.py +0 -0
  317. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/metadata_providers/__init__.py +0 -0
  318. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/metadata_providers/local.py +0 -0
  319. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/package_cli.py +0 -0
  320. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/parallel_decorator.py +0 -0
  321. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/project_decorator.py +0 -0
  322. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/pypi/__init__.py +0 -0
  323. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/pypi/bootstrap.py +0 -0
  324. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/pypi/conda_decorator.py +0 -0
  325. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/pypi/conda_environment.py +0 -0
  326. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/pypi/micromamba.py +0 -0
  327. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/pypi/parsers.py +0 -0
  328. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/pypi/pip.py +0 -0
  329. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/pypi/pypi_decorator.py +0 -0
  330. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/pypi/pypi_environment.py +0 -0
  331. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/pypi/utils.py +0 -0
  332. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/resources_decorator.py +0 -0
  333. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/retry_decorator.py +0 -0
  334. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/secrets/__init__.py +0 -0
  335. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/secrets/inline_secrets_provider.py +0 -0
  336. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/secrets/secrets_decorator.py +0 -0
  337. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/storage_executor.py +0 -0
  338. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/tag_cli.py +0 -0
  339. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/test_unbounded_foreach_decorator.py +0 -0
  340. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/timeout_decorator.py +0 -0
  341. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/uv/__init__.py +0 -0
  342. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/uv/bootstrap.py +0 -0
  343. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/plugins/uv/uv_environment.py +0 -0
  344. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/procpoll.py +0 -0
  345. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/py.typed +0 -0
  346. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/pylint_wrapper.py +0 -0
  347. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/runner/__init__.py +0 -0
  348. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/runner/click_api.py +0 -0
  349. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/runner/deployer_impl.py +0 -0
  350. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/runner/metaflow_runner.py +0 -0
  351. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/runner/nbdeploy.py +0 -0
  352. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/runner/nbrun.py +0 -0
  353. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/runner/subprocess_manager.py +0 -0
  354. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/runner/utils.py +0 -0
  355. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/runtime.py +0 -0
  356. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/sidecar/__init__.py +0 -0
  357. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/sidecar/sidecar.py +0 -0
  358. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/sidecar/sidecar_messages.py +0 -0
  359. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/sidecar/sidecar_subprocess.py +0 -0
  360. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/sidecar/sidecar_worker.py +0 -0
  361. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/system/__init__.py +0 -0
  362. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/system/system_logger.py +0 -0
  363. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/system/system_monitor.py +0 -0
  364. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/system/system_utils.py +0 -0
  365. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/tagging_util.py +0 -0
  366. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/task.py +0 -0
  367. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/tracing/__init__.py +0 -0
  368. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/tracing/propagator.py +0 -0
  369. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/tracing/span_exporter.py +0 -0
  370. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/tracing/tracing_modules.py +0 -0
  371. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/tuple_util.py +0 -0
  372. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/tutorials/00-helloworld/README.md +0 -0
  373. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/tutorials/00-helloworld/helloworld.py +0 -0
  374. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/tutorials/01-playlist/README.md +0 -0
  375. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/tutorials/01-playlist/movies.csv +0 -0
  376. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/tutorials/01-playlist/playlist.ipynb +0 -0
  377. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/tutorials/01-playlist/playlist.py +0 -0
  378. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/tutorials/02-statistics/README.md +0 -0
  379. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/tutorials/02-statistics/movies.csv +0 -0
  380. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/tutorials/02-statistics/stats.ipynb +0 -0
  381. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/tutorials/02-statistics/stats.py +0 -0
  382. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/tutorials/03-playlist-redux/README.md +0 -0
  383. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/tutorials/03-playlist-redux/playlist.py +0 -0
  384. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/tutorials/04-playlist-plus/README.md +0 -0
  385. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/tutorials/04-playlist-plus/playlist.py +0 -0
  386. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/tutorials/05-hello-cloud/README.md +0 -0
  387. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/tutorials/05-hello-cloud/hello-cloud.ipynb +0 -0
  388. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/tutorials/05-hello-cloud/hello-cloud.py +0 -0
  389. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/tutorials/06-statistics-redux/README.md +0 -0
  390. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/tutorials/06-statistics-redux/stats.ipynb +0 -0
  391. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/tutorials/07-worldview/README.md +0 -0
  392. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/tutorials/07-worldview/worldview.ipynb +0 -0
  393. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/tutorials/08-autopilot/README.md +0 -0
  394. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/tutorials/08-autopilot/autopilot.ipynb +0 -0
  395. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/unbounded_foreach.py +0 -0
  396. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/user_configs/__init__.py +0 -0
  397. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/user_configs/config_decorators.py +0 -0
  398. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/user_configs/config_options.py +0 -0
  399. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/user_configs/config_parameters.py +0 -0
  400. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/util.py +0 -0
  401. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow/vendor.py +0 -0
  402. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow.egg-info/SOURCES.txt +0 -0
  403. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow.egg-info/dependency_links.txt +0 -0
  404. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow.egg-info/entry_points.txt +0 -0
  405. {metaflow-2.15.15 → metaflow-2.15.16}/metaflow.egg-info/top_level.txt +0 -0
  406. {metaflow-2.15.15 → metaflow-2.15.16}/setup.cfg +0 -0
  407. {metaflow-2.15.15 → metaflow-2.15.16}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: metaflow
3
- Version: 2.15.15
3
+ Version: 2.15.16
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.15; extra == "stubs"
29
+ Requires-Dist: metaflow-stubs==2.15.16; extra == "stubs"
30
30
  Dynamic: author
31
31
  Dynamic: author-email
32
32
  Dynamic: classifier
@@ -488,9 +488,6 @@ class StubGenerator:
488
488
  self._imports.add(name)
489
489
 
490
490
  def _add_to_typing_check(name, is_module=False):
491
- # if name != self._current_module_name:
492
- # self._typing_imports.add(name)
493
- #
494
491
  if name == "None":
495
492
  return
496
493
  if is_module:
@@ -504,6 +501,24 @@ class StubGenerator:
504
501
  # the current file
505
502
  self._typing_imports.add(splits[0])
506
503
 
504
+ def _format_qualified_class_name(cls: type) -> str:
505
+ """Helper to format a class with its qualified module name"""
506
+ # Special case for NoneType - return None
507
+ if cls.__name__ == "NoneType":
508
+ return "None"
509
+
510
+ module = inspect.getmodule(cls)
511
+ if (
512
+ module
513
+ and module.__name__ != "builtins"
514
+ and module.__name__ != "__main__"
515
+ ):
516
+ module_name = self._get_module_name_alias(module.__name__)
517
+ _add_to_typing_check(module_name, is_module=True)
518
+ return f"{module_name}.{cls.__name__}"
519
+ else:
520
+ return cls.__name__
521
+
507
522
  if isinstance(element, str):
508
523
  # Special case for self referential things (particularly in a class)
509
524
  if element == self._current_name:
@@ -557,19 +572,15 @@ class StubGenerator:
557
572
  return element.__name__
558
573
  elif isinstance(element, type(Ellipsis)):
559
574
  return "..."
560
- # elif (
561
- # isinstance(element, typing._GenericAlias)
562
- # and hasattr(element, "_name")
563
- # and element._name in ("List", "Tuple", "Dict", "Set")
564
- # ):
565
- # # 3.7 has these as _GenericAlias but they don't behave like the ones in 3.10
566
- # _add_to_import("typing")
567
- # return str(element)
568
575
  elif isinstance(element, typing._GenericAlias):
569
576
  # We need to check things recursively in __args__ if it exists
570
577
  args_str = []
571
578
  for arg in getattr(element, "__args__", []):
572
- args_str.append(self._get_element_name_with_module(arg))
579
+ # Special handling for class objects in type arguments
580
+ if isinstance(arg, type):
581
+ args_str.append(_format_qualified_class_name(arg))
582
+ else:
583
+ args_str.append(self._get_element_name_with_module(arg))
573
584
 
574
585
  _add_to_import("typing")
575
586
  if element._name:
@@ -584,12 +595,15 @@ class StubGenerator:
584
595
  args_str = [call_args, args_str[-1]]
585
596
  return "typing.%s[%s]" % (element._name, ", ".join(args_str))
586
597
  else:
587
- return "%s[%s]" % (element.__origin__, ", ".join(args_str))
598
+ # Handle the case where we have a generic type without a _name
599
+ origin = element.__origin__
600
+ if isinstance(origin, type):
601
+ origin_str = _format_qualified_class_name(origin)
602
+ else:
603
+ origin_str = str(origin)
604
+ return "%s[%s]" % (origin_str, ", ".join(args_str))
588
605
  elif isinstance(element, ForwardRef):
589
606
  f_arg = self._get_module_name_alias(element.__forward_arg__)
590
- # if f_arg in ("Run", "Task"): # HACK -- forward references in current.py
591
- # _add_to_import("metaflow")
592
- # f_arg = "metaflow.%s" % f_arg
593
607
  _add_to_typing_check(f_arg)
594
608
  return '"%s"' % f_arg
595
609
  elif inspect.getmodule(element) == inspect.getmodule(typing):
@@ -9,59 +9,16 @@ from metaflow.exception import MetaflowException
9
9
  from metaflow.plugins.argo.argo_client import ArgoClient
10
10
  from metaflow.metaflow_config import KUBERNETES_NAMESPACE
11
11
  from metaflow.plugins.argo.argo_workflows import ArgoWorkflows
12
- from metaflow.runner.deployer import Deployer, DeployedFlow, TriggeredRun
12
+ from metaflow.runner.deployer import (
13
+ Deployer,
14
+ DeployedFlow,
15
+ TriggeredRun,
16
+ generate_fake_flow_file_contents,
17
+ )
13
18
 
14
19
  from metaflow.runner.utils import get_lower_level_group, handle_timeout, temporary_fifo
15
20
 
16
21
 
17
- def generate_fake_flow_file_contents(
18
- flow_name: str, param_info: dict, project_name: Optional[str] = None
19
- ):
20
- params_code = ""
21
- for _, param_details in param_info.items():
22
- param_python_var_name = param_details["python_var_name"]
23
- param_name = param_details["name"]
24
- param_type = param_details["type"]
25
- param_help = param_details["description"]
26
- param_required = param_details["is_required"]
27
-
28
- if param_type == "JSON":
29
- params_code += (
30
- f" {param_python_var_name} = Parameter('{param_name}', "
31
- f"type=JSONType, help='''{param_help}''', required={param_required})\n"
32
- )
33
- elif param_type == "FilePath":
34
- is_text = param_details.get("is_text", True)
35
- encoding = param_details.get("encoding", "utf-8")
36
- params_code += (
37
- f" {param_python_var_name} = IncludeFile('{param_name}', "
38
- f"is_text={is_text}, encoding='{encoding}', help='''{param_help}''', "
39
- f"required={param_required})\n"
40
- )
41
- else:
42
- params_code += (
43
- f" {param_python_var_name} = Parameter('{param_name}', "
44
- f"type={param_type}, help='''{param_help}''', required={param_required})\n"
45
- )
46
-
47
- project_decorator = f"@project(name='{project_name}')\n" if project_name else ""
48
-
49
- contents = f"""\
50
- from metaflow import FlowSpec, Parameter, IncludeFile, JSONType, step, project
51
- {project_decorator}class {flow_name}(FlowSpec):
52
- {params_code}
53
- @step
54
- def start(self):
55
- self.next(self.end)
56
- @step
57
- def end(self):
58
- pass
59
- if __name__ == '__main__':
60
- {flow_name}()
61
- """
62
- return contents
63
-
64
-
65
22
  class ArgoWorkflowsTriggeredRun(TriggeredRun):
66
23
  """
67
24
  A class representing a triggered Argo Workflow execution.
@@ -35,6 +35,12 @@ class Boto3ClientProvider(object):
35
35
  "Could not import module 'boto3'. Install boto3 first."
36
36
  )
37
37
 
38
+ # Convert dictionary config to Config object if needed
39
+ if "config" in client_params and not isinstance(
40
+ client_params["config"], Config
41
+ ):
42
+ client_params["config"] = Config(**client_params["config"])
43
+
38
44
  if module == "s3" and (
39
45
  "config" not in client_params or client_params["config"].retries is None
40
46
  ):
@@ -131,7 +131,7 @@ def normalize_client_error(err):
131
131
  except ValueError:
132
132
  if error_code in ("AccessDenied", "AllAccessDisabled", "InvalidAccessKeyId"):
133
133
  return 403
134
- if error_code == "NoSuchKey":
134
+ if error_code in ("NoSuchKey", "NoSuchBucket"):
135
135
  return 404
136
136
  if error_code == "InvalidRange":
137
137
  return 416
@@ -72,14 +72,18 @@ class ServiceMetadataProvider(MetadataProvider):
72
72
  @classmethod
73
73
  def compute_info(cls, val):
74
74
  v = val.rstrip("/")
75
- try:
76
- resp = cls._session.get(
77
- os.path.join(v, "ping"), headers=SERVICE_HEADERS.copy()
78
- )
79
- resp.raise_for_status()
80
- except: # noqa E722
81
- raise ValueError("Metaflow service [%s] unreachable." % v)
82
- return v
75
+ for i in range(SERVICE_RETRY_COUNT):
76
+ try:
77
+ resp = cls._session.get(
78
+ os.path.join(v, "ping"), headers=SERVICE_HEADERS.copy()
79
+ )
80
+ resp.raise_for_status()
81
+ except: # noqa E722
82
+ time.sleep(2 ** (i - 1))
83
+ else:
84
+ return v
85
+
86
+ raise ValueError("Metaflow service [%s] unreachable." % v)
83
87
 
84
88
  @classmethod
85
89
  def default_info(cls):
@@ -7,6 +7,55 @@ from typing import ClassVar, Dict, Optional, TYPE_CHECKING
7
7
  from metaflow.exception import MetaflowNotFound
8
8
  from metaflow.metaflow_config import DEFAULT_FROM_DEPLOYMENT_IMPL
9
9
 
10
+
11
+ def generate_fake_flow_file_contents(
12
+ flow_name: str, param_info: dict, project_name: Optional[str] = None
13
+ ):
14
+ params_code = ""
15
+ for _, param_details in param_info.items():
16
+ param_python_var_name = param_details["python_var_name"]
17
+ param_name = param_details["name"]
18
+ param_type = param_details["type"]
19
+ param_help = param_details["description"]
20
+ param_required = param_details["is_required"]
21
+
22
+ if param_type == "JSON":
23
+ params_code += (
24
+ f" {param_python_var_name} = Parameter('{param_name}', "
25
+ f"type=JSONType, help='''{param_help}''', required={param_required})\n"
26
+ )
27
+ elif param_type == "FilePath":
28
+ is_text = param_details.get("is_text", True)
29
+ encoding = param_details.get("encoding", "utf-8")
30
+ params_code += (
31
+ f" {param_python_var_name} = IncludeFile('{param_name}', "
32
+ f"is_text={is_text}, encoding='{encoding}', help='''{param_help}''', "
33
+ f"required={param_required})\n"
34
+ )
35
+ else:
36
+ params_code += (
37
+ f" {param_python_var_name} = Parameter('{param_name}', "
38
+ f"type={param_type}, help='''{param_help}''', required={param_required})\n"
39
+ )
40
+
41
+ project_decorator = f"@project(name='{project_name}')\n" if project_name else ""
42
+
43
+ contents = f"""\
44
+ from metaflow import FlowSpec, Parameter, IncludeFile, JSONType, step, project
45
+ {project_decorator}class {flow_name}(FlowSpec):
46
+ {params_code}
47
+ @step
48
+ def start(self):
49
+ self.next(self.end)
50
+ @step
51
+ def end(self):
52
+ pass
53
+ if __name__ == '__main__':
54
+ {flow_name}()
55
+ """
56
+ return contents
57
+
58
+
10
59
  if TYPE_CHECKING:
11
60
  import metaflow
12
61
  import metaflow.runner.deployer_impl
@@ -0,0 +1 @@
1
+ metaflow_version = "2.15.16"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: metaflow
3
- Version: 2.15.15
3
+ Version: 2.15.16
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.15; extra == "stubs"
29
+ Requires-Dist: metaflow-stubs==2.15.16; 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.15.15
5
+ metaflow-stubs==2.15.16
@@ -1 +0,0 @@
1
- metaflow_version = "2.15.15"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes