Skip to main content
A project brings together the code, flows, and assets that make up an AI or machine learning system, so they’re developed, versioned, and deployed as one coherent unit rather than as scattered pieces. Projects add lightweight structure on top of the flows you already run.

Why projects matter

An AI or ML system is built from code, data, and models that each evolve on their own schedule. Code changes through commits and pull requests; data refreshes on a pipeline; models get retrained or swapped. A project gives all of these a shared home with versioning and continuous delivery, so you can iterate rapidly across branches and still bring everything together into a working system you can keep improving.

What a project contains

A project is defined in a Git repository and centers on a configuration file, obproject.toml, that names the project and the Anaconda Platform organization it belongs to:
A project deploys into a perimeter, and a perimeter can host many projects. Different branches of a project can target different perimeters, so main can deploy to a production perimeter while feature branches deploy to a development one. Each project tracks the following assets: Assets are references, not storage. An asset points at the code, data, or model itself, wherever it lives: the Git repository, an artifact a flow produced in the data plane, or an external system the project connects to. Data and model assets add a layer of metadata and tracking on top of the artifacts a flow produces. They answer what a project’s key inputs and outputs are, which flows produce and consume them, and when each was last refreshed. Assets are scoped to a project branch, so you can evaluate different models or datasets in isolation and compare them across branches.

Projects and CI/CD

Because a project lives in a Git repository, it fits naturally into continuous delivery. Pushing a change can trigger an update to the project on the platform. This is how a project moves from open-ended experimentation toward a production system, following the same software engineering practices you’d use for any codebase.

Working with projects

For instructions on creating and structuring a project, see Working with projects.