FROM python:3.11-slim
RUN apt-get update && apt-get install -y --no-install-recommends \
      fluidsynth fluid-soundfont-gm musescore-general-soundfont-small timgm6mb-soundfont \
      libsndfile1 git curl ca-certificates \
    && rm -rf /var/lib/apt/lists/*
RUN pip install --no-cache-dir numpy==1.26.4 scipy==1.13.1 librosa==0.10.2.post1 soundfile==0.12.1 \
      pretty_midi==0.2.10 mido==1.3.2 music21==9.1.0 mir_eval==0.7 pandas==2.2.2 numba==0.60.0
RUN pip install --no-cache-dir essentia || echo "essentia wheel unavailable"
WORKDIR /work
