Skip to main content

A Python-based library to write Photoshop PSD files

Project description

===============================
pytoshop
===============================


.. image:: https://img.shields.io/pypi/v/pytoshop.svg
:target: https://pypi.python.org/pypi/pytoshop

.. image:: https://img.shields.io/travis/mdboom/pytoshop.svg
:target: https://travis-ci.org/mdboom/pytoshop

.. image:: https://readthedocs.org/projects/pytoshop/badge/?version=latest
:target: https://pytoshop.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status

.. image:: https://img.shields.io/codecov/c/github/mdboom/pytoshop.svg
:target: https://codecov.io/gh/mdboom/pytoshop
:alt: Coverage status


A Python-based library to read and write Photoshop PSD and PSB files.

Based on the specification `from Adobe
<https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/>`__,
but also with the help of the `psd-tools
<https://github.com/psd-tools/psd-tools/>`__ source code.


* Free software: BSD license
* Documentation: https://pytoshop.readthedocs.io.


Features
--------

- Parsing of the most important tags. This is not complete, but the
infrastructure is in place to add support for more quite easily.

- Loading of complex nested layer structures, and the ability to edit
them and write them back out.


=======
History
=======

1.1.0 (2017-09-26)
------

Bugfixes:

- Fix #4: Change masked layer to same size as image layer when using
the `user.nested_layers` interface.

1.0.1 (2017-08-01) (2017-07-29)
------

- Declared API as stable.

0.6.0 (2017-07-24)
------

Minor improvements:

- Make it easier to choose the right channel, given the current color
mode.

0.5.0 (2017-07-03)
------

Minor improvements:

- The color assigned to a layer (displayed in the layer list) is now
available in the ``nested_layers`` API.

Bugfixes:

- Fix crash in ``GuideResourceBlock``.

0.4.1 (2017-06-05)
------------------

Minor improvements:

- Parse multiple values in a struct together when possible. This has
a modest speed improvement.

Bugfixes:

- Fix pip install [#1]

- The main canvas image will use the specified compression algorithm
when using nested_layers_to_psd.

- Non-image layers correctly set "pixel_data_is_irrelevant" flag.

0.4.0 (2017-05-12)
------------------

Improvements:

- For speed purposes, pytoshop no longer uses traitlets.

- Performance improvements to the compression/decompression code.

- Added support for the ``shmd`` metadata tagged block, and the ability
to access it from the ``user.nested_layers`` API.

Bugfixes:

- Updated the list of tagged blocks that use 8-bit lengths.

- Fixed a bug where the image data would be corrupted when writing
images from an input file to an output file with a different file
format version.

- Fixed a crash when the input file contains no layer group ids.

- Allow Numpy arrays of shape () in place of scalars for constant
images.

0.3.0 (2017-01-09)
------------------

Improvements:

- ``pytoshop`` now runs on Python 2.7, in addition to 3.4 and 3.5.

- Many of the image resources types are now handled directly, rather
than through a generic bytes-only interface.

- Major speedups in compression codecs.

Bugfixes:

- Saving a layer with a constant color (in ``nested_layers_to_psd``)
now works correctly.

- Unicode string decoding now properly handles trailing zeroes.

- The "name source" on layers (when created from
``nested_layers_to_psd``) would point to the wrong source, but is
now fixed.

- Fix a bug when writing a layer of width 1.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pytoshop-1.1.0.tar.gz (2.2 MB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page