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
python3 -m PIL
.- Parameters:
out – The output stream to print to. Defaults to
sys.stdout
ifNone
.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
orNone
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.freetype2
: FreeType font support viaPIL.ImageFont.truetype()
.littlecms2
: LittleCMS 2 support viaPIL.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.
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 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.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 forImageFont.Layout.RAQM
inPIL.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)[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.