Skip to content

hodovani/awesome-javascript-data-science

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.
  • Starboard Notebooks - Interactive JavaScript notebooks in your browser with minimal setup.

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.
  • duckdb-wasm - DuckDB compiled to WebAssembly, letting you run fast SQL queries locally in the browser or Node.js.
  • Polars (WASM) - Polars, a lightning-fast DataFrame library in Rust, compiled to WebAssembly for use in JS environments.

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.
  • Fraction.js - Is a rational number library written in JavaScript.
  • fermat.ts - 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.
  • ONNX Runtime Web - Run ONNX models in browsers (via WebGL/WebAssembly) and Node.js.

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.
  • transformers.js - Run Hugging Face Transformer models directly in JavaScript (browser or Node.js) using WebAssembly acceleration.

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.
  • torch-js - An experimental port of the PyTorch API to JavaScript/TypeScript for Node.js (still in early development).
  • wasm-torch - A WebAssembly port of PyTorch's C++ backend, enabling inference in the browser or Node.

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.
  • Apache ECharts - A powerful, highly customizable charting and visualization library, suitable for large datasets.
  • Observable Plot - A high-level, experimental library for exploratory data visualization, from the creators of Observable.

Other languages

  • Pyodide - The scientific Python stack, compiled to WebAssembly.
  • PyScript - A framework that allows you to run Python in the browser, built on top of Pyodide and WebAssembly.