Dark magics about variable names in python
Overall
score
90%
{
"context": "This evaluation assesses how well the engineer uses the varname package to capture variable names in different assignment contexts. The key focus is on understanding when to use strict mode (default) for direct assignments versus non-strict mode (strict=False) for assignments within expressions.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Import varname",
"description": "Correctly imports the varname function from the varname package",
"max_score": 5
},
{
"name": "Use varname() in track_direct_assignment",
"description": "Calls varname() function inside track_direct_assignment() to capture variable names",
"max_score": 15
},
{
"name": "Handle multiple variables",
"description": "Uses multi_vars=True parameter in varname() to handle tuple unpacking cases where multiple variables are assigned",
"max_score": 15
},
{
"name": "Strict mode for direct",
"description": "Uses strict mode (default strict=True or explicitly set) in track_direct_assignment() for direct assignment contexts",
"max_score": 20
},
{
"name": "Use varname() in track_expression_assignment",
"description": "Calls varname() function inside track_expression_assignment() to capture variable names",
"max_score": 15
},
{
"name": "Non-strict mode for expressions",
"description": "Uses strict=False parameter in varname() within track_expression_assignment() to handle assignments in expression contexts like walrus operators",
"max_score": 25
},
{
"name": "Correct return types",
"description": "Returns appropriate types from both functions (str or tuple[str, ...] for track_direct_assignment, str for track_expression_assignment) matching the API specification",
"max_score": 5
}
]
}Install with Tessl CLI
npx tessl i tessl/pypi-varnameevals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10