Skip to content

Commit 2ce41dc

Browse files
committed
Chunk
1 parent 21b5287 commit 2ce41dc

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

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

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -399,6 +399,7 @@ def delete_labels_by_user(self, user_id: str) -> int:
399399
400400
This performs a soft delete (sets deleted=true in the database).
401401
The labels will no longer appear in queries but remain in the database.
402+
Labels are deleted in chunks of 500 to avoid overwhelming the API.
402403
403404
Args:
404405
user_id (str): The ID of the user whose labels to delete.
@@ -416,8 +417,15 @@ def delete_labels_by_user(self, user_id: str) -> int:
416417
if not labels_to_delete:
417418
return 0
418419

419-
Entity.Label.bulk_delete(labels_to_delete)
420-
return len(labels_to_delete)
420+
chunk_size = 500
421+
total_deleted = 0
422+
423+
for i in range(0, len(labels_to_delete), chunk_size):
424+
chunk = labels_to_delete[i:i + chunk_size]
425+
Entity.Label.bulk_delete(chunk)
426+
total_deleted += len(chunk)
427+
428+
return total_deleted
421429

422430
def export(
423431
self,

0 commit comments

Comments
 (0)