OB Project Utils

raw JSON →
0.2.34 verified Mon Apr 27 auth: no python

Utility library for Outerbounds projects, providing helpers for configuration, metaflow integration, and common project tasks. Version 0.2.34 (as of last check) is actively maintained with frequent releases.

pip install ob-project-utils
error ModuleNotFoundError: No module named 'ob_project_utils'
cause Package not installed or wrong Python environment.
fix
Run 'pip install ob-project-utils' in the correct environment.
error ImportError: cannot import name 'OBProjectConfig' from 'ob_project_utils'
cause OBProjectConfig is in the config submodule, not top-level.
fix
Use 'from ob_project_utils.config import OBProjectConfig'.
error TypeError: __init__() got an unexpected keyword argument 'environment'
cause Older version of MetaflowIntegration does not accept 'environment' parameter.
fix
Upgrade to ob-project-utils>=0.2.20 or use positional args.
breaking In version 0.2.0, the configuration module was restructured. Old imports from 'ob_project_utils.configuration' will break.
fix Change import to 'from ob_project_utils.config import OBProjectConfig'.
deprecated The 'metaflow_integration_v1' function is deprecated in favor of 'MetaflowIntegration' class.
fix Use 'from ob_project_utils.metaflow import MetaflowIntegration'.
gotcha The library requires explicit AWS credentials in environment variables; using IAM roles may not work without additional configuration.
fix Set AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables, or configure boto3 session manually.

Initialize project config and Metaflow integration.

from ob_project_utils.config import OBProjectConfig
from ob_project_utils.metaflow import MetaflowIntegration
import os

config = OBProjectConfig()
print(f"Project name: {config.project_name}")

flow = MetaflowIntegration(environment={'AWS_ACCESS_KEY_ID': os.environ.get('AWS_ACCESS_KEY_ID', ''), 'AWS_SECRET_ACCESS_KEY': os.environ.get('AWS_SECRET_ACCESS_KEY', '')})
print(flow.get_flow_name())