✨ Standard library for JavaScript and Node.js. ✨

Overview

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.

Resources

External Resources

Features


Installation

To accommodate various use cases, stdlib can be consumed in multiple ways. The preferred means of consumption depends on your individual use case. We've provided some user stories to help you identify the best approach. 😃

While this project's installation instructions defaults to using npm for package management, installation via other package managers, such as yarn, should be a matter of simply swapping out npm commands with those of the relevant package manager.

User Stories

  • I want to perform data analysis and/or data science related tasks in JavaScript and Node.js, similar to how I might use IPython, Julia, R, and/or MATLAB.

  • I am building a web application.

    • I plan on using Browserify, Webpack, and other bundlers for use in web browsers.

      • Install individual packages. Installing the entire project is likely unnecessary and will lead to slower installation times.
    • I would like to vendor a custom bundle containing various stdlib functionality.

    • I would like to include stdlib functionality by just using a script tag.

      • Install one of the pre-built UMD browser bundles or consume one of the pre-built bundles via a CDN, such as unpkg.
    • I am interested in using a substantial amount of functionality found in a top-level stdlib namespace and don't want to separately install hundreds of individual packages (e.g., if building an on-line calculator application and wanting all of stdlib's math functionality).

      • Install one or more top-level namespaces. Installing the entire project is likely unnecessary and will lead to slower installation times. Installing a top-level namespace is likely to mean installing functionality which will never be used; however, installing a top-level namespace is likely to be easier and less time-consuming than installing many individual packages separately.

        When bundling, installing a top-level namespace should not be a concern, as individual functionality can still be independently required/imported. Project installation times may, however, be somewhat slower.

  • I am building a Node.js server application.

    • I am interested in using various functionality found in stdlib.

      • Install individual packages. Installing the entire project is likely unnecessary and will lead to slower installation times.
    • I am interested in using a substantial amount of functionality found in a top-level stdlib namespace and don't want to separately install hundreds of individual packages.

      • Install one or more top-level namespaces. Installing the entire project is likely unnecessary and will lead to slower installation times. Installing a top-level namespace is likely to mean installing functionality which will never be used; however, installing a top-level namespace is likely to be easier and less time-consuming than installing many individual packages separately.
  • I am using Deno.

  • I would like to use stdlib functionality in an Observable notebook.

  • I want to hack at stdlib, possibly even creating customized builds to link to platform-specific native libraries (such as Intel's MKL or some other numerical library).

Complete Library

To install the entire project as a library or application dependency,

$ npm install @stdlib/stdlib

Once installed, stdlib packages can be individually required/imported to minimize load times and decrease bundle sizes. For example, to use require

var ndarray = require( '@stdlib/ndarray/ctor' );

var arr = ndarray( [ [ 1, 2 ], [ 3, 4 ] ] );
// returns <ndarray>

and to use import

import ndarray from '@stdlib/ndarray/ctor';

var arr = ndarray( [ [ 1, 2 ], [ 3, 4 ] ] );
// returns <ndarray>

Individual Packages

stdlib is designed to allow decomposition of the main project into individual packages which can be independently consumed. Accordingly, users of the project can avoid installing all project functionality and only install the exact functionality they need.

To install individual packages, replace forward slashes / after @stdlib/ with hyphens -. For example,

$ npm install @stdlib/ndarray-ctor

Once installed, individual packages can be required/imported. For example, to use require

var ndarray = require( '@stdlib/ndarray-ctor' );

var arr = ndarray( [ [ 1, 2 ], [ 3, 4 ] ] );
// returns <ndarray>

and to use import

import ndarray from '@stdlib/ndarray-ctor';

var arr = ndarray( [ [ 1, 2 ], [ 3, 4 ] ] );
// returns <ndarray>

Namespaces

stdlib is comprised of various top-level namespaces (i.e., collections of related functionality united by common themes). For example, to install all math functionality found in the top-level math namespace,

$ npm install @stdlib/math

Once installed, packages within a top-level namespace can be individually required/imported to minimize load times and decrease bundle sizes. For example, to use require

var sin = require( '@stdlib/math/base/special/sin' );

var v = sin( 3.14 );
// returns <number>

and to use import

import sin from '@stdlib/math/base/special/sin';

var v = sin( 3.14 );
// returns <number>

Note: installing nested namespaces found within top-level namespaces (e.g., math/base) is not supported. Consider installing individual packages or the relevant top-level namespace.

Command-line Utility

To install globally for use as a command-line utility and/or use the REPL,

$ 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

Browser Bundles

For pre-built distributable UMD bundles for use in browser environments or as shared ("vendored") libraries in server environments, see the dist directory and associated guide.

As an example, to include a UMD bundle exposing lower-level special math functions in a webpage, we can first locally install the UMD bundle package using npm

$ npm install @stdlib/dist-math-base-special-flat

and then include the following <script> tag in our HTML document

<script type="text/javascript" src="/path/to/@stdlib/dist-math-base-special-flat/build/bundle.min.js"></script>

making sure to modify the script path based on the local installation directory.

If no recognized module system is present, one can access bundle contents in another <script> tag via the global scope.

<script type="text/javascript">
    // If no recognized module system present, exposed to global scope:
    var erf = stdlib_math_base_special_flat.erf;
    console.log( erf( 0.5 ) );
</script>

For more details and available bundles, see the dist directory and associated guide. The guide includes instructions for consuming via CDNs, such as unpkg.

Custom Bundles

To create a custom bundle based on project needs,

  1. follow the download, configuration, and installation instructions as described in the development guide.

  2. navigate to the local installation directory.

  3. run the following command to print help documentation for providing a list of stdlib package names to bundle

    $ NODE_PATH=./lib/node_modules node ./bin/cli bundle-pkg-list -- -h
  4. modify and run the above command with the list of packages to bundle

    $ NODE_PATH=./lib/node_modules node ./bin/cli bundle-pkg-list -- <pkg> <pkg> <pkg> ...

Upon generating a bundle, the bundle can be loaded via a <script> tag as described above for pre-built distributable UMD bundles.

System Library

To install as a system library (e.g., for the purposes of creating custom builds), follow the download, configuration, and installation instructions as described in the development guide.


Prerequisites

Installing and running stdlib for use in Node.js 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 <= 10.x.x, version > 2.7.0 and < 6.0.0)

Most functionality in stdlib is implemented in JavaScript and no further prerequisites are required to use stdlib (i.e., you can safely avoid installing any additional prerequisites); 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

Contributing

First time contributor?

Already an expert?

  • Fork the repository.

  • Clone the forked repository

    $ git clone --depth=1 https://github.com/<username>/stdlib.git

    where <username> is your GitHub username.

  • Navigate to the stdlib directory

    $ cd stdlib
  • Install dependencies

    $ make install-node-modules
  • Initialize your stdlib development environment

    $ make init

License

See LICENSE.

Copyright

Copyright © 2016-2022. The Stdlib Authors.


Status

stability-experimental

Version

git tag NPM version Node.js version

Community

Chat

Comments
  • Add C implementation for `@stdlib/number/float32/base/normalize`

    Add C implementation for `@stdlib/number/float32/base/normalize`

    Checklist

    • [x] update readme.md
    • [x] include.gypi
    • [x] binding.gyp
    • [x] include/stdlib/number/float64/base
    • [x] src
    • [x] manifest.json
    • [x] lib
    • [x] examples
    • [x] benchmark
    • [x] test

    @kgryte

    enhancement math native 
    opened by Pranavchiku 25
  • Add Bessel function of the first kind of order one, besselj1

    Add Bessel function of the first kind of order one, besselj1

    Resolves #29 .

    Checklist

    Please ensure the following tasks are completed before submitting this pull request.

    • [x] Read, understood, and followed the contributing guidelines, including the relevant style guides.
    • [x] Read and understand the Code of Conduct.
    • [x] Read and understood the licensing terms.
    • [x] Searched for existing issues and pull requests before submitting this pull request.
    • [x] Filed an issue (or an issue already existed) prior to submitting this pull request.
    • [x] Rebased onto latest develop.
    • [x] Submitted against develop branch.

    Description

    What is the purpose of this pull request?

    This pull request:

    • Adds the bessel function of the first kind of order one.

    Related Issues

    Does this pull request have any related issues?

    No.

    Questions

    Any questions for reviewers of this pull request?

    No.

    Other

    Any other information relevant to this pull request? This may include screenshots, references, and/or implementation notes.

    No.


    @stdlib-js/reviewers

    feature math 
    opened by rreusser 25
  • Add Bessel function of the first kind of order zero, besselj0

    Add Bessel function of the first kind of order zero, besselj0

    Resolves #28.

    Checklist

    Please ensure the following tasks are completed before submitting this pull request.

    • [x] Read, understood, and followed the contributing guidelines, including the relevant style guides.
    • [x] Read and understand the Code of Conduct.
    • [x] Read and understood the licensing terms.
    • [x] Searched for existing issues and pull requests before submitting this pull request.
    • [x] Filed an issue (or an issue already existed) prior to submitting this pull request.
    • [x] Rebased onto latest develop.
    • [x] Submitted against develop branch.

    Description

    What is the purpose of this pull request?

    This pull request:

    • Adds the Bessel function of the first kind of order zero. I've called it besselj0. j0 would also work, but it seems slightly more name-collision-prone.

    Questions

    Any questions for reviewers of this pull request?

    The test fixtures are based on julia evaluation. I had to increase the tolerances in the tests. EPS didn't do it. Tests close to zero needed more like 2.5 * EPS. Tests at extremely large magnitudes needed maybe 2000 * EPS for all tests to pass. I'm not sure whether or not that's acceptable. I mean realistically for one of the worst tests that means:

    x: 46.34146341463415
         js: -3.223802045828392e-5
          c: -3.2238020458285285e-05
      julia: -3.2238020458285286e-5
     python: -3.2238020458601188e-05
    wolfram: -3.223802045847041762582146764982149392318058159547287e-5
    

    I don't really know what this means, beyond indicating that it seems like a ballpark expected level of error. Given the same input, it doesn't really seem like anyone is evaluating all the way to floating point epsilon.

    Other

    Any other information relevant to this pull request? This may include screenshots, references, and/or implementation notes.

    • I only added one test with negative value fixtures. It's an even function so it just flips it to positive x and evaluates. It wouldn't hurt to test more negative values, but it's hard to imagine any implementation that wouldn't make it trivially correct.

    @stdlib-js/reviewers

    feature math 
    opened by rreusser 25
  • Add support for evaluating a normalized Hermite polynomial

    Add support for evaluating a normalized Hermite polynomial

    Resolves #127

    Checklist

    Please ensure the following tasks are completed before submitting this pull request.

    • [x] Read, understood, and followed the contributing guidelines, including the relevant style guides.
    • [x] Read and understand the Code of Conduct.
    • [x] Read and understood the licensing terms.
    • [x] Searched for existing issues and pull requests before submitting this pull request.
    • [x] Filed an issue (or an issue already existed) prior to submitting this pull request.
    • [x] Rebased onto latest develop.
    • [x] Submitted against develop branch.

    Description

    What is the purpose of this pull request?

    This pull request:

    • implements a function to evaluate a normalized Hermite polynomial at a point x.

    Related Issues

    Does this pull request have any related issues?

    This pull request:

    • resolves #127

    Questions

    Any questions for reviewers of this pull request?

    No.

    Other

    Any other information relevant to this pull request? This may include screenshots, references, and/or implementation notes.

    No.


    @stdlib-js/reviewers

    feature math 
    opened by jrreed83 22
  • Complex division

    Complex division

    Resolves #96.

    Checklist

    Please ensure the following tasks are completed before submitting this pull request.

    • [x] Read, understood, and followed the contributing guidelines, including the relevant style guides.
    • [x] Read and understand the Code of Conduct.
    • [x] Read and understood the licensing terms.
    • [x] Searched for existing issues and pull requests before submitting this pull request.
    • [x] Filed an issue (or an issue already existed) prior to submitting this pull request.
    • [x] Rebased onto latest develop.
    • [x] Submitted against develop branch.

    Description

    What is the purpose of this pull request?

    This pull request:

    Questions

    Any questions for reviewers of this pull request?

    The benchmarks run and compute a result, but I haven't put much effort into making them particularly informative/useful. Do the results go somewhere or do something? I suspect that Math.random might eat up most of the time so that the benchmarks aren't all that representative of the actual performance comparison. Is there something I can do to make them better?

    Should I probe it with thousands of examples? I instead aimed for just enough cases to achieve 100% test coverage (which isn't trivial do to all the switching going on).

    Finally, how do you feel about the format:

    function complexDivision ( re1, im1, re2, im2, output ) {
      output = output || [];
      ...
      output[0] = re;
      output[1] = im;
      return output
    }
    

    instead of

    function complexDivision ( re1, im1, re2, im2 ) {
      ...
      return [re, im];
    }
    

    so that in case you use this heavily you can avoid allocating thousands of two-element arrays. Perhaps a better approach is that cdiv.js has that call signature and the main export allocates storage when necessary. Perhaps this is premature optimization, but leaving the option to avoid lots of extra allocation seems friendly.


    @stdlib-js/reviewers

    feature math 
    opened by rreusser 20
  • RFC: add support for asserting if an object contains a nested key path

    RFC: add support for asserting if an object contains a nested key path

    Checklist

    Please ensure the following tasks are completed before filing an issue.

    • [x] Read and understood the Code of Conduct.
    • [x] Searched for existing issues and pull requests.
    • [x] If this is a general question, searched the FAQ for an existing answer.
    • [x] If this is a feature request, the issue name begins with RFC:.

    Description

    Description of the issue (or feature request).

    Check whether an object contains a nested key path.

    Package: @stdlib/assert/deep-has-own-property. Alias: deepHasOwn

    Example:

    var obj = { 'a': { 'b': { 'c': 'd' } } };
    
    var bool = deepHasOwn( obj, 'a.b.c' );
    // returns true
    
    bool = deepHasOwn( obj, 'a.b.c.d.e' );
    // returns false
    

    Notes:

    • Should provide a factory method, similar to @stdlib/utils/deep-get.
    • Should return only true or false (i.e., be a predicate function).
    • Should check for only own properties.

    Related Issues

    Does this issue (or feature request) have any related issues?

    None.

    Questions

    Any questions for reviewers?

    No.

    Other

    Any other information relevant to this issue (or feature request)? This may include screenshots, references, stack traces, sample output, and/or implementation notes.

    No.

    feature basic utils 
    opened by kgryte 20
  • add C implementation to `@stdlib/math/base/special/ldexp`

    add C implementation to `@stdlib/math/base/special/ldexp`

    Resolves #638

    Checklist

    • [x] update readme.md
    • [x] include.gypi
    • [x] binding.gyp
    • [x] include/stdlib/math/base/special/
    • [x] src
    • [x] manifest.json
    • [x] lib
    • [x] examples
    • [x] benchmark
    • [x] test

    @kgryte

    enhancement math native 
    opened by Pranavchiku 19
  • Implement parse-dsv

    Implement parse-dsv

    Resolves #53.

    Checklist

    Please ensure the following tasks are completed before submitting this pull request.

    • [x] Read, understood, and followed the contributing guidelines, including the relevant style guides.
    • [x] Read and understand the Code of Conduct.
    • [x] Read and understood the licensing terms.
    • [x] Searched for existing issues and pull requests before submitting this pull request.
    • [x] Filed an issue (or an issue already existed) prior to submitting this pull request.
    • [x] Rebased onto latest develop.
    • [x] Submitted against develop branch.

    Description

    What is the purpose of this pull request?

    This pull request:

    • Implements the parse-dsv function

    Related Issues

    Does this pull request have any related issues?

    This pull request:

    • resolves #53

    Questions

    Any questions for reviewers of this pull request?

    What did I use that I shouldn't use for this library and what are the replacements? e.g. buffer/fs/nesting functions etc. I already know const/let and general style are problems.

    Any implementation suggestions?

    Other

    Any other information relevant to this pull request? This may include screenshots, references, and/or implementation notes.

    The current implementation pretty strictly follows section 2 in RFC 4180 and works by reading a file byte by byte. I also assume that the delimiter will 1 byte long. I plan on changing it to handle streams which should be straightforward enough as it already works by reading a file byte by byte.

    Some comments on differences between the current implementation and what the RFC describes:

    1. Each record is located on a separate line, delimited by a line break (CRLF).

    The implementation allows for CR, LF, or CRLF for line breaks.

    1. There maybe an optional header line appearing as the first line of the file with the same format as normal record lines. This header will contain names corresponding to the fields in the file and should contain the same number of fields as the records in the rest of the file (the presence or absence of the header line should be indicated via the optional "header" parameter of this MIME type).

    I'm ignoring headers for now. Right now the implementation returns a 2d array representing rows/columns.


    @stdlib-js/reviewers

    feature utils 
    opened by rei2hu 19
  • Package import in npm

    Package import in npm

    Currently, if I want to import isArray for instance, I have to either to:

    const stdlib = require("@stdlib/stdlib"); // 1.3M (gzipped: 344.3K)
    const isArray = stdlib.assert.isArray
    

    or

    const isArray = require("@stdlib/stdlib/lib/node_modules/@stdlib/assert/is-array"); // 9.5K (gzipped: 1K)
    

    and in both cases, it is unpractical.

    And if I want to import the package as written in the doc, it will fail:

    const isArray = require("@stdlib/assert/is-array");
    // I've also tried isArray, is-array/ and isArray/
    > Error: Cannot find module '@stdlib/assert/is-array'
    

    My suggestion is also to publish separately every package (@stdlib/assert for instance) on npm (but still keep the current @stdlib/stdlib).

    help-wanted documentation needs-discussion 
    opened by Ayc0 18
  • Add support for testing whether a value is a constant-cased string

    Add support for testing whether a value is a constant-cased string

    Resolves #534.

    Checklist

    • [x] Add readme.md
    • [x] Add package.json
    • [x] Add lib
    • [x] Add examples
    • [x] Add docs
    • [x] Add etc
    • [x] Add bin
    • [x] Add benchmark
    • [x] Add test

    @kgryte

    feature 
    opened by Pranavchiku 17
  • `make test` says argument list is too long

    `make test` says argument list is too long

    Checklist

    Please ensure the following tasks are completed before filing an issue.

    • [x] Read and understood the Code of Conduct.
    • [x] Searched for existing issues and pull requests.
    • [x] If this is a general question, searched the FAQ for an existing answer.
    • [x] If this is a feature request, the issue name begins with RFC:.

    Description

    Description of the issue (or feature request).

    While setting up the development environment, if I run make test I get the following output

    $ make test
    make: execvp: /bin/sh: Argument list too long
    make: *** [/home/g/stdlib/tools/make/lib/test/javascript.mk:35: test-javascript-local] Error 127
    

    Other

    Any other information relevant to this issue (or feature request)? This may include screenshots, references, stack traces, sample output, and/or implementation notes.

    $ cat .git/refs/heads/develop
    e920ce317ed95adef324aeae09e903849cb25a70
    

    Reproduction

    If this issue is a bug report, what steps are required to reproduce the unexpected output? (If this is a feature request, remove this section.)

    In order to reproduce this bug, do the following:

    • Clone the repository, and cd to it
    • make install
    • make test

    Expected Results

    What are the expected results? (If this is a feature request, remove this section.)

    The following results are expected:

    Correctly run the tests

    Actual Results

    What are the actual results? (If this is a feature request, remove this section.)

    The following are the actual results:

    make test exits with status=2, error=127

    Environments

    If this issue is a bug report, what environments are affected; e.g., Node v0.4.x, Chrome, IE 11? If Node.js, include the npm version, operating system, and any other potentially relevant platform information. (If this is a feature request, remove this section.)

    The following environments are affected:

    • nodejs v7.10.0
    bug tools 
    opened by giuscri 17
  • Add C implementation for `@stdlib/math/base/special/fibonacci`

    Add C implementation for `@stdlib/math/base/special/fibonacci`

    Resolves #780.

    Checklist

    • [x] update readme.md
    • [x] include.gypi
    • [x] binding.gyp
    • [x] include/stdlib/math/base/special/
    • [x] src
    • [x] manifest.json
    • [x] lib
    • [x] examples
    • [x] benchmark
    • [ ] test

    @kgryte

    enhancement math native 
    opened by Pranavchiku 3
  • [RFC]: Add C implementation for `@stdlib/math/base/special/rempio2`

    [RFC]: Add C implementation for `@stdlib/math/base/special/rempio2`

    Description

    This RFC proposes adding C implementation for @stdlib/math/base/special/rempio2.

    double stdlib_base_rempio2( const double x, double *y );
    

    Related Issues

    Related issues #735.

    Questions

    No.

    Other

    No.

    Checklist

    • [X] I have read and understood the Code of Conduct.
    • [X] Searched for existing issues and pull requests.
    • [X] The issue name begins with RFC:.
    enhancement rfc math native 
    opened by Pranavchiku 1
  • [RFC]: Add C implementation for `@stdlib/math/base/special/fibonacci`

    [RFC]: Add C implementation for `@stdlib/math/base/special/fibonacci`

    Description

    This RFC proposes adding C implementation for @stdlib/math/base/special/fibonacci.

    int64_t stdlib_base_fibonacci( const int32_t n );
    

    Related Issues

    Related issues #774.

    Questions

    I am not sure, about return type, and parameter type, if you can have a look

    Other

    No.

    Checklist

    • [X] I have read and understood the Code of Conduct.
    • [X] Searched for existing issues and pull requests.
    • [X] The issue name begins with RFC:.
    enhancement rfc math native 
    opened by Pranavchiku 0
  • [RFC]: Add C implementation for `@stdlib/math/base/special/acoversin`

    [RFC]: Add C implementation for `@stdlib/math/base/special/acoversin`

    Description

    This RFC proposes adding C implementation for @stdlib/math/base/special/acoversin.

    #include "stdlib/math/base/special/asin.h"
    
    double stdlib_base_acoversin( const double x ) { 
        return stdlib_base_asin( 1.0 - x );
    }
    

    Related Issues

    None.

    Questions

    No.

    Other

    Reference package:

    Checklist

    • [X] I have read and understood the Code of Conduct.
    • [X] Searched for existing issues and pull requests.
    • [X] The issue name begins with RFC:.
    enhancement rfc math native good first issue 
    opened by Pranavchiku 0
  • [RFC]: Add C implementation for `@stdlib/math/base/special/acovercos`

    [RFC]: Add C implementation for `@stdlib/math/base/special/acovercos`

    Description

    This RFC proposes adding C implementation for @stdlib/math/base/special/acovercos.

    #include "stdlib/math/base/special/asin.h"
    
    double stdlib_base_acovercos( const double x ) {
        return stdlib_base_asin( 1.0 + x );
    }
    

    Package: @stdlib/math/base/special/acovercos

    Related Issues

    None.

    Questions

    No.

    Other

    Reference packages:

    Checklist

    • [X] I have read and understood the Code of Conduct.
    • [X] Searched for existing issues and pull requests.
    • [X] The issue name begins with RFC:.
    enhancement rfc math native good first issue 
    opened by Pranavchiku 0
Releases(v0.0.96)
Owner
stdlib
Standard library for JavaScript.
stdlib
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
✨ Standard library for JavaScript and Node.js. ✨

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 appli

stdlib 3.1k Dec 31, 2022
A javascript standard data structure library which benchmark against C++ STL.

js-sdsl A javascript standard data structure library which benchmark against C++ STL. Note Note that our official version starts from 2.0.0. In order

Zilong Yao 5 Dec 10, 2022
A standard library to interact with KaiOS 2.x and 3.x APIs.

kaios-lib A standard library to interact with KaiOS 2.x and 3.x* APIs. * 3.x support coming when there is a good dev device available for testing purp

Garrett Downs 4 Jun 3, 2022
The coding-standard for JavaScript projects.

JavaScript Coding Standard A set of ESLint rules applied to all Croct JavaScript projects. ?? Releases · ?? Report Bug · ✨ Request Feature Installatio

Croct 4 Dec 15, 2022
Responsive, auto-saving To-Do List made from scratch using JavaScript only, but refactoring the code into ES6 standard

Project Name ES6 AWESOME BOOKS Website Name AWSM BOOKS Project Website (GitHub Pages) https://github.com/Zeraltz/es6-awsm-books Clone the Project git

Andres Mauricio Cantillo 5 Jun 25, 2022
Functions for testing the types of JavaScript values, cross-realm. Has testers for all standard built-in objects/values.

@suchipi/is Functions for testing the types of JavaScript values, cross-realm. Has testers for all standard built-in objects/values. Usage import { is

Lily Skye 5 Sep 8, 2022
A plugin that uses multiple block, Tailwind and is fully integrated into the standard build process

Tailwind CSS Custom Block Plugin This repo leverages the @wordpress/scripts package and it's ability to use PostCSS to introduce TailwindCSS to the bu

Ryan Welcher 3 Dec 31, 2022
Hexo-backlink - This plugin is for transfer Obsidian-type backlink to standard hexo in-site post link.

Hexo-Backlink A plugin to convert backlink in .md file to in-site link. Install npm install hexo-backlink configuration Add backlink:true in _config.y

null 8 Sep 27, 2022
Browse local files using the non-standard Web Browser File System Access API

Browse local files using the non-standard Web Browser File System Access API

Jeremy Tuloup 16 Oct 26, 2022
[Experimental] Browse local files using the non-standard File System Access API

jupyterlab-filesystem-access Browse local files using the non-standard Web Browser File System Access API. ⚠️ This extension is compatible with Chromi

Jeremy Tuloup 0 Apr 14, 2022
[Experimental] Browse local files using the non-standard File System Access API

jupyterlab-filesystem-access Browse local files using the non-standard Web Browser File System Access API. ⚠️ This extension is compatible with Chromi

JupyterLab Unofficial Extensions & Tools 12 Apr 15, 2022
🔨 A more engineered, highly customizable, standard output format commitizen adapter.

cz-git Github | Installation | Website | 简体中文文档 Introduction A more engineered, highly customizable, standard output format commitizen adapter. What i

zhengqbbb 402 Dec 31, 2022
A new, simple NFT standard for Solana

New Solana NFT Standard Current Issues The current NFT spec is pretty bad for a few reasons: every NFT requires multiple accounts (3+) the token accou

null 38 Oct 20, 2022
Fullstack Dynamic NFT Mini Game built using 💎 Diamond Standard [EIP 2535] 🏃‍♀️Players can use Hero NFT to battle against Thanos ⚔ Heroes can be Healed by staking their NFT 🛡

?? Fullstack Dynamic NFT Mini Game ?? ?? Using Diamond Standard Play On ?? ?? ⏩ http://diamond-dapp.vercel.app/ Project Description ?? Fullstack Dynam

Shiva Shanmuganathan 21 Dec 23, 2022
Lazy minting of ERC721 NFTs using EIP712 standard for typed, structured data. ✨

ERC721 - Signature minting Lazy minting of ERC721 NFTs using EIP712 standard for typed, structured data. ✨ How it works Lazy minting or Signature mint

Sunrit Jana 21 Oct 20, 2022
A W3C standard compliant Web rendering engine based on Flutter.

WebF WebF (Web on the Flutter) is a W3C standard compliant Web rendering engine based on Flutter, it can run web application on Flutter natively. W3C

openwebf 418 Dec 25, 2022
Stacks Voice is a reference project that builds on the SIP018 signed structured data standard to create an accountless internet forum.

Stacks Voice Stacks Voice is a reference project that builds on the SIP018 signed structured data standard to create an accountless internet forum. Th

Clarity Innovation Lab 4 Dec 21, 2022
A JavaScript library built on top of the Faker.JS library. It generates massive amounts of fake data in the browser and node.js.

Blaver - generate massive amounts of fake data in the browser and node.js Blaver is a JavaScript library built on top of the Faker.JS library. It gene

Priyansh 113 Dec 30, 2022