FROM python:3.12-slim AS base

WORKDIR /app

# Install uv for fast dependency resolution
COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv

# Copy dependency files first for layer caching
COPY pyproject.toml uv.lock ./

# Install production deps only (no dev group)
RUN uv sync --no-dev --frozen

# Copy source code
COPY src/ src/

# Default command: Python shell with rocketmq importable
CMD ["uv", "run", "python", "-c", "import rocketmq; print(f'rocketmq {rocketmq.__version__}')"]
