Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Links to Glossary and Support

Table of Contents

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.

...

  • 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 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

    • elyra -- AI-centric extensions to JupyterLab

    • 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 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

...

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. There . 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.