Standard library.
JavaScript Julia Makefile
Latest commit d97a35c Jan 16, 2017 @kgryte kgryte Update example
Permalink
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
CODE_OF_CONDUCT.md Fix lint errors Dec 11, 2016
CONTRIBUTING.md Update links (resolves #86) Jan 8, 2017
CONTRIBUTORS Update contributor list Dec 20, 2016
FAQ.md 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
README.md Update links (resolves #86) Jan 8, 2017
TODO.md 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

README.md

stdlib logo

stdlib

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.

Development

Prerequisites

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

Download

To acquire the source code, clone the git repository.

$ git clone https://github.com/stdlib-js/stdlib

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://

Configuration

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

$ echo $(pwd)/lib/node_modules
/path/to/stdlib-js/stdlib/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

Installation

To install development dependencies,

$ make install

To install vendor dependencies,

$ make install-deps

To initialize the development environment,

$ make init

Update

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.

Organization

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

Troubleshooting

  • 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.

Editors

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

Contributing

See the contributing guidelines.

License

See LICENSE.

Copyright

Copyright © 2016. 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