Skip to content

Commit da8d8f3

Browse files
authored
Add Project get_labeling_service_status() (#1753)
1 parent 07fd531 commit da8d8f3

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

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

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from typing import TYPE_CHECKING, Any, Dict, Iterable, List, Optional, Tuple, TypeVar, Union, overload
1010
from urllib.parse import urlparse
1111

12-
from labelbox.schema.labeling_service import LabelingService
12+
from labelbox.schema.labeling_service import LabelingService, LabelingServiceStatus
1313
import requests
1414

1515
from labelbox import parser
@@ -1920,10 +1920,25 @@ def clone(self) -> "Project":
19201920
def get_labeling_service(self) -> LabelingService:
19211921
"""Get the labeling service for this project.
19221922
1923+
Raises:
1924+
ResourceNotFoundError if the project does not have a labeling service.
1925+
19231926
Returns:
19241927
LabelingService: The labeling service for this project.
19251928
"""
1926-
return LabelingService.get(self.client, self.uid) # type: ignore
1929+
return LabelingService.get(self.client, self.uid)
1930+
1931+
@experimental
1932+
def get_labeling_service_status(self) -> LabelingServiceStatus:
1933+
"""Get the labeling service status for this project.
1934+
1935+
Raises:
1936+
ResourceNotFoundError if the project does not have a labeling service.
1937+
1938+
Returns:
1939+
LabelingServiceStatus: The labeling service status for this project.
1940+
"""
1941+
return self.get_labeling_service().status
19271942

19281943
@experimental
19291944
def request_labeling_service(self) -> LabelingService:

libs/labelbox/tests/integration/test_labeling_service.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
def test_get_labeling_service_throws_exception(project):
88
with pytest.raises(ResourceNotFoundError): # No labeling service by default
99
project.get_labeling_service()
10+
with pytest.raises(ResourceNotFoundError): # No labeling service by default
11+
project.get_labeling_service_status()
1012

1113

1214
def test_start_labeling_service(project):
@@ -18,3 +20,6 @@ def test_start_labeling_service(project):
1820
labeling_service = project.get_labeling_service()
1921
assert labeling_service.status == LabelingServiceStatus.SetUp
2022
assert labeling_service.project_id == project.uid
23+
24+
labeling_service_status = project.get_labeling_service_status()
25+
assert labeling_service_status == LabelingServiceStatus.SetUp

0 commit comments

Comments
 (0)