metaflow 2.12.18__tar.gz → 2.12.19__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (359) hide show
  1. {metaflow-2.12.18/metaflow.egg-info → metaflow-2.12.19}/PKG-INFO +2 -2
  2. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/kubernetes/kubernetes.py +2 -2
  3. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/kubernetes/kubernetes_jobsets.py +0 -2
  4. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/pypi/conda_decorator.py +18 -1
  5. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/pypi/pypi_decorator.py +18 -1
  6. metaflow-2.12.19/metaflow/version.py +1 -0
  7. {metaflow-2.12.18 → metaflow-2.12.19/metaflow.egg-info}/PKG-INFO +2 -2
  8. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow.egg-info/requires.txt +1 -1
  9. metaflow-2.12.18/metaflow/version.py +0 -1
  10. {metaflow-2.12.18 → metaflow-2.12.19}/LICENSE +0 -0
  11. {metaflow-2.12.18 → metaflow-2.12.19}/MANIFEST.in +0 -0
  12. {metaflow-2.12.18 → metaflow-2.12.19}/README.md +0 -0
  13. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/R.py +0 -0
  14. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/__init__.py +0 -0
  15. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/__init__.py +0 -0
  16. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/click/__init__.py +0 -0
  17. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/click/_bashcomplete.py +0 -0
  18. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/click/_compat.py +0 -0
  19. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/click/_termui_impl.py +0 -0
  20. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/click/_textwrap.py +0 -0
  21. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/click/_unicodefun.py +0 -0
  22. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/click/_winconsole.py +0 -0
  23. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/click/core.py +0 -0
  24. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/click/decorators.py +0 -0
  25. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/click/exceptions.py +0 -0
  26. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/click/formatting.py +0 -0
  27. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/click/globals.py +0 -0
  28. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/click/parser.py +0 -0
  29. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/click/termui.py +0 -0
  30. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/click/testing.py +0 -0
  31. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/click/types.py +0 -0
  32. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/click/utils.py +0 -0
  33. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/importlib_metadata/__init__.py +0 -0
  34. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/importlib_metadata/_adapters.py +0 -0
  35. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/importlib_metadata/_collections.py +0 -0
  36. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/importlib_metadata/_compat.py +0 -0
  37. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/importlib_metadata/_functools.py +0 -0
  38. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/importlib_metadata/_itertools.py +0 -0
  39. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/importlib_metadata/_meta.py +0 -0
  40. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/importlib_metadata/_text.py +0 -0
  41. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/importlib_metadata/py.typed +0 -0
  42. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/packaging/__init__.py +0 -0
  43. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/packaging/_elffile.py +0 -0
  44. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/packaging/_manylinux.py +0 -0
  45. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/packaging/_musllinux.py +0 -0
  46. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/packaging/_parser.py +0 -0
  47. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/packaging/_structures.py +0 -0
  48. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/packaging/_tokenizer.py +0 -0
  49. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/packaging/markers.py +0 -0
  50. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/packaging/py.typed +0 -0
  51. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/packaging/requirements.py +0 -0
  52. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/packaging/specifiers.py +0 -0
  53. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/packaging/tags.py +0 -0
  54. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/packaging/utils.py +0 -0
  55. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/packaging/version.py +0 -0
  56. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/typeguard/__init__.py +0 -0
  57. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/typeguard/_checkers.py +0 -0
  58. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/typeguard/_config.py +0 -0
  59. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/typeguard/_decorators.py +0 -0
  60. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/typeguard/_exceptions.py +0 -0
  61. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/typeguard/_functions.py +0 -0
  62. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/typeguard/_importhook.py +0 -0
  63. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/typeguard/_memo.py +0 -0
  64. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/typeguard/_pytest_plugin.py +0 -0
  65. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/typeguard/_suppression.py +0 -0
  66. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/typeguard/_transformer.py +0 -0
  67. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/typeguard/_union_transformer.py +0 -0
  68. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/typeguard/_utils.py +0 -0
  69. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/typeguard/py.typed +0 -0
  70. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/typing_extensions.py +0 -0
  71. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/v3_5/__init__.py +0 -0
  72. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/v3_5/importlib_metadata/__init__.py +0 -0
  73. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/v3_5/importlib_metadata/_compat.py +0 -0
  74. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/v3_5/zipp.py +0 -0
  75. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/v3_6/__init__.py +0 -0
  76. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/v3_6/importlib_metadata/__init__.py +0 -0
  77. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/v3_6/importlib_metadata/_adapters.py +0 -0
  78. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/v3_6/importlib_metadata/_collections.py +0 -0
  79. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/v3_6/importlib_metadata/_compat.py +0 -0
  80. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/v3_6/importlib_metadata/_functools.py +0 -0
  81. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/v3_6/importlib_metadata/_itertools.py +0 -0
  82. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/v3_6/importlib_metadata/_meta.py +0 -0
  83. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/v3_6/importlib_metadata/_text.py +0 -0
  84. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/v3_6/importlib_metadata/py.typed +0 -0
  85. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/v3_6/typing_extensions.py +0 -0
  86. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/v3_6/zipp.py +0 -0
  87. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/_vendor/zipp.py +0 -0
  88. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/cards.py +0 -0
  89. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/cli.py +0 -0
  90. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/cli_args.py +0 -0
  91. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/client/__init__.py +0 -0
  92. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/client/core.py +0 -0
  93. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/client/filecache.py +0 -0
  94. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/clone_util.py +0 -0
  95. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/cmd/__init__.py +0 -0
  96. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/cmd/configure_cmd.py +0 -0
  97. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/cmd/develop/__init__.py +0 -0
  98. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/cmd/develop/stub_generator.py +0 -0
  99. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/cmd/develop/stubs.py +0 -0
  100. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/cmd/main_cli.py +0 -0
  101. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/cmd/tutorials_cmd.py +0 -0
  102. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/cmd/util.py +0 -0
  103. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/cmd_with_io.py +0 -0
  104. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/datastore/__init__.py +0 -0
  105. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/datastore/content_addressed_store.py +0 -0
  106. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/datastore/datastore_set.py +0 -0
  107. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/datastore/datastore_storage.py +0 -0
  108. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/datastore/exceptions.py +0 -0
  109. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/datastore/flow_datastore.py +0 -0
  110. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/datastore/inputs.py +0 -0
  111. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/datastore/task_datastore.py +0 -0
  112. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/debug.py +0 -0
  113. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/decorators.py +0 -0
  114. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/event_logger.py +0 -0
  115. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/events.py +0 -0
  116. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/exception.py +0 -0
  117. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/extension_support/__init__.py +0 -0
  118. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/extension_support/_empty_file.py +0 -0
  119. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/extension_support/cmd.py +0 -0
  120. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/extension_support/integrations.py +0 -0
  121. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/extension_support/plugins.py +0 -0
  122. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/flowspec.py +0 -0
  123. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/graph.py +0 -0
  124. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/includefile.py +0 -0
  125. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/integrations.py +0 -0
  126. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/lint.py +0 -0
  127. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/metadata/__init__.py +0 -0
  128. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/metadata/heartbeat.py +0 -0
  129. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/metadata/metadata.py +0 -0
  130. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/metadata/util.py +0 -0
  131. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/metaflow_config.py +0 -0
  132. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/metaflow_config_funcs.py +0 -0
  133. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/metaflow_current.py +0 -0
  134. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/metaflow_environment.py +0 -0
  135. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/metaflow_profile.py +0 -0
  136. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/metaflow_version.py +0 -0
  137. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/mflog/__init__.py +0 -0
  138. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/mflog/mflog.py +0 -0
  139. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/mflog/save_logs.py +0 -0
  140. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/mflog/save_logs_periodically.py +0 -0
  141. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/mflog/tee.py +0 -0
  142. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/monitor.py +0 -0
  143. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/multicore_utils.py +0 -0
  144. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/package.py +0 -0
  145. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/parameters.py +0 -0
  146. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/__init__.py +0 -0
  147. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/airflow/__init__.py +0 -0
  148. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/airflow/airflow.py +0 -0
  149. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/airflow/airflow_cli.py +0 -0
  150. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/airflow/airflow_decorator.py +0 -0
  151. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/airflow/airflow_utils.py +0 -0
  152. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/airflow/dag.py +0 -0
  153. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/airflow/exception.py +0 -0
  154. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/airflow/plumbing/__init__.py +0 -0
  155. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/airflow/plumbing/set_parameters.py +0 -0
  156. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/airflow/sensors/__init__.py +0 -0
  157. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/airflow/sensors/base_sensor.py +0 -0
  158. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/airflow/sensors/external_task_sensor.py +0 -0
  159. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/airflow/sensors/s3_sensor.py +0 -0
  160. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/argo/__init__.py +0 -0
  161. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/argo/argo_client.py +0 -0
  162. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/argo/argo_events.py +0 -0
  163. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/argo/argo_workflows.py +0 -0
  164. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/argo/argo_workflows_cli.py +0 -0
  165. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/argo/argo_workflows_decorator.py +0 -0
  166. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/argo/argo_workflows_deployer.py +0 -0
  167. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/argo/capture_error.py +0 -0
  168. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/argo/daemon.py +0 -0
  169. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/argo/generate_input_paths.py +0 -0
  170. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/argo/jobset_input_paths.py +0 -0
  171. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/aws/__init__.py +0 -0
  172. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/aws/aws_client.py +0 -0
  173. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/aws/aws_utils.py +0 -0
  174. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/aws/batch/__init__.py +0 -0
  175. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/aws/batch/batch.py +0 -0
  176. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/aws/batch/batch_cli.py +0 -0
  177. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/aws/batch/batch_client.py +0 -0
  178. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/aws/batch/batch_decorator.py +0 -0
  179. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/aws/secrets_manager/__init__.py +0 -0
  180. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/aws/secrets_manager/aws_secrets_manager_secrets_provider.py +0 -0
  181. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/aws/step_functions/__init__.py +0 -0
  182. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/aws/step_functions/dynamo_db_client.py +0 -0
  183. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/aws/step_functions/event_bridge_client.py +0 -0
  184. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/aws/step_functions/production_token.py +0 -0
  185. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/aws/step_functions/schedule_decorator.py +0 -0
  186. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/aws/step_functions/set_batch_environment.py +0 -0
  187. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/aws/step_functions/step_functions.py +0 -0
  188. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/aws/step_functions/step_functions_cli.py +0 -0
  189. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/aws/step_functions/step_functions_client.py +0 -0
  190. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/aws/step_functions/step_functions_decorator.py +0 -0
  191. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/aws/step_functions/step_functions_deployer.py +0 -0
  192. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/azure/__init__.py +0 -0
  193. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/azure/azure_credential.py +0 -0
  194. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/azure/azure_exceptions.py +0 -0
  195. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/azure/azure_secret_manager_secrets_provider.py +0 -0
  196. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/azure/azure_tail.py +0 -0
  197. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/azure/azure_utils.py +0 -0
  198. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/azure/blob_service_client_factory.py +0 -0
  199. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/azure/includefile_support.py +0 -0
  200. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/cards/__init__.py +0 -0
  201. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/cards/card_cli.py +0 -0
  202. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/cards/card_client.py +0 -0
  203. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/cards/card_creator.py +0 -0
  204. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/cards/card_datastore.py +0 -0
  205. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/cards/card_decorator.py +0 -0
  206. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/cards/card_modules/__init__.py +0 -0
  207. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/cards/card_modules/base.html +0 -0
  208. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/cards/card_modules/basic.py +0 -0
  209. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/cards/card_modules/bundle.css +0 -0
  210. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/cards/card_modules/card.py +0 -0
  211. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/cards/card_modules/chevron/__init__.py +0 -0
  212. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/cards/card_modules/chevron/main.py +0 -0
  213. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/cards/card_modules/chevron/metadata.py +0 -0
  214. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/cards/card_modules/chevron/renderer.py +0 -0
  215. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/cards/card_modules/chevron/tokenizer.py +0 -0
  216. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/cards/card_modules/components.py +0 -0
  217. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/cards/card_modules/convert_to_native_type.py +0 -0
  218. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/cards/card_modules/main.js +0 -0
  219. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/cards/card_modules/renderer_tools.py +0 -0
  220. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/cards/card_modules/test_cards.py +0 -0
  221. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/cards/card_resolver.py +0 -0
  222. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/cards/card_server.py +0 -0
  223. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/cards/card_viewer/viewer.html +0 -0
  224. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/cards/component_serializer.py +0 -0
  225. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/cards/exception.py +0 -0
  226. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/catch_decorator.py +0 -0
  227. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/datastores/__init__.py +0 -0
  228. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/datastores/azure_storage.py +0 -0
  229. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/datastores/gs_storage.py +0 -0
  230. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/datastores/local_storage.py +0 -0
  231. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/datastores/s3_storage.py +0 -0
  232. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/datatools/__init__.py +0 -0
  233. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/datatools/local.py +0 -0
  234. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/datatools/s3/__init__.py +0 -0
  235. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/datatools/s3/s3.py +0 -0
  236. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/datatools/s3/s3op.py +0 -0
  237. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/datatools/s3/s3tail.py +0 -0
  238. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/datatools/s3/s3util.py +0 -0
  239. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/debug_logger.py +0 -0
  240. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/debug_monitor.py +0 -0
  241. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/env_escape/__init__.py +0 -0
  242. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/env_escape/client.py +0 -0
  243. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/env_escape/client_modules.py +0 -0
  244. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/env_escape/communication/__init__.py +0 -0
  245. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/env_escape/communication/bytestream.py +0 -0
  246. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/env_escape/communication/channel.py +0 -0
  247. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/env_escape/communication/socket_bytestream.py +0 -0
  248. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/env_escape/communication/utils.py +0 -0
  249. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/env_escape/configurations/emulate_test_lib/__init__.py +0 -0
  250. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/env_escape/configurations/emulate_test_lib/overrides.py +0 -0
  251. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/env_escape/configurations/emulate_test_lib/server_mappings.py +0 -0
  252. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/env_escape/configurations/test_lib_impl/__init__.py +0 -0
  253. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/env_escape/configurations/test_lib_impl/test_lib.py +0 -0
  254. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/env_escape/consts.py +0 -0
  255. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/env_escape/data_transferer.py +0 -0
  256. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/env_escape/exception_transferer.py +0 -0
  257. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/env_escape/override_decorators.py +0 -0
  258. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/env_escape/server.py +0 -0
  259. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/env_escape/stub.py +0 -0
  260. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/env_escape/utils.py +0 -0
  261. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/environment_decorator.py +0 -0
  262. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/events_decorator.py +0 -0
  263. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/frameworks/__init__.py +0 -0
  264. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/frameworks/pytorch.py +0 -0
  265. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/gcp/__init__.py +0 -0
  266. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/gcp/gcp_secret_manager_secrets_provider.py +0 -0
  267. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/gcp/gs_exceptions.py +0 -0
  268. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/gcp/gs_storage_client_factory.py +0 -0
  269. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/gcp/gs_tail.py +0 -0
  270. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/gcp/gs_utils.py +0 -0
  271. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/gcp/includefile_support.py +0 -0
  272. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/kubernetes/__init__.py +0 -0
  273. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/kubernetes/kubernetes_cli.py +0 -0
  274. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/kubernetes/kubernetes_client.py +0 -0
  275. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/kubernetes/kubernetes_decorator.py +0 -0
  276. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/kubernetes/kubernetes_job.py +0 -0
  277. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/logs_cli.py +0 -0
  278. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/metadata/__init__.py +0 -0
  279. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/metadata/local.py +0 -0
  280. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/metadata/service.py +0 -0
  281. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/package_cli.py +0 -0
  282. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/parallel_decorator.py +0 -0
  283. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/project_decorator.py +0 -0
  284. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/pypi/__init__.py +0 -0
  285. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/pypi/bootstrap.py +0 -0
  286. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/pypi/conda_environment.py +0 -0
  287. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/pypi/micromamba.py +0 -0
  288. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/pypi/pip.py +0 -0
  289. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/pypi/pypi_environment.py +0 -0
  290. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/pypi/utils.py +0 -0
  291. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/resources_decorator.py +0 -0
  292. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/retry_decorator.py +0 -0
  293. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/secrets/__init__.py +0 -0
  294. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/secrets/inline_secrets_provider.py +0 -0
  295. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/secrets/secrets_decorator.py +0 -0
  296. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/storage_executor.py +0 -0
  297. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/tag_cli.py +0 -0
  298. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/test_unbounded_foreach_decorator.py +0 -0
  299. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/plugins/timeout_decorator.py +0 -0
  300. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/procpoll.py +0 -0
  301. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/py.typed +0 -0
  302. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/pylint_wrapper.py +0 -0
  303. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/runner/__init__.py +0 -0
  304. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/runner/click_api.py +0 -0
  305. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/runner/deployer.py +0 -0
  306. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/runner/metaflow_runner.py +0 -0
  307. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/runner/nbdeploy.py +0 -0
  308. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/runner/nbrun.py +0 -0
  309. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/runner/subprocess_manager.py +0 -0
  310. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/runner/utils.py +0 -0
  311. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/runtime.py +0 -0
  312. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/sidecar/__init__.py +0 -0
  313. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/sidecar/sidecar.py +0 -0
  314. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/sidecar/sidecar_messages.py +0 -0
  315. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/sidecar/sidecar_subprocess.py +0 -0
  316. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/sidecar/sidecar_worker.py +0 -0
  317. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/system/__init__.py +0 -0
  318. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/system/system_logger.py +0 -0
  319. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/system/system_monitor.py +0 -0
  320. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/system/system_utils.py +0 -0
  321. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/tagging_util.py +0 -0
  322. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/task.py +0 -0
  323. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/tracing/__init__.py +0 -0
  324. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/tracing/propagator.py +0 -0
  325. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/tracing/span_exporter.py +0 -0
  326. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/tracing/tracing_modules.py +0 -0
  327. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/tuple_util.py +0 -0
  328. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/tutorials/00-helloworld/README.md +0 -0
  329. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/tutorials/00-helloworld/helloworld.py +0 -0
  330. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/tutorials/01-playlist/README.md +0 -0
  331. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/tutorials/01-playlist/movies.csv +0 -0
  332. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/tutorials/01-playlist/playlist.ipynb +0 -0
  333. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/tutorials/01-playlist/playlist.py +0 -0
  334. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/tutorials/02-statistics/README.md +0 -0
  335. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/tutorials/02-statistics/movies.csv +0 -0
  336. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/tutorials/02-statistics/stats.ipynb +0 -0
  337. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/tutorials/02-statistics/stats.py +0 -0
  338. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/tutorials/03-playlist-redux/README.md +0 -0
  339. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/tutorials/03-playlist-redux/playlist.py +0 -0
  340. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/tutorials/04-playlist-plus/README.md +0 -0
  341. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/tutorials/04-playlist-plus/playlist.py +0 -0
  342. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/tutorials/05-hello-cloud/README.md +0 -0
  343. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/tutorials/05-hello-cloud/hello-cloud.ipynb +0 -0
  344. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/tutorials/05-hello-cloud/hello-cloud.py +0 -0
  345. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/tutorials/06-statistics-redux/README.md +0 -0
  346. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/tutorials/06-statistics-redux/stats.ipynb +0 -0
  347. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/tutorials/07-worldview/README.md +0 -0
  348. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/tutorials/07-worldview/worldview.ipynb +0 -0
  349. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/tutorials/08-autopilot/README.md +0 -0
  350. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/tutorials/08-autopilot/autopilot.ipynb +0 -0
  351. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/unbounded_foreach.py +0 -0
  352. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/util.py +0 -0
  353. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow/vendor.py +0 -0
  354. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow.egg-info/SOURCES.txt +0 -0
  355. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow.egg-info/dependency_links.txt +0 -0
  356. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow.egg-info/entry_points.txt +0 -0
  357. {metaflow-2.12.18 → metaflow-2.12.19}/metaflow.egg-info/top_level.txt +0 -0
  358. {metaflow-2.12.18 → metaflow-2.12.19}/setup.cfg +0 -0
  359. {metaflow-2.12.18 → metaflow-2.12.19}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: metaflow
3
- Version: 2.12.18
3
+ Version: 2.12.19
4
4
  Summary: Metaflow: More Data Science, Less Engineering
5
5
  Author: Metaflow Developers
6
6
  Author-email: help@metaflow.org
@@ -26,7 +26,7 @@ License-File: LICENSE
26
26
  Requires-Dist: requests
27
27
  Requires-Dist: boto3
28
28
  Provides-Extra: stubs
29
- Requires-Dist: metaflow-stubs==2.12.18; extra == "stubs"
29
+ Requires-Dist: metaflow-stubs==2.12.19; extra == "stubs"
30
30
 
31
31
  ![Metaflow_Logo_Horizontal_FullColor_Ribbon_Dark_RGB](https://user-images.githubusercontent.com/763451/89453116-96a57e00-d713-11ea-9fa6-82b29d4d6eff.png)
32
32
 
@@ -698,7 +698,7 @@ class Kubernetes(object):
698
698
  t = time.time()
699
699
  time.sleep(update_delay(time.time() - start_time))
700
700
 
701
- _make_prefix = lambda: b"[%s] " % util.to_bytes(self._job.id)
701
+ prefix = lambda: b"[%s] " % util.to_bytes(self._job.id)
702
702
 
703
703
  stdout_tail = get_log_tailer(stdout_location, self._datastore.TYPE)
704
704
  stderr_tail = get_log_tailer(stderr_location, self._datastore.TYPE)
@@ -708,7 +708,7 @@ class Kubernetes(object):
708
708
 
709
709
  # 2) Tail logs until the job has finished
710
710
  tail_logs(
711
- prefix=_make_prefix(),
711
+ prefix=prefix(),
712
712
  stdout_tail=stdout_tail,
713
713
  stderr_tail=stderr_tail,
714
714
  echo=echo,
@@ -571,10 +571,8 @@ class JobSetSpec(object):
571
571
  namespace=self._kwargs["namespace"],
572
572
  ),
573
573
  spec=client.V1PodSpec(
574
- ## --- jobset require podspec deets start----
575
574
  subdomain=self._kwargs["subdomain"],
576
575
  set_hostname_as_fqdn=True,
577
- ## --- jobset require podspec deets end ----
578
576
  # Timeout is set on the pod and not the job (important!)
579
577
  active_deadline_seconds=self._kwargs[
580
578
  "timeout_in_seconds"
@@ -50,6 +50,9 @@ class CondaStepDecorator(StepDecorator):
50
50
  # conda channels, users can specify channel::package as the package name.
51
51
 
52
52
  def __init__(self, attributes=None, statically_defined=False):
53
+ self._user_defined_attributes = (
54
+ attributes.copy() if attributes is not None else {}
55
+ )
53
56
  super(CondaStepDecorator, self).__init__(attributes, statically_defined)
54
57
 
55
58
  # Support legacy 'libraries=' attribute for the decorator.
@@ -59,6 +62,9 @@ class CondaStepDecorator(StepDecorator):
59
62
  }
60
63
  del self.attributes["libraries"]
61
64
 
65
+ def is_attribute_user_defined(self, name):
66
+ return name in self._user_defined_attributes
67
+
62
68
  def step_init(self, flow, graph, step, decos, environment, flow_datastore, logger):
63
69
  # The init_environment hook for Environment creates the relevant virtual
64
70
  # environments. The step_init hook sets up the relevant state for that hook to
@@ -71,11 +77,16 @@ class CondaStepDecorator(StepDecorator):
71
77
 
72
78
  # Support flow-level decorator.
73
79
  if "conda_base" in self.flow._flow_decorators:
74
- super_attributes = self.flow._flow_decorators["conda_base"][0].attributes
80
+ conda_base = self.flow._flow_decorators["conda_base"][0]
81
+ super_attributes = conda_base.attributes
75
82
  self.attributes["packages"] = {
76
83
  **super_attributes["packages"],
77
84
  **self.attributes["packages"],
78
85
  }
86
+ self._user_defined_attributes = {
87
+ **self._user_defined_attributes,
88
+ **conda_base._user_defined_attributes,
89
+ }
79
90
  self.attributes["python"] = (
80
91
  self.attributes["python"] or super_attributes["python"]
81
92
  )
@@ -322,6 +333,9 @@ class CondaFlowDecorator(FlowDecorator):
322
333
  }
323
334
 
324
335
  def __init__(self, attributes=None, statically_defined=False):
336
+ self._user_defined_attributes = (
337
+ attributes.copy() if attributes is not None else {}
338
+ )
325
339
  super(CondaFlowDecorator, self).__init__(attributes, statically_defined)
326
340
 
327
341
  # Support legacy 'libraries=' attribute for the decorator.
@@ -333,6 +347,9 @@ class CondaFlowDecorator(FlowDecorator):
333
347
  if self.attributes["python"]:
334
348
  self.attributes["python"] = str(self.attributes["python"])
335
349
 
350
+ def is_attribute_user_defined(self, name):
351
+ return name in self._user_defined_attributes
352
+
336
353
  def flow_init(
337
354
  self, flow, graph, environment, flow_datastore, metadata, logger, echo, options
338
355
  ):
@@ -40,7 +40,12 @@ class PyPIStepDecorator(StepDecorator):
40
40
 
41
41
  # Support flow-level decorator
42
42
  if "pypi_base" in self.flow._flow_decorators:
43
- super_attributes = self.flow._flow_decorators["pypi_base"][0].attributes
43
+ pypi_base = self.flow._flow_decorators["pypi_base"][0]
44
+ super_attributes = pypi_base.attributes
45
+ self._user_defined_attributes = {
46
+ **self._user_defined_attributes,
47
+ **pypi_base._user_defined_attributes,
48
+ }
44
49
  self.attributes["packages"] = {
45
50
  **super_attributes["packages"],
46
51
  **self.attributes["packages"],
@@ -93,6 +98,12 @@ class PyPIStepDecorator(StepDecorator):
93
98
  ),
94
99
  )
95
100
  )
101
+ # TODO: This code snippet can be done away with by altering the constructor of
102
+ # MetaflowEnvironment. A good first-task exercise.
103
+ # Avoid circular import
104
+ from metaflow.plugins.datastores.local_storage import LocalStorage
105
+
106
+ environment.set_local_root(LocalStorage.get_datastore_root_from_config(logger))
96
107
 
97
108
  def is_attribute_user_defined(self, name):
98
109
  return name in self._user_defined_attributes
@@ -117,6 +128,12 @@ class PyPIFlowDecorator(FlowDecorator):
117
128
  name = "pypi_base"
118
129
  defaults = {"packages": {}, "python": None, "disabled": None}
119
130
 
131
+ def __init__(self, attributes=None, statically_defined=False):
132
+ self._user_defined_attributes = (
133
+ attributes.copy() if attributes is not None else {}
134
+ )
135
+ super().__init__(attributes, statically_defined)
136
+
120
137
  def flow_init(
121
138
  self, flow, graph, environment, flow_datastore, metadata, logger, echo, options
122
139
  ):
@@ -0,0 +1 @@
1
+ metaflow_version = "2.12.19"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: metaflow
3
- Version: 2.12.18
3
+ Version: 2.12.19
4
4
  Summary: Metaflow: More Data Science, Less Engineering
5
5
  Author: Metaflow Developers
6
6
  Author-email: help@metaflow.org
@@ -26,7 +26,7 @@ License-File: LICENSE
26
26
  Requires-Dist: requests
27
27
  Requires-Dist: boto3
28
28
  Provides-Extra: stubs
29
- Requires-Dist: metaflow-stubs==2.12.18; extra == "stubs"
29
+ Requires-Dist: metaflow-stubs==2.12.19; extra == "stubs"
30
30
 
31
31
  ![Metaflow_Logo_Horizontal_FullColor_Ribbon_Dark_RGB](https://user-images.githubusercontent.com/763451/89453116-96a57e00-d713-11ea-9fa6-82b29d4d6eff.png)
32
32
 
@@ -2,4 +2,4 @@ requests
2
2
  boto3
3
3
 
4
4
  [stubs]
5
- metaflow-stubs==2.12.18
5
+ metaflow-stubs==2.12.19
@@ -1 +0,0 @@
1
- metaflow_version = "2.12.18"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes