py-1.14.0

pola-rs/polarspy-1.14.0Nov 17, 2024by github-actions[bot]

AI Summary

Polars 1.14.0 focuses on performance improvements for async/threading and parquet decoding, alongside ergonomic enhancements and bug fixes.

Key Highlights

  • Increase default async thread count for low core count systems
  • Move row group decode off async thread for local streaming parquet scan
  • Support use of Duration in `to_string` with ergonomic/perf improvement

New Features

  • Support DataFrame init from raw SQLAlchemy rows
  • Add an `is_literal` method to expression `meta` namespace
  • Support use of Duration in `to_string`
  • Raise informative error on Unknown unnest

Full Release Notes

## 🚀 Performance improvements

- Increase default async thread count for low core count systems (#19829)
- Move row group decode off async thread for local streaming parquet scan (#19828)
- Support use of Duration in `to_string`, ergonomic/perf improvement, tz-aware Datetime bugfix (#19697)

## ✨ Enhancements

- Raise informative error on Unknown unnest (#19830)
- Support DataFrame init from raw SQLAlchemy rows (#19820)
- Support use of Duration in `to_string`, ergonomic/perf improvement, tz-aware Datetime bugfix (#19697)
- Add an `is_literal` method to expression `meta` namespace (#19773)
- A different approach to warning users of fork() issues with Polars (#19197)

## 🐞 Bug fixes

- Fix `read_database(…,iter_batches=True)` type annotations (#19832)
- Validate subnodes in validate IR (#19831)
- Raise if merge non-global categoricals in unpivot (#19826)
- Type hints for window\_size incorrectly included timedelta in some rolling functions (#19827)
- Don't panic if column not found (#19824)
- Fix gather of Scalar null + idx w/ validity (#19823)
- Replace \_kwargs in collect method (#19618)
- Fix object chunked gather (#19811)
- Fix filter scalar nulls (#19786)
- Replace spaces with \  to support showing multiple spaces in HTML repr (#19783)
- Altair tooltip was being incorrectly applied to plots which did not accept it (#19789)
- Respect schema\_overrides in batched csv reader (#19755)
- Fix scanning google cloud with service account credentials file (#19782)
- Release the GIL in Python APIs, part 2 of 2 (#19762)
- Fix incorrect filter after right-join on LazyFrame (#19775)
- Fix incorrect lazy schema for explode on array columns (#19776)
- Fixed typo in file lazy.py (#19769)

## 📖 Documentation

- Update bokeh to use cdn to avoid Bokeh Error (#19788)
- Change dprint config (#19747)
- Mention `row_by_keys` in the `to_dict` documentation (#19767)
- Fix link to Graphviz download (#19791)

## 🛠️ Other improvements

- Add ToField context for common args (#19833)
- Use polars parquet reader for delta scan (#19103)
- Migrate polars-expr AggregationContext to use `Column` (#19736)

Thank you to all our contributors for making this release possible!
@MarcoGorelli, @TNieuwdorp, @YichiZhang0613, @alexander-beedie, @braaannigan, @coastalwhite, @engylemure, @gab23r, @iliya-malecki, @ion-elgreco, @itamarst, @jackxxu, @nameexhaustion, @orlp, @ritchie46, @rodrigogiraoserrao and @sn0rkmaiden