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.27 (2023-06-27)
[composite] Fix regression by #361 (#364)
1.9.26 (2023-06-21)
[composite] Read HSB colors in RGB and CMYK color modes (#361)
[ci] Update CI configuration (#362)
1.9.25 (2023-06-19)
[composite] Fix hue, sat, and vivid light (#359)
1.9.24 (2023-01-17)
[psd] Support float RGB values (#350)
[psd] Workaround stroke class ID (#346)
[ci] Update CI configuration (#347)
[composite] Fix group clipping (#336)
1.9.23 (2022-09-26)
[api] Add bbox invalidation when toggling layer visibility (#334)
1.9.22 (2022-09-09)
[psd] Add support for v3 gradient map adjustment layer (#330)
1.9.21 (2022-06-18)
[api] Fix incorrect has_effects behavior (#322)
[composite] Improve blending numerical stability (#321)
[composite] Improve non-RGB modes and transparency (#319, @Etienne-Gautier)
[psd] Workaround assertion error in broken file (#320)
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.27-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 840f36f6164817879e02fae7f43f0979f7a945edb58d18f981367b7bc2b0113e |
|
MD5 | 2761934a74fd116d10ade890c623ba4f |
|
BLAKE2b-256 | 3b94147bb1663870e84498680001453cf8a5e34e6494b0a1b33e74f2180c0904 |
Hashes for psd_tools-1.9.27-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4e0612594f8d7e3aba00669ff7f05eaf6be8296762bf8afe248f23c63074ad3b |
|
MD5 | a57257ef4104c38c7db205188a7906d5 |
|
BLAKE2b-256 | ea5d89fb3ffbef58c1b1af255b19208b92f651daf1bfc376eadafc4603e4132f |
Hashes for psd_tools-1.9.27-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e7920b5e8e1cd4b2db9a2bda75be51ce54a32ca2f943469c8fa91e1ab605f5d |
|
MD5 | 6f957f279acaba0408919c0f2800beb8 |
|
BLAKE2b-256 | 77d447f5bc6602f9823c2376fd87b7978b6b26099a387f228a6c372c573052e1 |
Hashes for psd_tools-1.9.27-cp311-cp311-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e541f31a7dee5b8c5cc1bd5461438523bffe8dd35b8b88b2bacc08087639358 |
|
MD5 | b2751dd241e2aa41b71bd8e51da1a4fb |
|
BLAKE2b-256 | 1c9726ff402780d9ad9b1fdc3f5ccaaf768ab04c1e65599cd2e3976bb76d43f9 |
Hashes for psd_tools-1.9.27-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5875b1d8ed52a8cdc16466cf297f5edca50b0557e1480e927d887c9b40aaff5 |
|
MD5 | 3992fbf8a9b8c6f8159fef9e69a98346 |
|
BLAKE2b-256 | c21f8cce36c01cc6773651bd920543299ca9cd7ba1abb72f73ceaf7472230e9a |
Hashes for psd_tools-1.9.27-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4bd1208d410c57eeae7dd103e98aa3df991e19a65d4d656a370c2ee774e55340 |
|
MD5 | 2d6249fb163f88da0d69488a4beeb16f |
|
BLAKE2b-256 | 58a037273c239eeab5c6313a12d2bf787571de10944034b80f480837682a3967 |
Hashes for psd_tools-1.9.27-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e17593e58ccefe29bb78e82886f03431fa4cf8bdf8ff33f21dc31c91aa98239 |
|
MD5 | cc53d245900cd686b48c9d761d2acf2d |
|
BLAKE2b-256 | dba629c28123d595788a1b2253def929bbf6f798fa2dd40c11e03022d6bde424 |
Hashes for psd_tools-1.9.27-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 35ae495bcafa801faca4040e11291f54b9e87165820c6837253f3127ff0ed3ed |
|
MD5 | a0bfe68c52db1439f14294f16c75e756 |
|
BLAKE2b-256 | 0e2c318d04d5322554fa4c027b67c5f02429c82ca083cf374a597705c8726cb1 |
Hashes for psd_tools-1.9.27-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 43f4cfdef80825ad0e1bb2432d7dc8eb17a9a7d7171586788a36ab88d7fd168e |
|
MD5 | a5e84994546d2c4928be50cf7d92be7a |
|
BLAKE2b-256 | 0297267081444034759c3f335511e051cad8473c8fb127a2df2546e79758966c |
Hashes for psd_tools-1.9.27-cp311-cp311-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a41576e0cfe7f9f671a417260cd6b3daa75114263d7990929350afc344cae4c0 |
|
MD5 | 46355222a9dbb58e0367652be9640e5b |
|
BLAKE2b-256 | b4634e1abc62383f7846d2541194a75ae80375d34e6b614de72a1bf8d8ea7293 |
Hashes for psd_tools-1.9.27-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01b7c6e3f3154542a4ee5e684fab780565fe09199edbd3b978f6714359c791ca |
|
MD5 | 47dc983344f332ea531865e376bc092e |
|
BLAKE2b-256 | 577095b041f26f007a2740716bd1e08b8ab7fd846b43d9730133f5686c8844c7 |
Hashes for psd_tools-1.9.27-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f515b10338c2ae0d0b35f0db87dcaf7b1f9581ac3c7a05a5eee5bc8ac2f445b |
|
MD5 | 0792a30f8803f291e153347bedfad62d |
|
BLAKE2b-256 | 427eeb6f0540ea7a1ead8dcd3e47f06bf7b8cec1f38aadc5e2336fd774a9a029 |
Hashes for psd_tools-1.9.27-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd787bbbe4eb959534452669bf24c8f609f38fc86c22f67d1cc4d5edd2d7eb14 |
|
MD5 | 205afe9ab99172238360a2d42a4f8ee4 |
|
BLAKE2b-256 | 3844e0e29c8bcb3ca9e646e1435879ed96957113ccbb2385eec9745c532eb60e |
Hashes for psd_tools-1.9.27-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f980e2a27989d9d058834f1645388a1587fcba926d3754ab7c918073cf15c578 |
|
MD5 | fcc2a7527d5be6bd9b23718dcd74a436 |
|
BLAKE2b-256 | ab3bfa480aae3d12be0d08cab1854ea1a4c01e633c8a20397d0e57b7d4fb9eca |
Hashes for psd_tools-1.9.27-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4c8364521380b9b1ce08329fb284768495ef6fcc0fa345762e34e5c73bd638c |
|
MD5 | 9fb11ba9ff06fdcade5bf30f5d489e56 |
|
BLAKE2b-256 | 9d7082702ed6518d1f82982818e1bf267fe00852276a36cae7edaf2be6658e87 |
Hashes for psd_tools-1.9.27-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce02f375ed134e7555d3d67dfd2d2e43d191232cb3eca4e9f51871fb556c4ad2 |
|
MD5 | cd36a2a5bb473c841bf91a1b40a39f64 |
|
BLAKE2b-256 | 8e7d9bf1c2988bcd948b36ae57664dd94ec2ec34327bb13c28490071e99d685d |
Hashes for psd_tools-1.9.27-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 65b9fa2b89f91383af40821166381a93a3dda89337646e8f193ddc34a29b5871 |
|
MD5 | 2fe9f9534f40369ca23d72b1fa986d82 |
|
BLAKE2b-256 | 504c2a66ba99f007f53e32d0f8c55f6ededa5156684559a39ff55f1bdc33bbce |
Hashes for psd_tools-1.9.27-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6197c4eb006ca84d9396a70dbeeee31e59c25e5c9505bfafe932512b1a82c57d |
|
MD5 | fdbe5f3fa6439945d7d6ad8ff3ec6b82 |
|
BLAKE2b-256 | 8602dd29856f7118fe038c08501da3590227024946d73aae2c11f7839c957e9a |
Hashes for psd_tools-1.9.27-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 86f503677575f27c7db9054d35ffab7b33cc8e2cd204c58d69a7d7a90da0b1d2 |
|
MD5 | 9bdc91773c01fed010f27134a840e380 |
|
BLAKE2b-256 | c6827d271b2f497ffc3d4211701c6b151ab06d7ca770aa0b14b93931133da547 |
Hashes for psd_tools-1.9.27-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b170b5e4c42a7d90c7f562af87852bcfd8277bb503291b2adcfd48d9def38efc |
|
MD5 | 6336abe5a8bd7980b22b225b0942fdf3 |
|
BLAKE2b-256 | 0b345b9329a714d5168c2b10f8c22742fd9b79292795f9f03b827c7d055d719a |
Hashes for psd_tools-1.9.27-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc21cee0e8d68f94297391131b474c3a976140bafca85c137bc3e9b6b8c725f7 |
|
MD5 | 5c418b56ae3b747e2ff7facb10be6e8c |
|
BLAKE2b-256 | e05454098b9c27f2fd8a92e2a2cc2d6edf2dc6e6b7ab0d74bf1d4b16f0cae8d1 |
Hashes for psd_tools-1.9.27-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 000a70c02c07927c8f144551c6f7cf18c5272f22e8b370c99bfb7af1836fc81d |
|
MD5 | 3382de586d1b12aff226473c775adb79 |
|
BLAKE2b-256 | 0cee821e5e8e11c86a69631954be46a023ddab2011b74b994d8c1b2218352c26 |
Hashes for psd_tools-1.9.27-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7f98b25798aea202cfd652779b02cb14f8d63a0402fdcb761bda3f96761855d |
|
MD5 | 4e970e2a5e88c86d720d89e7be156065 |
|
BLAKE2b-256 | e0b7db4c9b857b361a27983d6dd2b78897034b8c9cda7061622b33834f6aa759 |
Hashes for psd_tools-1.9.27-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 27613428d49c7e4f158b56cbc4e9aca14146bbdd88b8f62664ef89b289b0d26f |
|
MD5 | 6d05707d80940da1a955873c39553f2e |
|
BLAKE2b-256 | 69b8775e463034eaf2a17ee55f21c59ed6616f732a8c60349bc3b78f9959a070 |
Hashes for psd_tools-1.9.27-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 312d4f80f845c74736ef75d9674bba82b9f8a6a94a91346eebec45201553ab43 |
|
MD5 | 41a598944c3a3b43287042a10f833683 |
|
BLAKE2b-256 | e1add8d67e249b46426e07facbc4150f311a15f4e3a448cc8ddc46eab9c146e0 |
Hashes for psd_tools-1.9.27-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 909f8f0d373eac319ca8e08c73e381e38671e99e922902e7aa3a1393abc8d283 |
|
MD5 | 1fadbaaa39ee0def7a89574a4e165284 |
|
BLAKE2b-256 | 905a6d7fe22b7aa2468cf7f05c869f231d152dcd043ff085639c676404241004 |
Hashes for psd_tools-1.9.27-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ddc6509cef80aa98d2fa34ae93a61c280647c86594f304144c45d15488cd528 |
|
MD5 | d8c8cdd8596f9dca8458df415dfcd322 |
|
BLAKE2b-256 | 7c30f440507d00e07014173d537ff7e0a1ee708b7cbbbda3ba2f26475fe410f6 |
Hashes for psd_tools-1.9.27-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 654cfa0ee1ed3643eb26d2dcc3134eaab5e3a4f305ffd7f1e0afcda8df491cf5 |
|
MD5 | 629b0abfb16f8090d15b921f0b17905b |
|
BLAKE2b-256 | b81b1261fff3fec3d984fdaf2314bca426583c37854a92d27c20de367757df98 |
Hashes for psd_tools-1.9.27-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5916f36a7ceaeef08fab328f66a7b2967031194377b4a79f64446c43d8cb5f9 |
|
MD5 | 38da2f795b4e29c25fc57d11a8164ee8 |
|
BLAKE2b-256 | 89b31ab0f0b87c87a18245f31f275ee35924e75f64ecbe1fca5529eb1e39deee |
Hashes for psd_tools-1.9.27-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81ebc03630832e10514c12c7c95b4e8f31a5a523817d342620c98569c45b5473 |
|
MD5 | 2345ef149df74abb71504c9f8eb7eead |
|
BLAKE2b-256 | 2797926056f12e95496f45aebbcae79a823bf6a04d8843b44cdd8f3972184c0d |
Hashes for psd_tools-1.9.27-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00e232298e2d8848cda93e7ddc8028e88f60c915ff2924332bbdcba8d86bdafe |
|
MD5 | 1574cc011da542ec8b6879b3a3b14337 |
|
BLAKE2b-256 | 1fc3c009390c031850316dd2e0ef505e1340caf7f59204fa6052ba22a1c3e3db |
Hashes for psd_tools-1.9.27-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d6f19089f63c37668e4eae34068047b5f3c62ee1d5068feef662a567ceedcc1 |
|
MD5 | 70442ab75825dd9ed3e8a6761a260b5e |
|
BLAKE2b-256 | b7398c1eef73a8a84a9d17b7b66cd2905a93e1aa98e849ba5de112de8ed3d963 |
Hashes for psd_tools-1.9.27-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 463b8d5f59d1aae54e5110a7cc30db9600c68d11d9b39c743bd519e25ea55073 |
|
MD5 | 4fb527fc2b52bd00bc588e703690261b |
|
BLAKE2b-256 | 49878ce61b308ca8be55deea2c92655f6861dadf68040f5f8e059d9ca94d0861 |
Hashes for psd_tools-1.9.27-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6fee359eca78b149c1bf1ba6ac1a5188466a6c85471c5268a1d213b4acbcb64a |
|
MD5 | 8566370658dc86d748250839a8101416 |
|
BLAKE2b-256 | 6c35a01ef7d1e7736a4beb9f3a3808a24fb36563283b8356f1556ade289fdc0d |
Hashes for psd_tools-1.9.27-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 629a4d32a3108da2c3efb5bdb04bda9b711180c97b4d25e16d7c4cc2e468e90e |
|
MD5 | 3803b97de1ce883df00807e6279d4a4c |
|
BLAKE2b-256 | b9427fa5ce9f9b92ee60d3ba02787b7dc9f3a162cf987436c0cc64584bb59349 |
Hashes for psd_tools-1.9.27-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a602c03d25c6bb28b9dd63b7f13e06184f911296337a3b7be5291f9ecc70fe89 |
|
MD5 | 6f055c1fbce81e0498fb3436661f6278 |
|
BLAKE2b-256 | c6a4a51354729a70b8fa3edc3864ec3cef771e0ff74227dcfe5de904079a5401 |
Hashes for psd_tools-1.9.27-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c96d1557f96c6bad501059c74487b29da44d8e25d1bb8e8e9b4af4469a1fc89 |
|
MD5 | d2c5a1634d6a3d63a16cee465315cfbb |
|
BLAKE2b-256 | a309060d80d80e3c208a18c7a1045cbd0868beb844bdd2a39a33f5caf5627493 |
Hashes for psd_tools-1.9.27-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 972144ffca61cf16649e4363527378d6d69dd0c526c03ea3c9a45f2305ccec28 |
|
MD5 | 3c1ded43ea987b3d12d847d98205aedd |
|
BLAKE2b-256 | a893fc6c03e971582b6ba747e7b172555d38fcbf96a683129f8b6c3bdd0c4e69 |
Hashes for psd_tools-1.9.27-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 24bb8afa36b72cefd7e112e44892b1ac316fb0f862bf920ca79c7e4757ae51f8 |
|
MD5 | dc4cae521ca93f2e764282867d43fc3a |
|
BLAKE2b-256 | ef7d02431a53e0ec987f0841653c61bd16d4fd3117d217259201fdb0c09e2958 |
Hashes for psd_tools-1.9.27-cp38-cp38-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b669a90af35e7348e30350252b7dcecaddae790c7e5884a0778e78a74951f9a5 |
|
MD5 | 02716dd4889c8c36f109876568698a9c |
|
BLAKE2b-256 | b8d81f43ee6be78144364e25f2ebb47b1f1d2b6f9d209afb9ad01a0c4a3bcc13 |
Hashes for psd_tools-1.9.27-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa558bed4f798f6b1dca30c497ed822684166933bccd5370124c6b0c5602023f |
|
MD5 | fbe6600d709fdadd08d9e60b5a2b30d9 |
|
BLAKE2b-256 | 52f23348b6c51471111f36f61a197d313f1c518580d4361fa8fdd81c109dddc0 |
Hashes for psd_tools-1.9.27-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b842183cbf8b32d7be7347a3f9e6834f38a50a9ad0321005af33de61f6c4a933 |
|
MD5 | a26b640bf866f628a65c6cf6ffa8fe10 |
|
BLAKE2b-256 | aac911feb0702d59b555dc6e6e6c4fcd97946aaf49d82b71fec9f1acdb3fa16a |
Hashes for psd_tools-1.9.27-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f7a8c3967101ae7bea0f6b32a732fffeab59909835be238996b6371974e7ee6 |
|
MD5 | f2cc3aa759a4f81c4f11d96432d59ff1 |
|
BLAKE2b-256 | 8c00d08414f4257c87be4cc0a56317fe01a922cbc579af11a7ac7cc4b0a8b0a2 |
Hashes for psd_tools-1.9.27-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04719ce240d52287348911a590e620f63df45ae4dc45056110735eeed8425813 |
|
MD5 | 98821b935fc9e4d65f9bc99903473a51 |
|
BLAKE2b-256 | c69e36f53f11ac3573275c740fa692fb01217f791a8b900df8197a73e76f5453 |
Hashes for psd_tools-1.9.27-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 279e81130b8c0487de77cdbd2b814704b42845cbd64e18de9533cacea9fc0c68 |
|
MD5 | e056d675ac2e6d473bce0a114df35212 |
|
BLAKE2b-256 | 2efce45c6ffadc332ccd29cc27966b5b83ab171356efa42ff4896034e9fa3a8f |
Hashes for psd_tools-1.9.27-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5bcd94ca3d7368e3e9bc20fca562ee1121ab52dc1660f68a8ed6f4f7569ef310 |
|
MD5 | 053b3d982244025d227ee37caaa27e83 |
|
BLAKE2b-256 | b5741b5b6607b35631269d4cbaf666b2c8e5a1ea9a0d87cb91df4968d269a5c0 |
Hashes for psd_tools-1.9.27-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 05b88960ea6b7c9dd84a97cf8f9461776ac0f550b39a7729be839c46ff699481 |
|
MD5 | af4b1198c607595f714518c621221e32 |
|
BLAKE2b-256 | 837fd7e68da610d7c5bc04649bd75371fdd8ff5e774f9f7cda3d8ea03fc20e57 |
Hashes for psd_tools-1.9.27-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ee1f7e525203af04faeda48fc6869c817d2b042e7d706798c16e35e79e3d2f3 |
|
MD5 | cf6b589f5429fd5b1a3190834da1c699 |
|
BLAKE2b-256 | f6ea5baac752d9fa2aa8e05a39fdbef6c099fe2a92bf5ee6033b3d0050f061a6 |
Hashes for psd_tools-1.9.27-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9f976fb278147a6c25c7113d745a25f4c612f5808d0ce199e35a46eeb24916d |
|
MD5 | 0a66956310bbf1a8053dcda43affc5e3 |
|
BLAKE2b-256 | 2cf79954e2c99f58501fff7c09dc154e5803d00979f992df2a6290987826f889 |