Skip to main content
The obproject utilities let project flows, deployments, and CI/CD jobs work with the platform’s project model: registering and consuming assets, scheduling and triggering flows, publishing events, promoting assets across branches, and deploying or tearing down project resources. They provide the same capabilities the platform UI surfaces for a project, embeddable in your own flows, scripts, and pipelines.
Start with Project assets before diving into the API reference.
This section is the reference for those utilities:
  • ProjectFlow: The base class for project flows, extending Metaflow’s FlowSpec with project configuration and the prj property. Start here.
  • Assets: The prj methods for registering, consuming, listing, and deleting data and model assets, including standalone usage outside flows. Asset registration writes to two stores: the asset catalog (instances and lineage) and the project’s flowproject metadata (the declaration list that the UI overview reads).
  • Scheduling and triggering: The @project_schedule and @project_trigger decorators for time-based and event-based flow execution.
  • Events: Publishing events from flows with prj.publish_event and prj.safe_publish_event, and the ProjectEvent type.
  • Asset promotion: Promoting assets across branches with promote_assets, including aliases and the promote-on-merge CI pattern.
  • Evaluation logging: Logging evaluation metrics for assets with prj.evals.log.
  • CLI commands: obproject-deploy for CI/CD deployment and the outerbounds flowproject subcommands for inspecting and tearing down deployed resources.
New to projects? Start with Working with projects for orientation, then Setting up a new project for a guided walkthrough.