Create a Project

Set up a Project for your use case.

What is a Project?

A Project helps gather all Reports and Test Suites related to the same use case. Each Project has a dedicated monitoring Dashboard and snapshot storage.

Should you have one Project for one ML model? You will often create one project per ML model or dataset, but this is not a strict rule. For example, you can log data from champion/challenger models, or related models in one Project and use Tags to organize them.

Once you create a Project, you can connect via Python to send data or edit the Dashboard. In Evidently Cloud, you can also the web interface.

Create a Project

Add a new Project

Team management is a Pro feature available in the Evidently Cloud.

To create a Project inside a workspace ws and team with a team_id, assign a name and description, and save the changes:

project = ws.create_project("My test project", team_id="YOUR_TEAM_ID")
project.description = "My project description"
project.save()

You must always create a Team to be able to add a Project in Evidently Cloud. You can copy your Team ID from the Teams page in the UI.

In self-hosted installation, you do not need to pass the team ID. To create a Project:

project = ws.create_project("My test project")
project.description = "My project description"
project.save()

Project ID. Once you run create_project, you will see the Project ID. You can later use it to reference the Project. You can also copy the Project ID directly from the UI: it appears above the monitoring Dashboard.

What's next? Head to the next section to see how to send data to a Project.

Connect to a Project

To connect to an existing Project from Python, use the get_project method.

project = ws.get_project("PROJECT_ID")

Save changes

After making changes to the Project (such as editing description or adding monitoring Panels), always use the save() command:

project.save()

Browse Projects

You can see all available Projects on the monitoring homepage, or request a list programmatically. To get a list of all Projects in a workspace ws, use:

ws.list_projects()

To find a specific Project by its name, use the search_project method:

ws.search_project("project_name")

[DANGER] Delete Project

You are deleting the data in a Project. If you delete a Project, you will delete all the associated snapshots stored in a Project.

To delete the Project and all the data inside it:

# ws.delete_project("PROJECT ID")

Project parameters

Each Project has the following parameters.

ParameterDescription

name: str

Project name.

id: UUID4 = Field(default_factory=uuid.uuid4)

Unique identifier of the Project. Assigned automatically.

description: Optional[str] = None

Optional description. Visible when you browse Projects.

dashboard: DashboardConfig

Dashboard configuration that describes the composition of the monitoring Panels. Note: See Dashboard Design for details. You don't need to explicitly pass DashboardConfig if you use the .dashboard.add_panel method to add Panels.

date_from: Optional[datetime.datetime] = None

Start DateTime of the monitoring Dashboard. By default, Evidently shows data for all available periods based on the snapshot timestamps. You can set a different DateTime. E.g., to refer to the last 30 days: from datetime import datetime, timedelta datetime.now() + timedelta(-30)

date_to: Optional[datetime.datetime] = None

End DateTime of the monitoring Dashboard. Works the same as above.

What’s next?

Once you create or connect to a Project, you can:

Last updated