diff --git a/nix/package/default.nix b/nix/package/default.nix index 631a4f47..ba697e22 100644 --- a/nix/package/default.nix +++ b/nix/package/default.nix @@ -74,6 +74,7 @@ python3Packages.buildPythonApplication { pythonRelaxDeps = [ "numpy" "pillow" + "pillow-avif-plugin" "pillow-heif" "pillow-jxl-plugin" "pyside6" @@ -93,6 +94,7 @@ python3Packages.buildPythonApplication { numpy opencv-python pillow + pillow-avif-plugin pillow-heif pydantic pydub diff --git a/pyproject.toml b/pyproject.toml index 5b47e95e..2097cb9d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,7 +16,8 @@ dependencies = [ "mutagen~=1.47", "numpy~=2.2", "opencv_python~=4.11", - "Pillow>=10.2,<=12.0", + "Pillow>=10.2,<=11", + "pillow-avif-plugin~=1.5", "pillow-heif~=0.22", "pillow-jxl-plugin~=1.3", "pydantic~=2.10", diff --git a/src/tagstudio/qt/widgets/thumb_renderer.py b/src/tagstudio/qt/widgets/thumb_renderer.py index 16d27b2e..42cbe9e8 100644 --- a/src/tagstudio/qt/widgets/thumb_renderer.py +++ b/src/tagstudio/qt/widgets/thumb_renderer.py @@ -16,6 +16,7 @@ from warnings import catch_warnings import cv2 import numpy as np +import pillow_avif # noqa: F401 # pyright: ignore[reportUnusedImport] import rawpy import srctools import structlog @@ -33,7 +34,7 @@ from PIL import ( UnidentifiedImageError, ) from PIL.Image import DecompressionBombError -from pillow_heif import register_avif_opener, register_heif_opener +from pillow_heif import register_heif_opener from PySide6.QtCore import ( QBuffer, QFile, @@ -79,7 +80,6 @@ os.environ["OPENCV_IO_ENABLE_OPENEXR"] = "1" logger = structlog.get_logger(__name__) Image.MAX_IMAGE_PIXELS = None register_heif_opener() -register_avif_opener() try: import pillow_jxl # noqa: F401 # pyright: ignore[reportUnusedImport]