lib-polarslisted
Install: claude install-skill howard-lynn-ye/fin-skills
# polars
The best single-node dataframe default for large panels — multi-threaded Rust, Arrow columnar, a real
lazy optimiser, and it releases the GIL. It also changed its own packaging, and its as-of join is now
the unsafe one.
| | |
|---|---|
| pip / import | `polars` / `import polars as pl` — **plus `polars-runtime-32`, which is not optional** |
| Version | 1.44.1 (2026-08-26) · 432 releases · **2.0.0rc1 shipped 2026-09-02** |
| Licence | MIT (both `polars` and `polars-runtime-32`) |
| Python | `>=3.10`. `polars` ships **1 wheel, `py3-none-any`**; `polars-runtime-32` ships 9 `cp310-abi3` wheels |
| Status | 39,646★, very active. **Pin `polars<2`** until you have read the 2.0 migration guide |
## The trap that costs you money
**`polars-1.44.1-py3-none-any.whl` is 865,208 bytes and contains no compiled code.** Its
`Requires-Dist` opens with an unconditional hard pin:
```
polars-runtime-32==1.44.1 # mandatory, NOT an extra
polars-runtime-64==1.44.1 ; extra == "rt64"
polars-runtime-compat==1.44.1 ; extra == "rtcompat"
```
The engine lives in `polars-runtime-32` — MIT, `cp310-abi3` wheels (one covers Python 3.10 through
3.14+) for macOS x86_64/arm64, manylinux + musllinux x86_64/aarch64, win_amd64/arm64, 47–54 MB each.
The split landed at **1.34.0b2 (2025-09-26)**, a 5,966-byte wheel where 1.34.0b1 three days earlier
still shipped ~40 MB binaries; everything from 1.34 on is split. Corroborating: `polars-lts-cpu` is
frozen at **1.33.1 (2025-09-09)**,