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
While not required to run stdlib, the following dependencies may be required for testing, benchmarking, and general development:
- Julia: language for technical computing (version
- R: language for statistical computing (version
- Python: general purpose language (version
- gcc & g++ or clang: C/C++ compilation and linking (g++ version
>= 4.7; clang version
- pandoc: universal document converter
The following vendor libraries can be automatically downloaded and compiled from source using
- Boost: portable C++ libraries
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 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 /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.,
.bashrc, or some other variant).
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
$ 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.
|OS||Build (master)||Coverage (master)||Build (develop)||Coverage (develop)|