Releases: narwhals-dev/narwhals
Narwhals v1.5.3
Changes
✨ Enhancements
- feat: dask in api-completeness table (#741)
- feat: add
DaskExpr.quantile
(#835) - feat:
mean_horizontal
(#843) - feat: support
__getitem__
with slices for columns (#839)
📖 Documentation
🛠️ Other improvements
Thank you to all our contributors for making this release possible!
@DeaMariaLeon, @FBruzzesi, @MarcoGorelli and @anopsy
Narwhals v1.5.2
Changes
🐞 Bug fixes
- fix:
__array__
for pandas (pyarrow dtypes) was raising for old versions of PyArrow (#837)
Thank you to all our contributors for making this release possible!
@MarcoGorelli
Narwhals v1.5.1
Changes
✨ Enhancements
- feat: write_csv (#832)
- feat: support dtype and copy in DataFrame.array (#826)
- feat: allow for non-string columns in
select
for pandas backend (#828)
🐞 Bug fixes
- fix: improve validate columns (#829)
Thank you to all our contributors for making this release possible!
@DeaMariaLeon and @MarcoGorelli
Narwhals v1.5.0
Changes
✨ Enhancements
- feat: add
dt.to_string
toDaskExpr
(#796) - feat: add
DaskExpr.total_minutes
,total_seconds
,total_milliseconds
,total_microseconds
,total_nanoseconds
(#811) - feat: dask expr
is_unique
&is_duplicated
(#803) - feat: add
is_in
toDaskExpr
and markis_duplicated
andis_unique
as not implemented (#802)
📦 Build system
- build: Add cudf and modin to deps (#816)
🛠️ Other improvements
- test: Remove some
to_numpy
(#820) - build: Add cudf and modin to deps (#816)
- test: Remove some
to_list()
(#812) - test: Use compare dicts in is_duplicated_test (#809)
- ci: Modified drafter's labeller regex to match titles with uppercase (#807)
- chore: use compare_dict in series tests (#801)
- test: Improve
duration_attribute_tests
(#798) - chore: stable api
narwhalify
de-duplication (#799) - test: Add
cudf_constructor
to conftest (#797)
Thank you to all our contributors for making this release possible!
@DeaMariaLeon, @FBruzzesi, @MarcoGorelli, @benrutter, @lucianosrp, @luke396 and @thomasjpfan
Narwhals v1.4.2
Changes
- [pre-commit.ci] pre-commit autoupdate (#308)
✨ Enhancements
🐞 Bug fixes
- fix: cuDF compat (#794)
📖 Documentation
- docs: add Narwhals.dependencies to API reference (#791)
Thank you to all our contributors for making this release possible!
@MarcoGorelli, @anopsy, @pre-commit-ci, @pre-commit-ci[bot] and @raisadz
Narwhals v1.4.1
Changes
✨ Enhancements
- feat: add narwhals.new_series (#787)
- feat: Support Arrow PyCapsule Interface for export (#786)
- feat: improve typing for
to_pandas
/to_numpy
/to_arrow
(#783) - feat: extend dataframe
drop
method (#773)
🛠️ Other improvements
- chore: import overhaul (#788)
- chore: rename _native_dataframe to _native_frame (#785)
- chore: rename internal dtype functions (#780)
Thank you to all our contributors for making this release possible!
@FBruzzesi, @MarcoGorelli and @anopsy
Narwhals v1.4.0
Changes
🚀 Performance improvements
- perf: remove some lambdas from _dask backend (#765)
✨ Enhancements
- feat: allow
from_dict
to not have native_namespace arg if all inputs are already narwhals Series (#760) - feat: extend dataframe
drop_nulls
method (#779) - feat: implement LazyFrame.head for Dask (plus: run tpc-h q2 query with Dask present) (#768)
- feat: add
str.replace
andstr.replace_all
(#750) - feat: dask lazyframe remaining methods (#778)
- feat: dask
sum_horizontal
(#775) - feat: dask namespace
lit
method (#772) - feat:
DaskSelectorNamespace
(#771) - feat: dataframe
to_arrow
method (#770) - feat: series
to_arrow
method (#769) - feat: dask expr
is_first|last_distinct
methods (#764) - feat: dask expr
__invert__
,is_null
,n_unique
methods (#763) - feat: dask expr
len
method (#762) - feat:
Series.pipe
andExpr.pipe
(#582)
🐞 Bug fixes
- fix: empty with_columns not working for pandas backend (#757)
📖 Documentation
- docs: add Altair to "used by" section (#776)
- docs: include "downloads per month" in readme (#774)
- docs: run tpch q1 with more libraries (#759)
- docs: use animals instead of cars in example (#758)
- docs: patch
Series.cat
page (#755)
🛠️ Other improvements
Thank you to all our contributors for making this release possible!
@FBruzzesi, @MarcoGorelli, @lucianosrp and @muddi900
Narwhals v1.3.0
Changes
🚀 Performance improvements
- perf: keep
nw.len
totally lazy for dask (#749)
✨ Enhancements
- feat: Added
Expr.any
andExpr.all
to Dask (#748) - feat: arrow
__mod__
method (#618) - feat: allow tpc-h q1 to be run with Dask as backend (#747)
- feat: add NotImplementedError error for index changing methods Dask (#744)
- feat: Added
Expr.abs
to Dask (#728) - feat: add Dask
Expr.count
(#731) - feat: dask expr name namespace (#735)
- feat: add
date
to datetime namespace (#713) - feat: dask expr dunder methods (#740)
Thank you to all our contributors for making this release possible!
@FBruzzesi, @MarcoGorelli, @anopsy, @lucianosrp and @mistShard
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
Narwhals v1.1.9
Changes
🚀 Performance improvements
- perf: some comprehensions over loops (#679)
✨ Enhancements
- feat: add
fill_null
toDaskExpr
(#685) - feat: add
drop_nulls
for dask (#675) - feat: dask
columns
property &filter
method (#670) - feat: dask
select
method (#667) - feat: add year, month, day, hour, minute, second, millisecond, micros… (#666)
- feat: add
to_lowercase
,to_uppercase
,to_datetime
for dask (#665) - feat: add
ends_with
,contains
,slice
for dask (#664) - feat: Added Dask
Expr.sum
(#662)
🐞 Bug fixes
- fix: dask expr
dt.nanosecond
implementation (#678)
📖 Documentation
- doc: Made changes to the file explaining the
UserWarning
error while using pandas `group_by's (#677)
🛠️ Other improvements
- tests: add pytest-env to dev requirements (#683)
- ci: adopt uv (#682)
- chore: factor
system_info
tests outsidetest_common
(#680) - test: xfail uppecase for dask and pyarrow 11.0.0 (#672)
- chore: enable more lazy tests (#663)
Thank you to all our contributors for making this release possible!
@DeaMariaLeon, @EdAbati, @FBruzzesi, @MarcoGorelli, @aidoskanapyanov, @benrutter, @lucianosrp, @mistShard and @montanarograziano