features Module

The PIL.features module can be used to detect which Pillow features are available on your system.

PIL.features.pilinfo(out=None, supported_formats=True)[source]

Prints information about this installation of Pillow. This function can be called with python -m PIL.

Parameters
  • out – The output stream to print to. Defaults to sys.stdout if None.

  • supported_formats – If True, a list of all supported image file formats will be printed.

PIL.features.check(feature)[source]
Parameters

feature – A module, codec, or feature name.

Returns

True if the module, codec, or feature is available, False or None otherwise.

PIL.features.version(feature)[source]
Parameters

feature – The module, codec, or feature to check for.

Returns

The version number as a string, or None if unknown or not available.

PIL.features.get_supported()[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. Version number not available.

  • freetype2: FreeType font support via PIL.ImageFont.truetype().

  • littlecms2: LittleCMS 2 support via PIL.ImageCms.

  • webp: WebP image support.

PIL.features.check_module(feature)[source]

Checks if a module is available.

Parameters

feature – The module to check for.

Returns

True if available, False otherwise.

Raises

ValueError – If the module is not defined in this version of Pillow.

PIL.features.version_module(feature)[source]
Parameters

feature – The module to check for.

Returns

The loaded version number as a string, or None if unknown or not available.

Raises

ValueError – If the module is not defined in this version of Pillow.

PIL.features.get_supported_modules()[source]
Returns

A list of all supported modules.

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)[source]

Checks if a codec is available.

Parameters

feature – The codec to check for.

Returns

True if available, False otherwise.

Raises

ValueError – If the codec is not defined in this version of Pillow.

PIL.features.version_codec(feature)[source]
Parameters

feature – The codec to check for.

Returns

The version number as a string, or None if not available. Checked at compile time for jpg, run-time otherwise.

Raises

ValueError – If the codec is not defined in this version of Pillow.

PIL.features.get_supported_codecs()[source]
Returns

A list of all supported codecs.

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.

  • transp_webp: Support for transparency in WebP images.

  • webp_mux: (compile time) Support for EXIF data in WebP images.

  • webp_anim: (compile time) Support for animated WebP images.

  • raqm: Raqm library, required for ImageFont.LAYOUT_RAQM in PIL.ImageFont.truetype(). Run-time version number is available for Raqm 0.7.0 or newer.

  • libimagequant: (compile time) ImageQuant quantization support in PIL.Image.Image.quantize(). Run-time version number is available.

  • xcb: (compile time) Support for X11 in PIL.ImageGrab.grab() via the XCB library.

PIL.features.check_feature(feature)[source]

Checks if a feature is available.

Parameters

feature – The feature to check for.

Returns

True if available, False if unavailable, None if unknown.

Raises

ValueError – If the feature is not defined in this version of Pillow.

PIL.features.version_feature(feature)[source]
Parameters

feature – The feature to check for.

Returns

The version number as a string, or None if not available.

Raises

ValueError – If the feature is not defined in this version of Pillow.

PIL.features.get_supported_features()[source]
Returns

A list of all supported features.