{"categories":[{"label":"Graphics","url":"https://skillfed.io/packages/category/multimedia-graphics"},{"label":"Graphics Conversion","url":"https://skillfed.io/packages/category/multimedia-graphics-graphics-conversion"}],"enrichment":{"capability":"Willow provides a unified API for image manipulation across Pillow, Wand, and OpenCV, automatically converting between libraries as needed for operations like resizing, cropping, face detection, and format conversion.","skillfed_tags":["image-processing","multi-backend","face-detection"],"use_cases":["Build a thumbnail generation service that works with Pillow when available but falls back to Wand on systems where Pillow isn't installed.","Detect faces in user-uploaded photos by automatically routing to OpenCV when needed, without forcing users to learn OpenCV's API.","Convert between image formats (PNG, JPEG, WebP, AVIF, HEIC) using a consistent API regardless of which backend is installed.","Process animated GIFs with frame counting and manipulation across different backends.","Rotate and crop images with a single codebase that works across Pillow, Wand, and OpenCV without conditional imports."],"what_it_does":"Willow is a wrapper library that unifies the APIs of Pillow, Wand, and OpenCV into a single interface, letting you work with images without needing to know which backend is available. It automatically converts images between libraries when an operation requires a specific backend\u2014for example, face detection uses OpenCV even if you loaded the image with Pillow. The library supports basic image operations (resize, crop, rotate, format conversion) and more specialized tasks like face and feature detection.\n\nIt's written in pure Python and supports modern Python versions (3.10\u20133.14). You install it with low friction\u2014only two small runtime dependencies\u2014and then choose which image backends to install separately based on your needs. This makes it useful in environments where you want flexibility about which image library to use, or where you need to combine capabilities from multiple libraries in a single codebase.","worth_installing":"Yes, if you need a unified image API and want to avoid backend lock-in. Install friction is minimal, maintenance is active, and there are no known vulnerabilities. The permissive license poses no restriction. Only caveat: you must separately install at least one of Pillow, Wand, or OpenCV\u2014Willow is a wrapper, not a standalone image library."},"id":"willow","links":{"html":"https://skillfed.io/packages/willow","md":"https://skillfed.io/packages/willow.md","pypi":"https://pypi.org/project/willow/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2025-10-26","license_spdx":null,"license_treatment":"permissive","name":"Willow","python_support":"supports_current","summary":"A Python image library that sits on top of Pillow, Wand and OpenCV"},"popularity":{"monthly_downloads":965992,"position":4621,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"1.12.0"}
