Skip to main content

Blazingly fast DataFrame library

Project description

Polars logo

Documentation: Python - Rust - Node.js - R | StackOverflow: Python - Rust - Node.js - R | User guide | Discord

Polars: Extremely fast Query Engine for DataFrames, written in Rust

Polars is an analytical query engine written for DataFrames. It is designed to be fast, easy to use and expressive. Key features are:

  • Lazy | Eager execution
  • Streaming (larger-than-RAM datasets)
  • Query optimization
  • Multi-threaded
  • Written in Rust
  • SIMD
  • Powerful expression API
  • Front end in Python | Rust | NodeJS | R | SQL
  • Apache Arrow Columnar Format

To learn more, read the user guide.

Performance 🚀🚀

Blazingly fast

Polars is very fast. In fact, it is one of the best performing solutions available. See the PDS-H benchmarks results.

Lightweight

Polars is also very lightweight. It comes with zero required dependencies, and this shows in the import times:

  • polars: 70ms
  • numpy: 104ms
  • pandas: 520ms

Handles larger-than-RAM data

If you have data that does not fit into memory, Polars' query engine is able to process your query (or parts of your query) in a streaming fashion. This drastically reduces memory requirements, so you might be able to process your 250GB dataset on your laptop. Collect with collect(engine='streaming') to run the query streaming.

Setup

Python

Install the latest Polars version with:

pip install polars

See the User Guide for more details on optional dependencies

To see the current Polars version and a full list of its optional dependencies, run:

pl.show_versions()

Contributing

Want to contribute? Read our contributing guide.

Managed/Distributed Polars

Do you want a managed solution or scale out to distributed clusters? Consider our offering and help the project!

Python: compile Polars from source

If you want a bleeding edge release or maximal performance you should compile Polars from source.

This can be done by going through the following steps in sequence:

  1. Install the latest Rust compiler
  2. Install maturin: pip install maturin
  3. cd py-polars and choose one of the following:
    • make build, slow binary with debug assertions and symbols, fast compile times
    • make build-release, fast binary without debug assertions, minimal debug symbols, long compile times
    • make build-nodebug-release, same as build-release but without any debug symbols, slightly faster to compile
    • make build-debug-release, same as build-release but with full debug symbols, slightly slower to compile
    • make build-dist-release, fastest binary, extreme compile times

By default the binary is compiled with optimizations turned on for a modern CPU. Specify LTS_CPU=1 with the command if your CPU is older and does not support e.g. AVX2.

Note that the Rust crate implementing the Python bindings is called py-polars to distinguish from the wrapped Rust crate polars itself. However, both the Python package and the Python module are named polars, so you can pip install polars and import polars.

Using custom Rust functions in Python

Extending Polars with UDFs compiled in Rust is easy. We expose PyO3 extensions for DataFrame and Series data structures. See more in https://github.com/pola-rs/polars/tree/main/pyo3-polars.

Going big...

Do you expect more than 2^32 (~4.2 billion) rows? Compile Polars with the bigidx feature flag or, for Python users, install pip install polars-u64-idx.

Don't use this unless you hit the row boundary as the default build of Polars is faster and consumes less memory.

Legacy

Do you want Polars to run on an old CPU (e.g. dating from before 2011), or on an x86-64 build of Python on Apple Silicon under Rosetta? Install pip install polars-lts-cpu. This version of Polars is compiled without AVX target features.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

polars_runtime_32-1.34.0b2.tar.gz (4.9 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

polars_runtime_32-1.34.0b2-cp39-abi3-win_arm64.whl (36.6 MB view details)

Uploaded CPython 3.9+Windows ARM64

polars_runtime_32-1.34.0b2-cp39-abi3-win_amd64.whl (40.8 MB view details)

Uploaded CPython 3.9+Windows x86-64

polars_runtime_32-1.34.0b2-cp39-abi3-manylinux_2_24_aarch64.whl (37.7 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.24+ ARM64

polars_runtime_32-1.34.0b2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (40.9 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ x86-64

polars_runtime_32-1.34.0b2-cp39-abi3-macosx_11_0_arm64.whl (36.7 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

polars_runtime_32-1.34.0b2-cp39-abi3-macosx_10_12_x86_64.whl (40.3 MB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

Details for the file polars_runtime_32-1.34.0b2.tar.gz.

File metadata

  • Download URL: polars_runtime_32-1.34.0b2.tar.gz
  • Upload date:
  • Size: 4.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for polars_runtime_32-1.34.0b2.tar.gz
Algorithm Hash digest
SHA256 8da3aedf31b423e044cc7bd9262b97d3c3dc008a5b308f2523ed637de83dd62e
MD5 9c6d3dc735941d596275cd579af0119e
BLAKE2b-256 cebb3cb819f52a343aa380147d33da50a680daba57a14f2fa4c99e63dd40e186

See more details on using hashes here.

Provenance

The following attestation bundles were made for polars_runtime_32-1.34.0b2.tar.gz:

Publisher: release-python.yml on pola-rs/polars

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file polars_runtime_32-1.34.0b2-cp39-abi3-win_arm64.whl.

File metadata

File hashes

Hashes for polars_runtime_32-1.34.0b2-cp39-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 e1eb502b0a129d09805bf2ac0597cca39f67f657ad6d054d06c323c4b3611518
MD5 550b8a5bc1a0213973442e72f4672c20
BLAKE2b-256 494a7e911abf0cfc00427c9d75098bb2b392ab33288195f723be76c06c3f5656

See more details on using hashes here.

Provenance

The following attestation bundles were made for polars_runtime_32-1.34.0b2-cp39-abi3-win_arm64.whl:

Publisher: release-python.yml on pola-rs/polars

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file polars_runtime_32-1.34.0b2-cp39-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for polars_runtime_32-1.34.0b2-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 f95704ed55ab27c4a2edbbf1b403f6ea21a96bf20fdad1ae83e2825aa1affa9f
MD5 03368455f47bc7abdd04a8c5eed4c187
BLAKE2b-256 336024fe87ae4b3afd49dad2e71f7b8c4676b780553f2758a7f5fe95f39fffbe

See more details on using hashes here.

Provenance

The following attestation bundles were made for polars_runtime_32-1.34.0b2-cp39-abi3-win_amd64.whl:

Publisher: release-python.yml on pola-rs/polars

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file polars_runtime_32-1.34.0b2-cp39-abi3-manylinux_2_24_aarch64.whl.

File metadata

File hashes

Hashes for polars_runtime_32-1.34.0b2-cp39-abi3-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 90c514287c0d4dc78c17fa05e99e68735b256af7e6f50f8fee81701f33cef1f6
MD5 5eff0423558bb88c78b6dafd029ad424
BLAKE2b-256 3ee01a1dfd74eabf30bf54be2639d3adb56461711803cd06f40a31ca3604dabb

See more details on using hashes here.

Provenance

The following attestation bundles were made for polars_runtime_32-1.34.0b2-cp39-abi3-manylinux_2_24_aarch64.whl:

Publisher: release-python.yml on pola-rs/polars

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file polars_runtime_32-1.34.0b2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for polars_runtime_32-1.34.0b2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7cccdbf4e3c6e96ab2e7b7fadaabf3585ebc00a22b89211bb2356bf0e7ab514a
MD5 a69b914834eea5f0d4f80b3d3b2bd472
BLAKE2b-256 bd5b2e30b62292e6f9383e94390ef0b2e24022cdc65a9ac991361a16f4f1d52d

See more details on using hashes here.

Provenance

The following attestation bundles were made for polars_runtime_32-1.34.0b2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release-python.yml on pola-rs/polars

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file polars_runtime_32-1.34.0b2-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for polars_runtime_32-1.34.0b2-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 218c6f1f919b8266ee4989c7562c2d66794eddc38dfb42ac37f8f0dca63e849a
MD5 8d6fa2005f458684461d76f352b6a187
BLAKE2b-256 8120ef41ed1c5e495642be5944673cb3732fc47a1eb7022cd4647500d8a7ccef

See more details on using hashes here.

Provenance

The following attestation bundles were made for polars_runtime_32-1.34.0b2-cp39-abi3-macosx_11_0_arm64.whl:

Publisher: release-python.yml on pola-rs/polars

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file polars_runtime_32-1.34.0b2-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for polars_runtime_32-1.34.0b2-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c14c04ff39325a6da082b16eda831477f861d7947c2d1fa0a2b7fae6bd49d658
MD5 1ea361fc876cab217e554d53706f91a5
BLAKE2b-256 d817b88c2a9769462ec7f5a699ac8af9ae91569176abbc01de63e5192d89de1d

See more details on using hashes here.

Provenance

The following attestation bundles were made for polars_runtime_32-1.34.0b2-cp39-abi3-macosx_10_12_x86_64.whl:

Publisher: release-python.yml on pola-rs/polars

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page