Last updated

Task Management: Orchestrating Your Annotation Workflow 🎯

Learn how to efficiently create, manage, and track annotation tasks in Dataloop - your key to organizing team workflows and ensuring quality annotations.

Creating Tasks 📝

1. Basic Task Creation

import dtlpy as dl

# Create a simple task
task = dataset.tasks.create(
    task_name='Annotate Cars',
    assignee_ids=['annotator@company.com'],
    due_date=dl.utils.datetime_to_timestamp(datetime(2024, 12, 31))
)

# Create task with specific items
task = dataset.tasks.create(
    task_name='Urgent Review',
    assignee_ids=['annotator1@company.com', 'annotator2@company.com'],
    item_ids=['item1_id', 'item2_id'],
    due_date=dl.utils.datetime_to_timestamp(datetime(2024, 12, 31))
)

2. Advanced Task Configuration

# Create task with filters
filters = dl.Filters()
filters.add(field='dir', values='/folder/to/annotate')
filters.add(field='metadata.user.status', values='to-annotate')

task = dataset.tasks.create(
    task_name='Batch Annotation',
    assignee_ids=['team@company.com'],
    filters=filters,
    project_id=project.id,
    task_type='annotation',
    task_owner='owner@company.com',
    workload=[
        dl.WorkloadUnit(
            assignee_id='annotator1@company.com',
            load=50  # percentage
        ),
        dl.WorkloadUnit(
            assignee_id='annotator2@company.com',
            load=50
        )
    ]
)

Managing Tasks 📋

1. Task Operations

# Get task by ID
task = dataset.tasks.get(task_id='task_id')

# Update task
task.name = 'Updated Task Name'
task.update()

# Change task status
task.set_status(status='completed')

# Delete task
task.delete()

2. Item Management

# Add items to task
task.add_items(
    item_ids=['item3_id', 'item4_id'],
    assignee_ids=['annotator@company.com']
)

# Remove items from task
task.remove_items(item_ids=['item3_id'])

# Reassign items
task.reassign_items(
    item_ids=['item1_id'],
    assignee_id='new_annotator@company.com'
)

Ready to explore model management? Let's move on to the next chapter! 🚀