Skip to content

Commit adfb744

Browse files
author
Val Brodsky
committed
Add upload_type to Project
1 parent ec3b7ec commit adfb744

File tree

4 files changed

+33
-10
lines changed

4 files changed

+33
-10
lines changed

libs/labelbox/src/labelbox/client.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -555,7 +555,7 @@ def get_users(self, where=None) -> PaginatedCollection:
555555
An iterable of Users (typically a PaginatedCollection).
556556
"""
557557
return self._get_all(Entity.User, where, filter_deleted=False)
558-
558+
559559
def get_datasets(self, where=None) -> PaginatedCollection:
560560
""" Fetches one or more datasets.
561561
@@ -609,6 +609,7 @@ def _create(self, db_object_type, data, extra_params={}):
609609
data = {**data, **extra_params}
610610
query_string, params = query.create(db_object_type, data)
611611
res = self.execute(query_string, params)
612+
612613
if not res:
613614
raise labelbox.exceptions.LabelboxError("Failed to create %s" %
614615
db_object_type.type_name())
@@ -2231,9 +2232,8 @@ def get_embedding_by_name(self, name: str) -> Embedding:
22312232
raise labelbox.exceptions.ResourceNotFoundError(Embedding,
22322233
dict(name=name))
22332234

2234-
def upsert_label_feedback(
2235-
self, label_id: str, feedback: str,
2236-
scores: Dict[str, float]) -> List[LabelScore]:
2235+
def upsert_label_feedback(self, label_id: str, feedback: str,
2236+
scores: Dict[str, float]) -> List[LabelScore]:
22372237
"""
22382238
Submits the label feedback which is a free-form text and numeric
22392239
label scores.

libs/labelbox/src/labelbox/schema/ontology_kind.py

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,16 +34,16 @@ def is_supported(cls, value):
3434
return isinstance(value, cls)
3535

3636
@classmethod
37-
def _missing_(cls, name) -> 'EditorTaskType':
37+
def _missing_(cls, value) -> 'EditorTaskType':
3838
"""Handle missing null new task types
3939
Handle upper case names for compatibility with
4040
the GraphQL"""
4141

42-
if name is None:
42+
if value is None:
4343
return cls.Missing
4444

4545
for name, member in cls.__members__.items():
46-
if name == name.upper():
46+
if value == name.upper():
4747
return member
4848

4949
return cls.Missing
@@ -71,3 +71,24 @@ def map_to_editor_task_type(onotology_kind: OntologyKind,
7171
return EditorTaskType.ModelChatEvaluation
7272
else:
7373
return EditorTaskType.Missing
74+
75+
76+
class UploadType(Enum):
77+
Auto = 'AUTO',
78+
Manual = 'MANUAL',
79+
Missing = None
80+
81+
@classmethod
82+
def is_supported(cls, value):
83+
return isinstance(value, cls)
84+
85+
@classmethod
86+
def _missing_(cls, value: object) -> 'UploadType':
87+
if value is None:
88+
return cls.Missing
89+
90+
for name, member in cls.__members__.items():
91+
if value == name.upper():
92+
return member
93+
94+
return cls.Missing

libs/labelbox/src/labelbox/schema/project.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@
3737
from labelbox.schema.resource_tag import ResourceTag
3838
from labelbox.schema.task import Task
3939
from labelbox.schema.task_queue import TaskQueue
40-
from labelbox.schema.ontology_kind import (EditorTaskType, OntologyKind)
40+
from labelbox.schema.ontology_kind import (EditorTaskType, OntologyKind,
41+
UploadType)
4142
from labelbox.schema.project_overview import ProjectOverview, ProjectOverviewDetailed
4243

4344
if TYPE_CHECKING:
@@ -121,6 +122,7 @@ class Project(DbObject, Updateable, Deletable):
121122
editor_task_type = Field.Enum(EditorTaskType, "editor_task_type")
122123
data_row_count = Field.Int("data_row_count")
123124
model_setup_complete: Field = Field.Boolean("model_setup_complete")
125+
upload_type: Field = Field.Enum(UploadType, "upload_type")
124126

125127
# Relationships
126128
created_by = Relationship.ToOne("User", False, "created_by")
@@ -145,8 +147,7 @@ def is_chat_evaluation(self) -> bool:
145147
return self.media_type == MediaType.Conversational and self.editor_task_type == EditorTaskType.ModelChatEvaluation
146148

147149
def is_auto_data_generation(self) -> bool:
148-
return self.media_type == MediaType.LLMPromptCreation or self.media_type == MediaType.LLMPromptResponseCreation or self.is_chat_evaluation(
149-
)
150+
return (self.upload_type == UploadType.Auto) # type: ignore
150151

151152
def project_model_configs(self):
152153
query_str = """query ProjectModelConfigsPyApi($id: ID!) {

libs/labelbox/tests/unit/test_project.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ def test_project_editor_task_type(api_editor_task_type,
3232
"queueMode": "BATCH",
3333
"setupComplete": "2021-06-01T00:00:00.000Z",
3434
"modelSetupComplete": None,
35+
"uploadType": "Auto",
3536
})
3637

3738
assert project.editor_task_type == expected_editor_task_type

0 commit comments

Comments
 (0)