# FlyGuard processing core and command-line tools (CPU only).
FROM python:3.11-slim

ENV PYTHONDONTWRITEBYTECODE=1 \
    PYTHONUNBUFFERED=1 \
    PIP_NO_CACHE_DIR=1

WORKDIR /app

# Runtime dependencies for the core are supplied as wheels for this platform.
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt

COPY flyguard ./flyguard
COPY tools ./tools
COPY tests ./tests
COPY artifacts ./artifacts

# The default verifies the containerised core. Override CMD for a tool, e.g.:
# docker run --rm -v /path/to/data:/data flyguard \
#   python tools/run_pipeline.py --bag /data/my_bag --memory artifacts/mushroom_body.npz
CMD ["pytest", "tests", "-q"]
