FROM python:3.12-slim AS package

COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/

ENV UV_LINK_MODE=copy \
    UV_COMPILE_BYTECODE=1 \
    UV_PYTHON_DOWNLOADS=never \
    UV_PYTHON=python3.12 \
    PYTHONUNBUFFERED=1 \
    PYTHONDONTWRITEBYTECODE=1 \
    PYTHONDEBUG=1

RUN apt-get update \
  && apt-get install -y build-essential libssl-dev libffi-dev \
  && apt-get install -y gettext bash xz-utils curl \
  && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
  && rm -rf /var/lib/apt/lists/*

WORKDIR /package

COPY pyproject.toml uv.lock /package/

RUN uv sync --no-install-project

ENTRYPOINT []
