JupyterHub is a multi-user server for Jupyter Notebooks.

Notebooks run within slurm allocations on bluehive compute nodes, but can be accessed via a web interface at https://jupyter.circ.rochester.edu.

Users with bluehive accounts can login with their netid credentials and spawn notebooks within slurm allocations.

JupyterHub currently supports the following kernels on bluehive.

  • Python 2
    • Python 2 (matplotlib)
    • Python 2 (pylab)
    • Python 2 (spark)
    • Python 2 (tensorflow)
  • Python 3
    • Python 3 (matlab r magic)
  • R 3.2.5
  • SAS
  • Scala 2.11
  • Julia 0.4.5
  • C
  • Java 9

Customizing your own kernels

There is an example kernel folder in


which you can copy to your home directory and then customize to suit your needs

 mkdir -p ~/.local/share/jupyter/kernels
 cp -r /software/jupyterhub/kernels/anaconda-4.1.1 ~/.local/share/jupyter/kernels
 cd ~/.local/share/jupyter/kernels
  • You will need to edit the kernel.json and change the two occurrences of the netid 'johndoe' to your netid
  • You can also edit the display name from Anaconda to something else.
  • If you rename your kernel folder from anaconda-4.1.1 to something else, make sure you update the paths in the kernel.json file accordingly.
  • You can edit the python-wrapper script to load additional modules or set environment variables etc...
  • You can also add any startup python code (ie module imports) you want to run when the kernel starts in startup.py

Note you will need to restart your juptyer notebook server for the kernel list to be updated. You should now see Anaconda (or whatever you changed the display name to) now listed as a kernel option. If the kernel fails to start, you should see any errors appear in the jupyterhubslurmspawner.log file in your home directory.

And if you want to see the global kernel folders, they are located in


If you would like help creating a custom kernel or have a kernel you think would be beneficial to other bluehive users, please e-mail circ@rochester.edu.