Narwhals v1.2.0
Changes
🚀 Performance improvements
- perf: only use as_py for pyarrow when necessary (before pyarrow 13) (#724)
✨ Enhancements
- feat: arrow and dask expr
clip
method (#729) - feat: add dask
Expr.std
(#734) - feat: support reductions in lazyframe.select for Dask (#723)
- feat: DaskLazyFrame
unique
method (#726) - feat: DaskLazyFrame
join
andsort
, DaskNamespaceall
(#725) - feat: add
group_by
to dask (#718) - feat: add series and expr
clip
method (#701) - feat: Add
Expr.round
to Dask (#709) - feat: add
strip_chars
to string namespace (#715) - feat:
ArrowGroupBy.__iter__
method (#717) - feat: arrow expr
over
method (#721) - feat: dask
with_row_index
andrename
(#692) - feat: dask equality and inequality operators (#708)
- feat: add
round
to Arrow (#696) - feat: dask
any_horizontal
and generalizeall_horizontal
(#693) - feat: Dask frame
drop
method (#699) - feat: dask
schema
andcollect_schema
(#688) - feat: add dask
Expr.max
and test (#691) - feat: add dask
Expr.min
and test (#690)
🐞 Bug fixes
- patch: pandas-like and pyarrow scalar reduction fix (#716)
📖 Documentation
- docs: how it works bulletpoint indentation (#719)
- docs: Fix how-it-works, add favicon+logo (#710)
- docs: correction of
how_it_works.md
(#707) - docs: Contributing guide correction (#706)
- docs: fix todo, avoid lazyframe collect_schema warning (#687)
- docs: explain translation from narwhals api to native api (#684)
🛠️ Other improvements
- ci: fix import error from dask test (#737)
- ci: fix ci from pytest importerror (#736)
- test: improve coverage for
from_native
(dask) (#733) - test: toggle coverage for dask group_by (#732)
- chore: Factor all remaining tests out of
test_common.py
(#720) - chore: remove dask_test completely (#705)
- chore: moving most dask tests over to the main test suite (#703)
- test: mark failing dask tests, add dask to constructor (#697)
Thank you to all our contributors for making this release possible!
@DeaMariaLeon, @FBruzzesi, @MarcoGorelli, @aidoskanapyanov, @aivanoved, @amol-, @anopsy, @condekind, @lucianosrp, @mfonekpo and @mistShard