Narwhals v1.35.0
Changes
💥 Breaking changes
- Fix: Align
Series.hist
with new Polars behaviour (#2374) - feat!: disallow
concat(..., how="horizontal")
forLazyFrame
(#2341)
🚀 Performance improvements
- perf: Only use first element to sniff types in sequences in
__getitem__
andfilter
(#2384)
✨ Enhancements
- feat: Remove "unstable" marking from rolling_* and ewm_mean (#2378)
- feat: Add support for 'ordinal', 'max', 'average' in
DuckDBExpr.rank
(#2319) - feat!: disallow
concat(..., how="horizontal")
forLazyFrame
(#2341) - feat: unify exception for nested
over
statements, nested aggregations, filtrations on aggregations, document expression metadata better (#2351) - feat(typing): Add
polars
literal aliases (#2352)
🐞 Bug fixes
- fix:
DuckDBLazyFrame.rename
using python API (#2382) - Fix: Align
Series.hist
with new Polars behaviour (#2374) - fix:
nw.len().over
was unnecessarily raising for pandas-like (#2372)
📖 Documentation
- feat: unify exception for nested
over
statements, nested aggregations, filtrations on aggregations, document expression metadata better (#2351) - feat(typing): Add
polars
literal aliases (#2352)
🛠️ Other improvements
- test: xfail cudf where necessary (#2386)
- chore: use nw_v1 / nw naming consistently in tests (#2379)
- refactor: Simplify
PandasLikeNamespace.concat
(#2368) - chore!: use Python API more for DuckDB support (#2370)
- test: use skip tests on old versions instead of xfailing, print slowest tests (#2375)
- chore: prepare tests for v2 (#2380)
- ci: Run PySpark selectively (#2366)
Thank you to all our contributors for making this release possible!
@FBruzzesi, @MarcoGorelli, @camriddell, @dangotbanned and @marvinl803