Changes
🚀 Performance improvements
- perf: Avoid unnecessary calls in
Expr.clipmethod (#2303)
✨ Enhancements
- fix: change rank ExprKind to transform (#2316)
- feat: add
rankfor Lazy backends (#2310) - feat: disallow
.over(order_by=...)for non-order-dependent operations (as it signals a user error) (#2314) - feat: add
rolling_varandrolling_stdfor lazy backends (#2299) - feat: Allow spark-like backends in
scan_csvfunction (#2300) - feat: Add
DuckDBExpr.is_unique()method (#2301) - feat: add
rolling meanfor lazy backends (#2297) - feat(sqlframe): Allow options in
scan_parquetfunction (#2295) - feat: Add
DataFrame.cloneforpyarrow(#2288) - feat: add
cum_countandcum_prodto PySpark and DuckDB (#2286) - feat: Add
cum maxandcum_minfor DuckDB (#2278)
🐞 Bug fixes
- fix: Expr.mode broadcasting (#2280)
- ci: Remove
sqlframepin from--group typing(#2298) - fix: use specialised duckdb functions for std_pop/std_samp/var_pop/var_samp (#2289)
- fix: fixup polars join version check throwing unnecessary deprecation warning for outer join (#2287)
📖 Documentation
- docs: Expand contributing guidelines (#2309)
🛠️ Other improvements
- test: add test for shift->cum_sum (#2317)
- ci: fixup cudf test failures, support rolling_std/rolling_var/rolling_mean for pandas in grouped context (#2322)
- chore: Make
duckdbquack more likepolars(#2321) - chore: use Python API more in DuckDB (#2318)
- refactor: Add
CompliantDataFrame.from_arrow(#2306) - chore(typing): Resolve
_polars.utilsdtype ignores (#2312) - chore: Tidy up
PolarsExpr(#2313) - refactor: Add
LazyExprNameNamespace(#2311) - refactor: Add
CompliantDataFrame.from_dict(#2304) - refactor: Use
._with_*for internal API methods (#2305) - chore: Add
EagerSeries*Namespaceprotocols (#2294) - refactor: Use
.from_iterable()innew_series(#2302) - refactor:
*(Namespace|DataFrame).from_numpy(#2283) - chore: Update
._native_seriesrefs (#2293) - test: ensure
expecteddata has every column of theresultdata (#2296) - ci: fixup for duckdb pre 1.3 (#2292)
- chore: Update
._native_framerefs (#2290) - chore: always set
CompliantExpr._metadata(#2282)
Thank you to all our contributors for making this release possible!
@EdAbati, @FBruzzesi, @MarcoGorelli, @dangotbanned and @raisadz