H5Web is a collection of React components to visualize and explore data. It consists of three packages:
While H5Web was initially built with the HDF5 format in mind,
@h5web/lib
visualization components are not tied to HDF5 and can be used to visualize data from any source. Also,@h5web/app
lets you write your own data provider and can therefore work with any other hierarchical data format.
If you're after a ready-made solution to view local HDF5 files, take a look at myHDF5, at the Visual Studio Code extension or at the JupyterLab extension.
H5Web's component library, which includes the main visualization components
(LineVis
, HeatmapVis
, etc.) as well as some of their lower-level building
blocks (VisCanvas
, ColorBar
, etc.)
The library is documented in a Storybook site accessible at https://h5web-docs.panosc.eu.
Some examples of usage of @h5web/lib
:
Multiple curves | Heatmap with color bar | Gamma vs Power scale |
---|---|---|
HDF5 viewer component (App
) and built-in data providers.
Data providers are components that fetch data from HDF5 back-end solutions and
provide this data to the app through React Context. H5Web currently includes
three providers, two of which are available in the @h5web/app
package:
H5GroveProvider
for server implementations based on
h5grove, like
jupyterlab-h5webHsdsProvider
for HSDSThis package includes two additional data providers, H5WasmLocalFileProvider
and H5WasmBufferProvider
, that can read HDF5 files straight in the browser
thanks to the h5wasm library.
The demo app demonstrates the use of the built-in data providers and visualizations. Several demos are available, one per data provider:
Check out these projects from the H5Web ecosystem:
Want to help improve H5Web? We're always looking for feedback, bug reports and feature requests, so don't hesitate to open an issue or start a discussion.
If you'd like to know more about contributing to the codebase, please check out the CONTRIBUTING guide.