# ── Stage 1: Dependencies ─────────────────────────────────────────────
FROM python:3.11-slim AS deps

WORKDIR /app

# System-level build deps for NumPy / SciPy wheels
RUN apt-get update && \
    apt-get install -y --no-install-recommends gcc g++ && \
    rm -rf /var/lib/apt/lists/*

COPY . .
RUN pip install --no-cache-dir .[viz]

# ── Stage 2: Application ─────────────────────────────────────────────
FROM python:3.11-slim AS runtime

WORKDIR /app

# Copy installed packages from deps stage
COPY --from=deps /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages
COPY --from=deps /usr/local/bin /usr/local/bin

# Copy project source
COPY . .

# Install the package itself (editable-like for scripts)
RUN pip install --no-cache-dir --no-deps .

# Non-root user for security
RUN useradd --create-home appuser
USER appuser

# Health-check stub (useful for K8s liveness probes)
HEALTHCHECK --interval=60s --timeout=5s CMD python -c "import nab; print('OK')"

ENTRYPOINT ["nab"]
CMD ["--help"]
