Skip to content
Standard library for JavaScript and Node.js.
JavaScript TypeScript C Makefile Julia Python Other
Branch: develop
Clone or download
Latest commit 08996d0 Aug 22, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Remove planeshifter from contributors funding list Jun 29, 2019
bin Use CLI methods Jul 29, 2019
deps Update electron Mar 6, 2019
dist Update distributable bundles Aug 17, 2019
docs Add article Aug 15, 2019
etc Update electron Mar 6, 2019
examples Add license headers Jan 13, 2018
lib Update examples Aug 21, 2019
test Update and fix tests Jul 27, 2019
tools Update permissions Aug 8, 2019
workshops Remove workshop Nov 23, 2017
.codeclimate.yml Update copyright Jan 12, 2018
.codecov.yml Update copyright Jan 12, 2018
.editorconfig Add settings for TypeScript files Jan 15, 2019
.eslintrc.js Add top-level eslint config to support overrides for benchmarks, test… Aug 5, 2018
.gitattributes Update copyright Jan 12, 2018
.gitignore Exclude TypeScript configuration files Jan 17, 2019
.mailmap Update entry Aug 8, 2019
.npmignore Exclude TypeScript configuration files Jan 17, 2019
.npmrc Update copyright Jan 12, 2018
.rtlintrc Rename repl.txt lint rule Sep 19, 2018
.travis.yml Update list of Node versions Apr 24, 2019
CHANGELOG.md Add changelog file Oct 22, 2018
CODE_OF_CONDUCT.md Insert HTML equations Aug 24, 2017
CONTRIBUTING.md Add license header Oct 22, 2018
CONTRIBUTORS Update entry Aug 8, 2019
FAQ.md Fix broken link to built-in-math-bugs.md (#205) Aug 7, 2018
LICENSE Update text wrapping Aug 20, 2019
Makefile Add folder name convention for REPL tutorials Aug 15, 2019
NOTICE Update copyright year Jan 2, 2019
PRIVACY.md Reorder sections Sep 7, 2017
README.md Add global installation example Jul 27, 2019
ROADMAP.md Lowercase word Dec 29, 2017
TODO.md Document method Sep 19, 2018
appveyor.yml Update list of Node versions Apr 24, 2019
azure-pipelines.yml Add Node v12 Aug 8, 2019
circle.yml Switch to Node 10 Apr 27, 2018
package.json New REPL magics Aug 20, 2019
tsconfig.json Enable checking JavaScript files and fix config values Jan 19, 2019

README.md



stdlib logo




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.

Features

Resources

External Resources

Prerequisites

Running stdlib requires the following prerequisites:

  • Node.js: JavaScript runtime (version >= 0.10)
  • npm: package manager (version > 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:

  • GNU make: development utility and task runner
  • GNU bash: an sh-compatible shell
  • gcc & g++ or Clang: C/C++ compilation and linking (g++ version >= 4.8; clang version >= 3.5, Xcode version >=8.3.1 on OS X)
  • 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, wget, or fetch (FreeBSD): utilities for downloading remote resources

The following external libraries can be automatically downloaded and compiled from source using make:

  • OpenBLAS: optimized BLAS library
  • Electron: framework for cross-platform desktop applications

Installation

To install as a library or application dependency,

$ npm install @stdlib/stdlib

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.


Contributing

See the contributing guidelines.

License

See LICENSE.

Copyright

Copyright © 2016-2019. The Stdlib Authors.


Status

stability-experimental

Version

git tag NPM version Node.js version

Build

OS Build (master) Coverage (master) Build (develop) Coverage (develop)
Linux/OS X Linux/OS X build status (master) coverage (master) Linux/OS X build status (develop) coverage (develop)
Windows Windows build status (master) coverage (master) Windows build status (develop) coverage (develop)

Dependencies

Dependencies DevDependencies

Community

Chat


Acknowledgments

Build Infrastructure

Test and build infrastructure is generously provided by the following services:

Continuous Integration Service Logos
You can’t perform that action at this time.