Jupyter Notebooks
Last updated on • Disponible en Français
The Jupyter Notebook integration for CoderPad allows you to utilize one of four versions of this popular data science platform.
1) Minimal notebook
This Pad is running a Jupyter instance, built off of the jupyter/minimal-notebook
Docker image provided by Jupyter Docker Stacks. Not much is provided out of the box with this image, but you can customize it to your needs by installing the packages you require.
2) SciPy notebook
This Pad is running a Jupyter instance, built off of the jupyter/scipy-notebook
Docker image provided by Jupyter Docker Stacks. This image includes popular packages from the scientific Python ecosystem:
- altair, beautifulsoup4, bokeh, bottleneck, cloudpickle, conda-forge::blas=*=openblas, cython, dask, dill, h5py, jupyterlab-git, matplotlib-base, numba, numexpr, openpyxl, pandas, patsy, protobuf, pytables, scikit-image, scikit-learn, scipy, seaborn, sqlalchemy, statsmodel, sympy, widgetsnbextension, xlrd packages
- ipympl and ipywidgets for interactive visualizations and plots in Python notebooks
- Facets for visualizing machine learning datasets
3) R notebook
This Pad is running a Jupyter instance, built off of the jupyter/r-notebook
Docker image provided by Jupyter Docker Stacks. This image includes popular packages from the R ecosystem:
- The R interpreter and base environment
- IRKernel to support R code in Jupyter notebooks
- tidyverse packages from conda-forge
- caret, crayon, devtools, forecast, hexbin, htmltools, htmlwidgets, nycflights13, randomforest,
rcurl, rmarkdown, rodbc, rsqlite, shiny, tidymodels, unixodbc packages from conda-forge
4) TensorFlow notebook
This Pad is running a Jupyter instance, built off of the jupyter/tensorflow-notebook
Docker image provided by Jupyter Docker Stacks. This image includes popular packages from the scientific Python ecosystem, as well as the tensorflow machine learning library:
- altair, beautifulsoup4, bokeh, bottleneck, cloudpickle, conda-forge::blas=*=openblas, cython, dask, dill, h5py, jupyterlab-git, matplotlib-base, numba, numexpr, openpyxl, pandas, patsy, protobuf, pytables, scikit-image, scikit-learn, scipy, seaborn, sqlalchemy, statsmodel, sympy, widgetsnbextension, xlrd packages
- ipympl and ipywidgets for interactive visualizations and plots in Python notebooks
- Facets for visualizing machine learning datasets
- tensorflow for creating machine learning models
Each notebook will pre-load with different libraries, you can find more information on the specific libraries in Jupyter’s documentation.
To work with Jupyter Notebooks in CoderPad, you can either open a pad, and select one of the notebook versions from the drop down…
Or you can create a Jupyter-based question by selecting a version from the question wizard and editing the content as needed.
When you or your candidate open your Jupyter Notebook pad, you’ll be presented with a pad-embedded version that works just like it would out-of-the-box — you’ll have all the same functionality and features as the versions you’ve used outside of CoderPad Interview.
However, you’ll have the added benefit of CoderPad features — for example the ability to collaborate with a candidate over video, take your own private notes the candidate can’t see, and make use of Drawing mode.
✅ Playback is not yet available with Jupyter, but the notebook will still be available for review.
Real Time Collaboration
We’ve included the jupyter-collaboration
extension, which allows for multiple users to edit and interact with a notebook at the same time. Note: currently, all users are anonymously named in Jupyter, but we hope to fix this soon!
Container Limits
The container running your application has a few limitations. Currently, we don’t limit your CPU usage, though this may change in future. In addition to CPU, we monitor the network bandwidth that is consumed, and limit you to 75mb for the duration of the container. Finally, we limit the amount of memory accessible to each container to 0.5 GB.
Are there any libraries or settings we missed? Feel free to email us with suggestions!