py-1.12.0

pola-rs/polarspy-1.12.0Oct 27, 2024by github-actions[bot]

AI Summary

Python release aligning with Rust 0.44.0 features, focusing on Parquet enhancements, credential providers, and bug fixes.

Key Highlights

  • Respect `include_index` for pandas series
  • Add `credential_provider` argument to more read functions
  • Support querying specific snapshot by id in `scan_iceberg`

New Features

  • Implement nested Parquet writing for High-Precision Decimals
  • Improve `read_database` typing
  • Respect `include_index` for pandas series
  • Add `credential_provider` argument to more read functions
  • Add IPC sink in new streaming engine
  • Support querying specific snapshot by id in `scan_iceberg`

Full Release Notes

## ⚠️ Deprecations

- Make some parameters of `dt.add_business_days` keyword-only (#19428)

## 🚀 Performance improvements

- Address inadvertent quadratic behaviour in `expand_columns` (#19469)
- Move rolling\_corr/cov to an actual implementation on Series (#19466)
- Don't split par if cast to categorical (#19462)

## ✨ Enhancements

- Implement nested Parquet writing for High-Precision Decimals (#19476)
- Improve `read_database` typing (#19444)
- Respect `include_index` for pandas series (#19453)
- Add `credential_provider` argument to more read functions (#19421)
- Add IPC sink in new streaming engine (#19431)
- Support querying specific snapshot by id in `scan_iceberg` (#19388)

## 🐞 Bug fixes

- Include Array in `to_physical` (#19474)
- Don't panic in SQL temporal string check; raise suitable `ColumnNotFound` error (#19473)
- Properly raise on mean\_horizontal with wrong dtypes (#19472)
- Make output dtype known for `list.to_struct` when `fields` are passed (#19439)
- Address inadvertent quadratic behaviour in `expand_columns` (#19469)
- Ensure sorted flag is unset after Int->String cast (#19470)
- Fix row\_index of batched reader (#19465)
- Fix perfect groupby (#19461)
- Correct wildcard expansion for functions (#19449)
- Ensure struct `eq/ne_missing` also compares outer validity (#19443)
- Fix incorrect reverse on struct containing NULLs (#19446)
- Faulty `escape_regex` example (#19440)
- Capture groups should be ignored in replace when literal=True (#19413)
- Fix `ColumnNotFound` when using `pl.element()` inside `list.eval` (#19438)
- Updates error message in csv parser to recommend schema\_overrides instead of deprecated dtypes argument (#19416)
- Incorrect `.join(..., how="left").head(N)` if `N <= left_df.height()` and there are duplicate matches (#19422)
- Support Array type in more DataType methods (#19427)
- Bug in group\_tuples\_perfect, tail was not processed properly (#19417)
- Ensure that `ASCII*` table formats do not use the UTF8 ellipsis char when truncating rows/cols/values (#19404)

## 📖 Documentation

- Fix docstrings for ATAN2 and ATAN2D SQL functions (#19351)

## 🛠️ Other improvements

- Undo conflicting fix (#19463)
- Simplify rust side of `datetime` (#19459)
- Add tests for data mismatch on `read_json` (#19425)
- Remove code in `examples` folder in favor of the user guide (#19430)

Thank you to all our contributors for making this release possible!
@alexander-beedie, @cmdlineluser, @coastalwhite, @corleyma, @corwinjoy, @dvillaveces, @eitsupi, @gab23r, @janscholten, @nameexhaustion, @orlp, @ritchie46, @siddharth-vi, @stinodego and @wakabame