Skip to content

Commit ffff2c9

Browse files
authored
Merge pull request #158 from fastlabel/feature/task-count-sdk
[sdk][caddi要望]タスクの件数を取得するsdkの実装
2 parents 0d9fcb5 + 9ee7588 commit ffff2c9

File tree

2 files changed

+38
-1
lines changed

2 files changed

+38
-1
lines changed

README.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1911,7 +1911,7 @@ Example of a single dicom task object
19111911

19121912
### Common
19131913

1914-
APIs for update and delete are same over all tasks.
1914+
APIs for update and delete and count are same over all tasks.
19151915

19161916
#### Update Task
19171917

@@ -1949,6 +1949,15 @@ client.delete_task_annotations(task_id="YOUR_TASK_ID")
19491949
id_name_map = client.get_task_id_name_map(project="YOUR_PROJECT_SLUG")
19501950
```
19511951

1952+
#### Count Task
1953+
```python
1954+
task_count = client.count_tasks(
1955+
project="YOUR_PROJECT_SLUG",
1956+
status="approved", # status can be 'pending', 'registered', 'completed', 'skipped', 'reviewed' 'sent_back', 'approved', 'declined'
1957+
tags=["tag1", "tag2"] # up to 10 tags
1958+
)
1959+
```
1960+
19521961
#### Create Task from S3
19531962

19541963
Task creation from S3.

fastlabel/__init__.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,34 @@ def find_history(self, history_id: str) -> dict:
292292

293293
# Task Get
294294

295+
def count_tasks(
296+
self,
297+
project: str,
298+
status: str = None,
299+
external_status: str = None,
300+
tags: list = None,
301+
) -> int:
302+
"""
303+
Returns task count.
304+
305+
project is slug of your project (Required).
306+
status can be 'registered', 'completed', 'skipped',
307+
'reviewed', 'sent_back', 'approved', 'declined'. (Optional)
308+
external_status can be 'registered', 'completed', 'skipped',
309+
'reviewed', 'sent_back', 'approved', 'declined',
310+
'customer_declined' (Optional).
311+
tags is a list of tag (Optional).
312+
"""
313+
endpoint = "tasks/count"
314+
params = {"project": project}
315+
if status:
316+
params["status"] = status
317+
if external_status:
318+
params["externalStatus"] = external_status
319+
if tags:
320+
params["tags"] = tags
321+
return self.api.get_request(endpoint, params=params)
322+
295323
def get_image_tasks(
296324
self,
297325
project: str,

0 commit comments

Comments
 (0)