ob-metaflow 2.10.7.3__tar.gz → 2.10.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 (314) hide show
  1. {ob-metaflow-2.10.7.3/ob_metaflow.egg-info → ob-metaflow-2.10.9.1}/PKG-INFO +1 -1
  2. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/cards.py +2 -0
  3. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/decorators.py +1 -1
  4. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/metaflow_config.py +2 -0
  5. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/__init__.py +4 -0
  6. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/airflow/airflow_cli.py +1 -1
  7. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/argo/argo_workflows_cli.py +1 -1
  8. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/aws_utils.py +1 -1
  9. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/batch/batch.py +4 -0
  10. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/batch/batch_cli.py +3 -0
  11. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/batch/batch_client.py +40 -11
  12. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/batch/batch_decorator.py +1 -0
  13. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/step_functions/step_functions.py +1 -0
  14. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/step_functions/step_functions_cli.py +1 -1
  15. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/azure/azure_exceptions.py +1 -1
  16. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/cards/card_cli.py +413 -28
  17. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/cards/card_client.py +16 -7
  18. ob-metaflow-2.10.9.1/metaflow/plugins/cards/card_creator.py +228 -0
  19. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/cards/card_datastore.py +124 -26
  20. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/cards/card_decorator.py +40 -86
  21. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/cards/card_modules/base.html +12 -0
  22. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/cards/card_modules/basic.py +74 -8
  23. ob-metaflow-2.10.9.1/metaflow/plugins/cards/card_modules/bundle.css +1 -0
  24. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/cards/card_modules/card.py +65 -0
  25. ob-metaflow-2.10.9.1/metaflow/plugins/cards/card_modules/components.py +807 -0
  26. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/cards/card_modules/convert_to_native_type.py +9 -3
  27. ob-metaflow-2.10.9.1/metaflow/plugins/cards/card_modules/main.js +250 -0
  28. ob-metaflow-2.10.9.1/metaflow/plugins/cards/card_modules/test_cards.py +217 -0
  29. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/cards/card_resolver.py +0 -2
  30. ob-metaflow-2.10.9.1/metaflow/plugins/cards/card_server.py +361 -0
  31. ob-metaflow-2.10.9.1/metaflow/plugins/cards/component_serializer.py +865 -0
  32. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/cards/exception.py +20 -1
  33. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/datastores/azure_storage.py +1 -2
  34. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/datastores/gs_storage.py +1 -2
  35. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/datastores/s3_storage.py +2 -1
  36. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/datatools/s3/s3.py +24 -11
  37. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/client.py +2 -12
  38. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/client_modules.py +18 -14
  39. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/server.py +18 -11
  40. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/utils.py +12 -0
  41. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/gcp/gs_exceptions.py +1 -1
  42. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/gcp/gs_utils.py +1 -1
  43. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/pypi/conda_environment.py +5 -6
  44. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/pypi/pip.py +2 -2
  45. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/pypi/utils.py +15 -0
  46. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/task.py +1 -0
  47. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tracing/span_exporter.py +2 -2
  48. ob-metaflow-2.10.9.1/metaflow/version.py +1 -0
  49. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1/ob_metaflow.egg-info}/PKG-INFO +1 -1
  50. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/ob_metaflow.egg-info/SOURCES.txt +2 -0
  51. ob-metaflow-2.10.7.3/metaflow/plugins/cards/card_modules/bundle.css +0 -170
  52. ob-metaflow-2.10.7.3/metaflow/plugins/cards/card_modules/components.py +0 -442
  53. ob-metaflow-2.10.7.3/metaflow/plugins/cards/card_modules/main.js +0 -21
  54. ob-metaflow-2.10.7.3/metaflow/plugins/cards/card_modules/test_cards.py +0 -100
  55. ob-metaflow-2.10.7.3/metaflow/plugins/cards/component_serializer.py +0 -401
  56. ob-metaflow-2.10.7.3/metaflow/version.py +0 -1
  57. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/LICENSE +0 -0
  58. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/MANIFEST.in +0 -0
  59. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/README.md +0 -0
  60. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/R.py +0 -0
  61. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/__init__.py +0 -0
  62. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/__init__.py +0 -0
  63. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/click/__init__.py +0 -0
  64. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/click/_bashcomplete.py +0 -0
  65. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/click/_compat.py +0 -0
  66. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/click/_termui_impl.py +0 -0
  67. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/click/_textwrap.py +0 -0
  68. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/click/_unicodefun.py +0 -0
  69. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/click/_winconsole.py +0 -0
  70. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/click/core.py +0 -0
  71. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/click/decorators.py +0 -0
  72. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/click/exceptions.py +0 -0
  73. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/click/formatting.py +0 -0
  74. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/click/globals.py +0 -0
  75. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/click/parser.py +0 -0
  76. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/click/termui.py +0 -0
  77. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/click/testing.py +0 -0
  78. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/click/types.py +0 -0
  79. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/click/utils.py +0 -0
  80. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/packaging/__init__.py +0 -0
  81. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/packaging/_elffile.py +0 -0
  82. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/packaging/_manylinux.py +0 -0
  83. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/packaging/_musllinux.py +0 -0
  84. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/packaging/_parser.py +0 -0
  85. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/packaging/_structures.py +0 -0
  86. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/packaging/_tokenizer.py +0 -0
  87. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/packaging/markers.py +0 -0
  88. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/packaging/py.typed +0 -0
  89. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/packaging/requirements.py +0 -0
  90. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/packaging/specifiers.py +0 -0
  91. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/packaging/tags.py +0 -0
  92. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/packaging/utils.py +0 -0
  93. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/packaging/version.py +0 -0
  94. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/v3_5/__init__.py +0 -0
  95. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/v3_5/importlib_metadata/__init__.py +0 -0
  96. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/v3_5/importlib_metadata/_compat.py +0 -0
  97. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/v3_5/zipp.py +0 -0
  98. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/v3_6/__init__.py +0 -0
  99. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/v3_6/importlib_metadata/__init__.py +0 -0
  100. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/v3_6/importlib_metadata/_adapters.py +0 -0
  101. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/v3_6/importlib_metadata/_collections.py +0 -0
  102. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/v3_6/importlib_metadata/_compat.py +0 -0
  103. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/v3_6/importlib_metadata/_functools.py +0 -0
  104. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/v3_6/importlib_metadata/_itertools.py +0 -0
  105. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/v3_6/importlib_metadata/_meta.py +0 -0
  106. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/v3_6/importlib_metadata/_text.py +0 -0
  107. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/v3_6/importlib_metadata/py.typed +0 -0
  108. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/v3_6/typing_extensions.py +0 -0
  109. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/v3_6/zipp.py +0 -0
  110. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/v3_7/__init__.py +0 -0
  111. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/_vendor/v3_7/zipp.py +0 -0
  112. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/cli.py +0 -0
  113. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/cli_args.py +0 -0
  114. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/client/__init__.py +0 -0
  115. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/client/core.py +0 -0
  116. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/client/filecache.py +0 -0
  117. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/cmd/__init__.py +0 -0
  118. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/cmd/configure_cmd.py +0 -0
  119. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/cmd/main_cli.py +0 -0
  120. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/cmd/tutorials_cmd.py +0 -0
  121. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/cmd/util.py +0 -0
  122. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/cmd_with_io.py +0 -0
  123. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/current.py +0 -0
  124. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/datastore/__init__.py +0 -0
  125. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/datastore/content_addressed_store.py +0 -0
  126. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/datastore/datastore_set.py +0 -0
  127. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/datastore/datastore_storage.py +0 -0
  128. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/datastore/exceptions.py +0 -0
  129. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/datastore/flow_datastore.py +0 -0
  130. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/datastore/inputs.py +0 -0
  131. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/datastore/task_datastore.py +0 -0
  132. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/debug.py +0 -0
  133. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/event_logger.py +0 -0
  134. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/events.py +0 -0
  135. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/exception.py +0 -0
  136. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/extension_support/__init__.py +0 -0
  137. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/extension_support/_empty_file.py +0 -0
  138. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/extension_support/cmd.py +0 -0
  139. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/extension_support/integrations.py +0 -0
  140. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/extension_support/plugins.py +0 -0
  141. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/flowspec.py +0 -0
  142. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/graph.py +0 -0
  143. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/includefile.py +0 -0
  144. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/integrations.py +0 -0
  145. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/lint.py +0 -0
  146. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/metadata/__init__.py +0 -0
  147. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/metadata/heartbeat.py +0 -0
  148. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/metadata/metadata.py +0 -0
  149. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/metadata/util.py +0 -0
  150. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/metaflow_config_funcs.py +0 -0
  151. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/metaflow_environment.py +0 -0
  152. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/metaflow_profile.py +0 -0
  153. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/metaflow_version.py +0 -0
  154. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/mflog/__init__.py +0 -0
  155. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/mflog/mflog.py +0 -0
  156. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/mflog/save_logs.py +0 -0
  157. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/mflog/save_logs_periodically.py +0 -0
  158. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/mflog/tee.py +0 -0
  159. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/monitor.py +0 -0
  160. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/multicore_utils.py +0 -0
  161. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/package.py +0 -0
  162. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/parameters.py +0 -0
  163. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/airflow/__init__.py +0 -0
  164. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/airflow/airflow.py +0 -0
  165. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/airflow/airflow_decorator.py +0 -0
  166. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/airflow/airflow_utils.py +0 -0
  167. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/airflow/dag.py +0 -0
  168. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/airflow/exception.py +0 -0
  169. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/airflow/plumbing/__init__.py +0 -0
  170. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/airflow/plumbing/set_parameters.py +0 -0
  171. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/airflow/sensors/__init__.py +0 -0
  172. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/airflow/sensors/base_sensor.py +0 -0
  173. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/airflow/sensors/external_task_sensor.py +0 -0
  174. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/airflow/sensors/s3_sensor.py +0 -0
  175. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/argo/__init__.py +0 -0
  176. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/argo/argo_client.py +0 -0
  177. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/argo/argo_events.py +0 -0
  178. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/argo/argo_workflows.py +0 -0
  179. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/argo/argo_workflows_decorator.py +0 -0
  180. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/argo/process_input_paths.py +0 -0
  181. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/__init__.py +0 -0
  182. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/aws_client.py +0 -0
  183. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/batch/__init__.py +0 -0
  184. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/secrets_manager/__init__.py +0 -0
  185. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/secrets_manager/aws_secrets_manager_secrets_provider.py +0 -0
  186. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/step_functions/__init__.py +0 -0
  187. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/step_functions/dynamo_db_client.py +0 -0
  188. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/step_functions/event_bridge_client.py +0 -0
  189. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/step_functions/production_token.py +0 -0
  190. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/step_functions/schedule_decorator.py +0 -0
  191. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/step_functions/set_batch_environment.py +0 -0
  192. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/step_functions/step_functions_client.py +0 -0
  193. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/aws/step_functions/step_functions_decorator.py +0 -0
  194. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/azure/__init__.py +0 -0
  195. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/azure/azure_credential.py +0 -0
  196. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/azure/azure_tail.py +0 -0
  197. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/azure/azure_utils.py +0 -0
  198. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/azure/blob_service_client_factory.py +0 -0
  199. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/azure/includefile_support.py +0 -0
  200. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/cards/__init__.py +0 -0
  201. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/cards/card_modules/__init__.py +0 -0
  202. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/cards/card_modules/chevron/__init__.py +0 -0
  203. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/cards/card_modules/chevron/main.py +0 -0
  204. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/cards/card_modules/chevron/metadata.py +0 -0
  205. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/cards/card_modules/chevron/renderer.py +0 -0
  206. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/cards/card_modules/chevron/tokenizer.py +0 -0
  207. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/cards/card_modules/renderer_tools.py +0 -0
  208. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/catch_decorator.py +0 -0
  209. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/datastores/__init__.py +0 -0
  210. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/datastores/local_storage.py +0 -0
  211. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/datatools/__init__.py +0 -0
  212. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/datatools/local.py +0 -0
  213. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/datatools/s3/__init__.py +0 -0
  214. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/datatools/s3/s3op.py +0 -0
  215. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/datatools/s3/s3tail.py +0 -0
  216. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/datatools/s3/s3util.py +0 -0
  217. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/debug_logger.py +0 -0
  218. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/debug_monitor.py +0 -0
  219. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/__init__.py +0 -0
  220. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/communication/__init__.py +0 -0
  221. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/communication/bytestream.py +0 -0
  222. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/communication/channel.py +0 -0
  223. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/communication/socket_bytestream.py +0 -0
  224. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/communication/utils.py +0 -0
  225. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/configurations/emulate_test_lib/__init__.py +0 -0
  226. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/configurations/emulate_test_lib/overrides.py +0 -0
  227. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/configurations/emulate_test_lib/server_mappings.py +0 -0
  228. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/configurations/test_lib_impl/__init__.py +0 -0
  229. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/configurations/test_lib_impl/test_lib.py +0 -0
  230. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/consts.py +0 -0
  231. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/data_transferer.py +0 -0
  232. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/exception_transferer.py +0 -0
  233. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/override_decorators.py +0 -0
  234. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/env_escape/stub.py +0 -0
  235. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/environment_decorator.py +0 -0
  236. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/events_decorator.py +0 -0
  237. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/frameworks/__init__.py +0 -0
  238. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/frameworks/pytorch.py +0 -0
  239. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/gcp/__init__.py +0 -0
  240. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/gcp/gs_storage_client_factory.py +0 -0
  241. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/gcp/gs_tail.py +0 -0
  242. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/gcp/includefile_support.py +0 -0
  243. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/kubernetes/__init__.py +0 -0
  244. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/kubernetes/kubernetes.py +0 -0
  245. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/kubernetes/kubernetes_cli.py +0 -0
  246. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/kubernetes/kubernetes_client.py +0 -0
  247. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/kubernetes/kubernetes_decorator.py +0 -0
  248. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/kubernetes/kubernetes_job.py +0 -0
  249. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/metadata/__init__.py +0 -0
  250. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/metadata/local.py +0 -0
  251. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/metadata/service.py +0 -0
  252. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/package_cli.py +0 -0
  253. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/parallel_decorator.py +0 -0
  254. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/project_decorator.py +0 -0
  255. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/pypi/__init__.py +0 -0
  256. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/pypi/bootstrap.py +0 -0
  257. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/pypi/conda_decorator.py +0 -0
  258. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/pypi/micromamba.py +0 -0
  259. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/pypi/pypi_decorator.py +0 -0
  260. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/pypi/pypi_environment.py +0 -0
  261. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/resources_decorator.py +0 -0
  262. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/retry_decorator.py +0 -0
  263. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/secrets/__init__.py +0 -0
  264. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/secrets/inline_secrets_provider.py +0 -0
  265. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/secrets/secrets_decorator.py +0 -0
  266. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/storage_executor.py +0 -0
  267. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/tag_cli.py +0 -0
  268. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/test_unbounded_foreach_decorator.py +0 -0
  269. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/plugins/timeout_decorator.py +0 -0
  270. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/procpoll.py +0 -0
  271. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/py.typed +0 -0
  272. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/pylint_wrapper.py +0 -0
  273. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/runtime.py +0 -0
  274. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/sidecar/__init__.py +0 -0
  275. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/sidecar/sidecar.py +0 -0
  276. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/sidecar/sidecar_messages.py +0 -0
  277. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/sidecar/sidecar_subprocess.py +0 -0
  278. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/sidecar/sidecar_worker.py +0 -0
  279. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tagging_util.py +0 -0
  280. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tracing/__init__.py +0 -0
  281. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tracing/propagator.py +0 -0
  282. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tracing/tracing_modules.py +0 -0
  283. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/00-helloworld/README.md +0 -0
  284. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/00-helloworld/helloworld.py +0 -0
  285. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/01-playlist/README.md +0 -0
  286. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/01-playlist/movies.csv +0 -0
  287. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/01-playlist/playlist.ipynb +0 -0
  288. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/01-playlist/playlist.py +0 -0
  289. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/02-statistics/README.md +0 -0
  290. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/02-statistics/movies.csv +0 -0
  291. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/02-statistics/stats.ipynb +0 -0
  292. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/02-statistics/stats.py +0 -0
  293. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/03-playlist-redux/README.md +0 -0
  294. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/03-playlist-redux/playlist.py +0 -0
  295. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/04-playlist-plus/README.md +0 -0
  296. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/04-playlist-plus/playlist.py +0 -0
  297. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/05-hello-cloud/README.md +0 -0
  298. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/05-hello-cloud/hello-cloud.ipynb +0 -0
  299. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/05-hello-cloud/hello-cloud.py +0 -0
  300. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/06-statistics-redux/README.md +0 -0
  301. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/06-statistics-redux/stats.ipynb +0 -0
  302. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/07-worldview/README.md +0 -0
  303. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/07-worldview/worldview.ipynb +0 -0
  304. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/08-autopilot/README.md +0 -0
  305. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/tutorials/08-autopilot/autopilot.ipynb +0 -0
  306. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/unbounded_foreach.py +0 -0
  307. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/util.py +0 -0
  308. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/metaflow/vendor.py +0 -0
  309. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/ob_metaflow.egg-info/dependency_links.txt +0 -0
  310. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/ob_metaflow.egg-info/entry_points.txt +0 -0
  311. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/ob_metaflow.egg-info/requires.txt +0 -0
  312. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/ob_metaflow.egg-info/top_level.txt +0 -0
  313. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/setup.cfg +0 -0
  314. {ob-metaflow-2.10.7.3 → ob-metaflow-2.10.9.1}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ob-metaflow
3
- Version: 2.10.7.3
3
+ Version: 2.10.9.1
4
4
  Summary: Metaflow: More Data Science, Less Engineering
5
5
  Author: Netflix, Outerbounds & the Metaflow Community
6
6
  Author-email: help@outerbounds.co
@@ -6,6 +6,8 @@ from metaflow.plugins.cards.card_modules.components import (
6
6
  Image,
7
7
  Error,
8
8
  Markdown,
9
+ VegaChart,
10
+ ProgressBar,
9
11
  )
10
12
  from metaflow.plugins.cards.card_modules.basic import (
11
13
  DefaultCard,
@@ -129,7 +129,7 @@ class Decorator(object):
129
129
 
130
130
  attrs = {}
131
131
  # TODO: Do we really want to allow spaces in the names of attributes?!?
132
- for a in re.split(""",(?=[\s\w]+=)""", deco_spec):
132
+ for a in re.split(r""",(?=[\s\w]+=)""", deco_spec):
133
133
  name, val = a.split("=", 1)
134
134
  try:
135
135
  val_parsed = json.loads(val.strip().replace('\\"', '"'))
@@ -165,6 +165,8 @@ CARD_NO_WARNING = from_conf("CARD_NO_WARNING", False)
165
165
 
166
166
  SKIP_CARD_DUALWRITE = from_conf("SKIP_CARD_DUALWRITE", False)
167
167
 
168
+ RUNTIME_CARD_RENDER_INTERVAL = from_conf("RUNTIME_CARD_RENDER_INTERVAL", 60)
169
+
168
170
  # Azure storage account URL
169
171
  AZURE_STORAGE_BLOB_SERVICE_ENDPOINT = from_conf("AZURE_STORAGE_BLOB_SERVICE_ENDPOINT")
170
172
 
@@ -172,6 +172,8 @@ from .cards.card_modules.test_cards import (
172
172
  TestNonEditableCard,
173
173
  TestPathSpecCard,
174
174
  TestTimeoutCard,
175
+ TestRefreshCard,
176
+ TestRefreshComponentCard,
175
177
  )
176
178
 
177
179
  CARDS = [
@@ -188,5 +190,7 @@ CARDS = [
188
190
  TestNonEditableCard,
189
191
  BlankCard,
190
192
  DefaultCardJSON,
193
+ TestRefreshCard,
194
+ TestRefreshComponentCard,
191
195
  ]
192
196
  merge_lists(CARDS, MF_EXTERNAL_CARDS, "type")
@@ -24,7 +24,7 @@ class IncorrectProductionToken(MetaflowException):
24
24
  headline = "Incorrect production token"
25
25
 
26
26
 
27
- VALID_NAME = re.compile("[^a-zA-Z0-9_\-\.]")
27
+ VALID_NAME = re.compile(r"[^a-zA-Z0-9_\-\.]")
28
28
 
29
29
 
30
30
  def resolve_token(
@@ -29,7 +29,7 @@ from metaflow.util import get_username, to_bytes, to_unicode, version_parse
29
29
 
30
30
  from .argo_workflows import ArgoWorkflows
31
31
 
32
- VALID_NAME = re.compile("^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$")
32
+ VALID_NAME = re.compile(r"^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$")
33
33
 
34
34
 
35
35
  class IncorrectProductionToken(MetaflowException):
@@ -39,7 +39,7 @@ def get_ec2_instance_metadata():
39
39
 
40
40
 
41
41
  def get_docker_registry(image_uri):
42
- """
42
+ r"""
43
43
  Explanation:
44
44
  (.+?(?:[:.].+?)\/)? - [GROUP 0] REGISTRY
45
45
  .+? - A registry must start with at least one character
@@ -185,6 +185,7 @@ class Batch(object):
185
185
  env={},
186
186
  attrs={},
187
187
  host_volumes=None,
188
+ efs_volumes=None,
188
189
  use_tmpfs=None,
189
190
  tmpfs_tempdir=None,
190
191
  tmpfs_size=None,
@@ -232,6 +233,7 @@ class Batch(object):
232
233
  efa,
233
234
  memory=memory,
234
235
  host_volumes=host_volumes,
236
+ efs_volumes=efs_volumes,
235
237
  use_tmpfs=use_tmpfs,
236
238
  tmpfs_tempdir=tmpfs_tempdir,
237
239
  tmpfs_size=tmpfs_size,
@@ -341,6 +343,7 @@ class Batch(object):
341
343
  inferentia=None,
342
344
  efa=None,
343
345
  host_volumes=None,
346
+ efs_volumes=None,
344
347
  use_tmpfs=None,
345
348
  tmpfs_tempdir=None,
346
349
  tmpfs_size=None,
@@ -379,6 +382,7 @@ class Batch(object):
379
382
  env=env,
380
383
  attrs=attrs,
381
384
  host_volumes=host_volumes,
385
+ efs_volumes=efs_volumes,
382
386
  use_tmpfs=use_tmpfs,
383
387
  tmpfs_tempdir=tmpfs_tempdir,
384
388
  tmpfs_size=tmpfs_size,
@@ -153,6 +153,7 @@ def kill(ctx, run_id, user, my_runs):
153
153
  # TODO: Maybe remove it altogether since it's not used here
154
154
  @click.option("--ubf-context", default=None, type=click.Choice([None, "ubf_control"]))
155
155
  @click.option("--host-volumes", multiple=True)
156
+ @click.option("--efs-volumes", multiple=True)
156
157
  @click.option(
157
158
  "--num-parallel",
158
159
  default=0,
@@ -184,6 +185,7 @@ def step(
184
185
  tmpfs_size=None,
185
186
  tmpfs_path=None,
186
187
  host_volumes=None,
188
+ efs_volumes=None,
187
189
  num_parallel=None,
188
190
  **kwargs
189
191
  ):
@@ -310,6 +312,7 @@ def step(
310
312
  env=env,
311
313
  attrs=attrs,
312
314
  host_volumes=host_volumes,
315
+ efs_volumes=efs_volumes,
313
316
  use_tmpfs=use_tmpfs,
314
317
  tmpfs_tempdir=tmpfs_tempdir,
315
318
  tmpfs_size=tmpfs_size,
@@ -152,6 +152,7 @@ class BatchJob(object):
152
152
  efa,
153
153
  memory,
154
154
  host_volumes,
155
+ efs_volumes,
155
156
  use_tmpfs,
156
157
  tmpfs_tempdir,
157
158
  tmpfs_size,
@@ -274,19 +275,45 @@ class BatchJob(object):
274
275
  }
275
276
  )
276
277
 
277
- if host_volumes:
278
+ if host_volumes or efs_volumes:
278
279
  job_definition["containerProperties"]["volumes"] = []
279
280
  job_definition["containerProperties"]["mountPoints"] = []
280
- if isinstance(host_volumes, str):
281
- host_volumes = [host_volumes]
282
- for host_path in host_volumes:
283
- name = host_path.replace("/", "_").replace(".", "_")
284
- job_definition["containerProperties"]["volumes"].append(
285
- {"name": name, "host": {"sourcePath": host_path}}
286
- )
287
- job_definition["containerProperties"]["mountPoints"].append(
288
- {"sourceVolume": name, "containerPath": host_path}
289
- )
281
+
282
+ if host_volumes:
283
+ if isinstance(host_volumes, str):
284
+ host_volumes = [host_volumes]
285
+ for host_path in host_volumes:
286
+ container_path = host_path
287
+ if ":" in host_path:
288
+ host_path, container_path = host_path.split(":", 1)
289
+ name = host_path.replace("/", "_").replace(".", "_")
290
+ job_definition["containerProperties"]["volumes"].append(
291
+ {"name": name, "host": {"sourcePath": host_path}}
292
+ )
293
+ job_definition["containerProperties"]["mountPoints"].append(
294
+ {"sourceVolume": name, "containerPath": container_path}
295
+ )
296
+
297
+ if efs_volumes:
298
+ if isinstance(efs_volumes, str):
299
+ efs_volumes = [efs_volumes]
300
+ for efs_id in efs_volumes:
301
+ container_path = "/mnt/" + efs_id
302
+ if ":" in efs_id:
303
+ efs_id, container_path = efs_id.split(":", 1)
304
+ name = "efs_" + efs_id
305
+ job_definition["containerProperties"]["volumes"].append(
306
+ {
307
+ "name": name,
308
+ "efsVolumeConfiguration": {
309
+ "fileSystemId": efs_id,
310
+ "transitEncryption": "ENABLED",
311
+ },
312
+ }
313
+ )
314
+ job_definition["containerProperties"]["mountPoints"].append(
315
+ {"sourceVolume": name, "containerPath": container_path}
316
+ )
290
317
 
291
318
  if use_tmpfs or (tmpfs_size and not use_tmpfs):
292
319
  if tmpfs_size:
@@ -401,6 +428,7 @@ class BatchJob(object):
401
428
  efa,
402
429
  memory,
403
430
  host_volumes,
431
+ efs_volumes,
404
432
  use_tmpfs,
405
433
  tmpfs_tempdir,
406
434
  tmpfs_size,
@@ -419,6 +447,7 @@ class BatchJob(object):
419
447
  efa,
420
448
  memory,
421
449
  host_volumes,
450
+ efs_volumes,
422
451
  use_tmpfs,
423
452
  tmpfs_tempdir,
424
453
  tmpfs_size,
@@ -102,6 +102,7 @@ class BatchDecorator(StepDecorator):
102
102
  "inferentia": None,
103
103
  "efa": None,
104
104
  "host_volumes": None,
105
+ "efs_volumes": None,
105
106
  "use_tmpfs": False,
106
107
  "tmpfs_tempdir": True,
107
108
  "tmpfs_size": None,
@@ -704,6 +704,7 @@ class StepFunctions(object):
704
704
  env=env,
705
705
  attrs=attrs,
706
706
  host_volumes=resources["host_volumes"],
707
+ efs_volumes=resources["efs_volumes"],
707
708
  )
708
709
  .attempts(total_retries + 1)
709
710
  )
@@ -19,7 +19,7 @@ from metaflow.util import get_username, to_bytes, to_unicode, version_parse
19
19
  from .step_functions import StepFunctions
20
20
  from .production_token import load_token, store_token, new_token
21
21
 
22
- VALID_NAME = re.compile("[^a-zA-Z0-9_\-\.]")
22
+ VALID_NAME = re.compile(r"[^a-zA-Z0-9_\-\.]")
23
23
 
24
24
 
25
25
  class IncorrectProductionToken(MetaflowException):
@@ -10,4 +10,4 @@ class MetaflowAzureResourceError(MetaflowException):
10
10
 
11
11
 
12
12
  class MetaflowAzurePackageError(MetaflowException):
13
- headline = "Missing required packages azure-identity and azure-storage-blob"
13
+ headline = "Missing required packages 'azure-identity' and 'azure-storage-blob'"