From e23662d26559164dd406846bdfd5065577ed46e7 Mon Sep 17 00:00:00 2001 From: Tarek Al-Qarqaz Date: Tue, 2 Apr 2024 16:08:22 +0000 Subject: [PATCH 1/4] feat: Support HEIF, HEIC and AVIF recipe image uploads --- mealie/pkgs/img/minify.py | 5 ++- mealie/pkgs/img/static.py | 1 + poetry.lock | 86 ++++++++++++++++++++++++++++++++++++++- pyproject.toml | 1 + 4 files changed, 91 insertions(+), 2 deletions(-) diff --git a/mealie/pkgs/img/minify.py b/mealie/pkgs/img/minify.py index b667a2f2a11..b0ae664a9dd 100644 --- a/mealie/pkgs/img/minify.py +++ b/mealie/pkgs/img/minify.py @@ -4,11 +4,14 @@ from pathlib import Path from PIL import Image +from pi_heif import register_heif_opener + +register_heif_opener() WEBP = ".webp" FORMAT = "WEBP" -IMAGE_EXTENSIONS = {".jpg", ".jpeg", ".png", ".webp"} +IMAGE_EXTENSIONS = {".jpg", ".jpeg", ".png", ".webp", ".heic", ".avif"} def get_format(image: Path) -> str: diff --git a/mealie/pkgs/img/static.py b/mealie/pkgs/img/static.py index 1d34e085bf5..6e668b09373 100644 --- a/mealie/pkgs/img/static.py +++ b/mealie/pkgs/img/static.py @@ -19,6 +19,7 @@ ".dib", ".heif", ".heic", + ".avif", ".ind", ".jp2", ".svg", diff --git a/poetry.lock b/poetry.lock index 90a23215c76..d8a005969cd 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1584,6 +1584,90 @@ files = [ {file = "pathspec-0.11.2.tar.gz", hash = "sha256:e0d8d0ac2f12da61956eb2306b69f9469b42f4deb0f3cb6ed47b9cce9996ced3"}, ] +[[package]] +name = "pi-heif" +version = "0.16.0" +description = "Python interface for libheif library" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pi_heif-0.16.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:e8e8140be4defb226791f9d4ad991a4e75e4bb0d8e2228828b6f81864b6907a7"}, + {file = "pi_heif-0.16.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:297569be55f1559e593c4d425b2aa46c7d8ea296139b65cef4e0c1c6882c857e"}, + {file = "pi_heif-0.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:964faa7c1568c0ab8018d63600e30abbc3ab122ee76ab7e2e22a4cb5bf96fe2c"}, + {file = "pi_heif-0.16.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d5797444882b9af2ca15cbb11659186a9142872aa647df6b6d02ea2f220ca8b3"}, + {file = "pi_heif-0.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a88b4cf288b36eccf467e001b9775bbe46a99962d4dd87695fcdf4d3ab7f9797"}, + {file = "pi_heif-0.16.0-cp310-cp310-manylinux_2_31_armv7l.whl", hash = "sha256:f3f2aa013e60ad85b20a5706fd0ac2bdf8c27e320b88f590ad8917e316ad902c"}, + {file = "pi_heif-0.16.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b19d55dfffdffd1509222ede94e5dbacb656d2c25c74bc1f5c4b4e9e40095ff9"}, + {file = "pi_heif-0.16.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:b51baee4de96a400fe870b3654a614d85efa6d9298488113044450539f7b677e"}, + {file = "pi_heif-0.16.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:67951913bf1d33f6a9b7b2707cc76770e44196e97664940c9ad249546f83a39d"}, + {file = "pi_heif-0.16.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3b8abf3920ad81bf679f953a0467f8b3803beb1b76575e290300bbe479d7715d"}, + {file = "pi_heif-0.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:152005cebf2c0ed7fca1cf14b034a82933ee103e50b6dfd77d2cb74e66da0984"}, + {file = "pi_heif-0.16.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:8b5a953f68bc0973f52b79eb0cf0f7b8521d1125958ce6336aa9b6f20664ae4d"}, + {file = "pi_heif-0.16.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:f659685697a9a6d9fe9a30bf89962f4c0bc2fa7ecb29e3850366fa808c6dc7da"}, + {file = "pi_heif-0.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d076e864d2dba2015a2d2d2ed4d8181c5e674ef550c69994506317106877312"}, + {file = "pi_heif-0.16.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:08704ba106934e8df8ff7d5adf78b8c6d261475c229d308afea99875f9aa33e9"}, + {file = "pi_heif-0.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8dcf21661e544f1b3fb286dc3224a8e6d685001a450f73a11f2de44e4bc78daf"}, + {file = "pi_heif-0.16.0-cp311-cp311-manylinux_2_31_armv7l.whl", hash = "sha256:a10107f77b009a61a94eb6e210a45f482dfc0ed2d39dcbd43bf3be03e7a4a18e"}, + {file = "pi_heif-0.16.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f720b15672815e4ef10e47189a7e82689d16cc010d80b65ee8450e73ee8d8611"}, + {file = "pi_heif-0.16.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:6039ecccbbb6be806ad6960f200665018be13839d79769b150bb2c6af953482f"}, + {file = "pi_heif-0.16.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1b7d1ddb2a81e3b5ee84571e5e2253707f16245707547bc51f4f93f89f70261b"}, + {file = "pi_heif-0.16.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:2a987378b09a7d27c275280c38930847436ba1a4aff36f4e09329278dc99441a"}, + {file = "pi_heif-0.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:6f4371b9d347f3d6128d00b672477de3700d30a9e4e34c3d812dccd4ac3904f1"}, + {file = "pi_heif-0.16.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:13f0255990f4b24bf4b0d0731bac8318645a09870e8bd15997a9b83ecd928fb0"}, + {file = "pi_heif-0.16.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:a1c38fbf3f0302bc1635bbad6a36ec0c222b5d5825532407d1cbac1b8aeea8a5"}, + {file = "pi_heif-0.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d2f1dbd2aff7d9b4815140f8574687e43becfbd94afce9272be5d803ffea4ab5"}, + {file = "pi_heif-0.16.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dba8462294094207ef2ef2cfa71beaccee797d70e43d189dc174a69a4fee31a0"}, + {file = "pi_heif-0.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8bf007d89b8ae2b99f04a31c054ad9aeb14bc6acb6c0866ff722e170753eb3c"}, + {file = "pi_heif-0.16.0-cp312-cp312-manylinux_2_31_armv7l.whl", hash = "sha256:00d4614b4c36032e76d3cf9ba1f567956406d284e0e66afbd3a193ce2aaa495c"}, + {file = "pi_heif-0.16.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3e719f31dffaaffcba6fe8ed667bfa0ef127de178cb6197a7aab08da310e6466"}, + {file = "pi_heif-0.16.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:2a3d7e9750a2cb665bf161f854ca632ef76ab1974f92026d5f7d92f048e616f3"}, + {file = "pi_heif-0.16.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:fe91f8739fdb0ed28f2f4821e20036dd7b2be7c94789dea2e4170a765bd2d195"}, + {file = "pi_heif-0.16.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e5b88e1dd14085f696b829b4f0800a00d52a6eba653b0dbc134528e75c52dc70"}, + {file = "pi_heif-0.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:68afb0136a68ba7c6ca5a873bffdafb75db4011e846adbaf8d995d5b90e24965"}, + {file = "pi_heif-0.16.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:7576ad72bbac21e79d937d8e3675e244526dd571d7802d1884288534b1dac06a"}, + {file = "pi_heif-0.16.0-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:f5341138ffbd174da0737e54662b7e17d73c9e95a0abfcb34415d2a2775761e7"}, + {file = "pi_heif-0.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca546ffd940e10d5b1e6a76c404401e4b0affb6889345a8eeb3a12905af49a22"}, + {file = "pi_heif-0.16.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:13561c2b5f2321a96c8e72e9327fba412a1d9911d3d3f9db129094ca24c1241e"}, + {file = "pi_heif-0.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff1af6b6f6c42339879d62ec0ebd76d8dcb819114232a0bf272d560b41d967f6"}, + {file = "pi_heif-0.16.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:1fe5c65beacae02c0c1de06073f7e3e80cd8e4ff7f71a1d1e4b3a9c8f3714aab"}, + {file = "pi_heif-0.16.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:4da3ea75a74a00e0439c0d8eb7d8389cbb1bf2b945b6f29e35905a37e754af9a"}, + {file = "pi_heif-0.16.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:bd5da1f8aeff89402598e07adff0186c72c568e225ec840f239d2d0cc3e36dc4"}, + {file = "pi_heif-0.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:d131636617d3a658ea108f7bfa3cb3acac48ea94fd45d062ec35dc8e50cfc255"}, + {file = "pi_heif-0.16.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:c45d9048f158e2346ab232fb9cdf79f7d5dd7b766ab2b4df9d774572b854b0b3"}, + {file = "pi_heif-0.16.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:4c420a7a26da657203b36c7afc24c409700815050c915c9f913ec67c0ba69b04"}, + {file = "pi_heif-0.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1a659b7420414c33b402df434aa5f8f2bf6da425881203750278b88d2231360"}, + {file = "pi_heif-0.16.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:883e3dc47da8741662f5b9c20deb1a0c33bd6c0df9a34e013d4cab163ab21af4"}, + {file = "pi_heif-0.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c26954eff2ed907970b29a7fd592c81eb671c28fd39f9402aeed1bd23858dbe8"}, + {file = "pi_heif-0.16.0-cp39-cp39-manylinux_2_31_armv7l.whl", hash = "sha256:e2f2209e389a0b8b9004f1918ef24df82b749603fc4b3f609b09feff65319253"}, + {file = "pi_heif-0.16.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:6663bc5ef3c89af87616b7a3c0929b398456998110f7651b75bb1354490227fd"}, + {file = "pi_heif-0.16.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:d8fdc8757faf68217721054da38bd1149080000de51e22b5831739c2faa107c6"}, + {file = "pi_heif-0.16.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:47fb7e82c7219b21f0e4e56cbd4093a1f877032daa7b98c87ac41a6b10b38f28"}, + {file = "pi_heif-0.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:f50ada1f9cd9036d84e664605abeca066e9a8bc2abd4ad62e9e673bf5599b568"}, + {file = "pi_heif-0.16.0-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:37410ece6f5a8ca8ceb2345a7c2987f4aa826cbff75f5558cf953bf052b8b5bd"}, + {file = "pi_heif-0.16.0-pp310-pypy310_pp73-macosx_12_0_arm64.whl", hash = "sha256:851d99710db245fe3228fa3c87200f3d47cd1f0b710e96ecb8a7d5aea75d4f37"}, + {file = "pi_heif-0.16.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:de925776b6d433c50c7af73cd0e870c2068aea0af6b728512c6a50901ec45f36"}, + {file = "pi_heif-0.16.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b490757c7b53abcb3c2d63bcd4edb51acf9bffcb7cdc66ab44fabb5e0ec76ae0"}, + {file = "pi_heif-0.16.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:29ac1cda359eea13ddfbfd7ab05f1b379fc85986c083911b95fb0ba07a9ccb6f"}, + {file = "pi_heif-0.16.0-pp38-pypy38_pp73-macosx_10_10_x86_64.whl", hash = "sha256:a727bde83e35392e4c2d5760aaf6a81824ef19cf3e692bc2eec4d43bec5872c5"}, + {file = "pi_heif-0.16.0-pp38-pypy38_pp73-macosx_12_0_arm64.whl", hash = "sha256:ba18e0c7d915bc8de48d320f0bad1049b99ee54e2c1fa8283b8e549c72db8602"}, + {file = "pi_heif-0.16.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:67888f5fe873ff19da858feabd0b2ccbddf880425f961564ecad918f9bcc09be"}, + {file = "pi_heif-0.16.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:947090f64c5b27cafb971970d4d216933f66a4e0a8fc1cb02fe035ff823d5ac6"}, + {file = "pi_heif-0.16.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:2fc853360ad1e57227db2c85dc9103490f93be644888b9e162a4a0b24b93674b"}, + {file = "pi_heif-0.16.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:092c9d19e071a9c791a6407966f463e4dbd5f35f53f440d735104ff7cc4ce23f"}, + {file = "pi_heif-0.16.0-pp39-pypy39_pp73-macosx_12_0_arm64.whl", hash = "sha256:a0c239b43344c71b33630d1326d938d62d80a7d4c55bc0b6d86454875ea8c955"}, + {file = "pi_heif-0.16.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6d974fc0404fc01e11b822ff9da702a860e68ffa899bd2afc594ff4629969bcf"}, + {file = "pi_heif-0.16.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8fa6f9c540c640f1cf11c1ce22512598ac46d7889fbcf6b8c0c92e16cb4c112b"}, + {file = "pi_heif-0.16.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:1dc2ee43c4b9879d7812677f8e12fdcf2b439491825fd69933f81d6261eed6bd"}, + {file = "pi_heif-0.16.0.tar.gz", hash = "sha256:53fd0c582b01f1763ffa9959694164424c658eb3af5843f187ec019a0f0ef2b4"}, +] + +[package.dependencies] +pillow = ">=9.5.0" + +[package.extras] +tests = ["defusedxml", "numpy", "packaging", "pympler", "pytest"] +tests-min = ["defusedxml", "packaging", "pytest"] + [[package]] name = "pillow" version = "10.2.0" @@ -3175,4 +3259,4 @@ pgsql = ["psycopg2-binary"] [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "78284368031f012f6e4edcbb6cc3c25db58f570474e0939e5ed3948c01b9d798" +content-hash = "04f64d848f4791a427977896b479028455300cc02a38c18dc142fe622d51bf2c" diff --git a/pyproject.toml b/pyproject.toml index 878dd98e814..eadc6e46c2d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -47,6 +47,7 @@ authlib = "^1.3.0" html2text = "^2024.0.0" paho-mqtt = "^1.6.1" pydantic-settings = "^2.1.0" +pi-heif = "^0.16.0" [tool.poetry.group.postgres.dependencies] psycopg2-binary = { version = "^2.9.1" } From 8ba014c133bd4edc4581a706e362d89b4906bbcf Mon Sep 17 00:00:00 2001 From: Tarek Al-Qarqaz Date: Tue, 2 Apr 2024 17:02:22 +0000 Subject: [PATCH 2/4] fix: lint import block --- mealie/pkgs/img/minify.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mealie/pkgs/img/minify.py b/mealie/pkgs/img/minify.py index b0ae664a9dd..71fb1b207a8 100644 --- a/mealie/pkgs/img/minify.py +++ b/mealie/pkgs/img/minify.py @@ -3,8 +3,8 @@ from logging import Logger from pathlib import Path -from PIL import Image from pi_heif import register_heif_opener +from PIL import Image register_heif_opener() From 909490e20d12fe6df614236415519d1cf3a1be87 Mon Sep 17 00:00:00 2001 From: Tarek Al-Qarqaz Date: Thu, 4 Apr 2024 22:14:44 +0000 Subject: [PATCH 3/4] fix: avif now included --- mealie/pkgs/img/minify.py | 3 +- poetry.lock | 155 +++++++++++++++++--------------------- pyproject.toml | 2 +- 3 files changed, 73 insertions(+), 87 deletions(-) diff --git a/mealie/pkgs/img/minify.py b/mealie/pkgs/img/minify.py index 71fb1b207a8..ccd10a2b505 100644 --- a/mealie/pkgs/img/minify.py +++ b/mealie/pkgs/img/minify.py @@ -3,10 +3,11 @@ from logging import Logger from pathlib import Path -from pi_heif import register_heif_opener +from pillow_heif import register_heif_opener, register_avif_opener from PIL import Image register_heif_opener() +register_avif_opener() WEBP = ".webp" FORMAT = "WEBP" diff --git a/poetry.lock b/poetry.lock index 7f9a71cc2e4..142083a942c 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1584,90 +1584,6 @@ files = [ {file = "pathspec-0.11.2.tar.gz", hash = "sha256:e0d8d0ac2f12da61956eb2306b69f9469b42f4deb0f3cb6ed47b9cce9996ced3"}, ] -[[package]] -name = "pi-heif" -version = "0.16.0" -description = "Python interface for libheif library" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pi_heif-0.16.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:e8e8140be4defb226791f9d4ad991a4e75e4bb0d8e2228828b6f81864b6907a7"}, - {file = "pi_heif-0.16.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:297569be55f1559e593c4d425b2aa46c7d8ea296139b65cef4e0c1c6882c857e"}, - {file = "pi_heif-0.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:964faa7c1568c0ab8018d63600e30abbc3ab122ee76ab7e2e22a4cb5bf96fe2c"}, - {file = "pi_heif-0.16.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d5797444882b9af2ca15cbb11659186a9142872aa647df6b6d02ea2f220ca8b3"}, - {file = "pi_heif-0.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a88b4cf288b36eccf467e001b9775bbe46a99962d4dd87695fcdf4d3ab7f9797"}, - {file = "pi_heif-0.16.0-cp310-cp310-manylinux_2_31_armv7l.whl", hash = "sha256:f3f2aa013e60ad85b20a5706fd0ac2bdf8c27e320b88f590ad8917e316ad902c"}, - {file = "pi_heif-0.16.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b19d55dfffdffd1509222ede94e5dbacb656d2c25c74bc1f5c4b4e9e40095ff9"}, - {file = "pi_heif-0.16.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:b51baee4de96a400fe870b3654a614d85efa6d9298488113044450539f7b677e"}, - {file = "pi_heif-0.16.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:67951913bf1d33f6a9b7b2707cc76770e44196e97664940c9ad249546f83a39d"}, - {file = "pi_heif-0.16.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3b8abf3920ad81bf679f953a0467f8b3803beb1b76575e290300bbe479d7715d"}, - {file = "pi_heif-0.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:152005cebf2c0ed7fca1cf14b034a82933ee103e50b6dfd77d2cb74e66da0984"}, - {file = "pi_heif-0.16.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:8b5a953f68bc0973f52b79eb0cf0f7b8521d1125958ce6336aa9b6f20664ae4d"}, - {file = "pi_heif-0.16.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:f659685697a9a6d9fe9a30bf89962f4c0bc2fa7ecb29e3850366fa808c6dc7da"}, - {file = "pi_heif-0.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d076e864d2dba2015a2d2d2ed4d8181c5e674ef550c69994506317106877312"}, - {file = "pi_heif-0.16.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:08704ba106934e8df8ff7d5adf78b8c6d261475c229d308afea99875f9aa33e9"}, - {file = "pi_heif-0.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8dcf21661e544f1b3fb286dc3224a8e6d685001a450f73a11f2de44e4bc78daf"}, - {file = "pi_heif-0.16.0-cp311-cp311-manylinux_2_31_armv7l.whl", hash = "sha256:a10107f77b009a61a94eb6e210a45f482dfc0ed2d39dcbd43bf3be03e7a4a18e"}, - {file = "pi_heif-0.16.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f720b15672815e4ef10e47189a7e82689d16cc010d80b65ee8450e73ee8d8611"}, - {file = "pi_heif-0.16.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:6039ecccbbb6be806ad6960f200665018be13839d79769b150bb2c6af953482f"}, - {file = "pi_heif-0.16.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1b7d1ddb2a81e3b5ee84571e5e2253707f16245707547bc51f4f93f89f70261b"}, - {file = "pi_heif-0.16.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:2a987378b09a7d27c275280c38930847436ba1a4aff36f4e09329278dc99441a"}, - {file = "pi_heif-0.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:6f4371b9d347f3d6128d00b672477de3700d30a9e4e34c3d812dccd4ac3904f1"}, - {file = "pi_heif-0.16.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:13f0255990f4b24bf4b0d0731bac8318645a09870e8bd15997a9b83ecd928fb0"}, - {file = "pi_heif-0.16.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:a1c38fbf3f0302bc1635bbad6a36ec0c222b5d5825532407d1cbac1b8aeea8a5"}, - {file = "pi_heif-0.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d2f1dbd2aff7d9b4815140f8574687e43becfbd94afce9272be5d803ffea4ab5"}, - {file = "pi_heif-0.16.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dba8462294094207ef2ef2cfa71beaccee797d70e43d189dc174a69a4fee31a0"}, - {file = "pi_heif-0.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8bf007d89b8ae2b99f04a31c054ad9aeb14bc6acb6c0866ff722e170753eb3c"}, - {file = "pi_heif-0.16.0-cp312-cp312-manylinux_2_31_armv7l.whl", hash = "sha256:00d4614b4c36032e76d3cf9ba1f567956406d284e0e66afbd3a193ce2aaa495c"}, - {file = "pi_heif-0.16.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3e719f31dffaaffcba6fe8ed667bfa0ef127de178cb6197a7aab08da310e6466"}, - {file = "pi_heif-0.16.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:2a3d7e9750a2cb665bf161f854ca632ef76ab1974f92026d5f7d92f048e616f3"}, - {file = "pi_heif-0.16.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:fe91f8739fdb0ed28f2f4821e20036dd7b2be7c94789dea2e4170a765bd2d195"}, - {file = "pi_heif-0.16.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e5b88e1dd14085f696b829b4f0800a00d52a6eba653b0dbc134528e75c52dc70"}, - {file = "pi_heif-0.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:68afb0136a68ba7c6ca5a873bffdafb75db4011e846adbaf8d995d5b90e24965"}, - {file = "pi_heif-0.16.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:7576ad72bbac21e79d937d8e3675e244526dd571d7802d1884288534b1dac06a"}, - {file = "pi_heif-0.16.0-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:f5341138ffbd174da0737e54662b7e17d73c9e95a0abfcb34415d2a2775761e7"}, - {file = "pi_heif-0.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca546ffd940e10d5b1e6a76c404401e4b0affb6889345a8eeb3a12905af49a22"}, - {file = "pi_heif-0.16.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:13561c2b5f2321a96c8e72e9327fba412a1d9911d3d3f9db129094ca24c1241e"}, - {file = "pi_heif-0.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff1af6b6f6c42339879d62ec0ebd76d8dcb819114232a0bf272d560b41d967f6"}, - {file = "pi_heif-0.16.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:1fe5c65beacae02c0c1de06073f7e3e80cd8e4ff7f71a1d1e4b3a9c8f3714aab"}, - {file = "pi_heif-0.16.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:4da3ea75a74a00e0439c0d8eb7d8389cbb1bf2b945b6f29e35905a37e754af9a"}, - {file = "pi_heif-0.16.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:bd5da1f8aeff89402598e07adff0186c72c568e225ec840f239d2d0cc3e36dc4"}, - {file = "pi_heif-0.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:d131636617d3a658ea108f7bfa3cb3acac48ea94fd45d062ec35dc8e50cfc255"}, - {file = "pi_heif-0.16.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:c45d9048f158e2346ab232fb9cdf79f7d5dd7b766ab2b4df9d774572b854b0b3"}, - {file = "pi_heif-0.16.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:4c420a7a26da657203b36c7afc24c409700815050c915c9f913ec67c0ba69b04"}, - {file = "pi_heif-0.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1a659b7420414c33b402df434aa5f8f2bf6da425881203750278b88d2231360"}, - {file = "pi_heif-0.16.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:883e3dc47da8741662f5b9c20deb1a0c33bd6c0df9a34e013d4cab163ab21af4"}, - {file = "pi_heif-0.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c26954eff2ed907970b29a7fd592c81eb671c28fd39f9402aeed1bd23858dbe8"}, - {file = "pi_heif-0.16.0-cp39-cp39-manylinux_2_31_armv7l.whl", hash = "sha256:e2f2209e389a0b8b9004f1918ef24df82b749603fc4b3f609b09feff65319253"}, - {file = "pi_heif-0.16.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:6663bc5ef3c89af87616b7a3c0929b398456998110f7651b75bb1354490227fd"}, - {file = "pi_heif-0.16.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:d8fdc8757faf68217721054da38bd1149080000de51e22b5831739c2faa107c6"}, - {file = "pi_heif-0.16.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:47fb7e82c7219b21f0e4e56cbd4093a1f877032daa7b98c87ac41a6b10b38f28"}, - {file = "pi_heif-0.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:f50ada1f9cd9036d84e664605abeca066e9a8bc2abd4ad62e9e673bf5599b568"}, - {file = "pi_heif-0.16.0-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:37410ece6f5a8ca8ceb2345a7c2987f4aa826cbff75f5558cf953bf052b8b5bd"}, - {file = "pi_heif-0.16.0-pp310-pypy310_pp73-macosx_12_0_arm64.whl", hash = "sha256:851d99710db245fe3228fa3c87200f3d47cd1f0b710e96ecb8a7d5aea75d4f37"}, - {file = "pi_heif-0.16.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:de925776b6d433c50c7af73cd0e870c2068aea0af6b728512c6a50901ec45f36"}, - {file = "pi_heif-0.16.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b490757c7b53abcb3c2d63bcd4edb51acf9bffcb7cdc66ab44fabb5e0ec76ae0"}, - {file = "pi_heif-0.16.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:29ac1cda359eea13ddfbfd7ab05f1b379fc85986c083911b95fb0ba07a9ccb6f"}, - {file = "pi_heif-0.16.0-pp38-pypy38_pp73-macosx_10_10_x86_64.whl", hash = "sha256:a727bde83e35392e4c2d5760aaf6a81824ef19cf3e692bc2eec4d43bec5872c5"}, - {file = "pi_heif-0.16.0-pp38-pypy38_pp73-macosx_12_0_arm64.whl", hash = "sha256:ba18e0c7d915bc8de48d320f0bad1049b99ee54e2c1fa8283b8e549c72db8602"}, - {file = "pi_heif-0.16.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:67888f5fe873ff19da858feabd0b2ccbddf880425f961564ecad918f9bcc09be"}, - {file = "pi_heif-0.16.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:947090f64c5b27cafb971970d4d216933f66a4e0a8fc1cb02fe035ff823d5ac6"}, - {file = "pi_heif-0.16.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:2fc853360ad1e57227db2c85dc9103490f93be644888b9e162a4a0b24b93674b"}, - {file = "pi_heif-0.16.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:092c9d19e071a9c791a6407966f463e4dbd5f35f53f440d735104ff7cc4ce23f"}, - {file = "pi_heif-0.16.0-pp39-pypy39_pp73-macosx_12_0_arm64.whl", hash = "sha256:a0c239b43344c71b33630d1326d938d62d80a7d4c55bc0b6d86454875ea8c955"}, - {file = "pi_heif-0.16.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6d974fc0404fc01e11b822ff9da702a860e68ffa899bd2afc594ff4629969bcf"}, - {file = "pi_heif-0.16.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8fa6f9c540c640f1cf11c1ce22512598ac46d7889fbcf6b8c0c92e16cb4c112b"}, - {file = "pi_heif-0.16.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:1dc2ee43c4b9879d7812677f8e12fdcf2b439491825fd69933f81d6261eed6bd"}, - {file = "pi_heif-0.16.0.tar.gz", hash = "sha256:53fd0c582b01f1763ffa9959694164424c658eb3af5843f187ec019a0f0ef2b4"}, -] - -[package.dependencies] -pillow = ">=9.5.0" - -[package.extras] -tests = ["defusedxml", "numpy", "packaging", "pympler", "pytest"] -tests-min = ["defusedxml", "packaging", "pytest"] - [[package]] name = "pillow" version = "10.3.0" @@ -1754,6 +1670,75 @@ tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "pa typing = ["typing-extensions"] xmp = ["defusedxml"] +[[package]] +name = "pillow-heif" +version = "0.16.0" +description = "Python interface for libheif library" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pillow_heif-0.16.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:c7db96ac172e2654676986e8c35fa32bffdd5b429a8c86b9d628c0333c570d82"}, + {file = "pillow_heif-0.16.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:a146be0c8e7bef204eeaa14799b2fca8a4a52ad972850975e23ef10cee4e7de7"}, + {file = "pillow_heif-0.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33e0b1549bcdfec363b3ba6fb55b3de882e1409b5b00f5a68a1a027f051e8ef2"}, + {file = "pillow_heif-0.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fea4410ce02e295079db5b2617579ba016671d334ac1888a1d4b34aedb56b866"}, + {file = "pillow_heif-0.16.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:331579ce4f5fa079595c529b06810886ff76f8ade3eb411a1c9c90853a708022"}, + {file = "pillow_heif-0.16.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:792e5d88b7d016fe48ae2fd77a852ec8dcf9a7fad1f7f191d35bc173896fe378"}, + {file = "pillow_heif-0.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:e0492e4fd6d3334b9eed3651058216ef62f04afa099cfc6b05815c1bf0da2c38"}, + {file = "pillow_heif-0.16.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:beb6576cbe5a9404a8f2ad9ec68f6b0c406e5e9f5d5573722dc3244898dc9866"}, + {file = "pillow_heif-0.16.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:241cf6c510215c6df0ee948dfed06a20c099475250c5c6cac5e7a1ef9e0ec4c3"}, + {file = "pillow_heif-0.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28c980bf8d5239ee87986c9217a5954b07993d71d391949a9feafad0a9c5e9a7"}, + {file = "pillow_heif-0.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a8856cf5f0d53f83d814ae5c8d34433e5e5ad9f3e328480257cd6e9fbdb4a458"}, + {file = "pillow_heif-0.16.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:fba5c46f84031f1186bdea2a0c95f82958f8c29321200e73d7ac5e79ee460c83"}, + {file = "pillow_heif-0.16.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:5c7f7a94fc2d08ddcf55a6834c4c55b7dea9605656c565ce11c82e3f6e0454a8"}, + {file = "pillow_heif-0.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:3a2681d4b62418813289987a9420059d724cd93542d0b05e0928fe4578517714"}, + {file = "pillow_heif-0.16.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:7e424d6a34b9466d054706393e76b5abdd84fabdc0c72b19ca10435a76140de7"}, + {file = "pillow_heif-0.16.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:be41b7fadd4a9355d24936f6fad83bb8130fe55ba228ec298ad316392bb6f38b"}, + {file = "pillow_heif-0.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:078bc74fd767625e465b2c107228f9c398b9a128bdf81b3f18812d7c07be660f"}, + {file = "pillow_heif-0.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f4293ecbb81d255d8d887dce4708a58e87c86e53c6f1b1affc4c3105e1bcb8c"}, + {file = "pillow_heif-0.16.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f63a1d8f95811569df5df9b6b11674038929c2f696221f2a393aee5ac1e535b4"}, + {file = "pillow_heif-0.16.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:89ec30420ddc843c43916febbe31697552ed123396a1696715eea75169866c07"}, + {file = "pillow_heif-0.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:d4595ec975db845d84ab90cbf0678f15b0068b8b83c01d1db7ea524e31bab4b4"}, + {file = "pillow_heif-0.16.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:1421d96aebdc9f5773213c8221ce547efb56e37a62da6698312edd4f281efb42"}, + {file = "pillow_heif-0.16.0-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:88ff22d2b162e7edd9cb9dd98de81455be04c40a99d1d3d3ebe1602b1a21c453"}, + {file = "pillow_heif-0.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb3efbe8efd26203589794988b11ea9bf3dea2d3bcf218e658f779d526dfcf80"}, + {file = "pillow_heif-0.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3f062c1be6f04804ffdf0bc452142eff38d7544c8655c04291d16e3b996e4dc4"}, + {file = "pillow_heif-0.16.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:7fabd6534a38078a66ce8b7a5ae8ad37afd9863c930abd3031fb553f1ab4f01a"}, + {file = "pillow_heif-0.16.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:d9e465d92cf01093e3e4c33776af97368add23ac1c8d0007f34b8d3e3390d6ad"}, + {file = "pillow_heif-0.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:502cebc90c11a6bffa2ea899088999c25fc99c8f322e047a266e541e3046b27c"}, + {file = "pillow_heif-0.16.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:c2ad68e3e4be40adfc5290bf6daa1569dd7d18501e17779d217ce5cd8c1e338d"}, + {file = "pillow_heif-0.16.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:8e168d45b2ce63c1fe2334fd02927699b0097de72605f7571948010fd79e58f0"}, + {file = "pillow_heif-0.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9bf10a1686c2d51f4db8ebb78825f96f28d18d1878599e1c64e88cfbdb70a3d2"}, + {file = "pillow_heif-0.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f15dc73ced02a0ccfac93159d12deeaecfbe4335883a1a3309df0f01c26e6e6"}, + {file = "pillow_heif-0.16.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2673048f3cf1498327add70f16e1129be2a09cf4a31cbc02363f5760eb5ba955"}, + {file = "pillow_heif-0.16.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:9273af7224e0fb16c18637184a8ea9a8790105658daab04ad541982b8623e5c1"}, + {file = "pillow_heif-0.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:f613dfd05fd62a8b7b57649bfa5db1501be41e18b5e15dd4a2fc12d3e3ddfdaa"}, + {file = "pillow_heif-0.16.0-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:3501f22985cbb427c76febf07a7e309cb828e485c0cf250a625733fc06fc1815"}, + {file = "pillow_heif-0.16.0-pp310-pypy310_pp73-macosx_12_0_arm64.whl", hash = "sha256:2b7450303f08ec81d1a63a75052863bb687fc3be1fdd8a34d2c0fef627aacae5"}, + {file = "pillow_heif-0.16.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7794c1a8304eeb841d72cb73aa64cc60c9e5dccb2c7612f8caf528505f78581f"}, + {file = "pillow_heif-0.16.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e5edd98192f74e4c7cffdd62953b2987e2b1e0d6a55d5c940306bed71f40206a"}, + {file = "pillow_heif-0.16.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:38fa2854ec7dbe6c875d64cc5b3cf5cc55f1c8a0248dc1c7c34e9d2505521b82"}, + {file = "pillow_heif-0.16.0-pp38-pypy38_pp73-macosx_10_10_x86_64.whl", hash = "sha256:b50160331754b603524e6ed33c386f478fd66fb345fa6433a507a01c8de642c6"}, + {file = "pillow_heif-0.16.0-pp38-pypy38_pp73-macosx_12_0_arm64.whl", hash = "sha256:9fd829c257a763e3a2e8418a773c2808c90799ee3e6b405b5399cb4fdfbe336e"}, + {file = "pillow_heif-0.16.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bbd9cc527bbd53c3e7588e16aad170e11cfd180b7e9bd84f18fb020ddec11408"}, + {file = "pillow_heif-0.16.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a27abb523a07b17c118c09f1a00f92cde2295f8e997600024d4b57df3c5ba818"}, + {file = "pillow_heif-0.16.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:0075adeb324adb07ddbfbe8a5c79ed12e5d04e60e9a642ff9427e71b5b0adccd"}, + {file = "pillow_heif-0.16.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:40014105688478d6ca146fc04bff6c13f445d01bdea79417b34ee50c1e559190"}, + {file = "pillow_heif-0.16.0-pp39-pypy39_pp73-macosx_12_0_arm64.whl", hash = "sha256:7ef47297d526147923f4ecc7ff681a5d5f4e6e3300017681f59968652a0d8afb"}, + {file = "pillow_heif-0.16.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9923dfcc97ae9484d3514f2f6ec368e2ac97cd66f7b95359cc1b0ec0c1cd6157"}, + {file = "pillow_heif-0.16.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17963a73186961fe7792aef01c46e980635f3fcc1836393de39ec9c6776ca51e"}, + {file = "pillow_heif-0.16.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:4b6caa5b13b4dfc180507527254014530f6bedbeabc1de2238918bf5b2700c7e"}, + {file = "pillow_heif-0.16.0.tar.gz", hash = "sha256:4d95004bb77aa640f80617716aa21bc092ec06307f6f2ad423deeeda07b4d29c"}, +] + +[package.dependencies] +pillow = ">=9.5.0" + +[package.extras] +dev = ["coverage", "defusedxml", "numpy", "opencv-python (==4.9.0.80)", "packaging", "pre-commit", "pylint", "pympler", "pytest"] +docs = ["sphinx (>=4.4)", "sphinx-issues (>=3.0.1)", "sphinx-rtd-theme (>=1.0)"] +tests = ["defusedxml", "numpy", "packaging", "pympler", "pytest"] +tests-min = ["defusedxml", "packaging", "pytest"] + [[package]] name = "platformdirs" version = "2.6.2" @@ -3260,4 +3245,4 @@ pgsql = ["psycopg2-binary"] [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "04f64d848f4791a427977896b479028455300cc02a38c18dc142fe622d51bf2c" +content-hash = "80de6c770dadd95c0b419c301a6e5e46b32d5d76389b8340a52b2a1b1d10d173" diff --git a/pyproject.toml b/pyproject.toml index eadc6e46c2d..8dfef2e6f54 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -47,7 +47,7 @@ authlib = "^1.3.0" html2text = "^2024.0.0" paho-mqtt = "^1.6.1" pydantic-settings = "^2.1.0" -pi-heif = "^0.16.0" +pillow-heif = "^0.16.0" [tool.poetry.group.postgres.dependencies] psycopg2-binary = { version = "^2.9.1" } From 79f7db0425f7d354ada19785489210b6288d936a Mon Sep 17 00:00:00 2001 From: Tarek Al-Qarqaz Date: Thu, 4 Apr 2024 22:23:53 +0000 Subject: [PATCH 4/4] fix: lint import block --- mealie/pkgs/img/minify.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mealie/pkgs/img/minify.py b/mealie/pkgs/img/minify.py index ccd10a2b505..689124e7e38 100644 --- a/mealie/pkgs/img/minify.py +++ b/mealie/pkgs/img/minify.py @@ -3,8 +3,8 @@ from logging import Logger from pathlib import Path -from pillow_heif import register_heif_opener, register_avif_opener from PIL import Image +from pillow_heif import register_avif_opener, register_heif_opener register_heif_opener() register_avif_opener()