py-1.29.0

pola-rs/polarspy-1.29.0Apr 30, 2025by github-actions[bot]

AI Summary

Python release synchronized with Rust 0.47.1. Focuses on the new streaming engine features and bug fixes.

Key Highlights

  • Highlight nodes in streaming phys plan graph
  • Show physical stage graph
  • Add SQL support for checking array values with `IN` and `NOT IN`
  • Support `DataFrame` and `Series` init from torch `Tensor` objects

New Features

  • Highlight nodes in streaming phys plan graph
  • Show physical stage graph
  • Add SQL support for checking array values with `IN` and `NOT IN`
  • Support `DataFrame` and `Series` init from torch `Tensor` objects
  • Add `RoundMode` for Decimal and Float

Full Release Notes

## 🚀 Performance improvements

- Avoid alloc\_zeroed in decompression (#22460)

## ✨ Enhancements

- Highlight nodes in streaming phys plan graph (#22535)
- Show physical stage graph (#22491)
- Add structure for dispatching iceberg to native scans (#22405)
- Add SQL support for checking array values with `IN` and `NOT IN` expressions (#22487)
- Support `DataFrame` and `Series` init from torch `Tensor` objects (#22177)
- Add `RoundMode` for Decimal and Float (#22248)
- Inform users that IO error path file name can be expanded with POLARS\_VERBOSE=1 (#22427)

## 🐞 Bug fixes

- Streaming outer join coalesce bug (#22530)
- Remove redundant print statement in `assert_frame_schema_equal()` (#22529)
- Bug in `.unique()` followed by `.slice()` (#22471)
- Fix error reading parquet with datetimes written by pandas (#22524)
- Fix `schema_overrides` not taking effect in NDJSON (#22521)
- Fold flags and verify scalar correctness in apply (#22519)
- Invalid values were triggering panics instead of returning ``null`` in `dt.to_date` / `dt.to_datetime` (#22500)
- Ensure numpy `isinstance` check is lazy (avoid forcing the dependency) (#22486)
- Incorrectly dropped sort after unique for some queries (#22489)
- Fix incorrect ternary agg state with mixed columns and scalars (#22496)
- Make `replace` and `replace_strict` properly elementwise (#22465)
- Fix index out of bounds panic on parquet prefiltering (#22458)
- Integer underflow when checking parquet UTF-8 (#22472)
- Add implementation for `array.get` with idx overflow (#22449)
- Deprecate `str.` collection functions with flat strings and mark as elementwise (#22461)
- Deprecate flat `list.gather` and mark as elementwise (#22456)
- Inform users that IO error path file name can be expanded with POLARS\_VERBOSE=1 (#22427)

## 📖 Documentation

- Fix typo in structs page (#22504)

## 🛠️ Other improvements

- Don't store name/dtype in grouper (#22525)
- Add structure for dispatching iceberg to native scans (#22405)
- Remove unused reduction code (#22462)
- Pin to explicit macOS version in code coverage (#22432)

Thank you to all our contributors for making this release possible!
@AH-Merii, @JakubValtar, @Julian-J-S, @Kevin-Patyk, @Liyixin95, @MarcoGorelli, @Matt711, @alexander-beedie, @brianmakesthings, @coastalwhite, @nameexhaustion, @orlp and @ritchie46