/awesome-javascript-data-science

Awesome JavaScript Data Science

Creative Commons Zero v1.0 UniversalCC0-1.0

Awesome JavaScript Data Science Awesome

A curated list of awesome libraries for doing data science in your browser or Node.js environment. That doesn't just mean JavaScript - thanks to WebAssembly, many data science libraries from other languages are now available in the browser.

If you want to contribute to this list (please do), create a pull request.

Contents

Environments

  • HASH - Create and run multi-agent simulations in your browser.
  • Observable - The magic notebook for Exploring Data.
  • Runkit - A Node Playground in your Browser.
  • Iodide - Lets you do data science entirely in your browser.
  • Carbide - A Reactive JavaScript programming environment.
  • Kaggle Notebooks - Run Analyses on Google Cloud using Python or R.

Data Formats

  • Papa Parse - Powerful, in-browser CSV parser.
  • js-xlsx - Parser and writer for various spreadsheet formats.
  • Apache Arrow - Enable big data systems to process and transfer data quickly.

Data Munging

  • sql.js - SQLite compiled to JavaScript through Emscripten.
  • Lodash - A modern JavaScript utility library delivering modularity, performance & extras.
  • jq-web - The command-line JSON processor, compiled with emscripten and exposed as JavaScript library.
  • datalib - A JavaScript data utility library.
  • zebras - A data manipulation and analysis library written in JavaScript offering the convenience of pandas or R.
  • Danfojs - Powerful JavaScript data analysis toolkit.

Math and Statistics

  • mathjs - An extensive math library for JavaScript and Node.js.
  • bluemath - Math kernel in JavaScript.
  • libRmath.js - JavaScript Pure Implementation of Statistical R "core" numerical libRmath.so.
  • stdlib - A standard library for JavaScript, with an emphasis on numerical and scientific computing applications.
  • Simple Statistics - Statistical methods in readable JavaScript for browsers, servers, and people.
  • jStat - Perform advanced statistical operations.
  • BigInteger.js - Is an arbitrary-length integer library for JavaScript, allowing arithmetic operations on integers of unlimited size, notwithstanding memory and time limitations.
  • Fraction.js - Is a rational number library written in JavaScript.
  • fermat.ts - Is powerful mathematics and statistics library, containing everything from number theory to random numbers and linear algebra classes.
  • Simple Statistics - A JavaScript implementation of descriptive, regression, and inference statistics.

Machine learning

  • mljs - Machine learning tools in JavaScript.
  • machinelearn.js - Machine Learning library for the web and Node.

Natural Language Processing

  • Compromise - Modest natural-language processing
  • Natural - General natural language facilities for node.
  • node-nlp - A Fork of Natural with many additional capabilities.
  • sentiment - AFINN-based sentiment analysis for Node.js.
  • compromise - Interprets and pre-parses English.
  • wink - Open Source packages for NLP, ML and Statistics in Node JS to build production grade solutions.
  • twitter-text-js - A JavaScript utility that provides text processing routines for Tweets.
  • Knwl.js - Find Dates, Places, Times, and More. A .js library for parsing text for specific information.
  • Talisman - A straightforward & modular NLP, machine learning & fuzzy matching library for JavaScript.
  • Franc - Natural language detection.
  • Underscore.string - Not actually an NLP library, but a useful toolkit for working with strings in JavaScript.

Deep Learning

  • TensorFlow.js - TensorFlow.js is a library for developing and training ML models in JavaScript, and deploying in browser or on Node.js.
  • ml5 - Friendly Machine Learning for the Web.
  • WebDNN - Fastest DNN Execution Framework on Web Browser.
  • brain.js - Neural networks in JavaScript.

Visualization

  • D3 - Data-driven documents.
  • C3.js - D3-based reusable chart library.
  • Vega - A Visualization Grammar.
  • Plotly.js - General-purpose data visualization.
  • Nivo - A rich set of dataviz components, built on top of the awesome d3 and Reactjs libraries.
  • Chart.js - Simple yet flexible JavaScript charting for designers & developers.
  • Sigmajs - A JavaScript library dedicated to graph drawing.
  • Falcon - Interactive Visual Analysis for Big Data. Crossfilter millions of records without latencies.

Other languages

  • Pyodide - The scientific Python stack, compiled to WebAssembly.