Very Short Introduction into JupyterLab
JupyterLab is an open source web application that allows you to create, work and share documents for live code, equations, visualisations and narrative text.
JupyterLab is easy-to-use platform for data analyses in a web browser. A Jupyter document is a .json document with a versioned schema consisting of a list of input and output cells and markdown text. The name Jupyter refers to the three programming languages Julia, Python and R. The file name extension is .ipynb.
JupyterLab enables you as researcher to work with documents and activities such as Jupyter notebooks, text editors, terminals and custom components in a flexible, integrated and extensible way. However, one of the advantages of JupyterLab is that it is easy to use. And it does not need to be installed, which is very practical in teaching.
Another advantage in JupyterLab are the different scientific extensions for various applications, which are available by the community. This points out, that JupyterLab is designed to be expandable and customisable in once. The JupyterLab documentation can help by starting with JupyterLab. It has also become a popular tool for learning the Python programming language; a good example of this can be a tutorial by Software Carpentries.
JupyterLabs in the Max Planck Society
The GWDG offers JupyterLab to all MPG employees via https://jupyter-cloud.gwdg.de. The service can be accessed immediately with your own MPG ID. JupyterLab can also be operated on the Scientific Computer Cluster of the GWDG, if larger computing resources are needed.
The MPCDF is providing Jupyter Notebook as a Service (JNAAS) in their HPC clusters. And the MPCDF is also offering as a Binder service for JupyterLab. With Binder a Jupyter notebook can be launched via a URL of the MPCDF GitLab repository. This is very useful if you have a lot of notebooks etc. and want to share, work, or document them.
The DKRZ is also offering a JupyterLab Service with https://jupyterhub.dkrz.de. However, this is limited to MPG researcher, which are part of a DKRZ project. Nevertheless, other JupyterLabs from commercial providers are available. However, we recommend the use of MPG-internal services. Especially as the export and import of Jupyter Notebooks and thus the adaptation, transfer to extern, archiving etc. is easy to handle.
There are many examples of the use of JupyterLab within the Max Planck Society. It would be presumptuous to try to list them all and even try to keep this up to date. Here are some selected examples within the Max Planck Society to get a first impression of the diversity of JupyterLabs:
JupyterLab is often used for teaching and trainings. One example of this can be the GWDG Course “Data Evaluation with Python: Tools and Good Practice” (https://gitlab.gwdg.de/jupyter-course/jupyter-course) by Nils Lüttschwager March 2021. The course material for learning the Python code is documented via GWDG GitLab with a MIT License and repository is available for reuse.
Similarly, JupyterLab was, for example, the technical basis of a data tutorial on visualisation at the 4th FDM workshop by MPDL. The visualisation of Covid19 data are documented here and are available via MyBinder within a JupyterLab.
Similarly, JupyterLab can be seen in the context of the reproducibility of science. A notable paper with MPG participation on “Using Jupyter for Reproducible Scientific Workflows” (https://doi.org/10.1109/MCSE.2021.3052101).
A concrete example of reproducibility would be a dataset publication such as “Network Visualisation of two Drafts (1923 and 1936) of the Chinese Constitution” (https://zenodo.org/record/3699154) by the research from the Max Planck Institute for Legal History and Legal Theory. JupyterLab was thereby used to bring together data and code to create the visualizations.
The same applies to software code, for example. For example, pyrion could be mentioned as an integrated development environment from Max Planck Institute for Iron Research. It is a python based tool kit for the computational materials sciences, where JupyterLab delivers Interactive simulation protocols.