drop rawpy, use libraw/dcraw_emu directly;

rawpy is still supported but will not be bundled by default
due to security concerns

dcraw_emu reads more formats than rawpy + gives better quality
(we told rawpy to use embedded thumbs), so also much slower

dcraw_emu must be combined with libvips or pillow (equivalent)

other alternatives considered:

libvips + a full imagemagick does a different subset of formats,
less than dcraw_emu, yet is 3x slower and eats ram

magick wins wrt formats but is even slower (4x of dcraw_emu)
This commit is contained in:
ed
2026-05-23 20:55:33 +00:00
parent 2c778e0828
commit 348b4bb5c7
7 changed files with 127 additions and 28 deletions
+3 -5
View File
@@ -15,22 +15,20 @@ RUN apk add -U !pyc ${ADD_PKG} \
tzdata wget mimalloc2 mimalloc2-insecure \
py3-jinja2 py3-argon2-cffi py3-pyzmq \
py3-openssl py3-paramiko py3-pillow \
py3-pip py3-cffi \
py3-pip \
py3-magic \
vips-jxl vips-poppler vips-magick \
py3-numpy fftw libsndfile \
vamp-sdk vamp-sdk-libs keyfinder-cli \
libraw py3-numpy \
libraw-tools \
&& apk add -t .bd \
bash wget gcc g++ make cmake patchelf \
ffmpeg ffmpeg-dev \
python3-dev fftw-dev libsndfile-dev \
py3-wheel py3-numpy-dev libffi-dev \
py3-wheel py3-numpy-dev \
vamp-sdk-dev \
libraw-dev py3-numpy-dev cython \
&& rm -f /usr/lib/python3*/EXTERNALLY-MANAGED \
&& python3 -m pip install pyvips \
&& python3 -m pip install --no-binary rawpy rawpy \
&& bash install-deps.sh \
&& apk del py3-pip .bd \
&& chmod 777 /root \
+3 -9
View File
@@ -12,18 +12,12 @@ RUN apk add -U !pyc ${ADD_PKG} \
tzdata wget mimalloc2 mimalloc2-insecure \
py3-jinja2 py3-argon2-cffi py3-pyzmq \
py3-openssl py3-paramiko py3-pillow \
py3-pip py3-cffi \
py3-pip \
py3-magic \
vips-jxl vips-poppler vips-magick \
libraw py3-numpy \
&& apk add -t .bd \
bash wget gcc g++ make cmake patchelf \
python3-dev py3-wheel libffi-dev \
libraw-dev py3-numpy-dev cython \
libraw-tools \
&& rm -f /usr/lib/python3*/EXTERNALLY-MANAGED \
&& python3 -m pip install pyvips \
&& python3 -m pip install --no-binary rawpy rawpy \
&& apk del py3-pip .bd
&& python3 -m pip install pyvips
COPY i innvikler.sh ./
RUN ash innvikler.sh iv