Skip to content

Commit

Permalink
Initial
Browse files Browse the repository at this point in the history
  • Loading branch information
hembergerik committed May 16, 2019
1 parent 51e15e9 commit 3ebe97c
Show file tree
Hide file tree
Showing 10 changed files with 1,641 additions and 4 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Ignore raw csv data files.
data/*.csv
79 changes: 79 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# Copyright (c) Jupyter Development Team.
# Distributed under the terms of the Modified BSD License.
ARG BASE_CONTAINER=jupyter/minimal-notebook
FROM $BASE_CONTAINER

LABEL maintainer="Jupyter Project <[email protected]>"

USER root

# ffmpeg for matplotlib anim
RUN apt-get update && \
apt-get install -y --no-install-recommends ffmpeg && \
rm -rf /var/lib/apt/lists/*

USER $NB_UID

# Install Python 3 packages
# Remove pyqt and qt pulled in for matplotlib since we're only ever going to
# use notebook-friendly backends in these images
RUN conda install --quiet --yes \
'conda-forge::blas=*=openblas' \
'ipywidgets=7.4*' \
'pandas=0.24*' \
'numexpr=2.6*' \
'matplotlib=3.0*' \
'scipy=1.2*' \
'seaborn=0.9*' \
'scikit-learn=0.20*' \
'scikit-image=0.14*' \
'sympy=1.3*' \
'cython=0.29*' \
'patsy=0.5*' \
'statsmodels=0.9*' \
'cloudpickle=0.8*' \
'dill=0.2*' \
'dask=1.1.*' \
'numba=0.42*' \
'bokeh=1.0*' \
'sqlalchemy=1.3*' \
'hdf5=1.10*' \
'h5py=2.9*' \
'vincent=0.4.*' \
'beautifulsoup4=4.7.*' \
'protobuf=3.7.*' \
'xlrd' && \
conda remove --quiet --yes --force qt pyqt && \
conda clean --all -f -y && \
# Activate ipywidgets extension in the environment that runs the notebook server
jupyter nbextension enable --py widgetsnbextension --sys-prefix && \
# Also activate ipywidgets extension for JupyterLab
# Check this URL for most recent compatibilities
# https://github.com/jupyter-widgets/ipywidgets/tree/master/packages/jupyterlab-manager
jupyter labextension install @jupyter-widgets/jupyterlab-manager@^0.38.1 && \
jupyter labextension install [email protected] && \
npm cache clean --force && \
rm -rf $CONDA_DIR/share/jupyter/lab/staging && \
rm -rf /home/$NB_USER/.cache/yarn && \
rm -rf /home/$NB_USER/.node-gyp && \
fix-permissions $CONDA_DIR && \
fix-permissions /home/$NB_USER

# Install facets which does not have a pip or conda package at the moment
RUN cd /tmp && \
git clone https://github.com/PAIR-code/facets.git && \
cd facets && \
jupyter nbextension install facets-dist/ --sys-prefix && \
cd && \
rm -rf /tmp/facets && \
fix-permissions $CONDA_DIR && \
fix-permissions /home/$NB_USER

# Import matplotlib the first time to build the font cache.
ENV XDG_CACHE_HOME /home/$NB_USER/.cache/
RUN MPLBACKEND=Agg python -c "import matplotlib.pyplot" && \
fix-permissions /home/$NB_USER

RUN mkdir colab
COPY . colab/.
USER $NB_UID
39 changes: 35 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,7 @@ Download `python` from [https://www.python.org/downloads/](https://www.python.or
# Setup

Two methods are provided:

1. Install a `Python` virtual environment [https://docs.python.org/3/library/venv.html](https://docs.python.org/3/library/venv.html)
1 Install a `Python` virtual environment [https://docs.python.org/3/library/venv.html](https://docs.python.org/3/library/venv.html)
```
python3 -m venv colab-venv
```
Expand All @@ -27,7 +26,7 @@ source colab-venv/bin/activate
pip install -r requirements.txt
```

2. Install with `conda`:
2 Install with `conda`:
```
conda env create -f environment.yml
```
Expand All @@ -49,10 +48,42 @@ conda activate colab-2019
jupyter-notebook
```

## Docker
There is also a `Dockerfile` e.g
Build
```
docker build -t colab .
```
Run
```
docker run -p 8888:8888 -t colab
```

The docker file can be improved to handle e.g. data mounting and run name tagging

# Documentation

Documentation is in the `docs` folder

# Data

Data can be put in the `data` folder. A `.gitignore` file ignores `data/*.csv` files.
Data can be put in the `data` folder. A `.gitignore` file ignores
`data/*.csv` files. The data from
[https://analyse.kmi.open.ac.uk/open_dataset#data](https://analyse.kmi.open.ac.uk/open_dataset#data)
is used.

Use `download_data.sh` for help downloading the data files to the `data` folder
```
bash ./download_data.sh
```

# Packages used
```
jupyter
matplotlib
numpy
pandas
scikit-learn
scipy
seaborn
```
Empty file added data/README.md
Empty file.
Empty file added docs/README.md
Empty file.
18 changes: 18 additions & 0 deletions download_data.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#! /bin/bash

# Go to `data` folder
cd data
# Instructions about data at https://analyse.kmi.open.ac.uk/open_dataset/download
#Download data set from https://analyse.kmi.open.ac.uk/open_dataset/download
wget --output-document=vle_data.zip https://analyse.kmi.open.ac.uk/open_dataset/download
# Download checksum from https://analyse.kmi.open.ac.uk/open_dataset/downloadCheckSum
wget --output-document=md5_vle_data https://analyse.kmi.open.ac.uk/open_dataset/downloadCheckSum
# Check integrity matches
md5 vle_data.zip
cat md5_vle_data
# Unzip
unzip vle_data.zip
# See which files were extracted
ls -lh


Empty file added src/README.md
Empty file.
Loading

0 comments on commit 3ebe97c

Please sign in to comment.