CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/pypi-pydantic

Data validation using Python type hints

90

1.30x
Overview
Eval results
Files

task.mdevals/scenario-10/

User Activity Report Generator

A data validation and serialization system for user activity records that customizes output formatting for reporting purposes.

Capabilities

Validates and stores user activity data

  • Creating a UserActivity with valid data (user_id=101, action="login", timestamp="2024-01-15T10:30:00") succeeds @test
  • Creating a UserActivity with invalid timestamp format raises ValidationError @test

Customizes serialization for reports

  • UserActivity serializes with formatted_timestamp as readable date string "January 15, 2024 at 10:30 AM" instead of ISO format @test
  • UserActivity serializes with action converted to uppercase (e.g., "LOGIN" instead of "login") @test

Generates summary statistics

  • ActivityReport with activities list computes and includes total_activities count in serialization @test
  • ActivityReport with activities list groups actions by type and includes action_breakdown dict in serialization @test

Implementation

@generates

API

from datetime import datetime
from pydantic import BaseModel

class UserActivity(BaseModel):
    """Represents a single user activity event."""
    user_id: int
    action: str
    timestamp: datetime

    # Customizes serialization to format timestamp and uppercase action

class ActivityReport(BaseModel):
    """Generates a report with summary statistics from activity data."""
    activities: list[UserActivity]

    # Customizes serialization to add computed fields: total_activities and action_breakdown

Dependencies { .dependencies }

pydantic { .dependency }

Provides data validation and custom serialization support.

@satisfied-by

Install with Tessl CLI

npx tessl i tessl/pypi-pydantic

tile.json