tessl install tessl/pypi-pillow-heif@1.1.0Python interface for libheif library providing HEIF/AVIF image processing with both standalone and Pillow plugin capabilities
Agent Success
Agent success rate when using this tile
94%
Improvement
Agent success rate improvement when using this tile compared to baseline
1.45x
Baseline
Agent success rate without this tile
65%
{
"context": "This criteria evaluates the engineer's ability to use pillow-heif for writing EXIF metadata to HEIF image files. The focus is on proper usage of EXIF handling APIs during the HEIF encoding process, including using PIL.Image.Exif for metadata manipulation and pillow-heif's save functionality with the exif parameter.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Image loading",
"description": "Uses PIL.Image.open() or pillow_heif functions to load the input image file into a usable format",
"max_score": 10
},
{
"name": "EXIF object creation",
"description": "Creates or accesses PIL.Image.Exif object to manipulate EXIF metadata (either from existing image.getexif() or creating new Exif instance)",
"max_score": 15
},
{
"name": "EXIF tag setting",
"description": "Properly sets EXIF tags using correct tag numbers or names (e.g., tag 271 or 0x010F for Make, tag 272 or 0x0110 for Model, tag 33432 or 0x8298 for Copyright)",
"max_score": 25
},
{
"name": "HEIF conversion",
"description": "Converts PIL Image to HeifFile using pillow_heif.from_pillow() or uses Pillow plugin with registered HEIF support",
"max_score": 15
},
{
"name": "EXIF embedding",
"description": "Passes EXIF data to the save operation using the exif parameter (either as bytes from Exif.tobytes() or as PIL.Image.Exif object when using Pillow plugin)",
"max_score": 25
},
{
"name": "Quality setting",
"description": "Specifies quality parameter with value of 90 or higher during HEIF save operation",
"max_score": 10
}
]
}