ob-metaflow 2.18.7.5__tar.gz → 2.18.9.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.

Potentially problematic release.


This version of ob-metaflow might be problematic. Click here for more details.

Files changed (447) hide show
  1. {ob_metaflow-2.18.7.5/ob_metaflow.egg-info → ob_metaflow-2.18.9.1}/PKG-INFO +3 -2
  2. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/README.md +1 -0
  3. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/devtools/Tiltfile +76 -2
  4. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/devtools/pick_services.sh +1 -0
  5. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/includefile.py +25 -3
  6. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/__init__.py +1 -0
  7. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/datatools/s3/s3.py +3 -0
  8. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/datatools/s3/s3op.py +13 -0
  9. ob_metaflow-2.18.9.1/metaflow/plugins/parsers.py +16 -0
  10. ob_metaflow-2.18.9.1/metaflow/version.py +1 -0
  11. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1/ob_metaflow.egg-info}/PKG-INFO +3 -2
  12. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/ob_metaflow.egg-info/SOURCES.txt +1 -0
  13. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/ob_metaflow.egg-info/requires.txt +1 -1
  14. ob_metaflow-2.18.7.5/metaflow/version.py +0 -1
  15. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/LICENSE +0 -0
  16. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/MANIFEST.in +0 -0
  17. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/devtools/Makefile +0 -0
  18. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/R.py +0 -0
  19. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/__init__.py +0 -0
  20. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/__init__.py +0 -0
  21. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/click/__init__.py +0 -0
  22. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/click/_bashcomplete.py +0 -0
  23. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/click/_compat.py +0 -0
  24. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/click/_termui_impl.py +0 -0
  25. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/click/_textwrap.py +0 -0
  26. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/click/_unicodefun.py +0 -0
  27. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/click/_winconsole.py +0 -0
  28. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/click/core.py +0 -0
  29. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/click/decorators.py +0 -0
  30. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/click/exceptions.py +0 -0
  31. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/click/formatting.py +0 -0
  32. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/click/globals.py +0 -0
  33. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/click/parser.py +0 -0
  34. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/click/termui.py +0 -0
  35. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/click/testing.py +0 -0
  36. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/click/types.py +0 -0
  37. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/click/utils.py +0 -0
  38. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/imghdr/__init__.py +0 -0
  39. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/importlib_metadata/__init__.py +0 -0
  40. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/importlib_metadata/_adapters.py +0 -0
  41. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/importlib_metadata/_collections.py +0 -0
  42. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/importlib_metadata/_compat.py +0 -0
  43. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/importlib_metadata/_functools.py +0 -0
  44. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/importlib_metadata/_itertools.py +0 -0
  45. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/importlib_metadata/_meta.py +0 -0
  46. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/importlib_metadata/_text.py +0 -0
  47. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/importlib_metadata/py.typed +0 -0
  48. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/packaging/__init__.py +0 -0
  49. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/packaging/_elffile.py +0 -0
  50. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/packaging/_manylinux.py +0 -0
  51. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/packaging/_musllinux.py +0 -0
  52. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/packaging/_parser.py +0 -0
  53. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/packaging/_structures.py +0 -0
  54. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/packaging/_tokenizer.py +0 -0
  55. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/packaging/markers.py +0 -0
  56. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/packaging/py.typed +0 -0
  57. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/packaging/requirements.py +0 -0
  58. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/packaging/specifiers.py +0 -0
  59. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/packaging/tags.py +0 -0
  60. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/packaging/utils.py +0 -0
  61. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/packaging/version.py +0 -0
  62. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/typeguard/__init__.py +0 -0
  63. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/typeguard/_checkers.py +0 -0
  64. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/typeguard/_config.py +0 -0
  65. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/typeguard/_decorators.py +0 -0
  66. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/typeguard/_exceptions.py +0 -0
  67. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/typeguard/_functions.py +0 -0
  68. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/typeguard/_importhook.py +0 -0
  69. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/typeguard/_memo.py +0 -0
  70. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/typeguard/_pytest_plugin.py +0 -0
  71. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/typeguard/_suppression.py +0 -0
  72. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/typeguard/_transformer.py +0 -0
  73. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/typeguard/_union_transformer.py +0 -0
  74. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/typeguard/_utils.py +0 -0
  75. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/typeguard/py.typed +0 -0
  76. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/typing_extensions.py +0 -0
  77. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_6/__init__.py +0 -0
  78. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_6/importlib_metadata/__init__.py +0 -0
  79. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_6/importlib_metadata/_adapters.py +0 -0
  80. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_6/importlib_metadata/_collections.py +0 -0
  81. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_6/importlib_metadata/_compat.py +0 -0
  82. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_6/importlib_metadata/_functools.py +0 -0
  83. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_6/importlib_metadata/_itertools.py +0 -0
  84. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_6/importlib_metadata/_meta.py +0 -0
  85. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_6/importlib_metadata/_text.py +0 -0
  86. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_6/importlib_metadata/py.typed +0 -0
  87. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_6/typing_extensions.py +0 -0
  88. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_6/zipp.py +0 -0
  89. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_7/__init__.py +0 -0
  90. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_7/importlib_metadata/__init__.py +0 -0
  91. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_7/importlib_metadata/_adapters.py +0 -0
  92. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_7/importlib_metadata/_collections.py +0 -0
  93. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_7/importlib_metadata/_compat.py +0 -0
  94. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_7/importlib_metadata/_functools.py +0 -0
  95. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_7/importlib_metadata/_itertools.py +0 -0
  96. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_7/importlib_metadata/_meta.py +0 -0
  97. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_7/importlib_metadata/_text.py +0 -0
  98. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_7/importlib_metadata/py.typed +0 -0
  99. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_7/typeguard/__init__.py +0 -0
  100. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_7/typeguard/_checkers.py +0 -0
  101. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_7/typeguard/_config.py +0 -0
  102. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_7/typeguard/_decorators.py +0 -0
  103. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_7/typeguard/_exceptions.py +0 -0
  104. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_7/typeguard/_functions.py +0 -0
  105. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_7/typeguard/_importhook.py +0 -0
  106. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_7/typeguard/_memo.py +0 -0
  107. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_7/typeguard/_pytest_plugin.py +0 -0
  108. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_7/typeguard/_suppression.py +0 -0
  109. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_7/typeguard/_transformer.py +0 -0
  110. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_7/typeguard/_union_transformer.py +0 -0
  111. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_7/typeguard/_utils.py +0 -0
  112. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_7/typeguard/py.typed +0 -0
  113. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_7/typing_extensions.py +0 -0
  114. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/v3_7/zipp.py +0 -0
  115. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/yaml/__init__.py +0 -0
  116. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/yaml/composer.py +0 -0
  117. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/yaml/constructor.py +0 -0
  118. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/yaml/cyaml.py +0 -0
  119. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/yaml/dumper.py +0 -0
  120. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/yaml/emitter.py +0 -0
  121. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/yaml/error.py +0 -0
  122. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/yaml/events.py +0 -0
  123. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/yaml/loader.py +0 -0
  124. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/yaml/nodes.py +0 -0
  125. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/yaml/parser.py +0 -0
  126. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/yaml/reader.py +0 -0
  127. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/yaml/representer.py +0 -0
  128. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/yaml/resolver.py +0 -0
  129. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/yaml/scanner.py +0 -0
  130. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/yaml/serializer.py +0 -0
  131. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/yaml/tokens.py +0 -0
  132. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/_vendor/zipp.py +0 -0
  133. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/cards.py +0 -0
  134. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/cli.py +0 -0
  135. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/cli_args.py +0 -0
  136. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/cli_components/__init__.py +0 -0
  137. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/cli_components/dump_cmd.py +0 -0
  138. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/cli_components/init_cmd.py +0 -0
  139. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/cli_components/run_cmds.py +0 -0
  140. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/cli_components/step_cmd.py +0 -0
  141. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/cli_components/utils.py +0 -0
  142. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/client/__init__.py +0 -0
  143. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/client/core.py +0 -0
  144. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/client/filecache.py +0 -0
  145. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/clone_util.py +0 -0
  146. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/cmd/__init__.py +0 -0
  147. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/cmd/code/__init__.py +0 -0
  148. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/cmd/configure_cmd.py +0 -0
  149. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/cmd/develop/__init__.py +0 -0
  150. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/cmd/develop/stub_generator.py +0 -0
  151. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/cmd/develop/stubs.py +0 -0
  152. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/cmd/main_cli.py +0 -0
  153. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/cmd/make_wrapper.py +0 -0
  154. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/cmd/tutorials_cmd.py +0 -0
  155. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/cmd/util.py +0 -0
  156. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/cmd_with_io.py +0 -0
  157. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/datastore/__init__.py +0 -0
  158. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/datastore/content_addressed_store.py +0 -0
  159. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/datastore/datastore_set.py +0 -0
  160. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/datastore/datastore_storage.py +0 -0
  161. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/datastore/exceptions.py +0 -0
  162. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/datastore/flow_datastore.py +0 -0
  163. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/datastore/inputs.py +0 -0
  164. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/datastore/task_datastore.py +0 -0
  165. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/debug.py +0 -0
  166. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/decorators.py +0 -0
  167. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/event_logger.py +0 -0
  168. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/events.py +0 -0
  169. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/exception.py +0 -0
  170. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/extension_support/__init__.py +0 -0
  171. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/extension_support/_empty_file.py +0 -0
  172. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/extension_support/cmd.py +0 -0
  173. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/extension_support/integrations.py +0 -0
  174. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/extension_support/plugins.py +0 -0
  175. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/flowspec.py +0 -0
  176. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/graph.py +0 -0
  177. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/integrations.py +0 -0
  178. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/lint.py +0 -0
  179. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/meta_files.py +0 -0
  180. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/metadata_provider/__init__.py +0 -0
  181. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/metadata_provider/heartbeat.py +0 -0
  182. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/metadata_provider/metadata.py +0 -0
  183. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/metadata_provider/util.py +0 -0
  184. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/metaflow_config.py +0 -0
  185. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/metaflow_config_funcs.py +0 -0
  186. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/metaflow_current.py +0 -0
  187. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/metaflow_environment.py +0 -0
  188. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/metaflow_git.py +0 -0
  189. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/metaflow_profile.py +0 -0
  190. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/metaflow_version.py +0 -0
  191. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/mflog/__init__.py +0 -0
  192. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/mflog/mflog.py +0 -0
  193. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/mflog/save_logs.py +0 -0
  194. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/mflog/save_logs_periodically.py +0 -0
  195. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/mflog/tee.py +0 -0
  196. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/monitor.py +0 -0
  197. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/multicore_utils.py +0 -0
  198. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/package/__init__.py +0 -0
  199. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/packaging_sys/__init__.py +0 -0
  200. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/packaging_sys/backend.py +0 -0
  201. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/packaging_sys/distribution_support.py +0 -0
  202. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/packaging_sys/tar_backend.py +0 -0
  203. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/packaging_sys/utils.py +0 -0
  204. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/packaging_sys/v1.py +0 -0
  205. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/parameters.py +0 -0
  206. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/airflow/__init__.py +0 -0
  207. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/airflow/airflow.py +0 -0
  208. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/airflow/airflow_cli.py +0 -0
  209. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/airflow/airflow_decorator.py +0 -0
  210. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/airflow/airflow_utils.py +0 -0
  211. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/airflow/dag.py +0 -0
  212. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/airflow/exception.py +0 -0
  213. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/airflow/plumbing/__init__.py +0 -0
  214. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/airflow/plumbing/set_parameters.py +0 -0
  215. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/airflow/sensors/__init__.py +0 -0
  216. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/airflow/sensors/base_sensor.py +0 -0
  217. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/airflow/sensors/external_task_sensor.py +0 -0
  218. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/airflow/sensors/s3_sensor.py +0 -0
  219. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/argo/__init__.py +0 -0
  220. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/argo/argo_client.py +0 -0
  221. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/argo/argo_events.py +0 -0
  222. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/argo/argo_workflows.py +0 -0
  223. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/argo/argo_workflows_cli.py +0 -0
  224. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/argo/argo_workflows_decorator.py +0 -0
  225. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/argo/argo_workflows_deployer.py +0 -0
  226. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/argo/argo_workflows_deployer_objects.py +0 -0
  227. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/argo/capture_error.py +0 -0
  228. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/argo/conditional_input_paths.py +0 -0
  229. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/argo/exit_hooks.py +0 -0
  230. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/argo/generate_input_paths.py +0 -0
  231. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/argo/jobset_input_paths.py +0 -0
  232. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/aws/__init__.py +0 -0
  233. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/aws/aws_client.py +0 -0
  234. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/aws/aws_utils.py +0 -0
  235. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/aws/batch/__init__.py +0 -0
  236. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/aws/batch/batch.py +0 -0
  237. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/aws/batch/batch_cli.py +0 -0
  238. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/aws/batch/batch_client.py +0 -0
  239. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/aws/batch/batch_decorator.py +0 -0
  240. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/aws/secrets_manager/__init__.py +0 -0
  241. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/aws/secrets_manager/aws_secrets_manager_secrets_provider.py +0 -0
  242. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/aws/step_functions/__init__.py +0 -0
  243. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/aws/step_functions/dynamo_db_client.py +0 -0
  244. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/aws/step_functions/event_bridge_client.py +0 -0
  245. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/aws/step_functions/production_token.py +0 -0
  246. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/aws/step_functions/schedule_decorator.py +0 -0
  247. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/aws/step_functions/set_batch_environment.py +0 -0
  248. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/aws/step_functions/step_functions.py +0 -0
  249. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/aws/step_functions/step_functions_cli.py +0 -0
  250. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/aws/step_functions/step_functions_client.py +0 -0
  251. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/aws/step_functions/step_functions_decorator.py +0 -0
  252. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/aws/step_functions/step_functions_deployer.py +0 -0
  253. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/aws/step_functions/step_functions_deployer_objects.py +0 -0
  254. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/azure/__init__.py +0 -0
  255. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/azure/azure_credential.py +0 -0
  256. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/azure/azure_exceptions.py +0 -0
  257. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/azure/azure_secret_manager_secrets_provider.py +0 -0
  258. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/azure/azure_tail.py +0 -0
  259. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/azure/azure_utils.py +0 -0
  260. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/azure/blob_service_client_factory.py +0 -0
  261. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/azure/includefile_support.py +0 -0
  262. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/cards/__init__.py +0 -0
  263. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/cards/card_cli.py +0 -0
  264. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/cards/card_client.py +0 -0
  265. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/cards/card_creator.py +0 -0
  266. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/cards/card_datastore.py +0 -0
  267. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/cards/card_decorator.py +0 -0
  268. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/cards/card_modules/__init__.py +0 -0
  269. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/cards/card_modules/base.html +0 -0
  270. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/cards/card_modules/basic.py +0 -0
  271. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/cards/card_modules/bundle.css +0 -0
  272. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/cards/card_modules/card.py +0 -0
  273. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/cards/card_modules/chevron/__init__.py +0 -0
  274. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/cards/card_modules/chevron/main.py +0 -0
  275. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/cards/card_modules/chevron/metadata.py +0 -0
  276. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/cards/card_modules/chevron/renderer.py +0 -0
  277. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/cards/card_modules/chevron/tokenizer.py +0 -0
  278. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/cards/card_modules/components.py +0 -0
  279. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/cards/card_modules/convert_to_native_type.py +0 -0
  280. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/cards/card_modules/main.css +0 -0
  281. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/cards/card_modules/main.js +0 -0
  282. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/cards/card_modules/renderer_tools.py +0 -0
  283. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/cards/card_modules/test_cards.py +0 -0
  284. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/cards/card_resolver.py +0 -0
  285. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/cards/card_server.py +0 -0
  286. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/cards/card_viewer/viewer.html +0 -0
  287. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/cards/component_serializer.py +0 -0
  288. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/cards/exception.py +0 -0
  289. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/cards/metadata.py +0 -0
  290. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/catch_decorator.py +0 -0
  291. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/datastores/__init__.py +0 -0
  292. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/datastores/azure_storage.py +0 -0
  293. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/datastores/gs_storage.py +0 -0
  294. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/datastores/local_storage.py +0 -0
  295. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/datastores/s3_storage.py +0 -0
  296. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/datatools/__init__.py +0 -0
  297. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/datatools/local.py +0 -0
  298. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/datatools/s3/__init__.py +0 -0
  299. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/datatools/s3/s3tail.py +0 -0
  300. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/datatools/s3/s3util.py +0 -0
  301. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/debug_logger.py +0 -0
  302. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/debug_monitor.py +0 -0
  303. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/env_escape/__init__.py +0 -0
  304. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/env_escape/client.py +0 -0
  305. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/env_escape/client_modules.py +0 -0
  306. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/env_escape/communication/__init__.py +0 -0
  307. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/env_escape/communication/bytestream.py +0 -0
  308. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/env_escape/communication/channel.py +0 -0
  309. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/env_escape/communication/socket_bytestream.py +0 -0
  310. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/env_escape/communication/utils.py +0 -0
  311. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/env_escape/configurations/emulate_test_lib/__init__.py +0 -0
  312. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/env_escape/configurations/emulate_test_lib/overrides.py +0 -0
  313. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/env_escape/configurations/emulate_test_lib/server_mappings.py +0 -0
  314. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/env_escape/configurations/test_lib_impl/__init__.py +0 -0
  315. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/env_escape/configurations/test_lib_impl/test_lib.py +0 -0
  316. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/env_escape/consts.py +0 -0
  317. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/env_escape/data_transferer.py +0 -0
  318. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/env_escape/exception_transferer.py +0 -0
  319. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/env_escape/override_decorators.py +0 -0
  320. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/env_escape/server.py +0 -0
  321. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/env_escape/stub.py +0 -0
  322. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/env_escape/utils.py +0 -0
  323. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/environment_decorator.py +0 -0
  324. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/events_decorator.py +0 -0
  325. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/exit_hook/__init__.py +0 -0
  326. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/exit_hook/exit_hook_decorator.py +0 -0
  327. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/exit_hook/exit_hook_script.py +0 -0
  328. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/frameworks/__init__.py +0 -0
  329. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/frameworks/pytorch.py +0 -0
  330. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/gcp/__init__.py +0 -0
  331. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/gcp/gcp_secret_manager_secrets_provider.py +0 -0
  332. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/gcp/gs_exceptions.py +0 -0
  333. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/gcp/gs_storage_client_factory.py +0 -0
  334. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/gcp/gs_tail.py +0 -0
  335. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/gcp/gs_utils.py +0 -0
  336. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/gcp/includefile_support.py +0 -0
  337. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/kubernetes/__init__.py +0 -0
  338. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/kubernetes/kube_utils.py +0 -0
  339. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/kubernetes/kubernetes.py +0 -0
  340. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/kubernetes/kubernetes_cli.py +0 -0
  341. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/kubernetes/kubernetes_client.py +0 -0
  342. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/kubernetes/kubernetes_decorator.py +0 -0
  343. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/kubernetes/kubernetes_job.py +0 -0
  344. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/kubernetes/kubernetes_jobsets.py +0 -0
  345. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/kubernetes/spot_metadata_cli.py +0 -0
  346. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/kubernetes/spot_monitor_sidecar.py +0 -0
  347. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/logs_cli.py +0 -0
  348. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/metadata_providers/__init__.py +0 -0
  349. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/metadata_providers/local.py +0 -0
  350. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/metadata_providers/service.py +0 -0
  351. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/package_cli.py +0 -0
  352. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/parallel_decorator.py +0 -0
  353. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/project_decorator.py +0 -0
  354. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/pypi/__init__.py +0 -0
  355. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/pypi/bootstrap.py +0 -0
  356. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/pypi/conda_decorator.py +0 -0
  357. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/pypi/conda_environment.py +0 -0
  358. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/pypi/micromamba.py +0 -0
  359. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/pypi/parsers.py +0 -0
  360. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/pypi/pip.py +0 -0
  361. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/pypi/pypi_decorator.py +0 -0
  362. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/pypi/pypi_environment.py +0 -0
  363. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/pypi/utils.py +0 -0
  364. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/resources_decorator.py +0 -0
  365. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/retry_decorator.py +0 -0
  366. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/secrets/__init__.py +0 -0
  367. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/secrets/inline_secrets_provider.py +0 -0
  368. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/secrets/secrets_decorator.py +0 -0
  369. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/secrets/secrets_func.py +0 -0
  370. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/secrets/secrets_spec.py +0 -0
  371. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/secrets/utils.py +0 -0
  372. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/storage_executor.py +0 -0
  373. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/tag_cli.py +0 -0
  374. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/test_unbounded_foreach_decorator.py +0 -0
  375. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/timeout_decorator.py +0 -0
  376. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/uv/__init__.py +0 -0
  377. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/uv/bootstrap.py +0 -0
  378. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/plugins/uv/uv_environment.py +0 -0
  379. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/procpoll.py +0 -0
  380. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/py.typed +0 -0
  381. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/pylint_wrapper.py +0 -0
  382. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/runner/__init__.py +0 -0
  383. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/runner/click_api.py +0 -0
  384. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/runner/deployer.py +0 -0
  385. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/runner/deployer_impl.py +0 -0
  386. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/runner/metaflow_runner.py +0 -0
  387. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/runner/nbdeploy.py +0 -0
  388. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/runner/nbrun.py +0 -0
  389. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/runner/subprocess_manager.py +0 -0
  390. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/runner/utils.py +0 -0
  391. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/runtime.py +0 -0
  392. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/sidecar/__init__.py +0 -0
  393. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/sidecar/sidecar.py +0 -0
  394. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/sidecar/sidecar_messages.py +0 -0
  395. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/sidecar/sidecar_subprocess.py +0 -0
  396. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/sidecar/sidecar_worker.py +0 -0
  397. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/system/__init__.py +0 -0
  398. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/system/system_logger.py +0 -0
  399. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/system/system_monitor.py +0 -0
  400. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/system/system_utils.py +0 -0
  401. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/tagging_util.py +0 -0
  402. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/task.py +0 -0
  403. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/tracing/__init__.py +0 -0
  404. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/tracing/propagator.py +0 -0
  405. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/tracing/span_exporter.py +0 -0
  406. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/tracing/tracing_modules.py +0 -0
  407. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/tuple_util.py +0 -0
  408. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/tutorials/00-helloworld/README.md +0 -0
  409. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/tutorials/00-helloworld/helloworld.py +0 -0
  410. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/tutorials/01-playlist/README.md +0 -0
  411. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/tutorials/01-playlist/movies.csv +0 -0
  412. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/tutorials/01-playlist/playlist.ipynb +0 -0
  413. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/tutorials/01-playlist/playlist.py +0 -0
  414. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/tutorials/02-statistics/README.md +0 -0
  415. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/tutorials/02-statistics/movies.csv +0 -0
  416. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/tutorials/02-statistics/stats.ipynb +0 -0
  417. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/tutorials/02-statistics/stats.py +0 -0
  418. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/tutorials/03-playlist-redux/README.md +0 -0
  419. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/tutorials/03-playlist-redux/playlist.py +0 -0
  420. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/tutorials/04-playlist-plus/README.md +0 -0
  421. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/tutorials/04-playlist-plus/playlist.py +0 -0
  422. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/tutorials/05-hello-cloud/README.md +0 -0
  423. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/tutorials/05-hello-cloud/hello-cloud.ipynb +0 -0
  424. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/tutorials/05-hello-cloud/hello-cloud.py +0 -0
  425. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/tutorials/06-statistics-redux/README.md +0 -0
  426. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/tutorials/06-statistics-redux/stats.ipynb +0 -0
  427. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/tutorials/07-worldview/README.md +0 -0
  428. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/tutorials/07-worldview/worldview.ipynb +0 -0
  429. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/tutorials/08-autopilot/README.md +0 -0
  430. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/tutorials/08-autopilot/autopilot.ipynb +0 -0
  431. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/unbounded_foreach.py +0 -0
  432. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/user_configs/__init__.py +0 -0
  433. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/user_configs/config_options.py +0 -0
  434. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/user_configs/config_parameters.py +0 -0
  435. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/user_decorators/__init__.py +0 -0
  436. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/user_decorators/common.py +0 -0
  437. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/user_decorators/mutable_flow.py +0 -0
  438. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/user_decorators/mutable_step.py +0 -0
  439. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/user_decorators/user_flow_decorator.py +0 -0
  440. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/user_decorators/user_step_decorator.py +0 -0
  441. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/util.py +0 -0
  442. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/metaflow/vendor.py +0 -0
  443. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/ob_metaflow.egg-info/dependency_links.txt +0 -0
  444. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/ob_metaflow.egg-info/entry_points.txt +0 -0
  445. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/ob_metaflow.egg-info/top_level.txt +0 -0
  446. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/setup.cfg +0 -0
  447. {ob_metaflow-2.18.7.5 → ob_metaflow-2.18.9.1}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ob-metaflow
3
- Version: 2.18.7.5
3
+ Version: 2.18.9.1
4
4
  Summary: Metaflow: More AI and ML, Less Engineering
5
5
  Author: Netflix, Outerbounds & the Metaflow Community
6
6
  Author-email: help@outerbounds.co
@@ -12,7 +12,7 @@ Requires-Dist: boto3
12
12
  Requires-Dist: pylint
13
13
  Requires-Dist: kubernetes
14
14
  Provides-Extra: stubs
15
- Requires-Dist: metaflow-stubs==2.18.7.5; extra == "stubs"
15
+ Requires-Dist: metaflow-stubs==2.18.9.1; extra == "stubs"
16
16
  Dynamic: author
17
17
  Dynamic: author-email
18
18
  Dynamic: description
@@ -86,3 +86,4 @@ We'd love to hear from you. Join our community [Slack workspace](http://slack.ou
86
86
  ## Contributing
87
87
  We welcome contributions to Metaflow. Please see our [contribution guide](https://docs.metaflow.org/introduction/contributing-to-metaflow) for more details.
88
88
 
89
+
@@ -61,3 +61,4 @@ We'd love to hear from you. Join our community [Slack workspace](http://slack.ou
61
61
  ## Contributing
62
62
  We welcome contributions to Metaflow. Please see our [contribution guide](https://docs.metaflow.org/introduction/contributing-to-metaflow) for more details.
63
63
 
64
+
@@ -14,6 +14,17 @@
14
14
  version_settings(constraint='>=0.22.2')
15
15
  allow_k8s_contexts('minikube')
16
16
 
17
+ # Version configuration for components
18
+ JOBSET_VERSION = os.getenv("JOBSET_VERSION", "v0.8.2")
19
+
20
+ # Argo Workflows versions
21
+ ARGO_WORKFLOWS_HELM_CHART_VERSION = os.getenv("ARGO_WORKFLOWS_HELM_CHART_VERSION", "0.45.2") # Helm chart version
22
+ ARGO_WORKFLOWS_IMAGE_TAG = os.getenv("ARGO_WORKFLOWS_IMAGE_TAG", "v3.6.0") # Argo Workflows application version
23
+
24
+ # Argo Events versions
25
+ ARGO_EVENTS_HELM_CHART_VERSION = os.getenv("ARGO_EVENTS_HELM_CHART_VERSION", "2.4.8") # Helm chart version
26
+ ARGO_EVENTS_IMAGE_TAG = os.getenv("ARGO_EVENTS_IMAGE_TAG", "v1.9.2") # Argo Events application version
27
+
17
28
  components = {
18
29
  "metadata-service": ["postgresql"],
19
30
  "ui": ["postgresql", "minio"],
@@ -21,9 +32,10 @@ components = {
21
32
  "postgresql": [],
22
33
  "argo-workflows": [],
23
34
  "argo-events": ["argo-workflows"],
35
+ "jobset": [],
24
36
  }
25
37
 
26
- services_env = os.getenv("SERVICES", "").strip().lower()
38
+ services_env = os.getenv("SERVICES", "all").strip().lower()
27
39
 
28
40
  if services_env:
29
41
  if services_env == "all":
@@ -205,6 +217,7 @@ if "postgresql" in enabled_components:
205
217
  if "argo-workflows" in enabled_components:
206
218
  helm_remote(
207
219
  'argo-workflows',
220
+ version=ARGO_WORKFLOWS_HELM_CHART_VERSION,
208
221
  repo_name='argo',
209
222
  repo_url='https://argoproj.github.io/argo-helm',
210
223
  set=[
@@ -220,7 +233,9 @@ if "argo-workflows" in enabled_components:
220
233
  'controller.resources.requests.memory=128Mi',
221
234
  'controller.resources.requests.cpu=50m',
222
235
  'controller.resources.limits.memory=256Mi',
223
- 'controller.resources.limits.cpu=100m'
236
+ 'controller.resources.limits.cpu=100m',
237
+ # Image version overrides
238
+ 'images.tag=%s' % ARGO_WORKFLOWS_IMAGE_TAG,
224
239
  ]
225
240
  )
226
241
 
@@ -307,6 +322,7 @@ if "argo-workflows" in enabled_components:
307
322
  if "argo-events" in enabled_components:
308
323
  helm_remote(
309
324
  'argo-events',
325
+ version=ARGO_EVENTS_HELM_CHART_VERSION,
310
326
  repo_name='argo',
311
327
  repo_url='https://argoproj.github.io/argo-helm',
312
328
  set=[
@@ -334,6 +350,8 @@ if "argo-events" in enabled_components:
334
350
  'configs.jetstream.versions[1].natsImage=nats:2.9.15',
335
351
  'configs.jetstream.versions[1].startCommand=/nats-server',
336
352
  'configs.jetstream.versions[1].version=2.9.15',
353
+ # Image version overrides
354
+ 'global.image.tag=%s' % ARGO_EVENTS_IMAGE_TAG,
337
355
  ]
338
356
  )
339
357
 
@@ -541,6 +559,62 @@ if "argo-events" in enabled_components:
541
559
  config_resources.append('argo-events-controller-manager')
542
560
  config_resources.append('argo-events-webhook-eventsource-svc')
543
561
 
562
+ #################################################
563
+ # JOBSET
564
+ #################################################
565
+ if "jobset" in enabled_components:
566
+ # Apply JobSet manifests directly from GitHub releases
567
+ jobset_manifest_url = "https://github.com/kubernetes-sigs/jobset/releases/download/%s/manifests.yaml" % JOBSET_VERSION
568
+
569
+ cmd = "curl -sSL %s" % (jobset_manifest_url)
570
+ k8s_yaml(
571
+ local(
572
+ cmd,
573
+ )
574
+ )
575
+
576
+ k8s_resource(
577
+ 'jobset-controller-manager',
578
+ labels=['jobset'],
579
+ )
580
+
581
+ metaflow_config["METAFLOW_KUBERNETES_JOBSET_ENABLED"] = "true"
582
+
583
+ config_resources.append('jobset-controller-manager')
584
+
585
+ # ClusterRole for jobset operations
586
+ k8s_yaml(encode_yaml({
587
+ 'apiVersion': 'rbac.authorization.k8s.io/v1',
588
+ 'kind': 'ClusterRole',
589
+ 'metadata': {
590
+ 'name': 'jobset-full-access'
591
+ },
592
+ 'rules': [{
593
+ 'apiGroups': ['jobset.x-k8s.io'],
594
+ 'resources': ['jobsets'],
595
+ 'verbs': ['*']
596
+ }]
597
+ }))
598
+
599
+ # ClusterRoleBinding for default service account to access jobsets
600
+ k8s_yaml(encode_yaml({
601
+ 'apiVersion': 'rbac.authorization.k8s.io/v1',
602
+ 'kind': 'ClusterRoleBinding',
603
+ 'metadata': {
604
+ 'name': 'default-jobset-binding'
605
+ },
606
+ 'subjects': [{
607
+ 'kind': 'ServiceAccount',
608
+ 'name': 'default',
609
+ 'namespace': 'default'
610
+ }],
611
+ 'roleRef': {
612
+ 'kind': 'ClusterRole',
613
+ 'name': 'jobset-full-access',
614
+ 'apiGroup': 'rbac.authorization.k8s.io'
615
+ }
616
+ }))
617
+
544
618
  #################################################
545
619
  # METADATA SERVICE
546
620
  #################################################
@@ -18,6 +18,7 @@ SERVICE_OPTIONS=(
18
18
  "ui"
19
19
  "argo-workflows"
20
20
  "argo-events"
21
+ "jobset"
21
22
  )
22
23
 
23
24
  gum style "$LOGO" \
@@ -7,9 +7,10 @@ import json
7
7
  import os
8
8
 
9
9
  from hashlib import sha1
10
- from typing import Any, Callable, Dict, Optional
10
+ from typing import Any, Callable, Dict, Optional, Union
11
11
 
12
12
  from metaflow._vendor import click
13
+ from metaflow._vendor import yaml
13
14
 
14
15
  from .exception import MetaflowException
15
16
  from .parameters import (
@@ -20,7 +21,7 @@ from .parameters import (
20
21
  )
21
22
 
22
23
  from .plugins import DATACLIENTS
23
- from .user_configs.config_parameters import ConfigValue
24
+ from .user_configs.config_options import ConfigInput
24
25
  from .util import get_username
25
26
 
26
27
  import functools
@@ -261,6 +262,12 @@ class IncludeFile(Parameter):
261
262
  show_default : bool, default True
262
263
  If True, show the default value in the help text. A value of None is equivalent
263
264
  to True.
265
+ parser : Union[str, Callable[[str], Any]], optional, default None
266
+ If a callable, it is a function that can parse the file contents
267
+ into any desired format. If a string, the string should refer to
268
+ a function (like "my_parser_package.my_parser.my_parser_function") which should
269
+ be able to parse the file contents. If the name starts with a ".", it is assumed
270
+ to be relative to "metaflow".
264
271
  """
265
272
 
266
273
  def __init__(
@@ -270,6 +277,7 @@ class IncludeFile(Parameter):
270
277
  is_text: Optional[bool] = None,
271
278
  encoding: Optional[str] = None,
272
279
  help: Optional[str] = None,
280
+ parser: Optional[Union[str, Callable[[str], Any]]] = None,
273
281
  **kwargs: Dict[str, str]
274
282
  ):
275
283
  self._includefile_overrides = {}
@@ -277,6 +285,7 @@ class IncludeFile(Parameter):
277
285
  self._includefile_overrides["is_text"] = is_text
278
286
  if encoding is not None:
279
287
  self._includefile_overrides["encoding"] = encoding
288
+ self._parser = parser
280
289
  # NOTA: Right now, there is an issue where these can't be overridden by config
281
290
  # in all circumstances. Ignoring for now.
282
291
  super(IncludeFile, self).__init__(
@@ -336,7 +345,20 @@ class IncludeFile(Parameter):
336
345
  def load_parameter(self, v):
337
346
  if v is None:
338
347
  return v
339
- return v.decode(self.name, var_type="Parameter")
348
+
349
+ # Get the raw content from the file
350
+ content = v.decode(self.name, var_type="Parameter")
351
+ # If a parser is specified, use it to parse the content
352
+ if self._parser is not None:
353
+ try:
354
+ return ConfigInput._call_parser(self._parser, content)
355
+ except Exception as e:
356
+ raise MetaflowException(
357
+ "Failed to parse content in parameter '%s' using parser: %s"
358
+ % (self.name, str(e))
359
+ ) from e
360
+
361
+ return content
340
362
 
341
363
  @staticmethod
342
364
  def _eval_default(is_text, encoding, default_path):
@@ -170,6 +170,7 @@ DEPLOYER_IMPL_PROVIDERS_DESC = [
170
170
  ]
171
171
 
172
172
  TL_PLUGINS_DESC = [
173
+ ("yaml_parser", ".parsers.yaml_parser"),
173
174
  ("requirements_txt_parser", ".pypi.parsers.requirements_txt_parser"),
174
175
  ("pyproject_toml_parser", ".pypi.parsers.pyproject_toml_parser"),
175
176
  ("conda_environment_yml_parser", ".pypi.parsers.conda_environment_yml_parser"),
@@ -1385,6 +1385,9 @@ class S3(object):
1385
1385
  except OSError as e:
1386
1386
  if e.errno == errno.ENOSPC:
1387
1387
  raise MetaflowS3InsufficientDiskSpace(str(e))
1388
+ except MetaflowException as ex:
1389
+ # Re-raise Metaflow exceptions (including TimeoutException)
1390
+ raise
1388
1391
  except Exception as ex:
1389
1392
  error = str(ex)
1390
1393
  if tmp:
@@ -50,6 +50,7 @@ import metaflow.tracing as tracing
50
50
  from metaflow.metaflow_config import (
51
51
  S3_WORKER_COUNT,
52
52
  )
53
+ from metaflow.exception import MetaflowException
53
54
 
54
55
  DOWNLOAD_FILE_THRESHOLD = 2 * TransferConfig().multipart_threshold
55
56
  DOWNLOAD_MAX_CHUNK = 2 * 1024 * 1024 * 1024 - 1
@@ -287,6 +288,11 @@ def worker(result_file_name, queue, mode, s3config):
287
288
  result_file.write("%d %d\n" % (idx, -ERROR_TRANSIENT))
288
289
  result_file.flush()
289
290
  continue
291
+ except MetaflowException:
292
+ # Re-raise Metaflow exceptions (including TimeoutException)
293
+ tmp.close()
294
+ os.unlink(tmp.name)
295
+ raise
290
296
  except (SSLError, Exception) as e:
291
297
  tmp.close()
292
298
  os.unlink(tmp.name)
@@ -357,6 +363,9 @@ def worker(result_file_name, queue, mode, s3config):
357
363
  err = convert_to_client_error(e)
358
364
  handle_client_error(err, idx, result_file)
359
365
  continue
366
+ except MetaflowException:
367
+ # Re-raise Metaflow exceptions (including TimeoutException)
368
+ raise
360
369
  except (SSLError, Exception) as e:
361
370
  # assume anything else is transient
362
371
  result_file.write("%d %d\n" % (idx, -ERROR_TRANSIENT))
@@ -385,6 +394,10 @@ def convert_to_client_error(e):
385
394
 
386
395
 
387
396
  def handle_client_error(err, idx, result_file):
397
+ # Handle all MetaflowExceptions as fatal
398
+ if isinstance(err, MetaflowException):
399
+ raise err
400
+
388
401
  error_code = normalize_client_error(err)
389
402
  if error_code == 404:
390
403
  result_file.write("%d %d\n" % (idx, -ERROR_URL_NOT_FOUND))
@@ -0,0 +1,16 @@
1
+ from metaflow._vendor import yaml
2
+
3
+
4
+ def yaml_parser(content: str) -> dict:
5
+ """
6
+ Parse YAML content to a dictionary.
7
+
8
+ Parameters
9
+ ----------
10
+ content : str
11
+
12
+ Returns
13
+ -------
14
+ dict
15
+ """
16
+ return yaml.safe_load(content)
@@ -0,0 +1 @@
1
+ metaflow_version = "2.18.9.1"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ob-metaflow
3
- Version: 2.18.7.5
3
+ Version: 2.18.9.1
4
4
  Summary: Metaflow: More AI and ML, Less Engineering
5
5
  Author: Netflix, Outerbounds & the Metaflow Community
6
6
  Author-email: help@outerbounds.co
@@ -12,7 +12,7 @@ Requires-Dist: boto3
12
12
  Requires-Dist: pylint
13
13
  Requires-Dist: kubernetes
14
14
  Provides-Extra: stubs
15
- Requires-Dist: metaflow-stubs==2.18.7.5; extra == "stubs"
15
+ Requires-Dist: metaflow-stubs==2.18.9.1; extra == "stubs"
16
16
  Dynamic: author
17
17
  Dynamic: author-email
18
18
  Dynamic: description
@@ -86,3 +86,4 @@ We'd love to hear from you. Join our community [Slack workspace](http://slack.ou
86
86
  ## Contributing
87
87
  We welcome contributions to Metaflow. Please see our [contribution guide](https://docs.metaflow.org/introduction/contributing-to-metaflow) for more details.
88
88
 
89
+
@@ -215,6 +215,7 @@ metaflow/plugins/events_decorator.py
215
215
  metaflow/plugins/logs_cli.py
216
216
  metaflow/plugins/package_cli.py
217
217
  metaflow/plugins/parallel_decorator.py
218
+ metaflow/plugins/parsers.py
218
219
  metaflow/plugins/project_decorator.py
219
220
  metaflow/plugins/resources_decorator.py
220
221
  metaflow/plugins/retry_decorator.py
@@ -4,4 +4,4 @@ pylint
4
4
  kubernetes
5
5
 
6
6
  [stubs]
7
- metaflow-stubs==2.18.7.5
7
+ metaflow-stubs==2.18.9.1
@@ -1 +0,0 @@
1
- metaflow_version = "2.18.7.5"
File without changes