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 |
|---|---|---|---|
| materialsproject/pymatgen Pymatgen (Python Materials Genomics) is a robust open-source Python library for materials analysis, defining core classes for crystal struc… | 99 | 2001 | stable |
| elyra-ai/elyra Elyra is a set of AI-centric extensions for JupyterLab, including a visual pipeline editor for building and executing notebook-based pipeli… | 67 | 1998 | active |
| logpai/logparser Logparser is a Python machine learning toolkit and benchmark suite for automated log parsing. It extracts event templates from unstructured… | 30 | 1994 | active |
| kwuking/TimeMixer Official PyTorch implementation of TimeMixer, an ICLR 2024 model for time series forecasting using decomposable multiscale mixing. It has s… | 42 | 1991 | active |
| featureform/featureform Featureform is a virtual feature store that sits atop your existing data infrastructure and orchestrates it to define, manage, and serve ML… | 32 | 1991 | active |
| Hyperopt Hyperopt is a Python library for distributed asynchronous hyperparameter optimization over search spaces with real-valued, discrete, and co… | 84 | 7595 | maintenance |
| thomasp85/gganimate gganimate is an R package that extends ggplot2's grammar of graphics to describe animated graphics. It adds grammar classes like transition… | 44 | 1984 | stable |
| KEV0143/Parser-Chitai-Gorod A Python-based scraper for the Russian online bookstore Chitai-Gorod that collects book URLs across catalog pages and extracts structured p… | 72 | 1980 | active |
| WassimTenachi/PhySO PhySO is a Python library for physical symbolic optimization that uses deep reinforcement learning to discover analytical physical laws fro… | 49 | 1978 | active |
| chengzuopeng/stock-sdk A zero-dependency JavaScript/TypeScript SDK for fetching real-time quotes, K-line history, technical indicators, and extended market data f… | 82 | 1972 | active |
| Tabula Tabula is a local web application for extracting data tables from text-based PDF files into CSV, Excel, or JSON. It is powered by the tabul… | 24 | 7488 | maintenance |
| ai4s-research/open-science Open Science Desktop is a local-first, model-agnostic AI research workbench for macOS, Windows, and Linux, built with Tauri, MCP, and agent… | 81 | 1961 | active |
| CannyLab/tsne-cuda A CUDA-accelerated implementation of the FIt-SNE t-SNE algorithm with Python bindings, offering up to 1200x speedup over scikit-learn. It e… | 89 | 1958 | stable |
| Plots.jl Plots.jl is a Julia metapackage providing a unified, high-level interface for creating visualizations across multiple plotting backends. It… | 97 | 1955 | active |
| MLJ MLJ.jl is a machine learning framework for Julia providing a common interface to over 200 models, with meta-algorithms for model selection,… | 91 | 1946 | stable |
| cloudpipe/cloudpickle cloudpickle is a Python library that extends the standard pickle module to serialize constructs like lambda functions and interactively def… | 68 | 1946 | active |
| tkfy920/qstock qstock is a Python library for personal quantitative investment research, providing modules for fetching financial market data (from Eastmo… | 34 | 1944 | active |
| c2g-dev/city2graph City2Graph is a Python library that converts geospatial data such as buildings, streets, GTFS transit feeds, and origin-destination matrice… | 84 | 1940 | active |
| jupyter/nbconvert nbconvert is the Jupyter project's tool for converting .ipynb notebooks into static formats such as HTML, LaTeX, PDF, Reveal.js slides, Mar… | 91 | 1939 | stable |
| getnao/nao nao is an open-source framework for building and deploying analytics agents that answer natural-language questions about data. It combines … | 79 | 1936 | active |
| raphaelvallat/pingouin Pingouin is an open-source Python 3 statistical package built on Pandas and NumPy that provides simple yet exhaustive statistical tests. It… | 82 | 1931 | active |
| Gadfly Gadfly is a statistical plotting and data visualization library for Julia, modeled on the Grammar of Graphics and ggplot2. It renders publi… | 39 | 1930 | active |
| PAIR-code/facets Facets is a pair of web-component visualizations (Overview and Dive) for understanding and analyzing machine learning datasets, embeddable … | 10 | 7333 | maintenance |
| mlco2/codecarbon CodeCarbon is a lightweight Python library and CLI that estimates and tracks CO2 emissions from local computing hardware (CPU, GPU, RAM) by… | 96 | 1921 | active |
| GPflow/GPflow GPflow is a Python library for building Gaussian process models on top of TensorFlow 2 and TensorFlow Probability. It implements modern Gau… | 95 | 1921 | active |
| dynamicslab/pysindy PySINDy is a Python library for discovering governing equations of dynamical systems from measurement data using the Sparse Identification … | 67 | 1913 | active |
| visual-layer/fastdup fastdup is a free Python tool for rapidly analyzing image and video datasets to surface duplicates, outliers, broken, dark, bright, blurry,… | 64 | 1911 | active |
| diffgram/diffgram Diffgram is a self-hosted AI datastore for managing schemas, BLOBs, and predictions, with built-in human supervision (data labeling), data … | 59 | 1911 | active |
| pmh1314520/WebRPA WebRPA is an open-source, no-code visual RPA tool for building automation workflows by dragging and connecting modules, covering web scrapi… | 82 | 1904 | active |
| kennethreitz/records Records is a Python library for making raw SQL queries to relational databases with a simple, human-friendly interface for accessing result… | 49 | 7216 | maintenance |
| AutoViML/AutoViz AutoViz is a Python library that automatically generates visualizations for any dataset, of any size, with a single line of code. It also i… | 32 | 1902 | active |
| ashvardanian/NumKong NumKong is a mixed-precision numeric and linear-algebra library with ~2,000 SIMD-accelerated kernels for dot products, distances, matrix mu… | 93 | 1899 | active |
| bellingcat/octosuite Octosuite is a terminal-based toolkit for analyzing GitHub data, usable as an interactive TUI, a CLI, or a Python library. It queries user,… | 85 | 1895 | active |
| HyperTools HyperTools is a Python library for visualizing and exploring high-dimensional data via dimensionality reduction, built on matplotlib, sciki… | 91 | 1891 | active |
| trevorstephens/gplearn gplearn is a Python library implementing genetic programming with a scikit-learn compatible API, focused on symbolic regression. It provide… | 69 | 1890 | stable |
| stanfordmlgroup/ngboost NGBoost is a Python library implementing Natural Gradient Boosting for probabilistic prediction, built on top of scikit-learn. It outputs f… | 86 | 1889 | active |
| nomic-ai/nomic The official Python client for Nomic Atlas, a platform for exploring, labeling, searching, and sharing massive unstructured datasets (text,… | 56 | 1880 | active |
| scholarly-python-package/scholarly scholarly is a Python library for retrieving author and publication metadata from Google Scholar through a friendly, Pythonic API. It handl… | 52 | 1880 | active |
| johannfaouzi/pyts pyts is a Python package for time series classification that provides preprocessing, transformation, and utility tools along with implement… | 88 | 1879 | stable |
| 425776024/nlpcda nlpcda is a Python library for one-click Chinese NLP data augmentation. It provides techniques like random entity replacement, synonym subs… | 24 | 1875 | active |
| Galaxy Galaxy is an open-source, web-based platform for accessible, reproducible, and transparent data-intensive scientific research, primarily in… | 92 | 1869 | stable |
| dreamRs/esquisse esquisse is an RStudio add-in that lets users interactively build ggplot2 visualizations through a drag-and-drop interface. It supports bar… | 23 | 1865 | stable |
| CausalImpact CausalImpact is an R package for estimating the causal effect of a designed intervention on a time series using Bayesian structural time-se… | 62 | 1862 | stable |
| Indicator Indicator is a Go library providing 80+ technical analysis indicators, configurable trading strategies, and a backtesting framework with re… | 96 | 1859 | active |
| ArviZ ArviZ is a Python package for exploratory analysis of Bayesian models, providing posterior analysis, diagnostics, model comparison, plottin… | 89 | 1858 | active |
| linkedin/greykite Greykite is a Python time series forecasting library from LinkedIn built around its Silverkite algorithm, with support for trend, seasonali… | 23 | 1856 | active |
| uname-yang/pysnowball A Python client library for the Xueqiu (Snowball) stock data API, covering real-time quotes, quote details, cash flow, and other financial … | 46 | 1854 | active |
| bmabey/pyLDAvis pyLDAvis is a Python library for interactive visualization of fitted LDA topic models, ported from the R LDAvis package. It renders web-bas… | 44 | 1851 | active |
| Responsible AI Toolbox A Microsoft suite of Python libraries and Jupyter widgets providing dashboards for model assessment, error analysis, interpretability, fair… | 68 | 1848 | active |
| rust-bio/rust-bio Rust-Bio is a Rust library providing implementations of algorithms and data structures useful for bioinformatics, such as sequence alignmen… | 88 | 1840 | stable |
| JuliaData/DataFrames.jl DataFrames.jl is the core Julia package for working with in-memory tabular data, providing a DataFrame type similar to pandas in Python or … | 85 | 1840 | stable |
| GestaltCogTeam/BasicTS BasicTS is a Python benchmark library and toolkit for fair and scalable time series analysis, built on PyTorch. It supports forecasting, cl… | 61 | 1826 | active |
| camelot-dev/excalibur Excalibur is a self-hosted web interface for extracting tabular data from text-based PDFs, built on top of the Camelot PDF table extraction… | 68 | 1821 | active |
| zi-yue-1129/DATAGEN DATAGEN is an AI-powered multi-agent research and data analysis platform built with LangChain, LangGraph, and OpenAI GPT models. It automat… | 68 | 1810 | active |
| jstat/jstat jStat is a JavaScript library providing native implementations of statistical functions, including many probability distributions (weibull,… | 60 | 1805 | stable |
| datafaker-net/datafaker Datafaker is a JVM library for generating fake data in Java, Kotlin, and Groovy, offering 250+ data providers covering names, addresses, da… | 90 | 1803 | active |
| tidyverse/tidyverse The tidyverse package is an R metapackage that installs and loads the core tidyverse packages (ggplot2, dplyr, tidyr, readr, purrr, tibble,… | 31 | 1801 | stable |
| rstudio/blogdown blogdown is an R package that turns R Markdown documents into blogs and websites, using Hugo (or Jekyll/Hexo) as the static site generator.… | 76 | 1792 | active |
| hitsz-ids/airda airda (Air Data Agent) is a Python-based multi-agent system for data analysis that understands natural language data requirements and gener… | 17 | 1792 | active |
| julien040/anyquery Anyquery is a SQL query engine built on SQLite that turns 60+ tools, APIs, and file formats (GitHub, Notion, Airtable, CSV, Parquet, etc.) … | 87 | 1783 | active |
| Lets-Plot Lets-Plot is a multiplatform plotting library based on the Grammar of Graphics, offering a faithful port of R's ggplot2 to Python and Kotli… | 86 | 1783 | active |
| metosin/malli Malli is a high-performance, data-driven data specification library for Clojure and ClojureScript. It provides schema definitions as plain … | 94 | 1774 | active |
| rstudio/reticulate reticulate is an R package that embeds a Python session inside an R session, enabling seamless interoperability between the two languages. … | 86 | 1761 | stable |
| Variety Variety is a lightweight schema analyzer for MongoDB that runs via the mongosh/mongo shell or Node.js. It scans collections to reveal the d… | 73 | 1761 | active |
| posit-dev/py-shiny Shiny for Python is a reactive web application framework from Posit for building interactive dashboards and data apps in pure Python, built… | 94 | 1760 | active |
| Qiskit/rustworkx rustworkx is a high-performance, general-purpose graph library for Python implemented in Rust with PyO3 bindings. It provides graph classes… | 85 | 1760 | stable |
| mims-harvard/ToolUniverse ToolUniverse is a Python SDK and MCP server that aggregates a large collection of scientific tools (APIs, databases, local ML and cheminfor… | 84 | 1754 | active |
| lit26/finvizfinance A Python library that scrapes and downloads financial data from the FinViz website, returning stock fundamentals, technicals, charts, news,… | 85 | 1753 | active |
| decisionintelligence/TFB TFB is a comprehensive and fair benchmarking framework for time series forecasting methods, covering deep learning, machine learning, and s… | 70 | 1753 | active |
| kyleskom/NBA-Machine-Learning-Sports-Betting A Python application that predicts NBA game winners and totals (over/under) using XGBoost and neural network models trained on historical t… | 78 | 1747 | active |
| rich-iannone/DiagrammeR DiagrammeR is an R package for creating, modifying, analyzing, and visualizing network graph diagrams using tabular data. Graphs are built … | 67 | 1744 | active |
| facebookresearch/Kats Kats is a Python toolkit from Facebook's Infrastructure Data Science team for time series analysis, covering statistics, anomaly and change… | 66 | 6497 | maintenance |
| alkaline-ml/pmdarima pmdarima is a Python statistical library that brings R's auto.arima functionality to Python, wrapping statsmodels ARIMA/SARIMAX models behi… | 81 | 1738 | active |
| jupyterhub/repo2docker repo2docker is a Python CLI tool that fetches a git repository and builds a Docker container image from its configuration files, optionally… | 81 | 1737 | active |
| jldbc/pybaseball pybaseball is a Python package that scrapes and retrieves current and historical baseball statistics from sources like MLB Statcast (Baseba… | 46 | 1735 | active |
| jakobrunge/tigramite Tigramite is a Python package for causal inference on time series data, providing causal discovery methods such as PCMCI, PCMCIplus, LPCMCI… | 47 | 1731 | active |
| quantopian/pyfolio Pyfolio is a Python library for performance and risk analysis of financial portfolios, centered on 'tear sheets' of plots that summarize a … | 23 | 6425 | maintenance |
| imageio Imageio is a mature Python library for reading and writing image and video data, including animated images, volumetric data, and scientific… | 94 | 1722 | stable |
| narwhals-dev/narwhals Narwhals is a lightweight, zero-dependency Python compatibility layer that lets code written against a subset of the Polars API run on pand… | 85 | 1722 | active |
| gradio-app/trackio Trackio is a lightweight, free, local-first experiment tracking library from Hugging Face that stores metrics in SQLite with an optional Gr… | 82 | 1722 | active |
| lotus-data/lotus LOTUS is a Python library providing a Pandas-like API of LLM-powered semantic operators (map, filter, extract, aggregate, top-k) for bulk p… | 85 | 1719 | active |
| Python3Spiders/WeiboSuperSpider A Weibo (Chinese microblog) scraping toolbox in Python covering users, topics, and comments, with extras like image downloading, sentiment … | 71 | 1706 | active |
| pybamm-team/PyBaMM PyBaMM (Python Battery Mathematical Modelling) is an open-source Python package for fast, flexible physics-based battery simulation. It pro… | 100 | 1701 | active |
| Akkudoktor-EOS/EOS AkkudoktorEOS is a self-hosted Python application that simulates and optimizes home energy systems, generating optimized plans for photovol… | 77 | 1699 | active |
| IRkernel/IRkernel IRkernel is an R kernel for Jupyter that lets users run R code in Jupyter notebooks, consoles, and other Jupyter frontends. It registers R … | 23 | 1699 | stable |
| MLRun MLRun is an open-source MLOps and AI orchestration framework for building, training, deploying, and monitoring machine learning and generat… | 92 | 1697 | active |
| scvi-tools scvi-tools is a Python library for deep probabilistic modeling and analysis of single-cell and spatial omics data, built on PyTorch, PyTorc… | 92 | 1697 | stable |
| TA-Lib TA-Lib is a C/C++ library of 200+ battle-tested technical analysis functions (indicators like ADX, MACD, RSI, Bollinger Bands, plus candles… | 98 | 1696 | active |
| tensorly/tensorly TensorLy is a Python library for tensor learning, providing tensor decomposition, tensor algebra, and tensor regression with a simple API. … | 64 | 1693 | stable |
| py-why/causal-learn causal-learn is a Python library for causal discovery, implementing classical and state-of-the-art algorithms to recover causal structure f… | 87 | 1689 | active |
| pytorch-tabular/pytorch_tabular PyTorch Tabular is a Python library providing a unified, high-level interface for deep learning models on tabular data, built on PyTorch an… | 73 | 1686 | active |
| opendatalab/labelU LabelU is an open-source multimodal data annotation platform supporting images, video, and audio with tools like bounding boxes, segmentati… | 89 | 1676 | active |
| whitphx/stlite Stlite is a port of the Streamlit Python data-app framework that runs entirely in the browser via Pyodide (WebAssembly-compiled Python), wi… | 96 | 1675 | active |
| koaning/drawdata A Python library providing notebook widgets for drawing datasets interactively, built on anywidget. Drawn data can be exported as lists, pa… | 67 | 1674 | active |
| PRML/PRMLT A self-contained MATLAB toolbox implementing the machine learning algorithms from Bishop's textbook 'Pattern Recognition and Machine Learni… | 23 | 6201 | maintenance |
| pvlib/pvlib-python pvlib-python is a community-developed Python toolbox providing documented functions and classes for simulating the performance of photovolt… | 87 | 1672 | stable |
| square/crossfilter Crossfilter is a JavaScript library for fast n-dimensional filtering and grouping of large multivariate datasets in the browser, using sort… | 51 | 6186 | maintenance |
| MDAnalysis/mdanalysis MDAnalysis is an open-source Python library for analyzing molecular dynamics simulations of many-body systems at the molecular scale. It re… | 89 | 1667 | stable |
| ITK The Insight Toolkit (ITK) is an open-source, cross-platform C++ library with Python bindings for image analysis, providing algorithms for p… | 92 | 1665 | stable |
| Phlya/adjustText adjustText is a small Python library that automatically adjusts the position of text labels in matplotlib plots to minimize overlaps betwee… | 72 | 1665 | stable |