Projects

A project is one ML use case under a workspace (not the same as a workspace). It owns images/samples, classes, annotations, dataset versions, pipelines, training runs, and models.

Hierarchy: Organization → Workspace → Project → datasets / annotation / pipelines / training / models.

Create a project

UI: Dashboard → New project, /projects/new, or a workspace page → New project here.

Fields:

Field

Description

Workspace

Parent workspace (defaults to Personal → Default workspace)

Name

Required display name

Description

Optional notes

Type

Object detection (recommended), instance segmentation, etc.

Location

Optional absolute path (or ~-expanded). Empty → ~/.oneopen/projects/<id>/

API:

POST /api/projects
Content-Type: application/json

{
  "name": "Traffic cams",
  "description": "",
  "project_type": "object_detection",
  "location": "",
  "workspace_id": null
}

Open and update

  • Dashboard lists all projects with image / annotated / class counts.

  • Project detail page: images grid, classes, generate/train/export panels.

  • Rename or change location via PATCH /api/projects/{id}.

Warning

Changing location does not automatically move existing files. Prefer setting location at create/import time.

Delete

  • Single project: delete from the UI or DELETE /api/projects/{id}.

  • Multi-select: select mode on the dashboard → bulk delete (POST /api/projects/bulk-delete).

Deleting a project removes its DB rows. Managed image files under the project images/ directory are cleaned up when applicable. In-place imports (source folder as location) keep files on disk.

Classes

Classes live under a project.

UI: Project page → class list → add name/color.

API:

POST /api/projects/{project_id}/classes
{"name": "car", "color": "#22c55e"}

GET  /api/projects/{project_id}/classes
DELETE /api/classes/{class_id}

Tip

Name classes to match your intended YOLO model vocabulary if you plan to use Label Assist (e.g. COCO names like person, car). Unmatched detections are skipped.

Dashboard stats

GET /api/stats

Returns project count, total images, annotated images, and annotation count.