What did you do?
I would like to have a reproducible date in the sRGB default profile generated by PIL.ImageCms module.
What did you expect to happen?
Date should be set to 1900-01-01
What actually happened?
Exception is thrown upon read-back.
What are your OS, Python and Pillow versions?
- OS: Linux
- Python: 3.13
- Pillow: 11.1.0
$ python3 -m PIL.report
--------------------------------------------------------------------
Pillow 11.1.0
Python 3.13.5 (main, Jul 15 2026, 20:25:40) [GCC 14.2.0]
--------------------------------------------------------------------
Python executable is /usr/bin/python3
System Python files loaded from /usr
--------------------------------------------------------------------
Python Pillow modules loaded from /usr/lib/python3/dist-packages/PIL
Binary Pillow modules loaded from /usr/lib/python3/dist-packages/PIL
--------------------------------------------------------------------
--- PIL CORE support ok, compiled for 11.1.0
--- TKINTER support ok, loaded 8.6
--- FREETYPE2 support ok, loaded 2.13.3
--- LITTLECMS2 support ok, loaded 2.16
--- WEBP support ok, loaded 1.5.0
--- JPEG support ok, compiled for libjpeg-turbo 2.1.5
--- OPENJPEG (JPEG2000) support ok, loaded 2.5.3
--- ZLIB (PNG/ZIP) support ok, loaded 1.3.1
--- LIBTIFF support ok, loaded 4.7.0
--- RAQM (Bidirectional Text) support ok, loaded 0.10.2
--- LIBIMAGEQUANT (Quantization method) support ok, loaded 2.18.0
--- XCB (X protocol) support ok
--------------------------------------------------------------------```
from PIL import ImageCms
import io
import struct
profile = bytearray(
ImageCms.ImageCmsProfile(ImageCms.createProfile("sRGB")).tobytes()
)
target_date_bytes = struct.pack(">6H", 1901, 1, 1, 0, 0, 0)
profile[24:36] = target_date_bytes
icc_bytes = bytes(profile)
with open('test.icc', 'wb') as fw:
fw.write(icc_bytes)
prof = ImageCms.ImageCmsProfile(io.BytesIO(icc_bytes))
cms = prof.profile
print(cms.creation_date)
Discussion on SO:
What did you do?
I would like to have a reproducible date in the sRGB default profile generated by PIL.ImageCms module.
What did you expect to happen?
Date should be set to 1900-01-01
What actually happened?
Exception is thrown upon read-back.
What are your OS, Python and Pillow versions?
Discussion on SO: