tessl install tessl/pypi-aws-requests-auth@0.4.0AWS signature version 4 signing process for the python requests module
Agent Success
Agent success rate when using this tile
84%
Improvement
Agent success rate improvement when using this tile compared to baseline
1.11x
Baseline
Agent success rate without this tile
76%
{
"context": "This criteria evaluates how effectively the engineer uses the aws-requests-auth package to implement AWS Signature Version 4 request signing. The focus is on proper usage of the package's core classes and methods for authenticating HTTP requests to AWS services.",
"type": "weighted_checklist",
"checklist": [
{
"name": "AWSRequestsAuth usage",
"description": "Uses the AWSRequestsAuth class from aws-requests-auth package to implement the authenticator, correctly passing aws_access_key, aws_secret_access_key, aws_host, aws_region, and aws_service parameters to initialize the authenticator",
"max_score": 30
},
{
"name": "Requests integration",
"description": "Properly integrates the authenticator with the Python requests library by using AWSRequestsAuth as the auth parameter in requests, leveraging its AuthBase interface implementation",
"max_score": 20
},
{
"name": "Session token handling",
"description": "Correctly handles temporary credentials by using the aws_token parameter when initializing AWSRequestsAuth, ensuring the X-Amz-Security-Token header is included in signed requests",
"max_score": 15
},
{
"name": "Signature headers",
"description": "Ensures that the package correctly generates and includes all required AWS signature headers (Authorization, x-amz-date, x-amz-content-sha256) in the authenticated requests",
"max_score": 15
},
{
"name": "Request signing",
"description": "Properly leverages the package's __call__ method to automatically sign requests with AWS Signature Version 4, allowing the requests library to invoke the authenticator transparently",
"max_score": 10
},
{
"name": "Canonical components",
"description": "Relies on the package's built-in canonical request construction (canonical path, query string, and payload hashing) rather than reimplementing these components",
"max_score": 10
}
]
}