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.
- ProjectFlow: The base class for project flows, extending Metaflow’s
FlowSpecwith project configuration and theprjproperty. Start here. - Assets: The
prjmethods 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_scheduleand@project_triggerdecorators for time-based and event-based flow execution. - Events: Publishing events from flows with
prj.publish_eventandprj.safe_publish_event, and theProjectEventtype. - 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-deployfor CI/CD deployment and theouterbounds flowprojectsubcommands for inspecting and tearing down deployed resources.