pyvips
binding for the libvips image processing library
Decision gist · record as of 2026-08-14
Yes, if you need fast, memory-efficient image processing and are willing to install libvips as a system dependency. High install friction (external library requirement) is the main trade-off, but performance and memory gains are substantial. No known security vulnerabilities and active maintenance make it a solid choice. Not suitable if you need a zero-dependency image library or if system-level package installation is not feasible.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- libvips shared library must be installed on the system (e.g., via apt, brew, or conda) and discoverable by the system library loader; on Windows, may require manual PATH configuration or use of os.add_dll_directory().
- High install friction: requires libvips shared library (version 8.2 or later, 8.9+ for full features) to be present on the system.
- Can build a faster API mode extension if development headers and a C compiler are available, otherwise falls back to slower ABI mode (~20% slower in execution).
License · maintenance · safety
MIT (permissive) — MIT license (permissive) means you can use, modify, and distribute freely in commercial and private projects with minimal restrictions, provided you include the license notice.
last release 2025-12-09 (248 days) · last repo commit 2026-07-31 · 815 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 708,339 downloads/mo, #5,265 on PyPI
Alternatives
Verify before relying
pip install pyvips
import pyvips
image = pyvips.Image.new_from_file('input.jpg')
image = image.resize(0.5)
image.write_to_file('output.jpg')- Whether the ~20% performance penalty of ABI mode is acceptable for your workload.
- Exact feature gaps in the binary installation beyond what is documented.
- Whether cffi API mode will be available on your specific platform and Python version.
What it is and what it does
pyvips is a Python wrapper around libvips, a C image processing library designed for speed and memory efficiency. Instead of loading entire images into memory, it builds pipelines of operations that stream image data in parallel from source to destination in sections. This architecture makes it substantially faster and more memory-efficient than alternatives for common tasks such as resizing, sharpening, and format conversion.
The package can operate in two modes: API mode (faster, requires libvips development headers and a C compiler to build a binary extension) or ABI mode (slower startup and ~20% runtime penalty, requires only the libvips shared library). It supports Python 3.7 through 3.14 and runs on Windows, macOS, and Linux. The fact sheet indicates active maintenance and no known vulnerabilities.
Use it for
- Batch resize or transform large image collections with minimal memory footprint.
- Build image processing pipelines that apply multiple filters or conversions in a single pass.
- Process high-resolution TIFF or other large image formats where keeping the full image in memory is impractical.
- Integrate fast image operations into web services or data processing workflows.
- Scientific or research applications requiring efficient image manipulation and analysis.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need fast, memory-efficient image processing and are willing to install libvips as a system dependency.
High install friction (external library requirement) is the main trade-off, but performance and memory gains are substantial. No known security vulnerabilities and active maintenance make it a solid choice. Not suitable if you need a zero-dependency image library or if system-level package installation is not feasible.
Install
pyvips on PyPI
Before you install
High install friction: requires libvips shared library (version 8.2 or later, 8.9+ for full features) to be present on the system. Can build a faster API mode extension if development headers and a C compiler are available, otherwise falls back to slower ABI mode (~20% slower in execution). Binary installation option available but with reduced feature set.
libvips shared library must be installed on the system (e.g., via apt, brew, or conda) and discoverable by the system library loader; on Windows, may require manual PATH configuration or use of os.add_dll_directory().
License in practice
MIT license (permissive) means you can use, modify, and distribute freely in commercial and private projects with minimal restrictions, provided you include the license notice.
Quickstart
pip install pyvips
import pyvips
image = pyvips.Image.new_from_file('input.jpg')
image = image.resize(0.5)
image.write_to_file('output.jpg')
Verify before relying
- Whether the ~20% performance penalty of ABI mode is acceptable for your workload.
- Exact feature gaps in the binary installation beyond what is documented.
- Whether cffi API mode will be available on your specific platform and Python version.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.7 |
| Install friction | High. Source build required |
| Runtime dependencies | 1 packagecffi |
| Maintenance | Actively maintained 248 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 708,339 / month, #5,265 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Multimedia :: GraphicsTopic :: Multimedia :: Graphics :: Graphics Conversion |
Evidence: pyvips-3.1.1.tar.gz
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “image processing library”
- pyvipsPython binding for libvips, a streaming image processing library that…
- itk-coreitk-core provides Python bindings to the Insight Toolkit's core image…
- pillowPillow adds image processing capabilities to Python, providing file…
Give your agent the search over MCP, or paste the wish link into any chat.
More Graphics 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.
Enables matplotlib figures to display inline directly within Jupyter notebooks and IPython environments instead of in separate windows.
PyMuPDF extracts, renders, converts, and manipulates PDF and other document formats (XPS, EPUB, images, Office files via Pro) with high performance, providing text, tables, images, and metadata with precise layout information.
The AGPL license requires careful review if you are building proprietary software—commercial licensing is available from Artifex.
pypdfium2 is a Python binding to PDFium that enables PDF rendering, inspection, manipulation, and creation through a ctypes interface to Google's PDFium library.
Install it if you need PDF rendering, inspection, or manipulation in Python; the medium install friction is offset by comprehensive platform support.
Altair is a declarative Python library for creating interactive statistical visualizations by writing simple, readable code that compiles to Vega-Lite specifications.
See also pyvips-binary · wgpu · crick · aiomultiprocess · img2pdf · python-ffmpeg · openslide-python