Zenodo.org will be unavailable for 2 hours on September 29th from 06:00-08:00 UTC. See announcement.
There is a newer version of this record available.

Software Open Access

python-pillow/Pillow: 9.5.0

Andrew Murray; Hugo van Kemenade; wiredfool; Jeffrey A. Clark (Alex); Alexander Karpinsky; Ondrej Baranovič; Christoph Gohlke; Jon Dufresne; DWesl; David Schmidt; Yay295; Konstantin Kopachev; Alastair Houghton; Sandro Mani; Steve Landey; Josh Ware; vashek; Piolie; Jason Douglas; Stanislau T.; David Caro; Uriel Martinez; Steve Kossouho; Riley Lahd; Antony Lee; Eric W. Brown; Oliver Tonnhofer; Mickael Bonfill


MARC21 XML Export

<?xml version='1.0' encoding='UTF-8'?>
<record xmlns="http://www.loc.gov/MARC21/slim">
  <leader>00000nmm##2200000uu#4500</leader>
  <controlfield tag="005">20230915140249.0</controlfield>
  <controlfield tag="001">7791017</controlfield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="u">Nord Software</subfield>
    <subfield code="a">Hugo van Kemenade</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="a">wiredfool</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="u">ACLARK.NET, LLC</subfield>
    <subfield code="a">Jeffrey A. Clark (Alex)</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="u">Uploadcare</subfield>
    <subfield code="a">Alexander Karpinsky</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="a">Ondrej Baranovič</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="a">Christoph Gohlke</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="u">Pioneer Valley Books</subfield>
    <subfield code="a">Jon Dufresne</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="a">DWesl</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="a">David Schmidt</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="a">Yay295</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="u">@voxmedia</subfield>
    <subfield code="a">Konstantin Kopachev</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="u">@apple</subfield>
    <subfield code="a">Alastair Houghton</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="u">@sourcepole</subfield>
    <subfield code="a">Sandro Mani</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="u">Asana, but not on this account</subfield>
    <subfield code="a">Steve Landey</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="u">Healius Pathology Pty Ltd</subfield>
    <subfield code="a">Josh Ware</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="a">vashek</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="a">Piolie</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="u">Step Mobile</subfield>
    <subfield code="a">Jason Douglas</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="a">Stanislau T.</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="a">David Caro</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="u">You-i Lab</subfield>
    <subfield code="a">Uriel Martinez</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="a">Steve Kossouho</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="a">Riley Lahd</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="a">Antony Lee</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="u">Iotopia Solutions, Inc.</subfield>
    <subfield code="a">Eric W. Brown</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="u">Omniscale</subfield>
    <subfield code="a">Oliver Tonnhofer</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="u">@Unity-Technologies</subfield>
    <subfield code="a">Mickael Bonfill</subfield>
  </datafield>
  <datafield tag="856" ind1="4" ind2=" ">
    <subfield code="s">51285671</subfield>
    <subfield code="z">md5:726baed8d6a9a176df811be4c707ea43</subfield>
    <subfield code="u">https://zenodo.org/record/7791017/files/python-pillow/Pillow-9.5.0.zip</subfield>
  </datafield>
  <datafield tag="542" ind1=" " ind2=" ">
    <subfield code="l">open</subfield>
  </datafield>
  <datafield tag="260" ind1=" " ind2=" ">
    <subfield code="c">2023-04-01</subfield>
  </datafield>
  <datafield tag="909" ind1="C" ind2="O">
    <subfield code="p">software</subfield>
    <subfield code="p">user-zenodo</subfield>
    <subfield code="o">oai:zenodo.org:7791017</subfield>
  </datafield>
  <datafield tag="100" ind1=" " ind2=" ">
    <subfield code="a">Andrew Murray</subfield>
  </datafield>
  <datafield tag="245" ind1=" " ind2=" ">
    <subfield code="a">python-pillow/Pillow: 9.5.0</subfield>
  </datafield>
  <datafield tag="980" ind1=" " ind2=" ">
    <subfield code="a">user-zenodo</subfield>
  </datafield>
  <datafield tag="540" ind1=" " ind2=" ">
    <subfield code="a">Other (Open)</subfield>
  </datafield>
  <datafield tag="650" ind1="1" ind2="7">
    <subfield code="a">cc-by</subfield>
    <subfield code="2">opendefinition.org</subfield>
  </datafield>
  <datafield tag="520" ind1=" " ind2=" ">
    <subfield code="a">&lt;p&gt;&lt;a href="https://pillow.readthedocs.io/en/stable/releasenotes/9.5.0.html"&gt;https://pillow.readthedocs.io/en/stable/releasenotes/9.5.0.html&lt;/a&gt;&lt;/p&gt;
Changes
&lt;ul&gt;
&lt;li&gt;Refactor EpsImagePlugin and deprecate PSFile #6879 [@Yay295]&lt;/li&gt;
&lt;li&gt;Do not discard error message if _imagingft fails to import #7047 [@nulano]&lt;/li&gt;
&lt;li&gt;Added ImageSourceData to TAGS_V2 #7053 [@radarhere]&lt;/li&gt;
&lt;li&gt;Clear PPM half token after use #7052 [@radarhere]&lt;/li&gt;
&lt;li&gt;Do not render text if image has zero width or height #7021 [@radarhere]&lt;/li&gt;
&lt;li&gt;Removed unnecessary silencing of stderr #7046 [@radarhere]&lt;/li&gt;
&lt;li&gt;Fixed compilation warnings #7050 [@radarhere]&lt;/li&gt;
&lt;li&gt;Handle failure from PyDict_New or PyList_New #6999 [@radarhere]&lt;/li&gt;
&lt;li&gt;Removed absolute path to ldconfig #7044 [@radarhere]&lt;/li&gt;
&lt;li&gt;Windows: compile xz with CMake #6947 [@nulano]&lt;/li&gt;
&lt;li&gt;Support custom comments and PLT markers when saving JPEG2000 images #6903 [@joshware]&lt;/li&gt;
&lt;li&gt;Load before getting size in &lt;strong&gt;array_interface&lt;/strong&gt; #7034 [@radarhere]&lt;/li&gt;
&lt;li&gt;Support creating BGR;15, BGR;16 and BGR;24 images, but drop support for BGR;32 #7010 [@radarhere]&lt;/li&gt;
&lt;li&gt;Consider transparency when applying APNG blend mask #7018 [@radarhere]&lt;/li&gt;
&lt;li&gt;Round duration when saving animated WebP images #6996 [@radarhere]&lt;/li&gt;
&lt;li&gt;Added reading of JPEG2000 comments #6909 [@radarhere]&lt;/li&gt;
&lt;li&gt;Decrement reference count #7003 [@radarhere]&lt;/li&gt;
&lt;li&gt;Allow libtiff_support_custom_tags to be missing #7020 [@radarhere]&lt;/li&gt;
&lt;li&gt;Updated xz to 5.4.2 #7026 [@radarhere]&lt;/li&gt;
&lt;li&gt;Improved I;16N support #6834 [@radarhere]&lt;/li&gt;
&lt;li&gt;Added QOI reading #6852 [@radarhere]&lt;/li&gt;
&lt;li&gt;Added saving RGBA images as PDFs #6925 [@radarhere]&lt;/li&gt;
&lt;li&gt;Do not raise an error if os.environ does not contain PATH #6935 [@radarhere]&lt;/li&gt;
&lt;li&gt;Close OleFileIO instance when closing or exiting FPX or MIC #7005 [@radarhere]&lt;/li&gt;
&lt;li&gt;Added &lt;strong&gt;int&lt;/strong&gt; to IFDRational for Python &amp;gt;= 3.11 #6998 [@radarhere]&lt;/li&gt;
&lt;li&gt;Move potential error earlier #7002 [@radarhere]&lt;/li&gt;
&lt;li&gt;Remove redundant default values #6914 [@radarhere]&lt;/li&gt;
&lt;li&gt;Added memoryview support to Dib.frombytes() #6988 [@radarhere]&lt;/li&gt;
&lt;li&gt;Close file pointer copy in the libtiff encoder if still open #6986 [@fcarron]&lt;/li&gt;
&lt;li&gt;Removed unused profile_fromstring method #6987 [@radarhere]&lt;/li&gt;
&lt;li&gt;Release buffer #6976 [@radarhere]&lt;/li&gt;
&lt;li&gt;Raise an error if ImageDraw co-ordinates are incorrectly ordered #6978 [@radarhere]&lt;/li&gt;
&lt;li&gt;Added "corners" argument to ImageDraw rounded_rectangle() #6954 [@radarhere]&lt;/li&gt;
&lt;li&gt;Clarify some local variable names #6971 [@akx]&lt;/li&gt;
&lt;li&gt;Added memoryview support to frombytes() #6974 [@radarhere]&lt;/li&gt;
&lt;li&gt;Allow comments in FITS images #6973 [@radarhere]&lt;/li&gt;
&lt;li&gt;Relax roundtrip check #6970 [@radarhere]&lt;/li&gt;
&lt;li&gt;Support saving PDF with different X and Y resolutions #6961 [@jvanderneutstulen]&lt;/li&gt;
&lt;li&gt;Relax roundtrip check #6967 [@radarhere]&lt;/li&gt;
&lt;li&gt;Fixed writing int as UNDEFINED tag #6950 [@radarhere]&lt;/li&gt;
&lt;li&gt;Update HPND wording in LICENSE file #6936 [@mtelka]&lt;/li&gt;
&lt;li&gt;Relaxed child images check to allow for libjpeg #6853 [@radarhere]&lt;/li&gt;
&lt;li&gt;Raise an error if EXIF data is too long when saving JPEG #6939 [@radarhere]&lt;/li&gt;
&lt;li&gt;Fixed typo #6940 [@radarhere]&lt;/li&gt;
&lt;li&gt;Sort dependencies #6922 [@radarhere]&lt;/li&gt;
&lt;li&gt;Handle more than one directory returned by pkg-config #6896 [@sebastic]&lt;/li&gt;
&lt;li&gt;Relax ImageQt roundtrip check #6915 [@radarhere]&lt;/li&gt;
&lt;li&gt;Prevent register_open from adding duplicates to ID #6917 [@radarhere]&lt;/li&gt;
&lt;li&gt;Do not retry past formats when loading all formats for the first time #6902 [@radarhere]&lt;/li&gt;
&lt;li&gt;Handling for deprecations to be removed in Pillow 11 #6905 [@hugovk]&lt;/li&gt;
&lt;li&gt;Do not retry specified formats if they failed when opening #6893 [@radarhere]&lt;/li&gt;
&lt;li&gt;Do not unintentionally load TIFF format at first #6892 [@radarhere]&lt;/li&gt;
&lt;li&gt;Stop reading when EPS line becomes too long #6897 [@radarhere]&lt;/li&gt;
&lt;li&gt;Allow writing IFDRational to BYTE tag #6890 [@radarhere]&lt;/li&gt;
&lt;li&gt;Raise ValueError for BoxBlur filter with negative radius #6874 [@hugovk]&lt;/li&gt;
&lt;li&gt;Only read when necessary in EpsImagePlugin #6880 [@radarhere]&lt;/li&gt;
&lt;li&gt;Simplify isinstance, key in dict, enumerate #6869 [@hugovk]&lt;/li&gt;
&lt;li&gt;Support arbitrary number of loaded modules on Windows #6761 [@javidcf]&lt;/li&gt;
&lt;/ul&gt;
Dependencies
&lt;ul&gt;
&lt;li&gt;Install Ghostscript using Chocolatey #7036 [@radarhere]&lt;/li&gt;
&lt;li&gt;Update actions/stale action to v8 #7035 [@renovate]&lt;/li&gt;
&lt;li&gt;Updated libimagequant to 4.1.1 #7000 [@radarhere]&lt;/li&gt;
&lt;li&gt;Updated harfbuzz to 7.1.0 #6983 [@radarhere]&lt;/li&gt;
&lt;li&gt;Updated lcms2 to 2.15 #6981 [@radarhere]&lt;/li&gt;
&lt;li&gt;Updated harfbuzz to 7.0.1 #6959 [@radarhere]&lt;/li&gt;
&lt;li&gt;Updated harfbuzz to 7.0.0 #6946 [@radarhere]&lt;/li&gt;
&lt;li&gt;Updated freetype to 2.13 #6931 [@radarhere]&lt;/li&gt;
&lt;li&gt;Updated libjpeg-turbo to 2.1.5.1 #6929 [@radarhere]&lt;/li&gt;
&lt;li&gt;[pre-commit.ci] pre-commit autoupdate #6928 [@pre-commit-ci]&lt;/li&gt;
&lt;li&gt;Updated libjpeg-turbo to 2.1.5 #6923 [@radarhere]&lt;/li&gt;
&lt;li&gt;pre-commit autoupdate #6920 [@radarhere]&lt;/li&gt;
&lt;li&gt;Updated libimagequant to 4.1.0 #6906 [@radarhere]&lt;/li&gt;
&lt;li&gt;Updated libimagequant to 4.0.5 #6901 [@radarhere]&lt;/li&gt;
&lt;li&gt;Updated libwebp to 1.3.0 #6889 [@radarhere]&lt;/li&gt;
&lt;li&gt;Updated raqm to 0.10.0 #6884 [@radarhere]&lt;/li&gt;
&lt;li&gt;Updated xz to 5.4.1 #6883 [@radarhere]&lt;/li&gt;
&lt;li&gt;[pre-commit.ci] pre-commit autoupdate #6855 [@pre-commit-ci]&lt;/li&gt;
&lt;/ul&gt;
Documentation
&lt;ul&gt;
&lt;li&gt;Removed unused sections in release notes #7054 [@radarhere]&lt;/li&gt;
&lt;li&gt;Add missing word #7051 [@Yay295]&lt;/li&gt;
&lt;li&gt;Document handling of modes when converting to or from NumPy #7049 [@radarhere]&lt;/li&gt;
&lt;li&gt;Document how to create universal2 wheels #6912 [@radarhere]&lt;/li&gt;
&lt;li&gt;Docs: Replace dependency sphinx-issues with builtin sphinx.ext.extlinks #7016 [@hugovk]&lt;/li&gt;
&lt;li&gt;Minor improvement made to c_extension_debugging.rst #7017 [@Lucas-C]&lt;/li&gt;
&lt;li&gt;Restored deleted docstring #7027 [@radarhere]&lt;/li&gt;
&lt;li&gt;Removed incorrect docstring #7025 [@Auto-5]&lt;/li&gt;
&lt;li&gt;Fix order of arguments in docstring #7024 [@Auto-5]&lt;/li&gt;
&lt;li&gt;Restore link anchor #6993 [@nulano]&lt;/li&gt;
&lt;li&gt;Removed missing anchor from link #6992 [@radarhere]&lt;/li&gt;
&lt;li&gt;Added release notes for #6961 and #6954 #6990 [@radarhere]&lt;/li&gt;
&lt;li&gt;Replace Python code-blocks with double colons #6958 [@radarhere]&lt;/li&gt;
&lt;li&gt;Highlight code example #6969 [@radarhere]&lt;/li&gt;
&lt;li&gt;Corrected documented WebP quality range #6952 [@jzern]&lt;/li&gt;
&lt;li&gt;image-file-formats.rst: document WebP 'xmp' option #6951 [@jzern]&lt;/li&gt;
&lt;li&gt;Add description for getexif() and Exif #6930 [@greatvovan]&lt;/li&gt;
&lt;li&gt;Specify correct description for mode L #6907 [@Pehat]&lt;/li&gt;
&lt;li&gt;Alex Clark -&amp;gt; Jeffrey A. Clark (Alex) #6895 [@aclark4life]&lt;/li&gt;
&lt;li&gt;Updated macOS tested Pillow versions #6885 [@radarhere]&lt;/li&gt;
&lt;li&gt;Verify the Mastodon docs link #6881 [@hugovk]&lt;/li&gt;
&lt;li&gt;List Raqm build options in installation documentation #6876 [@nulano]&lt;/li&gt;
&lt;li&gt;Refer to Resampling enum #6868 [@radarhere]&lt;/li&gt;
&lt;li&gt;LOAD_TRUNCATED_IMAGES may allow PNG images to open #6856 [@radarhere]&lt;/li&gt;
&lt;li&gt;Announce releases on Mastodon #6861 [@radarhere]&lt;/li&gt;
&lt;/ul&gt;
Testing
&lt;ul&gt;
&lt;li&gt;Added Amazon Linux 2023 docker image #7029 [@radarhere]&lt;/li&gt;
&lt;li&gt;Remove EOL Debian 10 Buster from CI #7014 [@hugovk]&lt;/li&gt;
&lt;li&gt;Moved tests that require libtiff #6919 [@radarhere]&lt;/li&gt;
&lt;li&gt;Moved conversion test to test_imagecms #6866 [@radarhere]&lt;/li&gt;
&lt;li&gt;Run CIFuzz tests when GitHub Actions file changes #6994 [@radarhere]&lt;/li&gt;
&lt;li&gt;Build docs in own workflow #6991 [@hugovk]&lt;/li&gt;
&lt;li&gt;Log expected &amp;amp; actual color in image access tests #6899 [@Yay295]&lt;/li&gt;
&lt;li&gt;Fix up some pytest style issues #6968 [@akx]&lt;/li&gt;
&lt;li&gt;Enable gcov support for codecov/codecov-action #6944 [@hugovk]&lt;/li&gt;
&lt;li&gt;Test Python 3.12-dev #6943 [@hugovk]&lt;/li&gt;
&lt;li&gt;Replace SVN with Git for installing extra test images #6918 [@hugovk]&lt;/li&gt;
&lt;li&gt;Parametrize test_file_tar::test_sanity() #6898 [@Yay295]&lt;/li&gt;
&lt;li&gt;Only install python-pyqt6 package on 64-bit #6886 [@radarhere]&lt;/li&gt;
&lt;li&gt;Tests: Convert internal check() functions to use parametrize #6870 [@hugovk]&lt;/li&gt;
&lt;li&gt;Clean up tests (simplified) #6865 [@Yay295]&lt;/li&gt;
&lt;li&gt;NotImplementedError will not be raised by grapclipboard if xclip is available on Linux #6859 [@radarhere]&lt;/li&gt;
&lt;li&gt;array tobytes() always exists in Python &amp;gt;= 3.2 #6854 [@radarhere]&lt;/li&gt;
&lt;/ul&gt;</subfield>
  </datafield>
  <datafield tag="773" ind1=" " ind2=" ">
    <subfield code="n">url</subfield>
    <subfield code="i">isSupplementTo</subfield>
    <subfield code="a">https://github.com/python-pillow/Pillow/tree/9.5.0</subfield>
  </datafield>
  <datafield tag="773" ind1=" " ind2=" ">
    <subfield code="n">doi</subfield>
    <subfield code="i">isVersionOf</subfield>
    <subfield code="a">10.5281/zenodo.596518</subfield>
  </datafield>
  <datafield tag="024" ind1=" " ind2=" ">
    <subfield code="a">10.5281/zenodo.7791017</subfield>
    <subfield code="2">doi</subfield>
  </datafield>
  <datafield tag="980" ind1=" " ind2=" ">
    <subfield code="a">software</subfield>
  </datafield>
</record>
71,811
6,703
views
downloads
All versions This version
Views 71,8113,803
Downloads 6,703163
Data volume 251.7 GB8.4 GB
Unique views 62,8073,587
Unique downloads 4,051158

Share

Cite as