Jupyterlab-h5web: explore and visualize HDF5 file content

jupyterlab-h5web is a JupyterLab extension to open HDF5 files in a JupyterLab tab and explore HDF5 files in Jupyter notebooks. HDF5 is a format to store data and metadata in a file-system-like manner.

JupyterLab 2 is officially supported and it should work in JupyterLab 3 :crossed_fingers:.


:rocket: Try it on Binder!

:sparkles: Features

  • Browse the inside of HDF5 files :card_file_box:
  • Display nD datasets as curves and images with performant WebGL visualisations :frame_with_picture:
  • Inspect attributes and metadata :face_with_monocle:

jupyterlab-h5web also supports the NeXus format, an HDF5 format dedicated to neutron, X-ray, and muon experiments. :man_scientist: :woman_scientist:

:bulb: Interested?

:wrench: Reusing h5web visualisations

jupyterlab-h5web is based on H5Web, a viewer for HDF5 files written in React, where we develop the visualizations. The components, which include the main visualization components (LineVis, HeatmapVis, etc.) as well as some of their lower-level building blocks, are exported in a library called @h5web/lib.

You can play around with the visualisation components in the Storybook documentation and reuse them by installing the NPM package @h5web/lib. The viewer application as a whole is available in the NPM package @h5web/app.

If you give our components a try, please tell us how it went!

:movie_camera: Video presentations

If you prefer videos and can bear my awful presenting skills, here are two video presentations of the extension:

:eu: Acknowledgements

This extension is developed at the European Synchrotron Radiation Facility as part of the PaNOSC project. The H5Web project is funded by the European Unionโ€™s Horizon 2020 research and innovation programme under grant agreement No. 823852.


This is great. Just the kind of high-d slicer visualization widget that Iโ€™ve always wanted

1 Like

1.0.0 was released making the extension is available as a prebuilt extension and bringing support for JupyterLab 3 ! :tada:

0.x versions of the extension will still support JupyterLab 2.

1 Like