Open-source data-science software
1503 open-source libraries, tools and applications tagged data-science, ranked by how closely data-science is their primary purpose, then by adoption and maintenance health. Each entry links to a page with sources, use cases and when to choose or avoid it.
1503 products, primary matches first, then adoption-weighted; health v2 shown.
| Product | Health v2 | Stars | Maturity |
|---|---|---|---|
| dccsillag/magma-nvim Magma is a NeoVim plugin that lets users run code interactively with Jupyter kernels directly inside the editor. It evaluates code blocks o… | 32 | 1246 | maintenance |
| scijs/ndarray A JavaScript library providing modular multidimensional array views over 1D typed arrays, similar to numpy arrays. It supports constant-tim… | 73 | 1245 | maintenance |
| mrc-ide/covid-sim CovidSim is a C++ microsimulation model of COVID-19 transmission developed by Imperial College London's MRC Centre for Global Infectious Di… | 32 | 1234 | maintenance |
| linkedin/luminol Luminol is a lightweight Python library for time series analysis that provides anomaly detection and correlation between time series. It as… | 46 | 1233 | maintenance |
| pollen-robotics/dtw A small Python module implementing Dynamic Time Warping (DTW), a similarity measure between temporal sequences. It offers a basic pure-Pyth… | 23 | 1233 | maintenance |
| Jhy1993/HAN Reference implementation of the Heterogeneous Graph Attention Network (HAN) model from the WWW 2019 paper, built on top of GAT in Python. I… | 32 | 1219 | maintenance |
| WolframResearch/WolframLanguageForJupyter A Jupyter kernel that lets users run Wolfram Language (Mathematica) code inside Jupyter notebooks. It connects the Wolfram Engine to Jupyte… | 23 | 1216 | maintenance |
| ResidentMario/geoplot geoplot is a high-level Python geospatial plotting library built as an extension to cartopy and matplotlib, described as 'like seaborn for … | 23 | 1215 | maintenance |
| Whitebox WhiteboxTools is an advanced geospatial data analysis platform offering a stand-alone command-line program and Python scripting API for GIS… | 57 | 1213 | maintenance |
| arundo/adtk ADTK is a Python package for unsupervised and rule-based anomaly detection in time series. It provides detectors, transformers, and aggrega… | 23 | 1212 | maintenance |
| yhat/db.py db.py is a Python library that provides a friendlier interface for interacting with relational databases like PostgreSQL, MySQL, SQLite, Re… | 10 | 1212 | maintenance |
| Plotly Resampler A Python library that adds dynamic resampling to Plotly figures so large time series datasets remain interactive when panning and zooming. … | 64 | 1209 | maintenance |
| twitter-research/tgn Official PyTorch implementation of Temporal Graph Networks (TGN), a framework for deep learning on dynamic graphs represented as sequences … | 32 | 1207 | maintenance |
| shangjingbo1226/AutoPhrase AutoPhrase is a C++/Java tool for automated phrase mining that extracts quality phrases from massive text corpora with minimal human effort… | 32 | 1204 | maintenance |
| astroML/astroML AstroML is a Python library for machine learning, statistics, and data mining aimed at astronomy and astrophysics, built on numpy, scipy, s… | 32 | 1203 | maintenance |
| aigamedev/scikit-neuralnetwork A Python library providing deep neural network classifiers and regressors with a scikit-learn-compatible API, wrapping Lasagne and Theano. … | 10 | 1203 | maintenance |
| khundman/telemanom Telemanom is a Python framework that uses vanilla LSTMs (Keras/TensorFlow) to detect anomalies in multivariate time series sensor data, wit… | 32 | 1200 | maintenance |
| spark-timeseries A Scala/Java/Python library for time series analysis on Apache Spark, providing distributed abstractions for large time series datasets plu… | 32 | 1194 | maintenance |
| business-science/ai-data-science-team A Python library of specialized LLM-powered agents for common data science workflows such as data loading, cleaning, wrangling, visualizati… | 54 | 5447 | experimental |
| SpencerPark/IJava IJava is a Jupyter kernel that lets you execute Java code inside Jupyter notebooks. It provides an interactive Java REPL experience with su… | 23 | 1191 | maintenance |
| twosigma/flint Flint is Two Sigma's open-source time series library for Apache Spark, built around a time series aware TimeSeriesRDD data structure. It pr… | 32 | 1181 | maintenance |
| cheungdaven/DeepRec DeepRec is an open-source Python/TensorFlow toolkit implementing deep learning based recommendation models for rating prediction, top-N ite… | 32 | 1160 | maintenance |
| DeepGraphLearning/RecommenderSystems A Python research library collecting the authors' recommender systems code, covering sequential, feature-based (CTR), and social recommenda… | 32 | 1156 | maintenance |
| lensacom/sparkit-learn Sparkit-learn provides scikit-learn's API and functionality on top of PySpark, operating on distributed RDDs of numpy arrays and sparse mat… | 23 | 1150 | maintenance |
| eBay/bayesian-belief-networks A Python framework for defining Bayesian Belief Networks and other graphical models as pure Python functions, with support for discrete and… | 10 | 1143 | maintenance |
| jwkvam/celluloid A tiny Python library that simplifies creating Matplotlib animations by wrapping a figure in a Camera object that snapshots each frame. It … | 23 | 1139 | maintenance |
| 8080labs/pyforest pyforest is a Python library that automatically imports popular data science libraries like pandas, numpy, and sklearn on demand in Jupyter… | 32 | 1119 | maintenance |
| medialab/artoo artoo.js is a JavaScript library injected into a webpage's context (typically via a bookmarklet) that provides client-side web scraping uti… | 23 | 1117 | maintenance |
| Qri Qri is a dataset version control system built on the distributed web (IPFS), letting users version, publish, discover, and collaborate on d… | 23 | 1111 | maintenance |
| novak-99/MLPP ML++ is a C++ machine learning library providing regression models, dynamically sized neural networks, statistics, and optimization algorit… | 23 | 1109 | maintenance |
| ls0f/phone A Python library that looks up the Chinese province, city, zip code, area code, and carrier for a mobile phone number prefix using an offli… | 32 | 1084 | maintenance |
| datumbox/datumbox-framework Datumbox is an open-source Machine Learning framework written in Java that enables rapid development of ML and statistical applications. It… | 32 | 1082 | maintenance |
| rixwew/pytorch-fm A PyTorch library implementing a wide collection of factorization machine models (FM, FFM, DeepFM, xDeepFM, AutoInt, NFM, DCN, and more) fo… | 32 | 1081 | maintenance |
| PyPatel/Options-Trading-Strategies-in-Python A collection of Python scripts implementing options trading strategies based on technical indicators such as VIX, Put/Call Ratio, TRIN, and… | 32 | 1081 | maintenance |
| akelleh/causality A Python library providing tools for causal inference and analysis from observational data, built as an extension of pandas DataFrames. It … | 24 | 1081 | maintenance |
| markwk/qs_ledger A personal data aggregator and analysis toolkit for quantified self enthusiasts, written in Python and distributed as Jupyter Notebooks. It… | 32 | 1080 | maintenance |
| comet-ml/kangas Kangas is a Python library and tool for exploring, analyzing, and visualizing large-scale multimedia datasets via its DataGrid format. It o… | 23 | 1078 | maintenance |
| hustcc/PyG2Plot PyG2Plot is a Python 3 binding for the AntV G2Plot JavaScript charting library, letting users create interactive statistical charts from Py… | 32 | 1077 | maintenance |
| WassimBenzarti/colab-ssh A lightweight Python library that sets up an SSH tunnel to a remote Jupyter notebook environment like Google Colab, optionally integrating … | 23 | 1077 | maintenance |
| rhiever/datacleaner A Python package and command-line tool that automatically cleans pandas DataFrames, handling missing values and encoding categorical variab… | 23 | 1077 | maintenance |
| databricks/lilac Lilac is an open-source tool for exploring, curating, and quality-controlling datasets used for training, fine-tuning, and monitoring LLMs.… | 10 | 1070 | maintenance |
| plotly/react-pivottable A React-based pivot table library with drag'n'drop functionality, ported from PivotTable.js. It summarizes datasets into tables or Plotly.j… | 61 | 1065 | maintenance |
| jonbakerfish/TweetScraper TweetScraper is a Scrapy-based crawler that scrapes tweets and user information from Twitter Search without using Twitter's official APIs. … | 23 | 1063 | maintenance |
| J535D165/recordlinkage A modular Python toolkit for record linkage and duplicate detection across datasets, built on pandas and numpy. It provides indexing (block… | 23 | 1063 | maintenance |
| SciRuby/daru Daru (Data Analysis in RUby) is a pure Ruby library providing DataFrame and Vector data structures for storing, analyzing, manipulating, an… | 23 | 1061 | maintenance |
| wubinzzu/NeuRec NeuRec is an open-source Python library for recommender systems built on TensorFlow, offering 33 state-of-the-art neural recommendation mod… | 23 | 1060 | maintenance |
| twitter/cassovary Cassovary is a Scala-based big graph processing library for the JVM, designed to efficiently handle graphs with billions of nodes and edges… | 23 | 1053 | maintenance |
| wiseio/paratext ParaText is a C++ library for reading text files in parallel across multiple cores, with Python bindings and a fast CSV reader. It can load… | 32 | 1052 | maintenance |
| zepen/predict_Lottery_ticket A Python application that scrapes historical draw data for Chinese lotteries (双色球/Double Color Ball and 大乐透/Super Lotto) and trains deep le… | 75 | 1043 | maintenance |
| craffel/pretty-midi A Python library providing utility functions and classes for conveniently handling, analyzing, creating, and manipulating MIDI data. It sup… | 68 | 1043 | maintenance |
| PixieDust PixieDust is an open-source Python helper library that acts as an add-on to Jupyter notebooks, simplifying data visualization and Spark pac… | 23 | 1040 | maintenance |
| bytedance/godlp godlp is a Go library from ByteDance for sensitive data discovery and de-identification (data loss prevention). It detects sensitive inform… | 10 | 1037 | maintenance |
| cedricporter/funcat Funcat is a Python library (built on numpy) that ports the formula languages of Chinese trading platforms like Tonghuashun, Tongdaxin, and … | 32 | 1036 | maintenance |
| andrea-cuttone/geoplotlib geoplotlib is a Python toolbox for visualizing geographical data and making maps, with a matplotlib-like API for drawing points, histograms… | 32 | 1035 | maintenance |
| dfm/osrc The Open Source Report Card (OSRC) is a web application that generates reports about a user's open-source activity, originally based on Git… | 10 | 1028 | maintenance |
| nflows nflows is a comprehensive PyTorch library of normalizing flows for density estimation and generative modeling. It provides invertible trans… | 23 | 1021 | maintenance |
| kang205/SASRec Official TensorFlow implementation of SASRec (Self-Attentive Sequential Recommendation), a Transformer-based sequential recommendation mode… | 32 | 1007 | maintenance |
| giotto-ai/giotto-tda giotto-tda is a high-performance Python toolbox for topological machine learning, built on top of scikit-learn. It provides tools for topol… | 23 | 1007 | maintenance |
| blaze/odo Odo is a Python library for migrating data between different containers, from in-memory structures like lists and pandas DataFrames to out-… | 23 | 1005 | maintenance |
| SciRuby/sciruby SciRuby is a meta gem for Ruby that bundles a collection of scientific computing gems, including numeric libraries like NMatrix and visuali… | 32 | 1002 | maintenance |
| gsh199449/spider Gather Platform is a Java-based configurable web crawler built on the WebMagic kernel, with a web console for configuring and managing scra… | 57 | 996 | maintenance |
| nextjournal/clerk Clerk is a notebook library for Clojure that turns plain Clojure namespaces or Markdown files into rich, interactive computational notebook… | 75 | 2083 | experimental |
| deepklarity/jupyter-text2code A proof-of-concept Jupyter Notebook extension that converts English queries into relevant Python code using sentence embedding models. It s… | 50 | 2077 | experimental |
| reflex-dev/xy XY is an extremely fast, interactive, and customizable Python charting library for the web, notebooks, and static exports, built on a Rust … | 77 | 1856 | experimental |
| tinyfish-io/bigset-oss BigSet is a self-hostable application that turns a natural-language sentence into a structured, regularly refreshed dataset by dispatching … | 75 | 1706 | experimental |
| google-research/dex-lang Dex is an experimental research programming language from Google Research for typed, functional array processing in the Haskell/ML family. … | 56 | 1704 | experimental |
| fastplotlib/fastplotlib fastplotlib is a GPU-accelerated scientific plotting library for Python built on the pygfx rendering engine, which uses WGPU (Vulkan, DX12,… | 94 | 1532 | experimental |
| Orion Orion is a Python machine learning library for unsupervised time series anomaly detection, offering verified ML pipelines that flag rare pa… | 73 | 1370 | experimental |
| EthicalML/xai XAI is a Python library from the Institute for Ethical AI & ML that provides tools for analysing and evaluating machine learning datasets a… | 59 | 1267 | experimental |
| microsoft/powerbi-modeling-mcp A local MCP server from Microsoft that exposes Power BI semantic modeling capabilities to AI agents, enabling natural-language creation and… | 71 | 1240 | experimental |
| jsmidt/QuantPy QuantPy is a Python framework for quantitative finance, offering portfolio analysis tools such as importing daily returns from Yahoo and co… | 32 | 1069 | experimental |
| Faker Faker is a PHP library that generates realistic fake data such as names, addresses, phone numbers, and text for populating databases, testi… | 10 | 26626 | abandoned |
| Apache PredictionIO Apache PredictionIO is an open-source machine learning server built on Spark, HBase, Elasticsearch, and Hadoop that lets developers build, … | 10 | 12520 | abandoned |
| BurntSushi/xsv xsv is a fast, composable command-line toolkit written in Rust for indexing, slicing, analyzing, splitting, and joining CSV files. It offer… | 10 | 10754 | abandoned |
| dunovank/jupyter-themes A Python package and CLI (jt) that applies custom CSS themes to classic Jupyter Notebooks, with configurable fonts, colors, syntax highligh… | 41 | 9819 | abandoned |
| clips/pattern Pattern is a Python web mining module bundling tools for scraping (Google, Twitter, Wikipedia APIs, crawler, HTML DOM parser), NLP (POS tag… | 62 | 8856 | abandoned |
| nteract/archived-desktop-app The archived Electron-based nteract desktop application, a cross-platform interactive notebook app for working with Jupyter kernels. It was… | 10 | 6245 | abandoned |
| gbeced/pyalgotrade PyAlgoTrade is an event-driven Python library for algorithmic trading with a focus on backtesting strategies against historical data, plus … | 10 | 4675 | abandoned |
| orchest/orchest Orchest is a self-hosted, browser-based tool for visually building and running data pipelines using notebooks and scripts in Python, R, or … | 10 | 4131 | abandoned |
| nteract/hydrogen Hydrogen is an Atom editor plugin that brings Jupyter kernel-based interactive coding to any text file, letting users run code line-by-line… | 61 | 4021 | abandoned |
| Kuzu Kuzu is an embedded, serverless property graph database written in C++ that implements the Cypher query language and is optimized for fast … | 10 | 4020 | abandoned |
| yhat/rodeo Rodeo is a desktop IDE for Python aimed at data science work, built by Yhat. It provides an editor environment for data analysis workflows,… | 10 | 3889 | abandoned |
| fastai/fastpages fastpages is a blogging platform that automatically converts Jupyter Notebooks, Markdown, and Word documents into blog posts via GitHub Act… | 10 | 3541 | abandoned |
| dotnet/interactive .NET Interactive is an engine and API for running and editing code interactively, powering polyglot notebooks, REPLs, and embedded scriptin… | 10 | 3195 | abandoned |
| harismuneer/Ultimate-Social-Scrapers A collection of Python-based scraping tools that extract public data from Facebook, Instagram, and Twitter (X), including posts, media, fol… | 40 | 3176 | abandoned |
| airingursb/bilibili-user A Python web crawler that scrapes Bilibili user profiles (id, nickname, gender, avatar, level, birthday, location, etc.) and stores them in… | 32 | 3090 | abandoned |
| datafold/data-diff A command-line tool and Python library that efficiently diffs rows between tables within or across SQL databases like PostgreSQL, MySQL, Sn… | 10 | 2991 | abandoned |
| lanbing510/DouBanSpider A Python web scraper for Douban Books that crawls book listings by tag, storing ratings and review counts into Excel files. The author also… | 32 | 2787 | abandoned |
| charted-co/charted Charted is a self-hosted web application from Medium's Product Science team that turns links to CSV, TSV, Google Sheets, or Dropbox data fi… | 10 | 2745 | abandoned |
| airbnb/airpal Airpal is a web-based query execution UI for PrestoDB that lets users find tables, browse metadata, write queries, and export results as CS… | 10 | 2743 | abandoned |
| propelml/propel Propel was a JavaScript library for differentiable programming, providing tensor operations and automatic differentiation for scientific co… | 10 | 2690 | abandoned |
| mckinsey/causalnex CausalNex is a Python library for causal reasoning with Bayesian Networks, supporting structure learning, domain-expert augmentation of rel… | 64 | 2490 | abandoned |
| taspinar/twitterscraper A Python library that scrapes tweets and user information from Twitter using requests and BeautifulSoup, without relying on Twitter's offic… | 23 | 2460 | abandoned |
| yunabe/lgo lgo is a Jupyter Notebook kernel and interactive REPL for the Go programming language, providing full Go language compatibility with code c… | 32 | 2454 | abandoned |
| anfederico/clairvoyant A Python library for stock selection and financial signal modeling using machine learning. The project is officially deprecated and no long… | 32 | 2400 | abandoned |
| WZBSocialScienceCenter/pdftabextract pdftabextract is a Python library of tools for extracting tabular data from OCR-processed scanned PDFs ('sandwich PDFs' containing scanned … | 32 | 2256 | abandoned |
| ckreibich/scholar.py A Python module that queries and parses Google Scholar search results, extracting publication metadata, citation counts, PDF links, and Bib… | 10 | 2175 | abandoned |
| minimaxir/facebook-page-post-scraper A Python script collection that scrapes all posts, reactions, and comments from public Facebook Pages and open Groups via the Facebook Grap… | 10 | 2136 | abandoned |
| bradjasper/ImportJSON A Google Apps Script library that adds ImportJSON functions to Google Sheets, letting users import JSON from any URL directly into spreadsh… | 10 | 2129 | abandoned |
| wrobstory/vincent Vincent is a Python library that translates Python data structures, including Pandas DataFrames and Series, into Vega visualization grammar… | 10 | 2020 | abandoned |