> ## Documentation Index
> Fetch the complete documentation index at: https://anaconda.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Project utilities API

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.

<Note>
  Start with [Project assets](/docs/platform/guides/projects/project-assets) before diving into the API reference.
</Note>

This section is the reference for those utilities:

* [ProjectFlow](/docs/platform/guides/projects/utilities-api/project-flow): The base class for project flows, extending Metaflow's `FlowSpec` with project configuration and the `prj` property. Start here.
* [Assets](/docs/platform/guides/projects/utilities-api/assets/registration/register-data): 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](/docs/platform/guides/projects/utilities-api/scheduling-and-triggering): The `@project_schedule` and `@project_trigger` decorators for time-based and event-based flow execution.
* [Events](/docs/platform/guides/projects/utilities-api/events/publish-event): Publishing events from flows with `prj.publish_event` and `prj.safe_publish_event`, and the `ProjectEvent` type.
* [Asset promotion](/docs/platform/guides/projects/utilities-api/promotion): Promoting assets across branches with `promote_assets`, including aliases and the promote-on-merge CI pattern.
* [Evaluation logging](/docs/platform/guides/projects/utilities-api/evaluation-logging): Logging evaluation metrics for assets with `prj.evals.log`.
* [CLI commands](/docs/platform/guides/projects/utilities-api/cli/obproject-deploy): `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](/docs/platform/guides/projects/working-with-projects) for orientation, then [Setting up a new project](/docs/platform/guides/projects/setting-up-a-new-project) for a guided walkthrough.
