Awesome Browser Data Science Libraries
A curated list of awesome libraries for doing data science that can run in your browser. 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), file a pull request.
Also, a listed repository should be deprecated if:
- Repository's owner explicitly say that "this library is not maintained".
- Not committed for long time (2~3 years).
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
Math/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
Machine learning
- mljs: Machine learning tools in JavaScript
- machinelearn.js: Machine Learning library for the web and Node
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.