FROM nvidia/cuda:12.4.0-runtime-ubuntu22.04
FROM python:3.13 AS base

RUN pip install --no-cache-dir uv

RUN uv pip install --system --no-cache torch torchvision torchaudio

CMD ["/bin/bash"]

FROM base AS build

ENV SCVI_PATH="/usr/local/lib/python3.13/site-packages/scvi-tools"

COPY . ${SCVI_PATH}

ARG DEPENDENCIES=""
RUN if [ -n "${DEPENDENCIES}" ]; then \
        uv pip install --system --no-cache "scvi-tools[${DEPENDENCIES}] @ ${SCVI_PATH}"; \
    else \
        uv pip install --system --no-cache "scvi-tools @ ${SCVI_PATH}"; \
    fi
