Jupyter and JupyterHub

This post provides an introduction to Jupyter and the comparison between  Jupyter and JupyterHub.

Jupyter is a browser-based interactive notebook for programming, mathematics, and data science. It supports a number of languages via plugins (“kernels”), such as Python, Ruby, Haskell, R, Scala and Julia.

JupyterHub: a multi-user server, manages and proxies multiple instances of the single-user Jupyter notebook server.

Pros of Jupyter:

  • convenient for debugging – does not need to rerun the whole script when debugging a small fragment of the code.
  • convenient for reporting


Cons of Jupyter:

  • It messes with your version control.

  • Code can only be run in chunks

  • It’s difficult to keep track

  • Code often ends up very fragmented

  • The output is incomplete

  • Potential security risks?

    The notebook opens a http port. Pray to lord it will not land on host. In that case the whole universe has access to your notebook and thus to your system.