QR Code image generator with customizable image formats, error correction levels, and styling options
{
"context": "This criteria evaluates the engineer's ability to use the qrcode package's PyPNG image factory for generating QR codes without PIL/Pillow dependencies. The focus is on correctly selecting and configuring the pure Python PNG output format.",
"type": "weighted_checklist",
"checklist": [
{
"name": "PyPNGImage factory usage",
"description": "Uses qrcode.image.png.PyPNGImage as the image_factory parameter when creating QR codes, ensuring PNG output without PIL dependency",
"max_score": 30
},
{
"name": "QRCode instantiation",
"description": "Properly instantiates the QRCode class with appropriate parameters or uses the make() function with image_factory specified",
"max_score": 15
},
{
"name": "Data addition",
"description": "Correctly uses add_data() method to add text data to the QR code, or passes data directly to make() function",
"max_score": 10
},
{
"name": "QR code compilation",
"description": "Calls the make() method (or make(fit=True)) to compile the QR code data structure before generating the image",
"max_score": 10
},
{
"name": "Box size configuration",
"description": "Properly configures the box_size parameter to control the pixel size of each QR module",
"max_score": 10
},
{
"name": "Border configuration",
"description": "Properly configures the border parameter to control the white border width in modules",
"max_score": 10
},
{
"name": "Error correction level",
"description": "Sets error_correction parameter to ERROR_CORRECT_M (medium level) or appropriately handles error correction",
"max_score": 5
},
{
"name": "Image generation",
"description": "Calls make_image() method to generate the PNG image object from the compiled QR code",
"max_score": 5
},
{
"name": "File saving",
"description": "Uses the save() method or similar mechanism to write the generated PNG image to the specified file path",
"max_score": 5
}
]
}evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10