Skip to main content

AnnotationStage Objects

class AnnotationStage(WorkflowStageBase)

stage_type

An Annotate stage in a non-Consensus Project. You can use this stage in Consensus and non-Consensus Projects.

get_tasks

def get_tasks(
    *,
    assignee: Union[List[str], str, None] = None,
    data_hash: Union[List[UUID], UUID, List[str], str, None] = None,
    dataset_hash: Union[List[UUID], UUID, List[str], str, None] = None,
    data_title: Optional[str] = None,
    status: Union[AnnotationTaskStatus, List[AnnotationTaskStatus],
                  None] = None
) -> Iterable[AnnotationTask]
Retrieves tasks for the AnnotationStage. Parameters
  • assignee (Union[List[str], str, None]): A list of user emails or a single user email to filter tasks by assignee.
  • data_hash (Union[List[UUID], UUID, List[str], str, None]): A list of data unit UUIDs or a single data unit UUID to filter tasks by data hash.
  • dataset_hash (Union[List[UUID], UUID, List[str], str, None]): A list of dataset UUIDs or a single dataset UUID to filter tasks by dataset hash.
  • data_title (Optional[str]): A string to filter tasks by data title.
  • status (Optional[AnnotationTaskStatus | List[AnnotationTaskStatus]]): A status or a list of statuses to filter tasks by their status.
Returns An iterable of AnnotationTask instances from both non-Consensus and Consensus Projects.

AnnotationTask Objects

class AnnotationTask(WorkflowTask)
Represents a task in a non-Consensus Annotate stage. Attributes
  • status (AnnotationTaskStatus): The current status of the task.
  • data_hash (UUID): Unique ID for the data unit.
  • data_title (str): Name of the data unit.
  • label_branch_name (str): Name of the label branch.
  • assignee (Optional[str]): User assigned to the task.
Allowed actions
  • submit: Submits a task for review.
  • assign: Assigns a task to a user.
  • release: Releases a task from the current user.
  • move: Moves the task to another stage in the workflow.

submit

def submit(*,
           assignee: Optional[str] = None,
           retain_assignee: bool = False,
           bundle: Optional[Bundle] = None) -> None
Submits the task for review. Parameters
  • assignee (Optional[str]): User email to be assigned to the task whilst submitting the task.
  • retain_assignee (bool): Retains the current assignee of the task. This is ignored if assignee is provided. An Error will occur if the task does not already have an assignee and retain_assignee is True.
  • bundle (Optional[Bundle]): Optional bundle to be included with the submission.

assign

def assign(assignee: str, *, bundle: Optional[Bundle] = None) -> None
Assigns the task to a user. Parameters
  • assignee (str): The email of the user to assign the task to.
  • bundle (Optional[Bundle]): Optional bundle to be included with the assignment.

release

def release(*, bundle: Optional[Bundle] = None) -> None
Releases the task from the current user. Parameters
  • bundle (Optional[Bundle]): Optional bundle to be included with the release.

move

def move(*,
         destination_stage_uuid: UUID,
         bundle: Optional[Bundle] = None) -> None
Moves the task from its current stage to another stage. Parameters
  • destination_stage_uuid (UUID): Unique identifier of the stage to move the task to.
  • bundle (Optional[Bundle]): Optional bundle to be included with the move.
Returns None

issues

@property
def issues() -> TaskIssues
Returns the issue client for the task.