npyjs icon indicating copy to clipboard operation
npyjs copied to clipboard

Read numpy .npy files in JavaScript

npy.js

Read .npy files directly in JS

GitHub Workflow Status

Installation

Include npy.js in your project directly, or:

yarn add npyjs
# npm i npyjs

Import

import npyjs from "npyjs";

Usage

  • Create a new npyjs object.
let n = new npyjs();
  • This object can now be used load .npy files. Arrays can be returned via a JavaScript callback, so usage looks like this:
n.load("my-array.npy", (array, shape) => {
    // `array` is a one-dimensional array of the raw data
    // `shape` is a one-dimensional array that holds a numpy-style shape.
    console.log(
        `You loaded an array with ${array.length} elements and ${shape.length} dimensions.`
    );
});
  • You can also use this library promise-style using either .then or async await:
n.load("test.npy").then((res) => {
    // res has { data, shape, dtype } members.
});
const npyArray = await n.load("test.npy");

Accessing multidimensional array elements

  • You can conveniently access multidimensional array elements using the 'ndarray' library:
import ndarray from "ndarray";
const npyArray = ndarray(data, shape);
npyArray.get(10, 15)

Unless otherwise specified, all code inside of this repository is covered under the license in LICENSE.

Please report bugs or contribute pull-requests on GitHub.


Made with ♥ at JHU APL