You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

h5wasm-plugins

Package Overview
Dependencies
Maintainers
2
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

h5wasm-plugins

compression plugins for h5wasm

0.1.1
latest
Source
npmnpm
Version published
Weekly downloads
151
-9.58%
Maintainers
2
Weekly downloads
 
Created
Source

h5wasm-plugins

A collection of pre-compiled compression plugins to be used with h5wasm

The plugins are built using sources fetched at build-time from https://github.com/HDFGroup/hdf5_plugins (if new plugins are desired, it is recommended to get them upstreamed to that repository so they can be built here)

(h5wasm is a javascript/webassembly library for reading and writing HDF5 files from the browser or node.js or deno or...)

Installation

npm install h5wasm-plugins

(this will also install h5wasm >= 0.8.1)

Included plugins

  • blosc
  • blosc2
  • bshuf
  • bz2
  • jpeg
  • lz4
  • lzf
  • zfp
  • zstd

(Note that gzip and szip filters are built-in to h5wasm and don't require a plugin)

Usage: browser

The default export from h5wasm (which has a Module property defined, for accessing the C-module directly) should be passed to the functions defined here.

import h5wasm from "h5wasm";
import { plugin_names, install_plugins } from "h5wasm-plugins";

const h5wasm_module = await h5wasm.ready;
// installs libH5Zzfp.so to default folder, /usr/local/hdf5/lib/plugin
install_plugins(h5wasm_module, ["zfp"]);

// Or, to install all plugins to new folder /tmp/h5plugins
// install_plugins(h5wasm_module, plugin_names, "/tmp/h5plugins");

// open existing file - see h5wasm docs for writing files to
// virtual Emscripten filesystem
const f = new h5wasm.File("my_zfp.h5", "r");
const data = f.get("zfp_data").value;

Usage: server side (e.g. nodejs)

const h5wasm = await import("h5wasm/node");
const h5wasm_plugins = await import("h5wasm-plugins");

const h5wasm_module = await h5wasm.ready;
// this inserts the node_modules/h5wasm-plugins/plugins path
// at the start of the HDF5 plugin search paths
h5wasm_plugins.install_local_plugins(h5wasm_module);

const f = new h5wasm.File('./test_zfp.h5', 'r');
// File {
//   path: '/',
//   file_id: 72057594037927936n,
//   type: 'Group',
//   filename: './test_zfp.h5',
//   mode: 'r'
// }

f.get('data').filters
// [
//   {
//     id: 32013,
//     name: 'H5Z-ZFP-1.1.0 (ZFP-0.5.5)',
//     cd_values: [ 89149712, 91252346, 146, 4293918720, 3767009280, 493487 ]
//   }
// ]

f.get('data').value 
// Float32Array(10) [
//   0, 1, 2, 3, 4,
//   5, 6, 7, 8, 9
// ]

h5wasm.Module.get_plugin_search_paths()
// [
//   '/home/bbm/dev/test_plugins/node_modules/h5wasm-plugins/plugins',
//   '/usr/local/hdf5/lib/plugin'
// ]

Building from source

Dependencies:

  • cmake >= 3.24
  • make
  • emscripten, preferably version 3.1.68

run make to build the plugins to the plugins folder locally.

Keywords

compression

FAQs

Package last updated on 14 Jul 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts