psd-tools

psd-tools is a Python package for working with Adobe Photoshop PSD files as described in specification.

Installation

Use pip to install the package:

pip install psd-tools

For advanced layer compositing features, install with the composite extra:

pip install psd-tools[composite]

This installs optional dependencies (aggdraw, scipy, scikit-image) required for:

  • Vector shape and stroke rendering

  • Gradient and pattern fills

  • Layer effects rendering

Basic compositing operations work without these dependencies by using cached previews or simple NumPy-based operations.

Note

In order to extract images from 32bit PSD files PIL/Pillow must be built with LITTLECMS or LITTLECMS2 support (apt-get install liblcms2-2 or brew install little-cms2)

Getting started

from psd_tools import PSDImage

psd = PSDImage.open('example.psd')
psd.composite().save('example.png')

for layer in psd:
    print(layer)
    image = layer.composite()

Check out the Usage documentation for more examples.

Features

Supported:

  • Read and write of the low-level PSD/PSB file structure

  • Raw layer image export in NumPy and PIL format

Limited support:

  • Composition of basic pixel-based layers

  • Composition of fill layer effects

  • Vector masks

  • Editing of some layer attributes such as layer name

  • Basic editing of pixel layers and groups, such as adding or removing a layer

  • Blending modes except for dissolve

  • Drawing of bezier curves

Not supported:

  • Editing of various layers such as type layers, shape layers, smart objects, etc.

  • Editing of texts in type layers

  • Composition of adjustment layers

  • Composition of many layer effects

  • Font rendering

Indices and tables