Jupyter: An open-source project that provides interactive computing environments across various programming languages. It is the foundation of Jupyter Notebook, JupyterLab, and JupyterHub. While individual users can run Jupyter on their own machines, JupyterHub extends it to multi-user, managed environments.

Jupyter Notebook (software): A web-based interactive computing environment that allows users to create and run code, visualize data, and document their work. It provides an interface for working with Jupyter notebooks (documents). This software runs locally on a user's computer or within a hosted environment.

JupyterLab: A flexible and extensible interface for Jupyter Notebooks that provides an enhanced user experience. It allows users to arrange multiple notebooks, terminals, text editors, and other tools in a tabbed workspace, making it more powerful than the classic Jupyter Notebook interface.

Jupyter Notebook (document): A file format (.ipynb) used within Jupyter that contains a mix of executable code, markdown text, equations, and visualizations. Jupyter notebooks serve as interactive computational records that can be shared, edited, and rerun.

Kernel: A process that executes the code contained in a Jupyter Notebook. Each notebook session is backed by a kernel that runs a specific programming language, such as Python, R, or Julia. In a single-user setup, kernels run locally; in a multi-user JupyterHub environment, kernels are managed per user instance.

Conda: A package and environment management system commonly used with Jupyter to create isolated computing environments. It supports multiple languages and ensures dependency management in complex projects.

Virtual Environment (venv): A lightweight Python environment management tool that allows users to create isolated environments for specific projects. Unlike Conda, venv is Python-specific and comes built into Python itself.

Extension: A plugin that extends the functionality of Jupyter Notebook or JupyterLab. Extensions can add visualization tools, debugging capabilities, collaborative features, and UI enhancements.

JupyterHub: A server that enables multiple users to access Jupyter Notebook or JupyterLab environments, making it suitable for institutions, research teams, and classrooms. It provides user authentication, resource management, and access control, ensuring each user gets a separate computing environment.

Binder: A cloud-based service that allows users to create and share interactive, reproducible Jupyter Notebook environments directly from a Git repository. Binder provides temporary environments for experimentation without requiring local setup.

Docker: A containerization platform often used to create reproducible Jupyter environments. JupyterHub in EOSC EU Node is configured to spawn user notebook servers in Docker containers, ensuring isolated and consistent environments.

Spawner: A JupyterHub component responsible for creating user notebook server instances. It determines where and how user environments are created, whether as local processes, Docker containers, Kubernetes pods, or virtual machines.

Notebook Server: The backend process that serves the Jupyter Notebook interface to the user. In a single-user setup, this server runs locally; in a JupyterHub deployment, each user gets an isolated notebook server instance managed by the Spawner and Proxy components.

Image: A pre-configured software environment, used in EOSC EU Node's containerized deployment with Kubernetes. An image defines the base software, dependencies, and configurations required for a Jupyter Notebook server. JupyterHub can use different images to provide users with specific environments tailored to their needs.



  • No labels