No project description provided
Project description
Polars
Blazingly fast DataFrames in Rust & Python
Polars is a blazingly fast DataFrames library implemented in Rust using Apache Arrow(2) as memory model.
- Lazy | eager execution
- Multi-threaded
- SIMD
- Query optimization
- Powerful expression API
- Rust | Python | ...
To learn more, read the User Guide.
Performance
Polars is very fast, and in fact is one of the best performing solutions available. See the results in h2oai's db-benchmark.
Rust setup
You can take latest release from crates.io
, or if you want to use the latest features/ performance improvements
point to the master
branch of this repo.
polars = {git = "https://github.com/ritchie46/polars", rev = "<optional git tag>" }
Rust version
Required Rust version >=1.52
Python users read this!
Polars is currently transitioning from py-polars
to polars
. Some docs may still refer the old name.
Install the latest polars version with:
$ pip3 install polars
Documentation
Want to know about all the features Polars support? Read the docs!
Rust
Python
- installation guide:
$ pip3 install polars
- User Guide
- Reference guide
Contribution
Want to contribute? Read our contribution guideline.
[Python] compile py-polars from source
If you want a bleeding edge release or maximal performance you should compile py-polars from source.
This can be done by going through the following steps in sequence:
- install the latest rust compiler
$ pip3 install maturin
- Choose any of:
- Very long compile times, fastest binary:
$ cd py-polars && maturin develop --rustc-extra-args="-C target-cpu=native" --release
- Shorter compile times, fast binary:
$ cd py-polars && maturin develop --rustc-extra-args="-C codegen-units=16 -C lto=thin -C target-cpu=native" --release
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
(previously, these were called py-polars
and pypolars
).
Arrow2
Polars has a fully functional arrow2 branch and will ship the python binaries from this branch. Arrow2 is a faster and safer implementation of the arrow spec. Arrow2 also has a more granular code base, helping to reduce the compiler bloat.
Acknowledgements
Development of Polars is proudly powered by
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for polars-0.8.21_beta.2-cp36-abi3-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f04716c428b03c4c72f147273c9beeeed6bcc734083df1276a26903b55c69b9e |
|
MD5 | 5df35b0f0e376b84c42a91dd9f23586a |
|
BLAKE2b-256 | 8d765cbd77a8a6da591ded25d9dbb819847eb643e335625e9fac9d7943c2ce07 |
Hashes for polars-0.8.21_beta.2-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 686d29ecbf4b5b95f69f86a51e0c2f0cc69c0f7f9d1c68e74b5c95e677c3917f |
|
MD5 | 8c22b183ea85f4f863f15d49f4f5258e |
|
BLAKE2b-256 | 535499a8e178816595b5a4eece4921ea29ebfce905e74fcb48121ad7fb096009 |
Hashes for polars-0.8.21_beta.2-cp36-abi3-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 520f039e510d2bc9b2b4e3c0c1ac78f25ade3560c9fc01b86d9990c4cb4bdbf6 |
|
MD5 | 3aafe525fb04df2a1cbcb237defe5356 |
|
BLAKE2b-256 | b2bc584d8107efb8c6c568a0de91eb4c36fc671e6df707bba4357e3b89c0954a |