Last updated

Welcome to Dataloop SDK: Your AI Development Companion ๐Ÿš€

Ready to supercharge your AI development? The Dataloop SDK is your all-in-one toolkit for managing the complete AI lifecycle. Think of it as your command center for everything from data management to production deployment!

What Can You Do? ๐ŸŽฏ

With our powerful Python SDK, you'll have full control over:

  • ๐Ÿ“ Projects - Your high-level workspaces
  • ๐Ÿ“Š Datasets - Your data collections
  • ๐Ÿ–ผ๏ธ Items - Your individual files
  • โœ๏ธ Annotations - Your data labels
  • ๐Ÿ“ Metadata - Your custom data attributes

Getting Started: Your Journey Begins Here ๐ŸŒŸ

Let's get you up and running with everything you need:

1. Setting Up Your Environment ๐Ÿ› ๏ธ

First, let's get the essential tools installed:

Python Installation ๐Ÿ

  1. Visit Python Downloads
  2. Get Python 3.8 or later
  3. Follow the installation wizard

๐Ÿ’ก Pro Tip: Make sure to check "Add Python to PATH" during installation!

Dataloop SDK Installation ๐Ÿ“ฆ

# Install using pip
pip install dtlpy

# Verify installation
pip show dtlpy  # Should show version 1.64.9 or later

2. Logging In: Your Gateway to Dataloop ๐Ÿ”‘

import dtlpy as dl

# Smart login that handles token expiration
if dl.token_expired():
    dl.login()

For Long-Running Jobs: M2M Authentication ๐Ÿค–

# Using API key (recommended for automation)
dl.login_api_key(api_key=os.environ['DTLPY_API_KEY'])

โš ๏ธ Security Tip: Always store API keys as environment variables!

3. Creating Your First Project ๐ŸŽจ

# Create a new project
project = dl.projects.create(project_name='My-Awesome-Project')

# Or get an existing one
project = dl.projects.get(project_name='My-Awesome-Project')

4. Managing Team Access ๐Ÿ‘ฅ

# Add a team member
project.add_member(
    email='teammate@company.com',
    role=dl.MemberRole.Developer
)

# Update roles
project.update_member(
    email='teammate@company.com',
    role=dl.MemberRole.Annotator
)

5. Working with Datasets ๐Ÿ“Š

# Create a new dataset
dataset = project.datasets.create(dataset_name='My-First-Dataset')

# Upload items
item = dataset.items.upload(
    local_path=r'C:\path\to\your\image.jpg'
)

๐ŸŽฏ Pro Tip: Use remote_path to organize files in folders!

6. Adding Annotations โœ๏ธ

# Create an annotation builder
builder = item.annotations.builder()

# Add a classification
builder.add(
    annotation_definition=dl.Classification(
        label='cat'
    )
)

# Add a bounding box
builder.add(
    annotation_definition=dl.Box(
        left=100,
        top=100,
        right=200,
        bottom=200,
        label='cat-face'
    )
)

# Save annotations
item.annotations.upload(builder)

7. Smart Filtering ๐Ÿ”

# Create a filter
filters = dl.Filters()

# Find all items with 'cat' annotations
filters.add_join(field='label', values='cat')

# Get filtered items
items = dataset.items.list(filters=filters)
for item in items.all():
    print(f"Found cat in: {item.name}")

8. Working with Metadata ๐Ÿ“

# Add metadata to an item
item.metadata['user'] = {
    'photographer': 'John Doe',
    'location': 'New York',
    'date': '2024-03-20'
}
item = item.update()

# Filter by metadata
filters = dl.Filters()
filters.add(field='metadata.user.location', values='New York')

9. Creating Tasks ๐Ÿ“‹

# Create an annotation task
task = dataset.tasks.create(
    task_name='Annotate Cats',
    assignee_ids=['annotator@company.com'],
    due_date=datetime.datetime(2024, 12, 31).timestamp()
)

Best Practices ๐Ÿ‘‘

  1. Error Handling ๐Ÿ›ก๏ธ

    try:
        item = dataset.items.get(item_id='your-item-id')
    except dl.exceptions.NotFound:
        print("Item not found!")
  2. Batch Operations โšก

    # Upload multiple items
    dataset.items.upload(
        local_path=r'C:\path\to\folder',
        local_annotations_path=r'C:\path\to\annotations'
    )
  3. Resource Cleanup ๐Ÿงน

    # Always logout when done
    dl.logout()

Ready to Build Something Amazing? ๐Ÿš€

You now have all the tools to:

  • Manage your AI projects
  • Organize your datasets
  • Label your data
  • Create annotation tasks
  • Track everything with metadata

Happy coding! ๐ŸŽ‰

๐Ÿ“š Want to Learn More? Check out our full onboarding!