Polars
High-performance DataFrame library for analytics
The streaming engine is stable and the API is being narrowed — Polars is clearing ground for a breaking release
◆Recent moves
- 7h ago
Polars 1.43.2: scan_csv schema inference, more casts deprecated
Adds infer_schema_files to scan_csv and pushes len() down to concat and union inputs, while deprecating categorical-to-integer casts and unset plan_stage in show_graph(). Another instalment of the same pattern: a small capability addition wrapped in continued API narrowing.
View source ↗ - 5d ago
Polars 1.43.1: callback sinks on cloud, streaming and lakehouse scan fixes
Enables callback sinks on cloud and fixes several streaming-path defects — a self-join panic on scan_delta and scan_iceberg, undefined behaviour in first/last_non_null on empty chunks, and sortedness propagation through Gather. The cloud and streaming threads that run through this whole window, in one patch.
View source ↗ - 11d ago
Polars 1.43.0 deprecates categorical casts, profile() and implicit conversions
The largest deprecation batch in the window: numeric-to-categorical casts, cat.get_categories(), cat.to_local(), LazyFrame.profile(), casts from non-nested dtypes into lists, integer-boolean bitwise ops, and to_struct() without field names. Nothing breaks yet, but this is the release that names what is going away.
View source ↗ - 1mo ago
Polars 1.42.1: parquet metadata sampling and IO tweaks
A patch adding sampled resolve for multi-file parquet metadata, a faster small-dtype sum kernel, and non-blocking path expansion, plus replacement of pl.concat's strict parameter. Incremental performance work on paths the streaming engine leans on.
View source ↗ - 1mo ago
Polars 1.42.0: cloud IO concurrency control and streaming throughput
Focused on cloud and streaming throughput: bytes-based concurrency control for cloud IO, no multiplexer flush on phase change, cheaper rechunking, faster struct unnest inside list eval on streaming, and elimination of contradictory-predicate filters. Also starts the cast deprecations that 1.43.0 expands.
View source ↗ - 1mo ago
Rust Polars 0.54.4 stabilizes the streaming engine
⚡ SPARKThe Rust release that marks the streaming engine as stabilized, alongside nested common subplan elimination, streaming grouped AsOf joins, LazyFrame.gather and a hand-written Thrift parquet metadata decoder. Every streaming fix in the Python releases since reads as follow-through on this.
View source ↗