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 details)

Uploaded Source

File details

Details for the file pytoshop-1.1.0.tar.gz.

File metadata

  • Download URL: pytoshop-1.1.0.tar.gz
  • Upload date:
  • Size: 2.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pytoshop-1.1.0.tar.gz
Algorithm Hash digest
SHA256 00ef373f8ee7622d520ab297368f27df8a9914167a9da4a9fe0ca758d6ffd71e
MD5 93eafab4a036f4eb52b35aa6ed69b36d
BLAKE2b-256 394f4126e638ee635014098dec2a6ec45ee19bd6d16964c3867c3b45c3d6a4c0

See more details on using hashes here.

Supported by

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