ob-metaflow-extensions 1.4.5__tar.gz → 1.4.6__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-extensions might be problematic. Click here for more details.

Files changed (138) hide show
  1. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/PKG-INFO +1 -1
  2. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/__init__.py +1 -1
  3. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/capsule.py +33 -3
  4. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/perimeters.py +1 -1
  5. ob_metaflow_extensions-1.4.6/metaflow_extensions/outerbounds/plugins/optuna/__init__.py +48 -0
  6. ob_metaflow_extensions-1.4.6/metaflow_extensions/outerbounds/toplevel/plugins/optuna/__init__.py +1 -0
  7. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/ob_metaflow_extensions.egg-info/PKG-INFO +1 -1
  8. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/ob_metaflow_extensions.egg-info/SOURCES.txt +2 -0
  9. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/setup.py +1 -1
  10. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/MANIFEST.in +0 -0
  11. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/README.md +0 -0
  12. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/__init__.py +0 -0
  13. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/config/__init__.py +0 -0
  14. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/__init__.py +0 -0
  15. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/app_cli.py +0 -0
  16. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/app_deploy_decorator.py +0 -0
  17. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/app_utils.py +0 -0
  18. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/consts.py +0 -0
  19. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/__init__.py +0 -0
  20. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/_state_machine.py +0 -0
  21. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/_vendor/__init__.py +0 -0
  22. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/_vendor/spinner/__init__.py +0 -0
  23. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/_vendor/spinner/spinners.py +0 -0
  24. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/app_cli.py +0 -0
  25. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/app_config.py +0 -0
  26. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/artifacts.py +0 -0
  27. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/click_importer.py +0 -0
  28. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/code_package/__init__.py +0 -0
  29. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/code_package/code_packager.py +0 -0
  30. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/code_package/examples.py +0 -0
  31. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/config/__init__.py +0 -0
  32. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/config/cli_generator.py +0 -0
  33. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/config/config_utils.py +0 -0
  34. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/config/schema_export.py +0 -0
  35. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/config/typed_configs.py +0 -0
  36. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/config/typed_init_generator.py +0 -0
  37. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/config/unified_config.py +0 -0
  38. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/config_schema.yaml +0 -0
  39. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/dependencies.py +0 -0
  40. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/deployer.py +0 -0
  41. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/experimental/__init__.py +0 -0
  42. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/secrets.py +0 -0
  43. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/utils.py +0 -0
  44. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/core/validations.py +0 -0
  45. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/deploy_decorator.py +0 -0
  46. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/apps/supervisord_utils.py +0 -0
  47. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/auth_server.py +0 -0
  48. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/aws/__init__.py +0 -0
  49. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/aws/assume_role.py +0 -0
  50. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/aws/assume_role_decorator.py +0 -0
  51. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/card_utilities/__init__.py +0 -0
  52. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/card_utilities/async_cards.py +0 -0
  53. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/card_utilities/extra_components.py +0 -0
  54. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/card_utilities/injector.py +0 -0
  55. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/checkpoint_datastores/__init__.py +0 -0
  56. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/checkpoint_datastores/coreweave.py +0 -0
  57. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/checkpoint_datastores/external_chckpt.py +0 -0
  58. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/checkpoint_datastores/nebius.py +0 -0
  59. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/fast_bakery/__init__.py +0 -0
  60. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/fast_bakery/baker.py +0 -0
  61. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/fast_bakery/docker_environment.py +0 -0
  62. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/fast_bakery/fast_bakery.py +0 -0
  63. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/fast_bakery/fast_bakery_cli.py +0 -0
  64. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/fast_bakery/fast_bakery_decorator.py +0 -0
  65. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/kubernetes/__init__.py +0 -0
  66. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/kubernetes/kubernetes_client.py +0 -0
  67. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/kubernetes/pod_killer.py +0 -0
  68. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nim/card.py +0 -0
  69. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nim/nim_decorator.py +0 -0
  70. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nim/nim_manager.py +0 -0
  71. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nim/utils.py +0 -0
  72. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nvcf/__init__.py +0 -0
  73. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nvcf/constants.py +0 -0
  74. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nvcf/exceptions.py +0 -0
  75. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nvcf/heartbeat_store.py +0 -0
  76. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nvcf/nvcf.py +0 -0
  77. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nvcf/nvcf_cli.py +0 -0
  78. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nvcf/nvcf_decorator.py +0 -0
  79. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nvcf/utils.py +0 -0
  80. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nvct/__init__.py +0 -0
  81. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nvct/exceptions.py +0 -0
  82. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nvct/nvct.py +0 -0
  83. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nvct/nvct_cli.py +0 -0
  84. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nvct/nvct_decorator.py +0 -0
  85. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nvct/nvct_runner.py +0 -0
  86. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/nvct/utils.py +0 -0
  87. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/ollama/__init__.py +0 -0
  88. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/ollama/constants.py +0 -0
  89. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/ollama/exceptions.py +0 -0
  90. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/ollama/ollama.py +0 -0
  91. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/ollama/status_card.py +0 -0
  92. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/perimeters.py +0 -0
  93. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/profilers/deco_injector.py +0 -0
  94. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/profilers/gpu_profile_decorator.py +0 -0
  95. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/profilers/simple_card_decorator.py +0 -0
  96. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/s3_proxy/__init__.py +0 -0
  97. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/s3_proxy/constants.py +0 -0
  98. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/s3_proxy/exceptions.py +0 -0
  99. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/s3_proxy/s3_proxy_api.py +0 -0
  100. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/s3_proxy/s3_proxy_decorator.py +0 -0
  101. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/s3_proxy/s3_proxy_manager.py +0 -0
  102. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/secrets/__init__.py +0 -0
  103. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/secrets/secrets.py +0 -0
  104. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/snowflake/__init__.py +0 -0
  105. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/snowflake/snowflake.py +0 -0
  106. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/snowpark/__init__.py +0 -0
  107. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/snowpark/snowpark.py +0 -0
  108. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/snowpark/snowpark_cli.py +0 -0
  109. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/snowpark/snowpark_client.py +0 -0
  110. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/snowpark/snowpark_decorator.py +0 -0
  111. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/snowpark/snowpark_exceptions.py +0 -0
  112. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/snowpark/snowpark_job.py +0 -0
  113. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/snowpark/snowpark_service_spec.py +0 -0
  114. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/tensorboard/__init__.py +0 -0
  115. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/torchtune/__init__.py +0 -0
  116. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/vllm/__init__.py +0 -0
  117. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/vllm/constants.py +0 -0
  118. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/vllm/exceptions.py +0 -0
  119. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/vllm/status_card.py +0 -0
  120. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/plugins/vllm/vllm_manager.py +0 -0
  121. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/profilers/__init__.py +0 -0
  122. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/profilers/gpu.py +0 -0
  123. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/remote_config.py +0 -0
  124. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/toplevel/__init__.py +0 -0
  125. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/toplevel/global_aliases_for_metaflow_package.py +0 -0
  126. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/toplevel/ob_internal.py +0 -0
  127. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/toplevel/plugins/azure/__init__.py +0 -0
  128. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/toplevel/plugins/gcp/__init__.py +0 -0
  129. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/toplevel/plugins/kubernetes/__init__.py +0 -0
  130. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/toplevel/plugins/ollama/__init__.py +0 -0
  131. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/toplevel/plugins/snowflake/__init__.py +0 -0
  132. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/toplevel/plugins/torchtune/__init__.py +0 -0
  133. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/toplevel/plugins/vllm/__init__.py +0 -0
  134. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/metaflow_extensions/outerbounds/toplevel/s3_proxy.py +0 -0
  135. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/ob_metaflow_extensions.egg-info/dependency_links.txt +0 -0
  136. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/ob_metaflow_extensions.egg-info/requires.txt +0 -0
  137. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/ob_metaflow_extensions.egg-info/top_level.txt +0 -0
  138. {ob_metaflow_extensions-1.4.5 → ob_metaflow_extensions-1.4.6}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ob_metaflow_extensions
3
- Version: 1.4.5
3
+ Version: 1.4.6
4
4
  Summary: Outerbounds Platform Extensions for Metaflow
5
5
  Author: Outerbounds, Inc.
6
6
  License: Commercial
@@ -361,4 +361,4 @@ SECRETS_PROVIDERS_DESC = [
361
361
  ("outerbounds", ".secrets.secrets.OuterboundsSecretsProvider"),
362
362
  ]
363
363
  # Adding an override here so the library can be imported at the metaflow.plugins level
364
- __mf_promote_submodules__ = ["snowflake", "ollama", "torchtune"]
364
+ __mf_promote_submodules__ = ["snowflake", "ollama", "torchtune", "optuna"]
@@ -446,6 +446,34 @@ class CapsuleApi:
446
446
  message="Capsule JSON decode failed",
447
447
  )
448
448
 
449
+ def get_by_name(self, name: str, most_recent_only: bool = True):
450
+ _url = os.path.join(self._base_url, f"?displayName={name}")
451
+ response = self._wrapped_api_caller(
452
+ requests.get,
453
+ _url,
454
+ retryable_status_codes=[409], # todo : verify me
455
+ conn_error_retries=3,
456
+ )
457
+ try:
458
+ if most_recent_only:
459
+ result = response.json()
460
+ candidates = result["capsules"]
461
+ if not candidates:
462
+ return None
463
+ return sorted(
464
+ candidates, key=lambda x: x["metadata"]["createdAt"], reverse=True
465
+ )[0]
466
+ else:
467
+ return response.json()
468
+ except json.JSONDecodeError as e:
469
+ raise CapsuleApiException(
470
+ _url,
471
+ "get",
472
+ response.status_code,
473
+ response.text,
474
+ message="Capsule JSON decode failed",
475
+ )
476
+
449
477
  def list(self):
450
478
  response = self._wrapped_api_caller(
451
479
  requests.get,
@@ -793,9 +821,11 @@ class CapsuleDeployer:
793
821
  "💊 %s deployment status: %s "
794
822
  % (
795
823
  self.capsule_type.title(),
796
- "in progress"
797
- if state_machine.update_in_progress
798
- else "completed",
824
+ (
825
+ "in progress"
826
+ if state_machine.update_in_progress
827
+ else "completed"
828
+ ),
799
829
  )
800
830
  )
801
831
  _further_readiness_check_failed = False
@@ -40,7 +40,7 @@ class PerimeterExtractor:
40
40
  return perimeter, api_server # type: ignore
41
41
 
42
42
  @classmethod
43
- def during_metaflow_execution(cls) -> str:
43
+ def during_metaflow_execution(cls) -> Union[Tuple[str, str], Tuple[None, None]]:
44
44
  from metaflow.metaflow_config_funcs import init_config
45
45
 
46
46
  clean_url = (
@@ -0,0 +1,48 @@
1
+ import os
2
+ import json
3
+
4
+ __mf_promote_submodules__ = ["plugins.optuna"]
5
+
6
+
7
+ def auth():
8
+ from metaflow.metaflow_config_funcs import init_config
9
+
10
+ conf = init_config()
11
+ if conf:
12
+ headers = {"x-api-key": conf["METAFLOW_SERVICE_AUTH_KEY"]}
13
+ else:
14
+ headers = json.loads(os.environ["METAFLOW_SERVICE_HEADERS"])
15
+ return headers
16
+
17
+
18
+ def get_deployment_db_access_endpoint(name: str):
19
+ from ..apps.core.perimeters import PerimeterExtractor
20
+ from ..apps.core.capsule import CapsuleApi
21
+
22
+ perimeter, cap_url = PerimeterExtractor.during_metaflow_execution()
23
+ deployment = CapsuleApi(cap_url, perimeter).get_by_name(name)
24
+ if not deployment:
25
+ raise Exception(f"No app deployment found with name `{name}`")
26
+
27
+ if (
28
+ "status" in deployment
29
+ and "accessInfo" in deployment["status"]
30
+ and "extraAccessUrls" in deployment["status"]["accessInfo"]
31
+ ):
32
+ for extra_url in deployment["status"]["accessInfo"]["extraAccessUrls"]:
33
+ if extra_url["name"] == "in_cluster_db_access":
34
+ db_url = extra_url["url"].replace("http://", "")
35
+ return db_url
36
+
37
+ raise Exception(f"No db access endpoint found for deployment `{name}`")
38
+
39
+
40
+ def get_db_url(app_name: str):
41
+ """
42
+ Example usage:
43
+ >>> from metaflow.plugins.optuna import get_db_url
44
+ >>> s = optuna.create_study(..., storage=get_db_url("optuna-dashboard"))
45
+ """
46
+ mf_token = auth()["x-api-key"]
47
+ app_url = get_deployment_db_access_endpoint(app_name)
48
+ return f"postgresql://userspace_default:{mf_token}@{app_url}/userspace_default?sslmode=disable"
@@ -0,0 +1 @@
1
+ __mf_promote_submodules__ = ["plugins.optuna"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ob-metaflow-extensions
3
- Version: 1.4.5
3
+ Version: 1.4.6
4
4
  Summary: Outerbounds Platform Extensions for Metaflow
5
5
  Author: Outerbounds, Inc.
6
6
  License: Commercial
@@ -86,6 +86,7 @@ metaflow_extensions/outerbounds/plugins/ollama/constants.py
86
86
  metaflow_extensions/outerbounds/plugins/ollama/exceptions.py
87
87
  metaflow_extensions/outerbounds/plugins/ollama/ollama.py
88
88
  metaflow_extensions/outerbounds/plugins/ollama/status_card.py
89
+ metaflow_extensions/outerbounds/plugins/optuna/__init__.py
89
90
  metaflow_extensions/outerbounds/plugins/profilers/deco_injector.py
90
91
  metaflow_extensions/outerbounds/plugins/profilers/gpu_profile_decorator.py
91
92
  metaflow_extensions/outerbounds/plugins/profilers/simple_card_decorator.py
@@ -124,6 +125,7 @@ metaflow_extensions/outerbounds/toplevel/plugins/azure/__init__.py
124
125
  metaflow_extensions/outerbounds/toplevel/plugins/gcp/__init__.py
125
126
  metaflow_extensions/outerbounds/toplevel/plugins/kubernetes/__init__.py
126
127
  metaflow_extensions/outerbounds/toplevel/plugins/ollama/__init__.py
128
+ metaflow_extensions/outerbounds/toplevel/plugins/optuna/__init__.py
127
129
  metaflow_extensions/outerbounds/toplevel/plugins/snowflake/__init__.py
128
130
  metaflow_extensions/outerbounds/toplevel/plugins/torchtune/__init__.py
129
131
  metaflow_extensions/outerbounds/toplevel/plugins/vllm/__init__.py
@@ -2,7 +2,7 @@ from setuptools import setup, find_namespace_packages
2
2
  from pathlib import Path
3
3
 
4
4
 
5
- version = "1.4.5"
5
+ version = "1.4.6"
6
6
  this_directory = Path(__file__).parent
7
7
  long_description = (this_directory / "README.md").read_text()
8
8