FROM python:3.11-bookworm

# ds1000 is a pretty hefty install and should never change since it's
# a third-party eval, so let's do that first
COPY ds1000_requirements.txt .
RUN pip install --no-cache-dir -r ds1000_requirements.txt

COPY super_requirements.txt .
RUN pip install --no-cache-dir -r super_requirements.txt

COPY diagnostics_requirements.txt .
RUN pip install --no-cache-dir -r diagnostics_requirements.txt

ENV PATH="$PATH:/opt/inspect_tool_support/bin"
RUN python -m venv /opt/inspect_tool_support && /opt/inspect_tool_support/bin/pip install inspect-tool-support && /opt/inspect_tool_support/bin/inspect-tool-support post-install

# We could make yet another venv for the jupyter deps, but this works and is
# a bit lighter weight
RUN /opt/inspect_tool_support/bin/pip install requests jupyter_client==8.6.3 jupyter_kernel_gateway==3.0.1

# jupyter server lives in the outer/system env since agents write code for it;
# need to match versions with the client installed in the venv
RUN pip install jupyterlab==4.4.3 jupyter_kernel_gateway==3.0.1 numpy pandas

# Datavoyager requirement
RUN pip install "matplotlib==3.10.0"

# SandboxToolManager requirement
RUN pip install "mcp~=1.10"
RUN /opt/inspect_tool_support/bin/pip install "mcp~=1.10"
