Jupyter Notebooks Platform

JupyterLab is a web-based interactive development environment. You can develop code, write documentation, execute your code, visualise results including graphs in a same document. It is thus a convenient tool to explore data and share your work (document, code, result) with others. To find more information please refer to the Jupyter project web site.

The CC-IN2P3 Jupyter Notebooks Platform is provided to any user having a computing account at CC-IN2P3. For a general understanding of the tool, please refer to the official JupyterLab Documentation. If you experience any problem, please open a ticket to user support.

Access

You may access this service via the URL: notebook.cc.in2p3.fr.

Access is granted through the eduGAIN identity federation or by entering your login and password from your computing account.

Important

The eduGAIN connection to the platform requires not only to be known by your identity provider, but also to own a valid (not expired) computing account and to be able to map both: the email attached to your eduGAIN identity should be the same as your primary email of your CC-IN2P3 account. Please check your account information as explained in the account management paragraph.

In case of access issues, please use your computing account credentials to log in (contact our user support for further assistance).

Attention

If you are a member of several groups, your primary group will be associated to your gid in the notebook server, which means that every newly created file will belong to that group. Please check your primary group before connecting, and if necessary, change your primary group. Please disconnect and reconnect to the plaform, if you were connected before the affiliation change.

After authentication, your JupyterLab notebook server will be launched and will persist until you logout (closing the web page doesn’t stop the notebook).

Resources access

Once logged in, the notebook server will give you access to the following storage areas:

Note

SPS directories must be granted to be available through the notebook server. Ask our user support if you don’t find them.

The landing directory is set on the user’s HOME directory. To browse the files through the interface on the other directories listed above, create the appropriate symbolic links on your HOME. Example:

% ln -s /pbs/throng/ccin2p3 $HOME/throng_ccin2p3

The notebooks are provided with the Python interpreter included in a recent Anaconda distribution. If the default Python environment provided does not suit your needs, you may add your own via the kernel mechanism.

Resources on demand

By default, every user of the platform will have access to a CPU-based notebook with 2G of RAM.

However, it is possible to request additional resources to user support for:

  • access to the platform GPU computing resources,

  • increase the available RAM on the notebook server.

Depending on the needs of the activities, different default values may be assigned to collaborations upon request.

Kernel management

CC-IN3P3 also provides specific scripts to help you set up custom kernels from the Python, ROOT, Julia, Golang, R and C++/ROOT environments available. The recipe to include such a custom kernel in your JupyterLab instance is given in the section below.

Dask functionality

The Jupyter Notebooks Platform provides the ability to run Dask tasks on the CC-IN2P3 computing platform. This functionality is described in detail below.

Troubleshooting

  • Launching

    • If you can’t open a notebooks server anymore, please do one of the following in order of priority:

      • make sure your HOME is not full with the command df -h $HOME,

      • clear your browser’s cache,

      • delete the directory $HOME/.local/share/jupyter/runtime,

      • delete the directory $HOME/.jupyter/lab/workspaces,

      • delete the directory $HOME/.local/etc/jupyter (or rename it $HOME/.local/etc/jupyter.bak),

      • delete the directory $HOME/.jupyter (or rename it $HOME/.jupyter.bak). If not saved, the file $HOME/.jupyter/jupyter_notebook_config.py can be re-generated by the command jupyter notebook --generate-config only from a terminal of the Notebooks server.

  • Running

    • Notebooks stdoUt and stderr are sent to /var/log/notebookserver/notebookserver.log accessible from a terminal on your notebook server,

    • The notebooks are not limited in CPU number nor usage time; they are limited in RAM accordning to your login or your groups.

      • By default, any group is granted 2 GB, please contact user support to ask for more memory.

  • Logout

    • To stop your notebooks server use File > Log Out. Closing your browser window will not affect the server.

      • Inactive CPU notebooks servers are stopped after 72 hours,

      • Inactive GPU notebooks servers are stopped after 24 hours.

JupyterLab extensions available

To have the complete list of the available extensions use the following command on notebook terminal:

% jupyter labextension list

Here are the main extensions:

  • Voilà, provides HTML preview of notebooks, this preview can be displayed either in JupyterLab directly, or in a new browser tab (in this case, make sure to allow pop-up windows). The interactivity provided by the extensions ipywidgets and ipympl (see below for a short description of these extensions) can be preserved, for more detail please see the official Voilà repository,

  • Jupytext, allows to synchronise notebooks in various other file formats, such as Markdown, in order to ease the storage of such notebooks and file in Git repository, for more detail, please see the official Jupytext repository,

  • ipywidgets, enhances interactivity with the notebook thanks to dedicated widgets, see the official ipywidgets repository,

  • ipympl, introduces interactivity with plots made using matplotlib, see the official ipympl repository,

  • jupyterlab-git provides version control using Git. Please see the official JupyterLab-Git repository,

  • jupyterlab-latex provides preview of LaTeX documents (*.tex files) inside a notebook, see the official JupyterLab-LaTeX repository. LaTeX can also be used in legends for matplotlib and to convert and export notebooks to PDF files,

  • dask-labextension allows to manage the embedded Dask’s Dashboard plots directly into JupyterLab panes. Please check the official Dask-Labextension repository.

If you need assistance to use these scripts, or need to set up your own custom kernel which would suits your needs, please contact our user support.