FROM python:3.7.4-slim-buster AS base
RUN pip install scikit-learn==0.21.3

FROM base AS build-image

RUN apt-get update && apt-get install -y build-essential python-setuptools
RUN pip install cython==0.29.13 graphviz==0.11.1 wheel==0.33.4

COPY low_cost_trees /tmp/low_cost_trees/
WORKDIR /tmp/low_cost_trees/
RUN python setup.py build_ext --inplace && python setup.py sdist bdist_wheel

FROM base

COPY --from=build-image /tmp/low_cost_trees/dist/low_cost_trees-0.0.1-cp37-cp37m-linux_x86_64.whl /tmp/
RUN cd /tmp/ && pip install ./low_cost_trees-0.0.1-cp37-cp37m-linux_x86_64.whl && rm ./low_cost_trees-0.0.1-cp37-cp37m-linux_x86_64.whl
