2022-10-01 17:30:14 -07:00
|
|
|
ARG BASE_CONTAINER=betalupi/jupyter-base
|
|
|
|
FROM $BASE_CONTAINER
|
|
|
|
LABEL maintainer="Mark <mark@betalupi.com>"
|
|
|
|
|
2022-10-09 21:02:49 -07:00
|
|
|
USER $NB_UID
|
2022-10-01 17:30:14 -07:00
|
|
|
|
|
|
|
RUN mamba install --yes \
|
2023-02-11 15:53:55 -08:00
|
|
|
## Jupyter extensions
|
|
|
|
"jupyter_server>=2.0.0" \
|
|
|
|
## Python packages
|
2022-10-01 17:30:14 -07:00
|
|
|
# Scraping
|
|
|
|
"beautifulsoup4" \
|
|
|
|
"requests" \
|
|
|
|
"schedule" \
|
2023-02-12 18:56:59 -08:00
|
|
|
# ML and Data
|
|
|
|
"scikit-image" \
|
|
|
|
"scikit-learn" \
|
|
|
|
"scipy" \
|
|
|
|
"seaborn" \
|
|
|
|
"pandas" \
|
|
|
|
"matplotlib-base" \
|
2022-10-01 17:30:14 -07:00
|
|
|
# Misc
|
2023-02-12 18:56:59 -08:00
|
|
|
"numpy" \
|
|
|
|
"sympy" \
|
2022-10-01 17:30:14 -07:00
|
|
|
"altair" \
|
|
|
|
"bokeh" \
|
|
|
|
"bottleneck" \
|
|
|
|
"cloudpickle" \
|
|
|
|
"conda-forge::blas=*=openblas" \
|
|
|
|
"cython" \
|
|
|
|
"dask" \
|
|
|
|
"dill" \
|
|
|
|
"h5py" \
|
|
|
|
"ipympl" \
|
|
|
|
"ipywidgets" \
|
|
|
|
"numba" \
|
|
|
|
"numexpr" \
|
|
|
|
"patsy" \
|
|
|
|
"protobuf" \
|
|
|
|
"pytables" \
|
|
|
|
"sqlalchemy" \
|
|
|
|
"statsmodels" \
|
|
|
|
"widgetsnbextension" \
|
|
|
|
"xlrd" \
|
2022-10-07 13:48:54 -07:00
|
|
|
"pytest" \
|
2022-10-09 21:02:49 -07:00
|
|
|
"ipython" \
|
2022-10-01 17:30:14 -07:00
|
|
|
&& \
|
|
|
|
# Cleanup
|
|
|
|
mamba clean --all -f -y && \
|
|
|
|
npm cache clean --force && \
|
|
|
|
jupyter lab clean && \
|
|
|
|
rm -rf "/home/${NB_USER}/.cache/yarn" && \
|
|
|
|
fix-permissions "${CONDA_DIR}" && \
|
|
|
|
fix-permissions "/home/${NB_USER}"
|
|
|
|
|
2023-03-07 09:03:10 -08:00
|
|
|
# Import matplotlib once to build the font cache.
|
2022-10-01 17:30:14 -07:00
|
|
|
ENV XDG_CACHE_HOME="/home/${NB_USER}/.cache/"
|
|
|
|
RUN MPLBACKEND=Agg python -c "import matplotlib.pyplot" && \
|
2023-03-07 09:03:10 -08:00
|
|
|
fix-permissions "/home/${NB_USER}"
|