Standard library.
JavaScript Julia Makefile
Latest commit d97a35c Jan 16, 2017 @kgryte kgryte Update example
Failed to load latest commit information.
.github Update links (resolves #86) Jan 8, 2017
bin Clean-up CLI Nov 13, 2016
deps Add script to test install Dec 17, 2016
docs Add AFINN reference Jan 16, 2017
etc Remove negated pattern Jan 12, 2017
examples Update example, add top-level test file, and stub namespacing Mar 25, 2016
lib Update example Jan 17, 2017
test Update example, add top-level test file, and stub namespacing Mar 25, 2016
tools Update test message Jan 16, 2017
workshops/numeric-computing Add newlines Dec 11, 2016
.codeclimate.yml Remove linebreak May 6, 2016
.codecov.yml Edit comments Sep 7, 2016
.editorconfig Add settings for HTML files Dec 22, 2016
.gitattributes Add dotfiles Mar 24, 2016
.gitignore Add tmp and downloads directories Dec 17, 2016
.mailmap Fix file description Oct 17, 2016
.npmignore Update patterns Dec 21, 2016
.travis.yml Increase the clone depth Nov 13, 2016 Fix lint errors Dec 11, 2016 Update links (resolves #86) Jan 8, 2017
CONTRIBUTORS Update contributor list Dec 20, 2016 Rename section Jan 13, 2017
LICENSE Add NOTICE file, update license to Apache-2.0, update package.json li… Sep 16, 2016
Makefile Add BUILD_FOLDER environment variable Dec 17, 2016
NOTICE Add NOTICE file, update license to Apache-2.0, update package.json li… Sep 16, 2016 Update links (resolves #86) Jan 8, 2017 Add specification recommendations Jan 13, 2017
appveyor.yml Print the registry and print the npm debug log if installation fails Nov 15, 2016
circle.yml Use CircleCI environment variables Nov 4, 2016
package.json Update dev dep Dec 26, 2016

stdlib logo


Standard library for JavaScript.

Stdlib is a collection of robust, high performance libraries for numeric computing, streams, and more. This is the GitHub repository of stdlib source code and documentation. For stdlib development notes, see below.



Developing and running stdlib requires the following prerequisites:

  • git: version control
  • GNU make: development utility and task runner
  • curl, wget, or fetch (FreeBSD): utilities for downloading remote resources
  • Node.js: JavaScript runtime (version >= 0.10)

While not required to run stdlib, the following dependencies may be required for testing, benchmarking, and general development:

  • Julia: language for technical computing (version >= 0.4)
  • R: language for statistical computing (version >= 3.0.0)
  • Python: general purpose language (version >= 2.7)
  • gcc & g++ or clang: C/C++ compilation and linking (g++ version >= 4.7; clang version >= 3.1)
  • pandoc: universal document converter

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

  • Boost: portable C++ libraries


To acquire the source code, clone the git repository.

$ git clone

If you are behind a firewall, you may need to use the https protocol, rather than the git protocol.

$ git config --global url."https://".insteadOf git://


Determine the absolute path of the lib/node_modules directory within the repository. For example, from the repository directory

$ echo $(pwd)/lib/node_modules

To allow development tools to resolve library packages, set the NODE_PATH environment variable by adding the following line to the platform-specific configuration file for configuring user environments (e.g., .bash_profile, .profile, .bashrc, or some other variant).

export NODE_PATH=/path/to/stdlib-js/stdlib/lib/node_modules

Once finished, you may need to reload the configuration file in existing shells. For example, in a bash shell,

$ source ~/.bash_profile


To install development dependencies,

$ make install

To install vendor dependencies,

$ make install-deps

To initialize the development environment,

$ make init


If you have previously downloaded stdlib using git clone, you can update an existing source tree using git pull.

$ cd ./path/to/stdlib
$ git pull

If you have initialized the development environment using make init, updating the source tree will trigger hooks to ensure all development dependencies are up-to-date.


The stdlib source code is organized as follows:

bin        executable binaries
deps       vendor dependencies
docs       top-level documentation
etc        configuration files
examples   top-level library examples
lib        library source code
test       top-level tests
tools      development utilities
workshops  workshops


  • Occasionally, new versions of external dependencies may cause conflicts with existing builds. Most of the time, running

    $ make clean
    $ make install

    will be enough to resolve these conflicts. Otherwise, remove the git repository, clone, and reinstall.


  • This repository uses EditorConfig to maintain consistent coding styles between different editors and IDEs, including browsers.


See the contributing guidelines.




Copyright © 2016. The Stdlib Authors.




git tag NPM version Node.js version


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 DevDependencies