Introduction
The Interactive Notebooks Service is based on JupyterHub, enabling remote use of Jupyter Notebooks in a managed environment integrated with other services in EOSC and particularly in the EOSC EU Node.
Location and Access
The preferred way of accessing the Interactive Notebooks service is through the EOSC EU Node FO Portal, which handles not only service access, but also user registration, entitlements, credit management and more. Should you need to access the deployed Jupyter Hub nodes directly, you can pick from two geographical zones: eu-1 and eu-2. The installations are equal and both offer the same environment. However, should you wish to return to your fresh work in progress, you need to know which zone you were using.
Using the Underlying Components
For basic use, refer to user documentation of the component you are working with. Namely, the following building blocks are relevant to your work:
Jupyter Notebooks Documentation for working with the notebooks
JupyterLab Documentation for use of the integrated user environment (menus, working tabs, etc.)
JupyterHub Documentation to manage your remote resources (starting and stopping servers, collaborative sharing, etc.)
Documentation for your core programming languages:
Additional Features and Integrations
The Interactive Notebooks service is integrated with additional components in the EOSC EU Node ecosystem. The most notable ones, relevant to the use of interactive notebooks, are:
Authentication and Authorization – Interactive Notebooks users need to secure access through the EOSC Portal, and obtain credits for notebooks resource use. Once logged into the environment, a token is available for you to access additional services (compute or data sources) within the ecosystem at
/var/run/secrets/oidc/access_token
File Sync’n’share storage – a shared network drive is mounted as your home in Interactive Notebooks, so that your data are always kept safe even if you interrupt your work.
Add-ons and extensions installed in the environment
jupyter-resource-usage – Jupyter Extension to show resource usage
nb_conda_kernels – Launch Jupyter kernels for any installed conda environment
nbgitpuller -- Jupyter Extension to do one-way synchronization of git repositories
- Software and libraries
- An extended list of libraries pre-installed in the environment is provided as a separate document.
- Real-Time collaboration extension – allows interactive collaboration by multiple users over a shared JupyterLab environment.
API – Programmatic Access
The Jupyter Hub REST API is available. The API endpoint can be found at the Hub node (zone eu-1, eu-2) with suffix /services/jwt/:
- eu-1: https://eu-1.notebooks.open-science-cloud.ec.europa.eu/services/jwt/
- eu-2: https://eu-2.notebooks.open-science-cloud.ec.europa.eu/services/jwt/
You need a JWT token valid in EOSC EU Node, which you can obtain, e.g., from a running an Interactive Notebooks server.
You can use the Python requests library to interact with the API. The code below shows an API GET request in zone eu-1 Hub to /user using the token available in the Notebooks session for authorization. The response contains information about the user.
import requests
api_url = "https://eu-1.notebooks.open-science-cloud-user-apps.eu/services/jwt"
r = requests.get(api_url + "/users",
headers={
"Authorization": "Bearer {}".format(open("/var/run/secrets/oidc/access_token").read())
}
)
r.raise_for_status()
users = r.json()
Getting Help
Certain frequently asked questions are documented in a separate page of FAQs. Also, frequently used terms are explained in a Glossary. Finally, there is also a common knowledge base for the EOSC EU Node, and user support.