features module¶
The PIL.features module can be used to detect which Pillow features are available on your system.
- PIL.features.pilinfo(out: IO[str] | None = None, supported_formats: bool = True) None[source]¶
Prints information about this installation of Pillow. This function can be called with
python3 -m PIL. It can also be called withpython3 -m PIL.reportorpython3 -m PIL --reportto have “supported_formats” set toFalse, omitting the list of all supported image file formats.- Parameters:
out – The output stream to print to. Defaults to
sys.stdoutifNone.supported_formats – If
True, a list of all supported image file formats will be printed.
- PIL.features.check(feature: str) bool | None[source]¶
- Parameters:
feature – A module, codec, or feature name.
- Returns:
Trueif the module, codec, or feature is available,FalseorNoneotherwise.
- PIL.features.version(feature: str) str | None[source]¶
- Parameters:
feature – The module, codec, or feature to check for.
- Returns:
The version number as a string, or
Noneif unknown or not available.
- PIL.features.get_supported() list[str][source]¶
- Returns:
A list of all supported modules, features, and codecs.
Modules¶
Support for the following modules can be checked:
pil: The Pillow core module, required for all functionality.tkinter: Tkinter support.freetype2: FreeType font support viaPIL.ImageFont.truetype().littlecms2: LittleCMS 2 support viaPIL.ImageCms.webp: WebP image support.avif: AVIF image support.
- PIL.features.check_module(feature: str) bool[source]¶
Checks if a module is available.
- Parameters:
feature – The module to check for.
- Returns:
Trueif available,Falseotherwise.- Raises:
ValueError – If the module is not defined in this version of Pillow.
Codecs¶
Support for these is only checked during Pillow compilation.
If the required library was uninstalled from the system, the pil core module may fail to load instead.
Except for jpg, the version number is checked at run-time.
Support for the following codecs can be checked:
jpg: (compile time) Libjpeg support, required for JPEG based image formats. Only compile time version number is available.jpg_2000: (compile time) OpenJPEG support, required for JPEG 2000 image formats.zlib: (compile time) Zlib support, required for zlib compressed formats, such as PNG.libtiff: (compile time) LibTIFF support, required for TIFF based image formats.
- PIL.features.check_codec(feature: str) bool[source]¶
Checks if a codec is available.
- Parameters:
feature – The codec to check for.
- Returns:
Trueif available,Falseotherwise.- Raises:
ValueError – If the codec is not defined in this version of Pillow.
- PIL.features.version_codec(feature: str) str | None[source]¶
- Parameters:
feature – The codec to check for.
- Returns:
The version number as a string, or
Noneif not available. Checked at compile time forjpg, run-time otherwise.- Raises:
ValueError – If the codec is not defined in this version of Pillow.
Features¶
Some of these are only checked during Pillow compilation. If the required library was uninstalled from the system, the relevant module may fail to load instead. Feature version numbers are available only where stated.
Support for the following features can be checked:
libjpeg_turbo: (compile time) Whether Pillow was compiled against the libjpeg-turbo version of libjpeg. Compile-time version number is available.mozjpeg: (compile time) Whether Pillow was compiled against the MozJPEG version of libjpeg. Compile-time version number is available.zlib_ng: (compile time) Whether Pillow was compiled against the zlib-ng version of zlib. Compile-time version number is available.raqm: Raqm library, required forImageFont.Layout.RAQMinPIL.ImageFont.truetype(). Run-time version number is available for Raqm 0.7.0 or newer.libimagequant: (compile time) ImageQuant quantization support inPIL.Image.Image.quantize(). Run-time version number is available.xcb: (compile time) Support for X11 inPIL.ImageGrab.grab()via the XCB library.
- PIL.features.check_feature(feature: str) bool | None[source]¶
Checks if a feature is available.
- Parameters:
feature – The feature to check for.
- Returns:
Trueif available,Falseif unavailable,Noneif unknown.- Raises:
ValueError – If the feature is not defined in this version of Pillow.