Narwhals v1.21.0
Changes
- fix: always pass Column to pandas.spark.functions (#1712)
- tests: add 'core' to nox dependencies (#1713)
- feat: add
weekday
to Pandas, Dask and Arrow dt namespaces (#1680) - Link to Avoiding the UserWarning error while using Pandas group_by page when warning is thrown (#1683)
✨ Enhancements
- feat: Implement partial "lazy" support for DuckDB (even with this PR, DuckDB support is work-in-progress!) (#1725)
- feat: validate library minimum version in compliant objects (#1727)
- feat: enable to cast to
Struct
dtype (#1717) - feat: Expressify
clip
arguments (#1709) - feat: add is_nan expression & series method (#1625)
- feat: show native object (if possible) in repr (#1702)
- feat: add
sum
andsum_horizontal
forSparkLike
(#1693) - feat: add some
SparkLikeLazyFrame
methods (#1633)
🐞 Bug fixes
- fix: fix broken link from warning (#1732)
- fix: nw.lit(date, dtype=nw.Date), loosen Dask minimum back to 2024.8 (#1730)
- chore: simplify definitions of rhs expressions, bump dask minimum to 2024.10 (#1720)
- fix: dask group by with kwargs (#1676)
- fix:
DaskLazyFrame
andArrowDataFrame
.with_row_index
column order (#1706) - fix: scalar reductions on empty inputs (#1715)
- fix: remove
maintain_order
from LazyFrame.unique (#1687) - fix: modin dtype interoperability (#1692)
- fix: Dask was raising for scalar vs Series binary operations (#1684)
- fix: casting to List for cudf (#1686)
📖 Documentation
- docs:
Expr
method' docstrings (#1733) - docs: let
nw.LazyFrame
docstrings examples run on Polars and Dask only (#1700) - docs: update null handling page with
is_nan
reference (#1716) - docs: add spark-like in backend completeness (#1710)
- docs:
Series
method' docstrings (#1699) - docs:
DataFrame
method' docstrings (#1688)
🛠️ Other improvements
- test: catch some cudf failures (#1735)
- chore: refactor root_names and output_names tracking (#1731)
- tests: remove unnecessary pytest filterwarnings (#1691)
- chore: remove some lazy tests (#1719)
- fix: Catch cuDF warning for concat with empty elements, and ComputeError for non-float is_nan (#1718)
- chore: use
None
instead offloat('nan')
to check for null values in tests (#1697) - test: allow to run tests for Polars[gpu] (#1698)
- test: Make constructors configurable when running tests (#1694)
Thank you to all our contributors for making this release possible!
@AlessandroMiola, @DeaMariaLeon, @EdAbati, @FBruzzesi, @MarcoGorelli, @camriddell, @dependabot, @dependabot[bot], @lucas-nelson-uiuc and @lucianosrp