Polars

Polars

Freemium

DataFrames for the new era.

Data & ML Libraries
Data Processing

Published 29 May 2026 · Last updated 27 September 2026

Scores

Popularity2/5

Fast-growing reputation in performance-focused data science; small share of Pandas' user base.

Learning Curve3/5

Similar to Pandas but lazy evaluation and the expression API require adjustment.

Flexibility4/5

Lazy and eager evaluation; the expression API is highly composable for complex transformations.

Performance5/5

Rust-based columnar engine with SIMD; consistently the fastest DataFrame library in benchmarks.

Portability4/5

DataFrame API is similar to Pandas; switching back and forth is straightforward.

About Polars

Polars is a DataFrame library written in Rust for analytical workloads on a single machine, used mainly from Python and also available as a Rust crate. It stores data in the Apache Arrow columnar format and runs queries on all CPU cores in parallel, without the Python GIL getting in the way. On common operations such as filtering, grouping, joining, and sorting it is typically several times faster than pandas and uses less memory.

Polars has two modes. The eager API runs each step immediately, like pandas. The lazy API builds a query plan first and optimises it (predicate and projection pushdown, common subexpression elimination) before anything runs, and its streaming engine processes datasets larger than RAM in batches. Transformations are written as composable expressions rather than index-based operations, and SQL queries run through pl.SQLContext. An optional GPU engine, in open beta and built on NVIDIA RAPIDS cuDF, runs lazy queries on NVIDIA GPUs with collect(engine="gpu").

The library is free and open source under the MIT licence. Its company, Polars Inc., sells Polars Cloud, which runs the same Polars code distributed across machines inside the customer's own AWS account, billed per vCPU-hour of query execution with a 30-day free trial.

The main friction is the ecosystem: many plotting and machine learning libraries still expect pandas DataFrames, so pipelines often convert at the edges (cheaply, through Arrow).

Key Features

  • Multi-threaded query execution in Rust, free of the Python GIL
  • Lazy API with query optimisation (predicate and projection pushdown)
  • Streaming engine for larger-than-RAM datasets
  • Apache Arrow columnar memory with cheap conversion to pandas and PyArrow
  • Composable expression API instead of index-based operations
  • SQL queries through pl.SQLContext
  • GPU engine on NVIDIA RAPIDS cuDF (open beta)
  • Polars Cloud for distributed execution in your own AWS account

Pros

  • Typically several times faster than pandas with lower memory use
  • Lazy API optimises the whole query before running it
  • Uses every CPU core without extra configuration
  • Expression syntax avoids pandas index pitfalls
  • MIT licence, and the same code scales out on Polars Cloud

Cons

  • Many ML and plotting libraries still expect pandas DataFrames
  • API differences from pandas create migration work for existing code
  • Lazy-mode errors surface at .collect(), which can hide where they started
  • Polars Cloud is AWS-only, and the GPU engine is still in beta

Polars Pricing

Freemium
Open SourceFree
  • · Full Polars library under the MIT licence
  • · Python and Rust APIs, lazy and streaming engines
  • · GPU engine (open beta) on NVIDIA hardware
Polars CloudContact sales
  • · Distributed execution of the same Polars code
  • · Runs in your own AWS account
  • · Fixed price per vCPU-hour of query execution, plus your AWS compute
  • · 30-day free trial

Tech Stacks with Polars

MLOps Pipeline

Project

Production-grade ML infrastructure. PyTorch for model training, Apache Airflow (or Dagster or Prefect) for orchestration, dbt for feature transformations, and Snowflake as the data warehouse, with Docker as an optional containerization addition.

Deploy on:
Orchestrator:
Data Libraries:
Model Serving (Python API):
Experiment Tracking add-on:
CI/CD add-on:
Containerization add-on:

Reflex Full-Stack App

Project

Full-stack web app built entirely in Python with Reflex, with hosted auth like Clerk or Auth0 as an optional addition once the app needs real user management.

Deploy on:
Authentication add-on:
Database add-on:
Data Libraries add-on:
CI/CD add-on:
Containerization add-on:
Observability add-on:
Email add-on:
Payments add-on:
Analytics add-on:

Tools Related to Polars

Alternatives to Polars(2)

DuckDB is an in-process SQL analytics engine; Polars is a DataFrame library — DuckDB excels at SQL-style queries, Polars at chained DataFrame operations.

Both Python DataFrame libraries; Polars is Rust-based with native multi-threading — significantly faster for large datasets, Pandas has broader ecosystem support.

Tags

PythonRustOpen SourceData EngineeringData Science

Details

License
MIT
Maintained
Yes