Packages
Pillow adds image processing capabilities to Python, providing file format support, efficient pixel data handling, and image manipulation operations.
Install it if you need to work with images in Python—it is the de facto standard for this task.
fonttools manipulates font files in multiple formats (TrueType, OpenType, AFM, Type 1, Mac-specific) and includes TTX, a tool to convert fonts to and from XML text format.
Install it if you need to read, write, or manipulate fonts programmatically or via the TTX command-line tool.
WeasyPrint converts HTML and CSS into PDF documents using a Python-based rendering engine designed for pagination and document generation.
CairoSVG converts SVG files to PDF, EPS, PS, and PNG formats using the Cairo graphics library.
pillow-heif adds HEIF/HEIC image format support to Python, enabling decoding and encoding of 8, 10, and 12-bit HEIC files with metadata and depth image handling.
Rasterio reads and writes geospatial raster data in formats like GeoTIFF, providing a Python API based on N-D arrays for working with gridded datasets.
Decodes HEIF/HEIC image files and integrates with pillow for reading and conversion to other formats, supporting 8/10/12-bit color depths and depth images.
Svglib reads SVG files and converts them to ReportLab Drawing objects, which can then be rendered to PDF, bitmap, or other formats supported by ReportLab.
Affine provides a Python class for representing and manipulating 2D affine transformation matrices, with support for translation, rotation, scaling, and shearing operations.
Install it if you work with georeferenced rasters, need to compose 2D transformations, or integrate with GDAL-based tools.
Open3D provides data structures and algorithms for working with 3D point clouds, meshes, and RGB-D data, with GPU-accelerated processing and visualization capabilities.
Registers AVIF image format support with Pillow, enabling AVIF file handling through Pillow's standard image interface.
pdfrw reads, writes, and manipulates PDF files in pure Python, supporting operations like merging, subsetting, rotating, and metadata modification without external dependencies.
Cloudinary Python SDK provides image and video upload, transformation, optimization, and delivery through Cloudinary's cloud platform, with built-in Django integration and secure URL generation.
Install it if you're using Cloudinary or considering a managed media platform.
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.
Python binding for libvips, a streaming image processing library that builds pipelines of operations and executes them in parallel with low memory overhead.
psd-tools reads and writes Adobe Photoshop PSD/PSB files, exports layer images as NumPy arrays or PIL images, and can compose layers back into flattened images.
tesserocr wraps Tesseract's C++ OCR engine via Cython, extracting text and metadata from images with support for Pillow objects and concurrent processing through Python's threading module.
Generates PNG/image files from HTML, CSS, and URLs by wrapping headless browser rendering (Chrome, Chromium, or Edge).
Install only if you have a compatible browser (Chrome, Chromium, or Edge) available on your system; otherwise, the package will fail at runtime.
Applies color-oriented image operations—gamma adjustment, sigmoidal contrast, saturation, and atmospheric correction—to numpy arrays representing RGB imagery in rasterio band ordering.
Python bindings for Google Skia's Path Ops module, enabling boolean operations (intersection, union, difference, xor) on vector paths.
pdfrw2 reads, writes, and manipulates PDF files with operations including page subsetting, merging, rotating, metadata modification, and watermarking.
However, be cautious: the package is abandoned (last commit 2022-11-09), so it may not handle modern PDF features or newly discovered edge cases.
Implements blend modes (soft light, dodge, multiply, overlay, and others) for compositing image layers using NumPy arrays, mirroring functionality found in graphics software like Photoshop and GIMP.
Install it if you need to composite images with blend modes in Python; skip it if you only need basic image overlay without blend mode control.
Converts cubic Bézier curves to quadratic curves in font objects (Defcon or Robofab UFO formats), with the primary entry point being the `fonts_to_quadratic` function.
Scour optimizes and cleans SVG files by removing redundant data and simplifying structure, reducing file size while preserving visual output.
However, the dormant status (no release since 2020-11-22) means it will not receive updates for new Python versions or SVG specification changes.
Provides pre-built binary wheels of libvips and its dependencies for use with pyvips in CFFI API mode across common platforms.
Open3D-cpu provides CPU-based 3D data structures, processing algorithms, and visualization tools for working with point clouds, meshes, and RGB-D data in Python.
Converts Glyphs source files (.glyphs) to UFO and Designspace formats, and vice versa, bridging between Glyphs.app and the UFO ecosystem.
Install it if you work with Glyphs files or need to convert between Glyphs and UFO formats; it is the standard tool for this task in the open-source font tooling…
Compiles OpenType font binaries (OTF and TTF) directly from UFO (Unified Font Object) source files without requiring the Adobe FDK, using fonttools as its backend.
Converts bitmap images to vector graphics by tracing outlines, implemented in pure Python as a port of Peter Selinger's Potrace algorithm.