Polars (software)
Polars is an open-source software library for data manipulation. Polars is built with an OLAP query engine implemented in Rust using Apache Arrow Columnar Format as the memory model. Although built using Rust, there are Python, Node.js, R, and SQL API interfaces to use Polars.
As of September 2025, Polars has over 24 million monthly downloads and over 250 million downloads in total.
History
The first code to be committed was made on June 23, 2020. Polars started as a "pet project" by Ritchie Vink, who was motivated to by the limitations of the software tool pandas that is used to organize and work with data. Vink aimed to address those limitations with a data processing library written in the Rust programming language.Ritchie Vink and Chiel Peters co-founded a company of the same name to develop Polars, after working together at the company Xomnia for five years. In 2023, Vink and Peters successfully closed a seed round of approximately $4 million, which was led by Bain Capital Ventures.
In September 2025, Vink and Peters raised in a Series A round led by Accel, along with Bain Capital Partners and angel investors.
Vink and Peters have also developed other services like Polars Cloud and Polars Distributed that are built around Polars.
Features
The core object in Polars is the DataFrame, similar to other data processing software libraries. Contexts and expressions are important concepts to Polars' syntax. A context is the specific environment in which an expression is evaluated. Meanwhile, an expression refers to computations or transformations that are performed on data columns.Polars has three main contexts:
- selection: choosing columns from a DataFrame
- filtering: subset a DataFrame by keeping rows that meet specified conditions
- group by/aggregation: calculating summary statistics within subgroups of the data
Compared with other data processing software
Compared to pandas
Feature differences
Given that Polars was designed to work on a single machine, this prompts many comparisons with the similar data manipulation software, pandas. One big advantage that Polars has over pandas is performance, where Polars is 5 to 10 times faster than pandas on similar tasks. Additionally, pandas requires around 5 to 10 times as much RAM as the size of the dataset, which compares to the 2 to 4 times needed for Polars. These performance increases may be due to Polars being written in Rust and supporting parallel operations.Polars is also designed to use lazy evaluation compared with pandas using eager evaluation. Some research on comparing pandas and Polars completing data analysis tasks show that Polars is more memory-efficient than pandas, where "Polars consumes 63% of the energy needed by pandas on the TPC-H benchmark and uses eight times less energy than pandas on synthetic data".
Polars does not have an index for the DataFrame object, which contrasts pandas' use of an index.
Syntax differences
Polars and pandas have similar syntax for reading in data using aread_csv method, but have different syntax for calculating a rolling mean.Code using pandas:
import pandas as pd
- Read in data
print)
- Calculate rolling mean
Code using Polars:
import polars as pl
- Read in data
- Explore data
print)
- Calculate rolling average