Jupyter
# Resources
- #CODE
Jupyter
- #CODE Jupyterlab
- #CODE Jupyter(hub)
- #CODE Jupyterlite
- #CODE
Stickyland
- Break the linear presentation of Jupyter Notebooks with sticky cells
- #CODE Nbterm - Jupyter Notebooks in the terminal
- #CODE Papermill - Parameterize, execute, and analyze notebooks
- #CODE Beaker kernels and extensions
- Juypterbook - Books with Jupyter
- Jupyter everywhere
- Executing notebooks from the command line
$ jupyter nbconvert --to notebook --inplace --ExecutePreprocessor.timeout=None --execute mynotebook.ipynb
# Jupyter in HPC
High-level scripting languages such as Python, R and Julia, have become the go-to choices in the world of Data Science and ML/AI. Project Jupyter exists to develop open-source software, open-standards, and services for interactive computing across dozens of programming languages. For instance, the Jupyter Notebook is an open-source web-app that allows users to write portable documents containing executable code, narrative text, and equations, and to visualize the results of running the code directly in the web browser. The name comes from a combination of the three core programming languages of Jupyter (Julia, Python and R) though Jupyter is not limited to these languages.
Tools in the Jupyter ecosystem are designed in a modular fashion, and behave similarly on a researcher’s laptop, a high-performance computing center, or the cloud. As a result, Jupyter technologies have been widely adopted across a spectrum of scientific disciplines, including Earth Sciences (Perez et al. 2019).
JupyterHub brings the power of notebooks to groups of users. It gives users access to computational environments and resources without burdening the users with installation and maintenance tasks. These are a few examples of JupyterHub systems running on supercomputing systems:
- University Corporation for Atmospheric Research (UCAR, https://jupyterhub.ucar.edu/)
- CSCS, ETH Zurich ( https://jupyter.cscs.ch/hub/login)
- CHPC, University of Utah ( https://www.chpc.utah.edu/documentation/software/jupyterhub.php#hub, http://notebook.chpc.utah.edu/)
- Minesota supercomputing institute ( https://www.msi.umn.edu/content/msi-beta)
A common denominator of these computing platforms is that they allow the interactive execution of Jupyter tools on HPC systems over multiple nodes. The user is offered to choose the job configuration options in order to allocate the resources to be used to run Jupyter: account, number of nodes, access to GPUs, wall-clock time, etc.
#PAPER Jupyter as common technology platform for interactive HPC services (Milligan 2018)
#PAPER Interactive Supercomputing with Jupyter (Thomas 2021) ^thomas21hpcjupyter