tessl install tessl/pypi-aws-lambda-powertools@3.19.0Comprehensive developer toolkit implementing serverless best practices for AWS Lambda functions in Python
Agent Success
Agent success rate when using this tile
89%
Improvement
Agent success rate improvement when using this tile compared to baseline
1.22x
Baseline
Agent success rate without this tile
73%
{
"context": "This criteria evaluates how well the engineer uses AWS Lambda Powertools' Event Source Data Classes to process events from multiple AWS services (SQS, S3, DynamoDB Streams, API Gateway). The focus is on proper usage of typed data classes for type-safe event parsing and data extraction.",
"type": "weighted_checklist",
"checklist": [
{
"name": "SQS Event Class Usage",
"description": "Uses SQSEvent class from aws_lambda_powertools.utilities.data_classes to parse SQS events and accesses records via the records property or iteration",
"max_score": 20
},
{
"name": "SQS Record Data Extraction",
"description": "Correctly extracts data from SQSRecord objects using properties like body, receipt_handle, and message_attributes (or messageAttributes)",
"max_score": 15
},
{
"name": "S3 Event Class Usage",
"description": "Uses S3Event class from aws_lambda_powertools.utilities.data_classes.s3_event to parse S3 events and iterates through records",
"max_score": 20
},
{
"name": "S3 Record Data Extraction",
"description": "Correctly extracts bucket name via s3.bucket.name, object key via s3.object.key (which is automatically URL-decoded), and event_name from S3EventRecord objects",
"max_score": 10
},
{
"name": "DynamoDB Event Class Usage",
"description": "Uses DynamoDBStreamEvent class from aws_lambda_powertools.utilities.data_classes.dynamo_db_stream_event to parse DynamoDB stream events and accesses records",
"max_score": 15
},
{
"name": "DynamoDB Type Deserialization",
"description": "Correctly uses dynamodb properties on DynamoDBRecord that return deserialized Python native types: dynamodb.NewImage and dynamodb.OldImage (which automatically convert DynamoDB types to Python types)",
"max_score": 10
},
{
"name": "API Gateway Event Class Usage",
"description": "Uses APIGatewayProxyEvent class from aws_lambda_powertools.utilities.data_classes to parse API Gateway REST API events",
"max_score": 5
},
{
"name": "API Gateway Data Extraction",
"description": "Correctly extracts http_method, path, and query_string_parameters (or queryStringParameters) from APIGatewayProxyEvent, and uses get_header_value() method or headers property for case-insensitive header access",
"max_score": 5
}
]
}