![Fast](/_astro/icon-1.DUJfifOP_Z15bFMC.webp)
Polars is written from the ground up with performance in mind. Its multi-threaded query engine is written in Rust and designed for effective parallelism. Its vectorized and columnar processing enables cache-coherent algorithms and high performance on modern processors.
You will feel right at home with Polars if you are familiar with data wrangling. Its expressions are intuitive and empower you to write code which is readable and performant at the same time.
Polars is and always will be open source. Driven by an active community of developers, everyone is encouraged to add new features and contribute. Polars is free to use under the MIT license.
Built by developers for developers to achieve up to 50x performance
Why use Polars
Polars was benchmarked against several other solutions on the independent TPC-H Benchmark. This benchmark aims to replicate data wrangling operations used in practice. Polars easily trumps other solutions due to its parallel execution engine, efficient algorithms and use of vectorization with SIMD (Single Instruction, Multiple Data). Compared to pandas, it can achieve more than 30x performance gains.
Learn more →The benchmark was performed on a c3-highmem-22 with scale factor 10 including I/O. The queries are open source.
Quick install
Polars is easy to install using your standard package manager. Select your programming language and get started!
pip install polars
[dependencies]
polars = { version = "x", features = ["lazy", ...]}
const pl = require('nodejs-polars');
Leading companies using Polars
![Support 1](/_astro/support-icon-01.BqnDXjBf_1fpuzL.webp)
![Support 2](/_astro/support-icon-02.Da0CquYA_Z2cEQW8.webp)
![Support 3](/_astro/support-icon-03.hvTBqVAo_Z1ikCB2.webp)
![Support 4](/_astro/support-icon-04.BWfqqr3p_Z6ekqj.webp)
![Support 5](/_astro/support-icon-05.BGn_rT4v_Z2ttY6y.webp)
![Support 6](/_astro/support-icon-06.D7t5lgEa_Z5gIAb.webp)
![Support 7](/_astro/support-icon-07.CZeDACaS_Z1RMfhS.webp)
![Support 8](/_astro/support-icon-08.DhLak56X_ZjCHv3.webp)
![Support 9](/_astro/support-icon-09.tYPdjXex_pWcPy.webp)
![Support 10](/_astro/support-icon-10.ETyalrkl_Z4BX7f.webp)
![Support 11](/_astro/support-icon-11.a52NYXai_HCoE2.webp)
![Support 12](/_astro/support-icon-12.Cpes_YVm_16bG1G.webp)
![Support 13](/_astro/support-icon-13.DZjHkNpg_eC58y.webp)
![Support 14](/_astro/support-icon-14.3kCTe12A_pz3mz.webp)
![Support 15](/_astro/support-icon-15.DsVzzzHk_Z2kbKgH.webp)
![Support 16](/_astro/support-icon-16.QEf6mrVL_1hJaFk.webp)
Support
Support for all common data formats
Polars supports reading and writing to all common data formats. This allows you to easily integrate Polars with your existing data stack.
- Text: CSV & JSON
- Binary: Parquet, Delta Lake, AVRO & Excel
- IPC: Feather, Arrow
- Databases: MySQL, Postgres, SQL Server, Sqlite, Redshift & Oracle
- Cloud storage: S3, Azure Blob & Azure File
How Polars will
make your life easier
01
Easy
to use
Write your queries the way they were intended. Polars will determine the most efficient way to execute them using its query optimizer.
02
Embarrassingly
parallel
Complete your queries faster! Polars fully utilizes the power of your machine by dividing the workload among the available CPU cores without any additional configuration or serialization overhead.
03
Apache
Arrow
Polars utilizes the Apache Arrow memory model allowing you to easily integrate with existing tools in the data landscape. It supports zero-copy data sharing for efficient collaboration.
04
Close to
the metal
Polars is written from the ground up, designed close to the machine and without external dependencies. This allows for full control of the ecosystem (API, memory & execution).
05
Written
in Rust
The core of Polars is written in Rust, one of the fastest growing programming languages in the world. Rust allows for high performance with fine-grained control over memory.
06
Out
of core
Want to process large data sets that are bigger than your memory? Our streaming API allows you to process your results efficiently, eliminating the need to keep all data in memory.