# vim: set ft=dockerfile:

# -- build

ARG PYTHON_VERSION={python_major_version}.{python_minor_version}
FROM ghcr.io/astral-sh/uv:python$PYTHON_VERSION-bookworm AS build

LABEL name="PESummary" \
      maintainer="Charlie Hoy <charlie.hoy@ligo.org>" \
      date="{date}"

ARG EXTRAS="extras"
ARG SRCDIR=.

ENV VIRTUAL_ENV=/opt/pesummary

WORKDIR /code

COPY $SRCDIR .
RUN uv venv ${{VIRTUAL_ENV}} --python python$PYTHON_VERSION
RUN uv pip install .["$EXTRAS"]

# -- app

FROM python:$PYTHON_VERSION-slim AS app

ENV VIRTUAL_ENV=/opt/pesummary
ENV PATH="${{VIRTUAL_ENV}}/bin:${{PATH}}"

COPY --from=build ${{VIRTUAL_ENV}} ${{VIRTUAL_ENV}}
