Skip to content

Narwhals v1.24.0

Compare
Choose a tag to compare
@github-actions github-actions released this 27 Jan 09:59
· 40 commits to main since this release

Changes

  • docs: fix api completness generation in CI (#1863)

✨ Enhancements

  • feat: pyspark and duckdb selectors (#1853)
  • feat: completely refactor alias tracking and support nw.all, nw.nth, and selectors across the API (#1866)
  • feat: raise if expression changes length in .over() (#1867)
  • feat: add DuckDB join_asof (#1860)
  • feat: allow any ddof value for duckdb var and std (#1858)
  • feat: add DuckDB Struct dtype (#1851)
  • feat: add DuckDB list.len method (#1850)
  • feat: enforce that group-by aggregations actually aggregate (#1844)
  • feat: add mean_horizontal for DuckDB (#1846)

🐞 Bug fixes

  • fix: support various reductions in pyspark (#1870)
  • fix: address & / | operator errors for PySpark / chore: use F.lit in maybe_evaluate for pyspark, like we do for duckdb (#1872)
  • fix: allow any name in expression parsing (#1871)
  • fix: nw.selectors.by_dtype(nw.Datetime) was excluding tz-aware for Polars (#1869)
  • patch: fix duckdb narwhals_to_native_dtype for Int32 and UInt32 (#1857)
  • fix: raise on selectors addition (#1854)
  • fix: rename ewm and rolling min_periods to min_samples for polars 1.21 compatibility (#1864)
  • fix: address & / | operator errors for PySpark / chore: use F.lit in maybe_evaluate for pyspark, like we do for duckdb (#1872)

🛠️ Other improvements

  • test: skip Ibis tests if deps aren't installed, set defaults in PandasLikeSeries.__array__ to fix cuDF is_in (#1862)
  • chore: parse strings as columns names at narwhals-level (#1856)
  • chore: some typing and default removal (#1852)
  • chore: validate expressions shape at narwhals/expr.py level (#1845)
  • chore: simplify internal renaming in _pandas_like/series.py (#1847)

Thank you to all our contributors for making this release possible!
@FBruzzesi, @MarcoGorelli and @raisadz