-
Notifications
You must be signed in to change notification settings - Fork 29
Expand file tree
/
Copy pathproject.py
More file actions
83 lines (61 loc) · 2.12 KB
/
project.py
File metadata and controls
83 lines (61 loc) · 2.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
"""Project domain."""
from dataclasses import dataclass
from enum import Enum
from typing import TYPE_CHECKING, Literal, NewType, Optional, TypedDict
from typing_extensions import Required
from .types import ListOrTuple
if TYPE_CHECKING:
from .tag import TagId
ProjectId = NewType("ProjectId", str)
InputType = Literal[
"IMAGE", "GEOSPATIAL", "PDF", "TEXT", "VIDEO", "LLM_RLHF", "LLM_INSTR_FOLLOWING", "LLM_STATIC"
]
WorkflowVersion = Literal["V1", "V2"]
@dataclass(frozen=True)
class ProjectStep(TypedDict, total=True):
"""Project step type."""
id: str
name: str
class WorkflowStepCreate(TypedDict, total=False):
"""Project workflow step."""
name: Required[str]
consensus_coverage: Optional[int]
number_of_expected_labels_for_consensus: Optional[int]
step_coverage: Optional[int]
type: Required[Literal["DEFAULT", "REVIEW"]]
assignees: Required[list[str]]
class WorkflowStepUpdate(TypedDict, total=False):
"""Project workflow step."""
id: Optional[str]
name: Optional[str]
consensus_coverage: Optional[int]
number_of_expected_labels_for_consensus: Optional[int]
step_coverage: Optional[int]
type: Optional[Literal["DEFAULT", "REVIEW"]]
assignees: Optional[list[str]]
class InputTypeEnum(str, Enum):
"""Input type enum."""
IMAGE = "IMAGE"
PDF = "PDF"
TEXT = "TEXT"
VIDEO = "VIDEO"
LLM_RLHF = "LLM_RLHF"
LLM_INSTR_FOLLOWING = "LLM_INSTR_FOLLOWING"
LLM_STATIC = "LLM_STATIC"
ComplianceTag = Literal["PHI", "PII"]
@dataclass
# pylint: disable=too-many-instance-attributes
class ProjectFilters:
"""Project filters for running a project search."""
id: Optional[ProjectId]
archived: Optional[bool] = None
search_query: Optional[str] = None
should_relaunch_kpi_computation: Optional[bool] = None
starred: Optional[bool] = None
updated_at_gte: Optional[str] = None
updated_at_lte: Optional[str] = None
created_at_gte: Optional[str] = None
created_at_lte: Optional[str] = None
organization_id: Optional[str] = None
tag_ids: Optional[ListOrTuple["TagId"]] = None
deleted: Optional[bool] = None