Polars

Blazingly fast multi-threaded DataFrame library built in Rust with Python, Node.js, and R bindings

Library
PyPI
v1.44.2
39,872 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
92 /100 Excellent
Development Activity 100
Maintenance 100
Community 68
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
84 /100 Excellent
Architecture 92
Code Quality 90
Innovation 88
Learning Curve 65

Polars is a DataFrame library whose query engine is written entirely in Rust and exposed to Python (and Node.js, R) through native bindings, giving pandas-scale ergonomics with multi-threaded, vectorized execution and a columnar Apache Arrow memory model. It offers both an eager API for immediate execution and a lazy API that builds a query plan, optimizes it (predicate/projection pushdown, common subexpression elimination), and executes it in parallel — including out-of-core streaming for datasets larger than RAM. Its expression-based syntax (pl.col(...)) lets the same code run efficiently whether the data is a few rows or hundreds of gigabytes.

What You Get

  • Eager (pl.DataFrame) and lazy (pl.LazyFrame) APIs sharing one consistent expression syntax built around pl.col()
  • A query optimizer that applies predicate pushdown, projection pushdown, and common subexpression elimination before executing a lazy query
  • Out-of-core streaming execution for datasets that don’t fit in memory
  • Native readers/writers for CSV, Parquet, JSON, Arrow IPC, Delta Lake, and database connections, with automatic schema inference
  • Zero-copy interop with Apache Arrow, NumPy, and pandas for mixed pipelines

Common Use Cases

  • Replacing pandas in ETL and data-cleaning pipelines that are I/O- or CPU-bound and would benefit from multi-core execution
  • Processing datasets larger than available RAM using the lazy streaming engine instead of chunking manually
  • Feature engineering pipelines for ML where query-plan optimization reduces redundant computation across chained transformations
  • Interactive data analysis in notebooks where fast groupby/join/window operations matter for iteration speed

Under The Hood

Architecture: the repository is a Cargo workspace under crates/ (polars-core, polars-lazy, polars-io, polars-arrow, polars-expr, polars-compute, and more) implementing the actual columnar engine and lazy query optimizer in Rust, with a separate py-polars/ crate using PyO3 to expose that engine as the polars Python package — the Python layer is a thin binding over the same core used by the Rust, Node.js, and R distributions. Tech Stack: Rust for the engine (Cargo workspace, Cargo.toml/Cargo.lock at the root), Apache Arrow as the in-memory columnar format, PyO3/maturin for the Python extension build, with the Python package requiring Python 3.10+ and declaring polars version 1.43.0 in py-polars/pyproject.toml. Code Quality: extremely well-tested, with 455 Python test files under py-polars/tests/ covering the DataFrame/LazyFrame API surface plus extensive Rust unit tests in each crate; CI enforces rustfmt/clippy (per rustfmt.toml/clippy.toml) and dependency auditing via deny.toml. API Design: the expression API (pl.col("x").filter(...).sum()) is designed to be identical whether called eagerly or lazily, which minimizes the learning curve for pandas users switching over, though the strict typing and different null-handling semantics (Arrow-style nulls vs. NaN) require some relearning; the lazy/eager duality is powerful but does add a concept newcomers must learn before choosing the right one for a workload.

Used by 11 apps in this directory

Python
89%
Apache 2.0

Apache Airflow

Data Engineering

46,995

Define, schedule, and monitor complex data workflows as Python code — with a powerful UI, 80+ provider integrations, and battle-tested scalability across thousands of production deployments.

View details
96
Repo Health
89
Technical
64
Dependency
Built with
Python 89%
Updated 5 days ago
Python
92%
Apache 2.0

ART

AI Development

10,779

Give your LLM agents on-the-job training—ART lets you apply GRPO reinforcement learning to any multi-step agentic workflow with minimal code changes.

View details
85
Repo Health
82
Technical
73
Dependency
Built with
Python 92%
Updated 6 days ago
Rust
95%
Other

Databend

Data Engineering · Databases

9,452

Open-source enterprise data warehouse unifying analytics, vector search, full-text search, and AI agent orchestration in a single Rust-built engine on S3.

View details
93
Repo Health
84
Technical
77
Dependency
Built with
Rust 95%
Updated 5 days ago
Python
65%
MIT

Flowfile

Data Engineering

363

Visual ETL that compiles to Polars — build pipelines on a canvas, export as standalone Python, and run anywhere without platform lock-in.

View details
83
Repo Health
81
Technical
66
Dependency
Built with
Python 65%
Vue 17%
TypeScript 17%
Updated 6 days ago
Rust
43%
Apache 2.0

LanceDB

AI Development · Databases

11,544

Open-source, embedded vector database built on the Lance columnar format for fast multimodal search across billions of vectors, backed by Y Combinator (W23).

View details
90
Repo Health
86
Technical
71
Dependency
Built with
Rust 43%
Python 25%
HTML 23%
Updated 6 days ago
Rust
43%
Apache 2.0

LanceDB

AI Development · Databases

11,544

Open-source, embedded vector database built on the Lance columnar format for fast multimodal search across billions of vectors, backed by Y Combinator (W23).

View details
90
Repo Health
86
Technical
71
Dependency
Built with
Rust 43%
Python 25%
HTML 23%
Updated 6 days ago
Rust
43%
Apache 2.0

LanceDB

AI Development · Databases

11,544

Open-source, embedded vector database built on the Lance columnar format for fast multimodal search across billions of vectors, backed by Y Combinator (W23).

View details
90
Repo Health
86
Technical
71
Dependency
Built with
Rust 43%
Python 25%
HTML 23%
Updated 6 days ago
Python
82%
MIT

LiteLLM

AI Development · Developer Tools

59,745

Open source AI gateway and Python SDK that gives you one OpenAI-compatible interface to call 100+ LLM providers, with built-in routing, cost tracking, guardrails, and virtual keys.

View details
92
Repo Health
81
Technical
69
Dependency
Built with
Python 82%
TypeScript 12%
Updated 5 days ago
Python
62%
Apache 2.0

marimo

Data Engineering · Developer Tools

22,918

A reactive Python notebook that eliminates hidden state, runs reproducibly, and deploys as a web app or script — stored as pure Python, built for the AI era.

View details
89
Repo Health
91
Technical
65
Dependency
Built with
Python 62%
TypeScript 37%
Updated 6 days ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers