The SERPENTINE JupyterHub Server

Our JupyterHub server provides free access to deploy the tools developed by the SERPENTINE project without requiring any installations beyond a web browser! You only need to create a free GitHub account! You can go directly to the URL above, or browse our list of tools below and click the corresponding links to open the tools directly. Please check the FAQ further down if you encounter any issues, and note the terms of service at the bottom of this page.

Available Tools

The Multi-Spacecraft Constellation Plotter Solar-MACH – Kernel: Solar-MACH

  • File path: /serpentine/notebooks/solarmach/solarmach.ipynb
    Click to Open on the Hub
    A tool to derive and visualise the spatial configuration and solar magnetic connection of different observers (i.e., spacecraft or planets) in the heliosphere at different times.

Solar Energetic Particle Analysis Tools Kernel: SEP Analysis

  • File path: /serpentine/notebooks/sep_analysis_tools/data_loader.ipynb
    Click to Open on the Hub
    A collection of functions that drastically simplifies obtaining and visualising SEP data sets measured by the current heliospheric spacecraft fleet.
  • File path: /serpentine/notebooks/sep_analysis_tools/dynamic_spectrum.ipynb
    Click to Open on the Hub
    A dynamic spectrum plotter for different particle species measured by the current heliospheric spacecraft fleet and radio observations.
  • File path: /serpentine/notebooks/sep_analysis_tools/onset_determination.ipynb
    Click to Open on the Hub
    This notebook uses the established Poisson-CUSUM method to automatically derive the onset times of an SEP event.
  • File path: /serpentine/notebooks/sep_analysis_tools/time_shift_analysis.ipynb
    Click to Open on the Hub
    This interactive tool enables inferring the solar release time of an SEP event observed in many different energy channels



  1. ModuleNotFoundError: No module named x.
    Please ensure that you have the correct Kernel selected for the notebook you are using as listed above. You can change the kernel by clicking ‘Kernel’ on the toolbar at the top of the notebook.
  2. How do I get a fresh copy of a file?
    If you rename or delete a file it will be replaced when you next start your notebook server.3
  3. How do I restart my notebook server?
    You first click on the ‘Control Panel’ button in the top right of the screen or go to Next you click on the ‘Stop My Server’ button, and then the ‘Start My Server’ button. There may be a short delay depending on available resources. If the delay is too long you will land on the ‘Server not running’ screen, but there you simply click ‘Launch Server’.4
  4. Will my changes to the notebooks be preserved?
    We use nbgitpuller to provide the notebooks from GitHub. Our changes are merged into your copies each time you start a new notebook server but your changes are preserved in case of a conflict. See here for details.

Terms of Service

Resources available
Users have a maximum limit of 8 GiB of RAM. Kernels exceeding this limit will restart. Users receive 10 GiB of persistent storage, but are strongly advised to ensure they back up anything of importance (e.g., modified notebooks). No guarantees are provided regarding service uptime or data longevity. Inactive accounts may have their storage unrecoverably purged.

Security and privacy
Users are advised not to store any sensitive or confidential data. Persistent storage may be examined by administrators where abuse is suspected, but otherwise not without user consent.

Abuse policies
The SERPENTINE JupyterHub server is intended for scientific research and development, primarily using the SERPENTINE suite of tools. It is not intended to be used as part of a third-party service or product. Accounts suspected of misuse may be terminated.