{"id":27192,"library":"ob-project-utils","title":"OB Project Utils","description":"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.","status":"active","version":"0.2.34","language":"python","source_language":"en","source_url":"https://github.com/outerbounds/ob-project-utils","tags":["outerbounds","metaflow","project-utilities","aws"],"install":[{"cmd":"pip install ob-project-utils","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Core integration for Metaflow flows","package":"metaflow","optional":false},{"reason":"AWS SDK for S3 and other services","package":"boto3","optional":true},{"reason":"Command-line interface utilities","package":"click","optional":false}],"imports":[{"note":"OBProjectConfig is in the config submodule, not top-level.","wrong":"from ob_project_utils import OBProjectConfig","symbol":"OBProjectConfig","correct":"from ob_project_utils.config import OBProjectConfig"},{"note":"","wrong":"","symbol":"MetaflowIntegration","correct":"from ob_project_utils.metaflow import MetaflowIntegration"}],"quickstart":{"code":"from ob_project_utils.config import OBProjectConfig\nfrom ob_project_utils.metaflow import MetaflowIntegration\nimport os\n\nconfig = OBProjectConfig()\nprint(f\"Project name: {config.project_name}\")\n\nflow = MetaflowIntegration(environment={'AWS_ACCESS_KEY_ID': os.environ.get('AWS_ACCESS_KEY_ID', ''), 'AWS_SECRET_ACCESS_KEY': os.environ.get('AWS_SECRET_ACCESS_KEY', '')})\nprint(flow.get_flow_name())","lang":"python","description":"Initialize project config and Metaflow integration."},"warnings":[{"fix":"Change import to 'from ob_project_utils.config import OBProjectConfig'.","message":"In version 0.2.0, the configuration module was restructured. Old imports from 'ob_project_utils.configuration' will break.","severity":"breaking","affected_versions":"<0.2.0"},{"fix":"Use 'from ob_project_utils.metaflow import MetaflowIntegration'.","message":"The 'metaflow_integration_v1' function is deprecated in favor of 'MetaflowIntegration' class.","severity":"deprecated","affected_versions":">=0.2.20"},{"fix":"Set AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables, or configure boto3 session manually.","message":"The library requires explicit AWS credentials in environment variables; using IAM roles may not work without additional configuration.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Run 'pip install ob-project-utils' in the correct environment.","cause":"Package not installed or wrong Python environment.","error":"ModuleNotFoundError: No module named 'ob_project_utils'"},{"fix":"Use 'from ob_project_utils.config import OBProjectConfig'.","cause":"OBProjectConfig is in the config submodule, not top-level.","error":"ImportError: cannot import name 'OBProjectConfig' from 'ob_project_utils'"},{"fix":"Upgrade to ob-project-utils>=0.2.20 or use positional args.","cause":"Older version of MetaflowIntegration does not accept 'environment' parameter.","error":"TypeError: __init__() got an unexpected keyword argument 'environment'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}