Python package for working with Adobe Photoshop PSD files
Project description
psd-tools is a Python package for working with Adobe Photoshop PSD files as described in specification.
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
Blending modes except for dissolve
Drawing of bezier curves
Not supported:
Editing of layer structure, such as adding or removing a layer
Composition of adjustment layers
Composition of many layer effects
Font rendering
Installation
Use pip to install the package:
pip install psd-tools
Getting started
from psd_tools import PSDImage
psd = PSDImage.open('example.psd')
psd.composite().save('example.png')
for layer in psd:
print(layer)
layer_image = layer.composite()
layer_image.save('%s.png' % layer.name)
Check out the documentation for features and details.
Contributing
See contributing page.
1.9.20 (2022-05-16)
[ci] Update CI configuration (#313 #314)
[composite] Fix composite errors (#312)
[psd] Suppress vowv tagged blocks (#306)
1.9.19 (2022-04-15)
[composite] Fix rasterized shape composite (#301 #302)
1.9.18 (2021-08-20)
[api] Fix missing effect attributes (#284)
[package] Support additional platforms (i686, aarch64, universal2, win32)
[package] Drop py36 support
1.9.17 (2021-01-15)
[api] Fix incorrect fill layer parse (fix #254)
1.9.16 (2020-09-24)
[package] Drop py27 and py35 support
[psd] Workaround Enum bug (fix #241)
[composite] Fix transparency issue (fix #242)
[composite] Fix mask disable flag (fix #243)
[api] Add workaround for creating PSB (fix #246)
[api] Fix incorrect adjustment parse (fix #247)
1.9.15 (2020-07-17)
[composite] Fix ignored clip layers for groups.
[composite] Fix out-of-viewport stroke effect.
1.9.14 (2020-07-10)
[api] Bugfix for PSDImage composite layer_filter option.
[api] Bugfix for transparency and alpha distinction.
[psd] Rename COMPOSITOR_INFO.
[composite] Fix stroke effect target shape.
1.9.13 (2020-05-25)
[api] Bugfix for PSDImage init internal.
1.9.12 (2020-05-20)
[psd] Bugfix for CurvesExtraMarker read.
1.9.11 (2020-05-01)
[composite] Fix layer check.
1.9.10 (2020-04-21)
[psd] Fix engine data parser.
1.9.9 (2020-03-30)
[composite] Fix stroke effect argument.
1.9.8 (2020-03-18)
[composite] Fix incorrect fill opacity handling in compositing.
[composite] Fix incorrect alpha for patterns.
1.9.7 (2020-03-17)
[composite] Fix path operation for merged components.
[composite] Fix vector mask compositing condition.
1.9.6 (2020-03-16)
[composite] Fix incorrect alpha channel handling in composite.
1.9.5 (2020-03-11)
[api] Add ignore_preview option to PSDImage.composite.
[composite] Improve stroke effect composition for vector masks.
[composite] Avoid crash when there is an erroneous subpath.
[composite] Workaround possible divide-by-zero warn in stroke composition.
[composite] Fix incorrect pattern transparency handling.
[composite] Fix ignored effects in direct group composition.
[composite] Fix incorrect opacity handling for clip layers.
1.9.4 (2020-03-11)
[compression] Security fix, affected versions are 1.8.37 - 1.9.3.
1.9.3 (2020-03-10)
[composite] Fix memory corruption crash for pattern data in PSB files.
[psd] Add image data pretty printing.
1.9.2 (2020-03-03)
[psd] Add missing resource ID.
[psd] Fix pretty printing regression.
[psd] Fix big tag key for linked layers.
[psd] Support frgb tag.
[psd] Support sgrp metadata key.
[psd] Support patt tag.
[psd] Workaround unknown engine data.
1.9.1 (2020-02-28)
[psd] Minor bugfix.
1.9.0 (2020-02-26)
[composite] Implement NumPy-based compositing functionality.
[composite] Support blending modes other than dissolve.
[composite] Support blending in RGB, CMYK, Grayscale.
[api] Introduce NumPy array export method.
[api] Drop deprecated methods from v1.7.x such as as_PIL.
[api] Deprecate compose method.
[compression] Rename packbits to rle.
[compression] Improve RLE decode efficiency.
[tests] Additional compositing tests.
1.8.38 (2020-02-12)
[composer] fix crash when gradient fill is in stroke.
1.8.37 (2020-02-07)
[compression] Remove packbits dependency and introduce cython implementation.
[deploy] Move CI provider from Travis-CI to Github Actions.
[deploy] Start distributing binary wheels.
1.8.36 (2019-12-26)
[psd] add safeguard for malformed global layer mask info parser.
1.8.35 (2019-12-26)
[api] remove duplicate has_mask() definition.
[composer] fix empty effects check.
1.8.34 (2019-11-28)
[api] fix compose() arguments.
[psd] fix attrs version dependency.
1.8.33 (2019-11-28)
[api] add include_invisible option to Group.extract_bbox.
[psd] fix deprecated attrs api.
1.8.32 (2019-11-28)
[psd] fix 16/32 bit file parsing bug introduced in 1.8.17.
1.8.31 (2019-11-27)
[psd] bugfix reading psb.
[psd] bugfix reading slices resource.
[security] update dependency to pillow >= 6.2.0.
1.8.30 (2019-09-24)
[psd] workaround for reading less-than-4-byte int in malformed psd files.
1.8.29 (2019-09-10)
[composer] fix vector mask bbox in composition.
1.8.28 (2019-09-09)
[api] fix Effects.__repr__() when data is empty.
1.8.27 (2019-08-29)
[api] accept encoding param in PSDImage.open and PSDImage.save.
[deploy] bugfix travis deployment condition.
1.8.26 (2019-08-28)
[composer] support group mask.
1.8.25 (2019-08-07)
[api] change return type of PSDImage.color_mode to enum.
[api] support reading of bitmap color mode.
[api] support channel option in topil() method.
1.8.24 (2019-07-25)
[composer] experimental support of commutative blending modes.
1.8.23 (2019-06-24)
[composer] fix clipping on alpha-less image;
[composer] fix stroke effect for flat plane;
[composer] workaround for insufficient knots;
[composer] fix for custom color space.
1.8.22 (2019-06-19)
fix pass-through composing bug;
fix alpha blending in effect;
fix vector mask composition;
experimental support for shape stroke;
experimental support for stroke effect.
1.8.21 (2019-06-18)
change effect property return type from str to enum;
improve gradient quality;
support fill opacity and layer opacity;
add tmln key in metadata setting.
1.8.20 (2019-06-13)
support gradient styles.
1.8.19 (2019-06-11)
fix broken psd_tools.composer.vector module in 1.8.17;
experimental support for color noise gradient;
bugfix for clip masks;
bugfix for CMYK composing.
1.8.17 (2019-06-05)
move psd_tools.api.composer module to psd_tools.composer package;
support 19 blending modes in composer;
support fill opacity;
fix image size when composing with masks;
rename TaggedBlockID to Tag;
rename ImageResourceID to Resource;
add bytes mixin to Enum constants;
replace Enum keys with raw values in psd_tools.psd.base.Dict classes.
1.8.16 (2019-05-24)
fix broken group compose in 1.8.15;
fix missing pattern / gradient composition in vector stroke content.
1.8.15 (2019-05-23)
coding style fix;
fix compose() bbox option.
1.8.14 (2019-04-12)
add dependency to aggdraw;
support bezier curves in vector masks;
support path operations;
fix compose(force=True) behavior;
fix default background color in composer;
improve pattern overlay parameters support;
fix gradient map generation for a single stop.
1.8.13 (2019-04-05)
fix engine_data unknown tag format;
fix compose for extra alpha channels;
workaround for pillow 6.0.0 bug.
1.8.12 (2019-03-25)
add apply_icc option in pil io.
1.8.11 (2019-03-14)
introduce terminology module;
reduce memory use in read;
add main testing.
1.8.10 (2019-02-27)
fix PSB extn key size bug.
1.8.9 (2019-02-21)
documentation updates;
introduce Artboard class.
1.8.8 (2019-02-20)
revert package name to psd_tools;
prepare merging to the main repo.
1.8.7 (2019-02-15)
minor bugfix.
1.8.6 (2019-02-14)
change _psd pointer in PSDImage;
add version property;
support fill effects in composer.
1.8.5 (2019-02-05)
change tagged block/image resource singleton accessor in user API;
add documentation on iterator order;
fix export setting 1 big key config;
fix computer info big key config.
1.8.3 (2019-02-01)
add channel size checking in topil;
add mlst metadata decoding;
fix key collision issue in descriptor;
performance improvement for packbit encoding/decoding;
drop cython dependency in travis config;
implement thumbnail, is_group, and parent methods in PSDImage.
1.8.0 (2019-01-24)
major API changes;
package name changed to psd_tools2;
completely rewritten decoding subpackage psd_tools2.psd;
improved composer functionality;
file write support;
drop cython compression module and makes the package pure-python;
drop pymaging support.
1.7.30 (2019-01-15)
composer alpha blending fix;
documentation fix.
1.7.28 (2019-01-09)
support cinf tagged block.
1.7.27 (2018-12-06)
add missing extra image resource block signatures.
1.7.26 (2018-12-03)
move psd_tools tests under tests/psd_tools.
1.7.25 (2018-11-27)
fix alpha channel visibility of composed image.
1.7.24 (2018-11-21)
fix unit rectangle drawing size.
1.7.23 (2018-11-20)
fix ignored visibility in bbox calculation.
1.7.22 (2018-10-12)
drop py34 support;
fix tobytes deprecation warning.
1.7.21 (2018-10-10)
fix gradient descriptor bug.
1.7.20 (2018-10-09)
fix coloroverlay bug;
fix gradient angle bug;
fix curves decoder bug.
1.7.19 (2018-10-02)
fix descriptor decoder.
1.7.18 (2018-09-26)
add shape rendering in compose();
add grayscale support.
1.7.17 (2018-09-21)
fix has_pixel() condition.
1.7.16 (2018-08-29)
fix fill opacity in compose();
workaround for broken PrintFlags.
1.7.15 (2018-08-28)
fix color overlay issue in compose().
1.7.14 (2018-08-24)
fix verbose arg for python 3.7 compatibility.
1.7.13 (2018-08-10)
fix has_pixel() for partial channels;
support color overlay in compose().
1.7.12 (2018-06-25)
fix mask rendering in compose (Thanks @andrey-hider and @nkato).
1.7.11 (2018-06-11)
unicode bugfixes.
1.7.10 (2018-06-06)
fix descriptor decoding errors;
minor bugfixes.
1.7.9 (2018-06-05)
fix UnicodeError in exif;
workaround for irregular descriptor name;
add undocumented extn tagged block decoding;
move duplicated icc module to subpackage;
support PIL rendering with extra alpha channels.
1.7.8 (2018-05-29)
update documentation;
fix PEP8 compliance;
rename merge_layers to compose.
1.7.7 (2018-05-02)
fix white background issue in as_PIL().
1.7.6 (2018-04-27)
add quality testing;
fix disabled mask.
1.7.5 (2018-04-25)
fix has_mask() condition;
add mask composition in merge_layers();
fix mask display.
1.7.4 (2018-03-06)
fix infinity loop in print_tree().
1.7.3 (2018-02-27)
add vector origination API;
fix shape and vector mask identification;
change enum name conversion;
update docs.
1.7.2 (2018-02-14)
add adjustments API;
add mask API;
bugfix for tagged_blocks decoders.
1.7.1 (2018-02-08)
add mask user API;
add layer coordinate user API;
add vector mask and vector stroke API;
cleanup user API;
add automatic descriptor conversion.
1.7.0 (2018-01-25)
cleanup user API organization;
remove json encoder api;
make cli a package main.
1.6.7 (2018-01-17)
workaround for anaconda 2.7 pillow;
bbox existence checkf.
1.6.6 (2018-01-10)
experimental clipping support in merge_layer();
revert as_PIL() in AdjustmentLayer.
1.6.5 (2017-12-22)
Small fix for erroneous unicode path name
1.6.4 (2017-12-20)
Add all_layers() method;
Add _image_resource_blocks property;
Add thumbnail() method.
1.6.3 (2017-09-27)
documentation updates;
github repository renamed to psd-tools2;
AdjustmentLayer fix.
1.6.2 (2017-09-13)
layer class structure reorganization;
add Effects API;
add TypeLayer API methods.
1.6 (2017-09-08)
PSDImage user API update;
user API adds distinct layer types;
Sphinx documentation.
1.5 (2017-07-13)
implemented many decodings of image resources and tagged blocks;
implemented EngineData text information;
user API for getting mask and patterns;
user API to calculate bbox for shape layers;
1.4 (2017-01-02)
Fixed reading of layer mask data (thanks Evgeny Kopylov);
Python 2.6 support is dropped;
Python 3.6 support is added (thanks Leendert Brouwer);
extension is rebuilt with Cython 0.25.2.
1.3 (2016-01-25)
fixed references decoding (thanks Josh Drake);
fixed PIL support for CMYK files (thanks Michael Wu);
optional C extension is rebuilt with Cython 0.23.4;
Python 3.2 support is dropped; the package still works in Python 3.2, but the compatibility is no longer checked by tests, and so it can break in future.
declare Python 3.5 as supported.
1.2 (2015-01-27)
implemented extraction of embedded files (embedded smart objects) - thanks Volker Braun;
optional C extension is rebuilt with Cython 0.21.2.
hg mirror on bitbucket is dropped, sorry!
1.1 (2014-11-17)
improved METADATA_SETTING decoding (thanks Evgeny Kopylov);
layer comps decoding (thanks Evgeny Kopylov);
improved smart objects decoding (thanks Joey Gentry);
user API for getting layer transforms and placed layer size (thanks Joey Gentry);
IPython import is deferred to speedup psd-tools.py command-line utility;
_RootGroup.__repr__ is fixed;
warning message building is more robust;
optional C extension is rebuilt with Cython 0.21.1.
1.0 (2014-07-24)
Fixed reading of images with layer masks (thanks Evgeny Kopylov);
improved mask data decoding (thanks Evgeny Kopylov);
fixed synchronization in case of 8B64 signatures (thanks Evgeny Kopylov);
fixed reading of layers with zero length (thanks Evgeny Kopylov);
fixed Descriptor parsing (thanks Evgeny Kopylov);
some of the descriptor structures and tagged block constants are renamed (thanks Evgeny Kopylov);
PATH_SELECTION_STATE decoding (thanks Evgeny Kopylov);
the library is switched to setuptools; docopt is now installed automatically.
0.10 (2014-06-15)
Layer effects parsing (thanks Evgeny Kopylov);
trailing null bytes are stripped from descriptor strings (thanks Evgeny Kopylov);
“Reference” and “List” descriptor parsing is fixed (thanks Evgeny Kopylov);
scalar descriptor values (doubles, floats, booleans) are now returned as scalars, not as lists of size 1 (thanks Evgeny Kopylov);
fixed reading of EngineData past declared length (thanks Carlton P. Taylor);
“background color” Image Resource parsing (thanks Evgeny Kopylov);
psd_tools.decoder.actions.Enum.enum field is renamed to psd_tools.decoder.actions.Enum.value (thanks Evgeny Kopylov);
code simplification - constants are now bytestrings as they should be (thanks Evgeny Kopylov);
Python 3.4 is supported.
0.9.1 (2014-03-26)
Improved merging of transparent layers (thanks Vladimir Timofeev);
fixed layer merging and bounding box calculations for empty layers (thanks Vladimir Timofeev);
C extension is rebuilt with Cython 0.20.1.
0.9 (2013-12-03)
psd-tools.py command-line interface is changed, ‘debug’ command is added;
pretty-printing of internal structures;
pymaging support is fixed;
allow ‘MeSa’ to be a signature for image resource blocks (thanks Alexey Buzanov);
psd_tools.debug.debug_view utility function is fixed;
Photoshop CC constants are added;
Photoshop CC vector origination data is decoded;
binary data is preserved if descriptor parsing fails;
more verbose logging for PSD reader;
channel data reader became more robust - now it doesn’t read past declared channel length;
psd-tools.py –version command is fixed;
lsdk tagged blocks parsing: this fixes some issues with layer grouping (thanks Ivan Maradzhyiski for the bug report and the patch);
CMYK images support is added (thanks Alexey Buzanov, Guillermo Rauch and https://github.com/a-e-m for the help);
Grayscale images support is added (thanks https://github.com/a-e-m);
LittleCMS is now optional (but it is still required to get proper colors).
0.8.4 (2013-06-12)
Point and Millimeter types are added to UnitFloatType (thanks Doug Ellwanger).
0.8.3 (2013-06-01)
Some issues with descriptor parsing are fixed (thanks Luke Petre).
0.8.2 (2013-04-12)
Python 2.x: reading data from file-like objects is fixed (thanks Pavel Zinovkin).
0.8.1 (2013-03-02)
Fixed parsing of layer groups without explicit OPEN_FOLDER mark;
Cython extension is rebuilt with Cython 0.18.
0.8 (2013-02-26)
Descriptor parsing (thanks Oliver Zheng);
text (as string) is extracted from text layers (thanks Oliver Zheng);
improved support for optional building of Cython extension.
0.7.1 (2012-12-27)
Typo is fixed: LayerRecord.cilpping should be LayerRecord.clipping. Thanks Oliver Zheng.
0.7 (2012-11-08)
Highly experimental: basic layer merging is implemented (e.g. it is now possible to export layer group to a PIL image);
Layer.visible no longer takes group visibility in account;
Layer.visible_global is the old Layer.visible;
psd_tools.user_api.combined_bbox made public;
Layer.width and Layer.height are removed (use layer.bbox.width and layer.bbox.height instead);
pil_support.composite_image_to_PIL is renamed to pil_support.extract_composite_image and pil_support.layer_to_PIL is renamed to pil_support.extract_layer_image in order to have the same API for pil_support and pymaging_support.
0.6 (2012-11-06)
psd.composite_image() is renamed to psd.as_PIL();
Pymaging support: psd.as_pymaging() and layer.as_pymaging() methods.
0.5 (2012-11-05)
Support for zip and zip-with-prediction compression methods is added;
support for 16/32bit layers is added;
optional Cython extension for faster zip-with-prediction decompression;
other speed improvements.
0.2 (2012-11-04)
Initial support for 16bit and 32bit PSD files: psd-tools v0.2 can read composite (merged) images for such files and extract information (names, dimensions, hierarchy, etc.) about layers and groups of 16/32bit PSD; extracting image data for distinct layers in 16/32bit PSD files is not suported yet;
better Layer.__repr__;
bbox property for Group.
0.1.4 (2012-11-01)
Packaging is fixed in this release.
0.1.3 (2012-11-01)
Better support for 32bit images (still incomplete);
reader is able to handle “global” tagged layer info blocks that was previously discarded.
0.1.2 (2012-10-30)
warn about 32bit images;
transparency support for composite images.
0.1.1 (2012-10-29)
Initial release (v0.1 had packaging issues).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for psd_tools-1.9.20-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e68ece87638ab4a7ae5781662809a3d7ae5317058742afec2328f85af2f3886a |
|
MD5 | 023bbcaabd81ac88b05ee10f1790265f |
|
BLAKE2b-256 | 387db2ef862ac281750c8943d95dc428d53aff0fb6d55d40ef54efa32953c6bc |
Hashes for psd_tools-1.9.20-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | da973555fe516abc1fe821bd2eb40358ecf35ad16a729fca71a9790f3de9d49a |
|
MD5 | 9ec037c3cab8825cca5a3675bd6d5a6f |
|
BLAKE2b-256 | aad0c8643bfbc755e3d5961ce54604a46a132c11760ee261a0ae3d17952593f1 |
Hashes for psd_tools-1.9.20-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5af71f20d254fa67388caf55df80eba6cea9837b6ac4d97c2b57459650a9af98 |
|
MD5 | 0103ffb0335c07e4eabde50ecaadc559 |
|
BLAKE2b-256 | 23440a3b6b397888b8bd55734107d785631a1201a3c25d5d5a580a4de2d6ca1b |
Hashes for psd_tools-1.9.20-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dad03716596b503568883e4e0a1827134bec2b207e03aba8a8b62dc07c9e9f46 |
|
MD5 | 0359ce345b52a4291213448b4de6e169 |
|
BLAKE2b-256 | f3b1d1da317d6e7ef77b109bba350456f55e86d361f746ee69a3dbb61f8eb827 |
Hashes for psd_tools-1.9.20-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a41db7e72c4df5cdce33ea302aa8226e526fbd9503c3139e43d44b4435e0da36 |
|
MD5 | 4612210c9d344a7dda771d565335d090 |
|
BLAKE2b-256 | a46b636b18bfffe6e1b56334ca7f4fdfddc5ab17c89d41f195f9cf71f4fbc146 |
Hashes for psd_tools-1.9.20-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 452861db0e45ab2bb4f36f7f9c728c0cd488f8851f784a3736617b9af663b92b |
|
MD5 | 70f70ce6f850e005a893d85951f5c3c7 |
|
BLAKE2b-256 | 70c3481adecd2afa1187af3544731f03a8c70b68b34c459c3d7c4ae28d29e67e |
Hashes for psd_tools-1.9.20-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15f53421a9f1e2ada3811b8198311bf6a919ebad0f109de310dddac3c36cd681 |
|
MD5 | 7b0ac06b820ac00610114c0a30b2441a |
|
BLAKE2b-256 | f62ffe5f21447a30d475d87bf0a82a5a6f6386374702890f5ffa78f1816f8a0c |
Hashes for psd_tools-1.9.20-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d49c1037fa14321e37e1a53f8f27858caabb5fdeeefd9acf4286b3d5d8ff848 |
|
MD5 | 5213f60843772383287ed014b1c1c3e0 |
|
BLAKE2b-256 | 81c6f06b6f71ff7ee7dea464dd23f498a5224626c5fb610f600a78e20688e6d2 |
Hashes for psd_tools-1.9.20-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8214d1b4c214a483a2831e03cab6bf53dd027aa7e4f802fbd3ca47d706c0c55e |
|
MD5 | 591b33df48dee5ec11b259413a015054 |
|
BLAKE2b-256 | 87a9b57fd98e7fee796d0f92edf543a6a0eeed03d1922275d1b39c6145ac7492 |
Hashes for psd_tools-1.9.20-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 713a91614e388b5b1440fff6294f043e6e13a847b580ee8c3e855cf2377c2060 |
|
MD5 | d9997a75bd4d812d51f2e269738a52c4 |
|
BLAKE2b-256 | 3a607009f22f65c8ae07e76ee38faa9d186a88dd641c4c57e000d94718511276 |
Hashes for psd_tools-1.9.20-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | edd4545e570d8065ac89f63e0b2633b2fa0c595bfeff3748371fa1e1ff26058b |
|
MD5 | 727242ccc8ea622a3e83772c0f5e31ab |
|
BLAKE2b-256 | a0fd66bae26ffacbbf4c0a1e0cf872eca58644eabdcee652a211ba247472c472 |
Hashes for psd_tools-1.9.20-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8da76062e127784c1847b04564151a047c788bad11ca2727475e7321a6113566 |
|
MD5 | e3726739944fe64ba11a298491d77b9b |
|
BLAKE2b-256 | 2f87121f7e2b311f52a468bfe074b7e1b382b8d5fb9beb7b99f46f5c70c27a0d |
Hashes for psd_tools-1.9.20-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b6c599705d75a56103247f1d7fe4fedc5a2d3de66bc411c2d4d9725ff47f9554 |
|
MD5 | 11e96685355ac35c83c80d0931458a81 |
|
BLAKE2b-256 | 45313d6e65064d41ab4010e2c90d47717db8ff982f68cd135a56314fc8506f6e |
Hashes for psd_tools-1.9.20-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c1936987eabf90f72db0dc5da1c6d24429fc07cd249a8ac13327d46e7e0cccd |
|
MD5 | e9bf43ae18bcd9399d234df37704a091 |
|
BLAKE2b-256 | 3f490b2610cbafd99b2311e17857eacbe27c173ab5855a8cc0ffeeb5142c590a |
Hashes for psd_tools-1.9.20-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd7b30a6d24298f567d2e8796bc6fc787db19a802512f116e5bbb02355081fe7 |
|
MD5 | 13636753126cfa7e6e908d1e194f55b3 |
|
BLAKE2b-256 | eab613bc74b739ee1455b507a4cedf91def11dba607b7ed0f6c53a8a051d488e |
Hashes for psd_tools-1.9.20-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed340a25df9a946b6e40bf5e4fc8e31a96bf885b94ba6c0931fffc28a568d2e4 |
|
MD5 | 45a3e9afb6fe0899d016c2aaf35d9f64 |
|
BLAKE2b-256 | 078a84f5b1f785ac91d00af738d3dca09ff8d6402bc60db8209d7d62ed211e27 |
Hashes for psd_tools-1.9.20-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d3bf88fcfcf9f5ed429e26464c4f51ae659472521cc8c0fc8e943696443c3241 |
|
MD5 | ae362b7fdfdcf551d9ee71be5868c238 |
|
BLAKE2b-256 | 66fec2086b78bddbbd25bbd46dc296cc0a4d94590858c7bfb7f90a60dec273de |
Hashes for psd_tools-1.9.20-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a3cba99a55027ac31278b0b1f331e478afc7ab3a09bc0530811ec79af8859b3 |
|
MD5 | 3236dded5de5cb782f3ea3a03c1371b2 |
|
BLAKE2b-256 | 04649db644bf6e8052e1c3163b4c1e6d55666a7eaed861e2839ee099d3195188 |
Hashes for psd_tools-1.9.20-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e47f48bf3080f442b758f2e57f53ca493471d4bbaaf6ed4a09dd4065981e6d1 |
|
MD5 | ed5b7b4c1708ee6665e936697422f38a |
|
BLAKE2b-256 | c2b1f5a144601bf22508379ebd3b12358af484446dc805649f29c280e790dfda |
Hashes for psd_tools-1.9.20-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cecbcfa3733bfc40f1a5ed803ca3007388655115a03cfcde0b25b916a30e81ff |
|
MD5 | f72e96eb78b80446eaa5f7e6bae0fe14 |
|
BLAKE2b-256 | ad5fe29768af89a32014aadebbbb97777c23907db863fe34c8ca93f239b9aedf |
Hashes for psd_tools-1.9.20-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | de9fcc34634b53adebc6eef682d11a0de730b6a6c0dbb3b24e84f557fad962cb |
|
MD5 | 6229285926f26cf359798ddf1d96d4fa |
|
BLAKE2b-256 | 6f3e3a979a93ea838dfdcf3e074f710d4a283773a32812bb3e5650b52fe648b6 |
Hashes for psd_tools-1.9.20-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d40605507a409615662adbaccf057d15b8ba94b7013b2e906d6031e03b4fda93 |
|
MD5 | 92e908b76ae9d8c65f2c9e7e6826b6a0 |
|
BLAKE2b-256 | 915ac8f5b438e8ede175f3e94000ed6e4e193a96047eb4b5fe22097a7bac9951 |
Hashes for psd_tools-1.9.20-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1eaed91c6e3b5cc60670c82260318d5a6e9a6629757be7b1b57cb900fc54844 |
|
MD5 | f40f3e5139e81d2c9be5949d4556e50a |
|
BLAKE2b-256 | c89884480e1782a3d94c65cdff0c3c50f26138787e5eb60a273ca45b00fece0d |
Hashes for psd_tools-1.9.20-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a84086f1006e586ff18832443c88931ebccc9901bb3ef5c71e1580f887a11e6a |
|
MD5 | b9c0efaf4c009c0b6f0cf577dc526e64 |
|
BLAKE2b-256 | a25c990a64cc0fa9afe336bef2c56f07e461a250d5e630c3df8409dcc11f0067 |
Hashes for psd_tools-1.9.20-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d952f1250844826361fbcc5aa95f197a23fc9603a306d3572b2f2f232055348d |
|
MD5 | ba15cc9acc02df44b54b8443f1bdeddf |
|
BLAKE2b-256 | dd49c72efdc6495e414ce366260bfe3c35e45832bbfd0e45c27db7bbbf8f38cc |
Hashes for psd_tools-1.9.20-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 48ca914ce6f61affb4fea1345cd7e24c812c6bca7373c81c677a5e6d1f2f9bf6 |
|
MD5 | 75c8b2d0e0a2c836e21f2461eeda57c0 |
|
BLAKE2b-256 | 03ec3196b3d65ce32e6b9a1153eafa41843fb3047cec21f7e33d831637a47841 |
Hashes for psd_tools-1.9.20-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1f0cad4def78fefc31dfed0ddd68bd38b24de4bdbc7361f10e450c7f8d65808 |
|
MD5 | ba13bb2311d648e4038363a768a88ee4 |
|
BLAKE2b-256 | 580ca7b529540a9fb55f8b2f9ee483d5131f42f44a3803138bd79a3badcca57c |
Hashes for psd_tools-1.9.20-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f145a63efce060b3a5d9c5b6b9ded90d6006815cc4fd9ef0a68732fe5ed128c |
|
MD5 | 9906539d6e996a4eef930d9e8948c062 |
|
BLAKE2b-256 | e80521c91ddc78d6faec16001e48c1af898ba570d35d1cb4720eaa7e5061807c |
Hashes for psd_tools-1.9.20-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 311f82d2b15c33c01195ff622316936f2a53ac1e04b50b1fd24170b4e2897aa0 |
|
MD5 | 8182e601a72f76b1fd8ebc800ab550e8 |
|
BLAKE2b-256 | 3e49dab3cff963f07509bcaed00cf955c410a6ae758d7738591c87ee7bc1c610 |
Hashes for psd_tools-1.9.20-cp38-cp38-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9bc119fd25eafe624ed3504ad1887dd74ef46bfa239310552ac2bce9803882ab |
|
MD5 | 44328f80897906d20b5934b767730675 |
|
BLAKE2b-256 | 5d5dd6134ab01885775230a287d06ec3c66697813384f4ea9770156802f50d14 |
Hashes for psd_tools-1.9.20-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0cef6ee46e4a56246bf7f993521804ea7e809451124da45342a56c4fb29ba000 |
|
MD5 | 7fbc83ac42aa3cedf04fe4193458432c |
|
BLAKE2b-256 | c16e2448e7daece0379b266d243651fa12ef35ad15d021994df4eb0f33b89672 |
Hashes for psd_tools-1.9.20-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 033df1af5a9686ac231477ff2e18dab71b09c11f69e2a9a75a72d1b11b04708c |
|
MD5 | febe9119b32ec35729756a89dd4b40b3 |
|
BLAKE2b-256 | 5f501a8ed5c04a4343b5282230fca77019dbd7a4e111881b0e63617e2bd370f1 |
Hashes for psd_tools-1.9.20-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f45e24b0beaf615c4c8251585e7ca312741b2bd23779e1263d9b28864f5ed7a3 |
|
MD5 | fece50b396a386ddab02c29655c22690 |
|
BLAKE2b-256 | a3a8ac6660eebaa1b123952c7b8281c936cfb963a82b4887b26b6ae41661d2fc |
Hashes for psd_tools-1.9.20-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7debfca8d92f4bd9c5e4f293c4db64b79b35fda56454ac084285cf44d67d565 |
|
MD5 | 8e33adcab2d936ea2de2e4e8140e054a |
|
BLAKE2b-256 | e5499b53a0ad83cadfed211099bd4653357df2b796b343aaaeecf8c8ca2e54c2 |
Hashes for psd_tools-1.9.20-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b95ae14b41ecd49ca2da9443536b2c05e38a98d28bee5201792d0445ad420da |
|
MD5 | 782a8183d4614aa615d042f8c388f567 |
|
BLAKE2b-256 | a25f54ecb62a789920b29a79ce76f03887a0e42e474df37d27ef9143831c62fd |
Hashes for psd_tools-1.9.20-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6927197b49a699c33b9b05f37d6cab0dc26569a22f5bce45c1606e0d921344a |
|
MD5 | 22f93b3380892fc3e2bf662aa8ea8f98 |
|
BLAKE2b-256 | 1c5a7aee80b0eb65e7cb6b9e078cf2db09ea650c5d448c71d8b2fe0cc8a3151b |
Hashes for psd_tools-1.9.20-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d30edc1de48174a6bf637ba1557a2d37988d476893513135f5a4b63c89d14be |
|
MD5 | a52d129bdfa07eda1f63485c987b033e |
|
BLAKE2b-256 | 9eb1d6be77481111ebddb2dadd52accf21aee92c48532d481905677f451a764c |
Hashes for psd_tools-1.9.20-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc3220f1969839b82087d1252cf6a2acfb59e8147f9c8deed6c13f30b5aa585c |
|
MD5 | 7a4fe3e5cbf471b7c167fdebf0f8dfa3 |
|
BLAKE2b-256 | 768d574c6f07111e72b3b0cc432cd7e9997907cc69e5eea8b9a95134dc2ebb44 |
Hashes for psd_tools-1.9.20-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d68a5536ec605783cf1e994929f02c09d9e98e594cd51bf8ab242b93a015219e |
|
MD5 | 60ce79f8898c5eb709c45f053a298af4 |
|
BLAKE2b-256 | e840bbb1b6937e3fd672116333348d32d058f5948788452ba15e7d441c8486f8 |