JuputerLab Interface to Palmetto

JupyterHub on the Palmetto Cluster

JupyterHub allows users to interact with the Palmetto cluster from their web browsers using the Jupyter Lab interface, and to prototype and develop code in Python, R, MATLAB and several other languages.

Launching a Jupyter Server on Palmetto

  1. Go to the Palmetto Website.
  2. Click on the JupyterHub link.
  3. Log in with your Palmetto user ID and password:
  4. Once you are logged in, click on "Start my server" to start a notebook server.

  1. Select the resources (CPU cores, memory, walltime, etc.,) required for your session.

  1. If the resources you request are available, a notebook server will be started for you. It is in fact a job submitted to Palmetto under your username.

  1. When resources are allocated and the Jupyter server finished launching, your browser will show the JupyterLab dashboard.

JupyterLab dashboard

After your Jupyter server successfully launched on Palmetto, your browser will present you with a JupyterLab dashboard.

The dashboard is the primary interface of the notebook server. We are using the JupyterLab version of the dashboard to allow users more control over the notebook workspace inside the browser.

Files and folders

  • The files and folders are shown on the left vertical partition of the JupyterLab dashboard. Right-click on a file or folder will give you a number of operational options, as shown in the figure below.

  • To upload small files from your computer to Palmetto via the dashboard, click on the bold up arrow at the top of the file/folder areas (the red circle).

Launchers

  • Launchers are tabs internal to the browser presenting the JupyterLab dashboard. Launcher resperents a significant change to the traditional one-browser-tab-per-notebook/terminal presentation of Jupyter Notebook.
  • On Palmetto, there are three types of Launchers: Notebook, Console, and Other.
  • Other includes browser-based terminal, text editors, and markdown editor.

  • The Notebook launcher will list all available Jupyter notebook kernels that your account has.
  • Click on a kernel will launch the corresponding notebook in the current launcher tab.

  • The Console launcher will launch a command-based interface for the available Jupyter notebook kernels that your account has (note the similar list as the Notebook launcher).

  • An example of a terminal launcher tab is shown below, from the Other launcher.

The most significant impact of the JupyterLab dashboard is its ability to rearrange multiple launcher tabs within the same browser, similar to a typical programming IDE. By dragging the tabs around, you can have a versatile work environment.

Adding new notebook kernels

In addition to the default kernels provided (Python, R, and MATLAB), it is possible to create your own kernels. To install kernels for other languages, see the setup instructions for the language here.

For custom Python kernels, we recommend using Conda environments, and ipykernel to generate a kernel from a Conda environment:

` $ conda create --name myenv python=2.7 $ source activate myenv $ conda install jupyter $ python -m ipykernel install --user --name python_custom --display-name "My Python"

Resources and other readings

A collection of Jupyter notebooks created for research and teaching across several fields in scientific computing, data analysis and related fields is available here:

https://github.com/ipython/ipython/wiki/A-gallery-of-interesting-IPython-Notebooks

Jupyter and IPython documentation

The official Jupyter Notebook documentation:

https://jupyter-notebook.readthedocs.io/en/latest/

The documentation for IPython, the kernel used to create Python-based notebooks:

http://ipython.readthedocs.io/en/stable/index.html

For a list of packages useful for scientific computing and data analysis (and links to the relevant documentation), see here:

https://www.scipy.org/about.html