Source code for rhesis.sdk.entities.project

from typing import ClassVar, Optional

from rhesis.sdk.clients import Endpoints
from rhesis.sdk.entities.base_collection import BaseCollection
from rhesis.sdk.entities.base_entity import BaseEntity

ENDPOINT = Endpoints.PROJECTS


[docs] class Project(BaseEntity): """ Project entity for interacting with the Rhesis API. Projects represent the top-level organizational unit for tests, endpoints, and other resources. Each project contains its own test sets, endpoints, and configurations. Examples: Create a new project: >>> project = Project(name="My AI App", description="Testing my chatbot") >>> project.push() Load an existing project: >>> project = Projects.pull(name="My AI App") >>> print(project.name) List all projects: >>> projects = Projects.all() >>> for p in projects: ... print(p.name) """ endpoint: ClassVar[Endpoints] = ENDPOINT name: Optional[str] = None description: Optional[str] = None is_active: Optional[bool] = True icon: Optional[str] = None status_id: Optional[str] = None user_id: Optional[str] = None owner_id: Optional[str] = None organization_id: Optional[str] = None id: Optional[str] = None
[docs] class Projects(BaseCollection): """Collection class for Project entities.""" endpoint = ENDPOINT entity_class = Project