stdlib (/ˈstændərd lɪb/ “standard lib”) is a standard library for JavaScript and Node.js, with an emphasis on numerical and scientific computing applications. The library provides a collection of robust, high performance libraries for mathematics, statistics, data processing, streams, and more and includes many of the utilities you would expect from a standard library.
This is the GitHub repository of stdlib source code and documentation. For help developing stdlib, see the development guide.
35+ probability distributions, with support for evaluating probability density functions (PDFs), cumulative distribution functions (CDFs), quantiles, moments, and more.
40+ seedable pseudorandom number generators (PRNGs).
200+ general utilities for data transformation, functional programming, and asynchronous control flow.
200+ assertion utilities for data validation and feature detection.
50+ sample datasets for testing and development.
A plot API for data visualization and exploratory data analysis.
Native add-ons for interfacing with BLAS libraries, with pure JavaScript fallbacks.
A benchmark framework supporting TAP.
REPL environment with integrated help and examples.
Can be bundled using Browserify, Webpack, and other bundlers for use in web browsers.
Running stdlib requires the following prerequisites:
>= 0.10
)> 2.7.0
; if Node < 1.0.0
, version > 2.7.0
and < 4.0.0
; if Node < 6.0.0
, version > 2.7.0
and < 6.0.0
)Most functionality in stdlib is implemented exclusively in JavaScript; however, some implementations try to capture performance benefits by using native bindings and/or WebAssembly. While not required to run stdlib, as every stdlib implementation has a JavaScript fallback, the following dependencies are required for building native add-ons, including linking to BLAS and LAPACK libraries:
>= 4.8
; clang version >= 3.5
, Xcode version >=8.3.1
on OS X)>= 4.8
)While not required to run stdlib, the following dependencies are required for automatically downloading external libraries:
The following external libraries can be automatically downloaded and compiled from source using make
:
To install as a library or application dependency,
$ npm install @stdlib/stdlib
Once installed, stdlib packages can be individually required/imported to minimize load times and decrease bundle sizes. For example,
var dswap = require( '@stdlib/blas/base/dswap' );
To install globally for use as a command-line utility,
$ npm install -g @stdlib/stdlib
which will expose the stdlib
command. For example, to see available sub-commands
$ stdlib help
and to run the REPL
$ stdlib repl
For distributable bundles for use in browser environments or as shared (“vendored”) libraries in server environments, see the dist
directory and associated guide.
Otherwise, to install as a system library, follow the download, configuration, and installation instructions as described in the development guide.
See the contributing guidelines.
Author: stdlib-js
Demo: https://stdlib.io/
Source Code: https://github.com/stdlib-js/stdlib
#nodejs #javascript #node