Releases: narwhals-dev/narwhals
Narwhals v1.9.3
Changes
✨ Enhancements
- enh: Add
.rows(named=False)
support for pyarrow (#1155)
🐞 Bug fixes
- fix: make Series.scatter always return new series (#1159)
📖 Documentation
Thank you to all our contributors for making this release possible!
@AlessandroMiola, @Cheukting, @MarcoGorelli, @akshayka and @schloerke
Narwhals v1.9.2
Changes
🚀 Performance improvements
- perf: Impove
pandas
-backend indexing (#993)
✨ Enhancements
- feat: add dt.replace_time_zone (#1142)
- feat: allow
format=None
instr.to_datetime
(#1145) - feat:
concat_str
(#1128) - feat: allow inspecting the inner type / length of nw.Array (#1136)
🐞 Bug fixes
- fix: when-then-otherwise lit string for arrow backend (#1137)
- fix: pyarrow unpivot upcast numeric (#1140)
- fix: update no_agg to work with cuDF (#1138)
- fix: fixing unnesscary raise of mean_horizontal (#1082)
📖 Documentation
- docs: apply further changes to api reference (#1150)
- docs: add missing methods in api reference (#1144)
- docs: add missing Series str methods in api reference (#1143)
- docs: fix small docs typo (#1141)
🛠️ Other improvements
- test: xfail test_unpivot_mixed_types for cuDF (#1153)
Thank you to all our contributors for making this release possible!
@AlessandroMiola, @Cheukting, @DeaMariaLeon, @FBruzzesi, @LiamConnors, @MarcoGorelli, @aivanoved, @pre-commit-ci and @pre-commit-ci[bot]
Narwhals v1.9.1
Changes
✨ Enhancements
- feat:
Series.str.to_datetime
(#1131) - feat: make typing available under narwhals.stable.v1 (#1130)
- feat: add
nulls_last
kw in dataframe sort (#1124)
🐞 Bug fixes
- fix: Fix
DataFrame.__getitem__
when slicing with tuple and null slice (#1123)
📖 Documentation
- docs: add Ibis to "related projects" (#1126)
- docs: correct python bytes description (#1115)
- docs: fix some docs issues (#1114)
- docs: assorted docs updates (#1109)
🛠️ Other improvements
- ci: add py-shiny to downstream tests (#1132)
- test: xfail test_actual_object for cuDF (#1129)
- test: xfail tz_aware test for cuDF (#1118)
- test: xfail empty string test in
test_unpivot
(#1113)
Thank you to all our contributors for making this release possible!
@FBruzzesi, @LiamConnors, @MarcoGorelli and @raisadz
Narwhals v1.9.0
Changes
- ci: add name-tests-test to pre-commit (#1093)
✨ Enhancements
- feat: allow inspecting the inner type of List (#1104)
- feat: add
maybe_reset_index
for pandas-like dataframe or series (#1095) - feat:
Datetime(time_unit, time_zone)
andDuration(time_unit)
types (#960) - feat: add dtypes to stable api (#1087)
🐞 Bug fixes
- fix: Specialize typing in
dataframe
betweenFrame
andDataFrame
(#1030) - fix:
PandasLikeSeries.zip_with
scalar value andDaskNamespace.when
(#1099) - fix:
drop_nulls
with subset of length>1 (#1090) - fix: make
narwhalify
part of stable api (#1086)
📖 Documentation
- doc: add pyarrow to DataFrame docstring (#1097)
- docs: Added new logo (#1085)
- docs: add pyarrow to dataframe lazy docstring (#1055)
🛠️ Other improvements
- chore: Refactor validate_column_comparand (#1102)
- test: xfail __iter___test for cuDF (#1106)
- test: update check for cuDF series (#1105)
- test: allow cuDF series in compare_dicts (#1100)
- test:
xfail
test using None onto_numpy
for cuDF (#1092) - chore: rename translate_dtype to native_to_narwhals_dtype (#1089)
Thank you to all our contributors for making this release possible!
@DeaMariaLeon, @FBruzzesi, @LiamConnors, @MarcoGorelli, @V-Alizade, @luke396 and @raisadz
Narwhals v1.8.4
Changes
✨ Enhancements
- feat: Initial support for nested dtypes (List, Array, Struct) (#1083)
- feat: add
DataFrame|LazyFrame.unpivot
method (#1043) - feat: add
to_pandas
andto_arrow
for interchange level of support (#1066) - feat: add
series.rename
(#1073) - feat: Adding nth() for selecting columns (#1044)
🐞 Bug fixes
- fix: fixing
nw.all()
doesn't work in sum_horizontal (#1075) - fix: pandas and dask group by
observed=True
(#1079) - fix: add cuDF specific implementation for join how="anti" (#1056)
🛠️ Other improvements
- chore:
get_<dependency>
cleanup (#1074) - ci: Added PR labels so the Release Drafter ignores evil bots (#1069)
- ci: delete all local tags before making release (#1062)
Thank you to all our contributors for making this release possible!
@Cheukting, @DeaMariaLeon, @FBruzzesi, @LiamConnors, @MarcoGorelli and @raisadz
Narwhals v1.8.3
Changes
- [pre-commit.ci] pre-commit autoupdate (#1052)
- Implementing to_native in lazyframe (#1025)
- Add pyarrow to_csv docstring (#1027)
- Extensions page improvement (#1024)
- Only run tests located in the tests directory (#1015)
- add PyArrow usage example in docstrings
DataFrame.columns
(#1010)
🚀 Performance improvements
- test: use pytest-randomly, recommend pytest-xdist in docs (#1019)
- perf: low-hanging overhead (#1034)
✨ Enhancements
- feat: add
Series.__iter__
(#1057) - feat: add
Series.dtype
return annotation (#1049) - feat: improve Series repr (#1038)
- feat: add
str.len_chars
(#1036) - feat: adding to_native to dataframe (#1014)
- feat: adding to_native to Series (#1020)
🐞 Bug fixes
- fix: move
__len__
toDataFrame
only (#1053) - fix: add cuDF specific implementation for join how="anti" (#1041)
- fix: tuple supported for getitem for Pandas dataframes (#1026)
- fix: generate backend table (#1035)
- fix: polars getitem on polars==0.20.30 (#1032)
- fix: package dependency added pyarrow in docs (#1029)
📖 Documentation
- docs: add pyarrow example for dataframe getitem and to_dict (#1033)
- docs: add dtypes check in
utils/check_api_reference.py
(#983) - docs: Add DataFrame.pipe to API completeness table (#1021)
- docs: Update contributing guidelines (#1031)
- docs: Include PyArrow in Tutorial/Series (#1022)
- docs: include PyArrow in Tutorial/DataFrame (#1016)
- docstrings pyarrow support for dataframe.to_pandas() (#1018)
- docs: Add pyarrow example to Installation guide (#1023)
- docs: add pycapsule interface to related projects #1011 (#1017)
🛠️ Other improvements
- fix: add cuDF specific implementation for join how="anti" (#1041)
- test: xfail
test_group_by_n_unique_w_missing
for cuDF (#1039) - test: use pytest-randomly, recommend pytest-xdist in docs (#1019)
- test: add specific check for cuDF for test_to_datetime (#995)
- chore: removing docs/generate_members.py (#1012)
Thank you to all our contributors for making this release possible!
@Cheukting, @Dosenpfand, @FBruzzesi, @HeitCunha, @Jupetus, @LiamConnors, @MarcoGorelli, @MathiasHolmstrom, @Morena1996, @TNieuwdorp, @V-Alizade, @anopsy, @gauthierpiarrette, @jeroenjanssens, @juanchodpg2, @lucianosrp, @mattcristal, @mikeweltevrede, @pre-commit-ci, @pre-commit-ci[bot], @sTomerG, @summerscope and @thomend
Narwhals v1.8.2
Changes
- Bug:
__getitem__
check for edge cases such as subsetting 0 rows or 0 columns (#994) - skip changelog(deps): bump astral-sh/setup-uv from 2 to 3 (#985)
- [pre-commit.ci] pre-commit autoupdate (#984)
- [pre-commit.ci] pre-commit autoupdate (#936)
- Replace assert with raise (#980)
📖 Documentation
🛠️ Other improvements
- test: convert cuDF numpy types to python types in tests (#987)
- test: add tests to check case sensitive regex for str.contains (#986)
- test: xfail case insensitive regex tests for cuDF (#982)
Thank you to all our contributors for making this release possible!
@LiamConnors, @MarcoGorelli, @atulchhotray, and @raisadz
Narwhals v1.8.1
Changes
- Bug: add conversion from slice to array for selecting rows in pyarrow
__getitem__
(#978) - Debug nightly (#964)
✨ Enhancements
📖 Documentation
- doc: Remove unnecessary paragraph in complete_example.md (#969)
🛠️ Other improvements
- test: remove xfail for cudf_constructor on
str_to_uppercase
test (#976) - chore: some TODO's cleanup (#970)
- test: xfail cuDF tests that use iteration (#967)
- ci: fixup nightlies (#966)
- ci: only run nightlies on pushes to main (#965)
- ci: enable uv cache, use astral-sh official action (#956)
Thank you to all our contributors for making this release possible!
@FBruzzesi, @LiamConnors, @MarcoGorelli, @aidoskanapyanov, @luke396 and @raisadz
Narwhals v1.8.0
Changes
- clean: Assorted cleanups (#958)
- Bug: fix an issue with string keys in left and semi joins in Dask, add Dask to tpch benchmarks (#957)
- bug: add support for PyArrow: multi-element
__getitem_
_ (#949)
✨ Enhancements
- feat: Dask multiple partitions (#940)
📖 Documentation
- docs: update docstring to fix rendering in generated docs (#952)
🛠️ Other improvements
- test: replace type
Any
for constructor in all tests (#962) - test: replace
Any
type withpytest.FixtureRequest
forrequest
inputs in all tests (#961) - test: xfail cuDF tests for
join_asof
(#959) - ci: unxfail some modin tests (#954)
- test: xfail polars>1.7.0
Expr.mode
with broadcast (#953) - test: xfail cuDF tests that use
total_seconds
(#951)
Thank you to all our contributors for making this release possible!
@FBruzzesi, @LiamConnors, @MarcoGorelli and @raisadz
Narwhals v1.7.0
Changes
- support
__getitem__
with single tuple of column names (#935)
✨ Enhancements
🐞 Bug fixes
- fix: group by no aggregation (#944)
- fix: Update
copy
param onto_numpy
to default toTrue
for cuDF (#937)
📖 Documentation
- doc: update docstrings to fix rendering in generated docs (#946)
- docs: add
appears on
section with links to relevant podcasts/blogs (#941) - docs: fix docstring formatting on
maybe_align_index
(#938)
🛠️ Other improvements
- test: xfail
to_dummies
withdrop_first
test for cuDF (#945) - chore: ban dask filtering with boolean mask (#939)
- test: always run tpch tests (#933)
Thank you to all our contributors for making this release possible!
@FBruzzesi, @LiamConnors, @MarcoGorelli, @aidoskanapyanov and @raisadz