Open-source dataframe libraries and notebooks in 2026
31 open-source projects, ranked by GitHub stars and how recently each was worked on. Pandas leads with 50k stars, ahead of DuckDB. 28 had code pushed in the last three months. Most common licenses: Apache-2.0 (11), MIT (10) and BSD-3-Clause (7).
Open-source dataframe libraries and notebooks
Frameworks and platforms to build on 1
-
1
Apache Hamilton apache
Apache Hamilton helps data scientists and engineers define testable, modular, self-documenting dataflows, that encode lineage/tracing and metadata. Runs and scales everywhere python does.
Framework or platform Usable Your feature engineering or ETL code has grown into tangled scripts and you want modular, documented steps without a heavy orchestrator.
★ 2.6k Apache-2.0 Jupyter Notebook Active, pushed 2 days ago
Building blocks for your own system 25
-
1
pandas pandas-dev
Flexible and powerful data analysis / manipulation library for Python, providing labeled data structures similar to R data.frame objects, statistical functions, and much more
Building block Production-ready You analyse spreadsheets, CSVs or database extracts in Python.
★ 50k BSD-3-Clause Python Active, pushed today
-
2
DuckDB duckdb
DuckDB is a high-performance analytical database system
Building block Production-ready You analyse data that fits on one machine and want fast SQL without running a server.
★ 43k MIT C++ Active, pushed 6 days ago -
3
Polars pola-rs
Extremely fast Query Engine for DataFrames, written in Rust
Building block Production-ready Your pandas workloads are slow or run out of memory on a single machine and you can rewrite them in Polars' expression API.
★ 40k MIT Rust Active, pushed today
-
4
cuDF NVIDIA
cuDF - GPU DataFrame Library
Building block Production-ready You process large tabular data and have NVIDIA GPUs available, especially to speed up existing pandas or Polars code.
★ 9.8k Apache-2.0 C++ Active, pushed today -
5
DataFusion apache
Apache DataFusion SQL Query Engine
Building block Production-ready You are building your own database, query service or data tool and want an embeddable query engine.
★ 9.6k Apache-2.0 Rust Active, pushed today -
6
Vaex vaexio
Out-of-Core hybrid Apache Arrow/NumPy DataFrame for Python, ML, visualization and exploration of big tabular data at a billion rows per second 🚀
Building block Usable You need to explore very large tabular files on one machine and they are already in HDF5 or Arrow format.
★ 8.5k MIT Python Active, pushed today -
7
Mimesis lk-geimfari
Mimesis is a Python library for generating fake but realistic data in multiple languages and locales.
Building block Production-ready You need lots of fake data for test databases, fixtures or demos and want something faster than Faker.
★ 4.9k MIT Python Active, pushed 2 days ago -
8
Tablesaw jtablesaw
Java dataframe and visualization library
Building block Usable You work with tabular data inside a Java application and do not want to bring in Python or Spark.
★ 3.8k Apache-2.0 Java Active, pushed 3 months ago -
9
C++ DataFrame hosseinmoein
C++ DataFrame for statistical, financial, and ML analysis in modern C++
Building block Usable You do data analysis or trading research inside a C++ system and want pandas-like operations without Python.
★ 3k BSD-3-Clause C++ Active, pushed today -
10
ConnectorX sfu-db
Fastest library to load data from DB to DataFrames in Rust and Python
Building block Usable Loading large query results into DataFrames is a bottleneck in your Python pipeline.
★ 2.7k MIT Rust Active, pushed today -
11
Modin modin-project
Modin: Scale your Pandas workflows by changing a single line of code
Building block Usable You have existing pandas code that is too slow on larger data and cannot rewrite it for Polars or Spark.
★ 10k Apache-2.0 Python Slowing, pushed 9 months ago -
12
Ballista apache
Apache DataFusion Ballista Distributed Query Engine
Building block Usable You already build on DataFusion in Rust or Python and a single machine no longer holds or processes your data fast enough.
★ 2.2k Apache-2.0 Rust Active, pushed today -
13
Skrub skrub-data
Machine learning with dataframes
Building block Usable You train scikit-learn models on real-world tables with dirty categories and several related tables.
★ 1.7k BSD-3-Clause Python Active, pushed yesterday -
14
Optopsy goldspanlabs
A nimble options research and backtesting library for Python
Building block Usable You research options trading strategies in Python and already have historical option chain data.
★ 1.5k AGPL-3.0 Python Active, pushed yesterday -
15
Pyjanitor pyjanitor-devs
Clean APIs for data cleaning. Python implementation of R package Janitor
Building block Usable You clean data in pandas and want readable method chains for common chores.
★ 1.5k MIT Python Active, pushed yesterday -
16
Danfo.js javascriptdata
Danfo.js is an open source, JavaScript library providing high performance, intuitive, and easy to use data structures for manipulating and processing structured data.
Building block Usable You need pandas-style data manipulation in a browser or Node.js app.
★ 5.1k MIT TypeScript Slowing, pushed 7 months ago -
17
GraphFrames graphframes
GraphFrames is a package for Apache Spark which provides DataFrame-based Graphs
Building block Usable You already run Spark and need graph analytics, such as fraud rings or identity resolution, on billions of edges.
★ 1.2k Apache-2.0 Scala Active, pushed 5 days ago -
18
Kotlin DataFrame Kotlin
Kotlin DataFrame: typesafe in-memory structured data processing for JVM
Building block Usable You analyse data in Kotlin, for example in Kotlin notebooks, and want compile-time checks on column access.
★ 1.1k Apache-2.0 Kotlin Active, pushed today -
19
Technical freqtrade
Various indicators developed or collected for the Freqtrade
Building block Usable You write Freqtrade crypto trading strategies and need indicators that TA-Lib does not include.
★ 1k GPL-3.0 Python Active, pushed today -
20
Spark-daria mrpowers-io
Essential Spark extensions and helper methods ✨😲
Building block Usable You write Spark jobs in Scala and keep rewriting the same DataFrame helpers and validations.
★ 766 MIT Scala Active, pushed 35 days ago -
21
Tech.ml.dataset techascent
A Clojure high performance data processing system
Building block Usable Your team works in Clojure and needs pandas-style data processing on the JVM.
★ 763 EPL-1.0 Clojure Active, pushed 34 days ago -
22
Peroxide Axect
Rust numeric library with high performance and friendly syntax
Building block Usable You do scientific computing in Rust and want one crate with friendly syntax instead of combining several.
★ 732 Apache-2.0 Rust Active, pushed 3 months ago -
23
Pdpipe pdpipe
Easy pipelines for pandas DataFrames.
Building block Usable You repeat the same pandas preprocessing in several places and want it as a named, inspectable pipeline.
★ 731 MIT Jupyter Notebook Active, pushed 31 days ago -
24
Dataframely Quantco
A declarative, 🐻❄️-native data frame validation library.
Building block Usable Your data pipelines use Polars and you want declared schemas and rule checks instead of ad hoc asserts.
★ 626 BSD-3-Clause Python Active, pushed 2 days ago -
25
SlothDB SouravRoy-ETL
An experimental embedded SQL engine in C++20. Query Parquet, CSV, JSON, Arrow, Avro, SQLite, and Excel files directly with SQL, in-process. Early-stage.
Building block Experimental You want to study or experiment with a small embedded analytical engine and can tolerate early-stage behavior.
★ 412 MIT C++ Slowing, pushed 5 months ago
Integrations 1
-
1
Spark-Redis RedisLabs
A connector for Spark that allows reading and writing to/from Redis cluster
Integration Usable Your Spark jobs need to load from or write to Redis, such as feeding a cache or feature store.
★ 944 BSD-3-Clause Scala Active, pushed 24 days ago
Developer tools 4
-
1
marimo marimo-team
A reactive notebook for Python — run reproducible experiments, query with SQL, execute as a script, deploy as an app, and version with git. Stored as pure Python. All in a modern, AI-native editor.
Developer tool Usable Notebooks need to live in git, rerun reproducibly and double as small internal data apps without moving to Streamlit.
★ 23k Apache-2.0 Python Active, pushed today
-
2
PyGWalker Kanaries
PyGWalker: Turn your dataframe into an interactive UI for visual analysis
Developer tool Usable Data analysts want to explore a DataFrame visually without writing plotting code.
★ 16k Apache-2.0 Python Active, pushed 2 months ago -
3
JupyterLab jupyterlab
JupyterLab computational environment.
Developer tool Production-ready Data teams work in notebooks all day and want several notebooks, consoles and files open side by side, with extensions installed from PyPI.
★ 15k BSD-3-Clause TypeScript Active, pushed today -
4
Jupyter Notebook jupyter
Jupyter Interactive Notebook
Developer tool Production-ready Analysts or researchers want the familiar single-document notebook interface for exploring data and sharing worked examples.
★ 13k BSD-3-Clause Jupyter Notebook Active, pushed 6 days ago
Open-source licenses
- Permissive: 28. Use it anywhere, including in closed products. You keep the copyright notice; Apache-2.0 also grants patent rights.
- Network copyleft: 1. Like GPL, and running a changed version as a web service counts as distributing it, so its users get the source too.
- Strong copyleft: 1. If you distribute the program or anything built on it, you must release the whole source under the same license.
- Weak copyleft: 1. Changes to the licensed files must be shared, but you can link them into a closed program.
Languages
Python 11, Rust 5, C++ 4, Jupyter Notebook 3, Scala 3, TypeScript 2, Java 1, Kotlin 1 and Clojure 1.
Made software that belongs here? Add it. Listing is free.