Polars is a fast, multi-threaded DataFrame library written in Rust with a first-class Python API, built and maintained by the open-source Polars community. It ranks #12 in trending tech with roughly 3.8% usage share, and it's climbing fast as data teams look for a modern alternative to pandas. Its appeal is speed and scale: a lazy query engine that optimizes your whole pipeline before running it, so it can chew through datasets far larger than fit comfortably in memory with pandas.
Polars' lazy API (scan_csv instead of read_csv) builds a query plan first, then optimizes and executes it in one pass when you call collect().
import polars as pl
# lazily scan a CSV โ nothing is read yet
q = (
pl.scan_csv("orders.csv")
.filter(pl.col("total") > 50)
.group_by("customer")
.agg(
pl.col("total").sum().alias("total_spent"),
pl.len().alias("order_count")
)
.sort("total_spent", descending=True)
)
# the optimizer plans the whole pipeline, then runs it here
df = q.collect()
print(df.head(10))
Polars installs as a single pip package โ no separate compiler or Rust toolchain required, the wheel ships precompiled.
# install with pip
pip install polars
# or with uv
uv add polars