* * * # stdlib > A standard library for JavaScript and Node.js.
Stdlib is a standard library for JavaScript and Node.js, with an emphasis on numeric computing. The library provides a collection of robust, high performance libraries for mathematics, statistics, streams, utilities, and more. This is the GitHub repository of stdlib source code and documentation. For help developing stdlib, see the [development guide][stdlib-development]. ## Features - An extensive collection of standard library mathematical functions. - Utilities for manipulating floating-point numbers and transforming data. - Packages for incremental computation of statistics over data streams. - Large collection of seedable pseudorandom number generators (PRNGs). - Native add-ons and WebAssembly interfaces for interfacing with BLAS libraries, with pure JavaScript fallbacks. - Sample datasets for testing and development. - String manipulation utilities. - A comprehensive assertion library. - A benchmark framework which outputs TAP. - A plot API. - REPL environment with integrated help and examples. - Backward compatibility to Node.js `v0.10`. - Rigorous testing against reference implementations. - Can be bundled using [Browserify][browserify] or [Webpack][webpack] for use within web browsers. - Extensive documentation and examples. - Commercial friendly [license][stdlib-license]. ## Resources - [**Homepage**][stdlib-homepage] - [**Documentation**][stdlib-documentation] - [**Source code**][stdlib-source] - [**Code coverage**][stdlib-code-coverage] - [**FAQ**][stdlib-faq] ### External Resources - [**Twitter**][stdlib-twitter] - [**Gitter**][stdlib-gitter] ## Prerequisites Running stdlib **requires** the following prerequisites: - [Node.js][node-js]: JavaScript runtime (version `>= 0.10`) - [npm][npm]: package manager (version `> 2.7.0`; if Node `< 1.0.0`, version `> 2.7.0` and `< 4.0.0`) Most functionality in stdlib is implemented exclusively in JavaScript; however, some implementations try to capture performance benefits by using [native bindings][node-js-add-ons] and/or [WebAssembly][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: - [GNU make][make]: development utility and task runner - [GNU bash][bash]: an sh-compatible shell - [gcc & g++][gcc] or [Clang][clang]: C/C++ compilation and linking (g++ version `>= 4.8`; clang version `>= 3.5`, Xcode version `>=8.3.1` on OS X) - [gfortran][gfortran]: Fortran compilation and linking (version `>= 4.8`) While **not** required to run stdlib, the following dependencies are **required** for automatically downloading external libraries: - [curl][curl], [wget][wget], or [fetch][fetch] (FreeBSD): utilities for downloading remote resources The following external libraries can be automatically downloaded and compiled from source using `make`: - [OpenBLAS][openblas]: optimized BLAS library - [Electron][electron]: framework for cross-platform desktop applications ## Installation To install as a library or application dependency, ```bash $ npm install @stdlib/stdlib ``` Otherwise, to install as a system library, follow the [download][stdlib-development], [configuration][stdlib-development], and [installation][stdlib-development] instructions as described in the [development guide][stdlib-development]. * * * ## Contributing See the [contributing guidelines][stdlib-contributing]. ## License See [LICENSE][stdlib-license]. ## Copyright Copyright © 2016-2017. The Stdlib [Authors][stdlib-authors].
* * *
## Status [![stability-experimental][stability-image]][stability-url] #### Version [![git tag][tag-image]][tag-url] [![NPM version][npm-image]][npm-url] [![Node.js version][node-image]][node-url] #### Build | OS | Build (master) | Coverage (master) | Build (develop) | Coverage (develop) | | ---------- | ---------------------------------------------------------------------------------------- | ------------------------------------------------------------------ | ------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- | | Linux/OS X | [![Linux/OS X build status (master)][build-image-master]][build-url-master] | [![coverage (master)][coverage-image-master]][coverage-url-master] | [![Linux/OS X build status (develop)][build-image-develop]][build-url-develop] | [![coverage (develop)][coverage-image-develop]][coverage-url-develop] | | Windows | [![Windows build status (master)][windows-build-image-master]][windows-build-url-master] | [![coverage (master)][coverage-image-master]][coverage-url-master] | [![Windows build status (develop)][windows-build-image-develop]][windows-build-url-develop] | [![coverage (develop)][coverage-image-develop]][coverage-url-develop] | #### Dependencies [![Dependencies][dependencies-image]][dependencies-url] [![DevDependencies][dev-dependencies-image]][dev-dependencies-url] #### Community [![Chat][chat-image]][chat-url]
* * *
## Sponsors ### Gold
stencila logo