Skip to content

Releases: narwhals-dev/narwhals

Narwhals v1.13.1

03 Nov 14:49
Compare
Choose a tag to compare

Changes

  • Revert "depr: deprecate strict in from_native / to_native in favour of pass_through" (#1311)

⚠️ Deprecations

  • depr: deprecate strict in from_native / to_native in favour of pass_through (#1308)

✨ Enhancements

  • feat: add is_into_dataframe (#1288)
  • Enh: adding automated inferencing of format %Y-%m-%dT%H:%M in pyarrow (#1292)

🐞 Bug fixes

  • fix: consistent naming of positional arguments in from_native (#1310)
  • fix: narwhals_to_native_dtype raise if polars dtype is passed (#1307)
  • fix: fixed-offset datetime weren't being parsed (#1303)
  • fix: consistent to_numpy behaviour for tz-aware (#1305)
  • fix: np.datetime64 scalar with ns resolution was become int instead of datetime in to_py_scalar (#1304)

📖 Documentation

  • docs: document Stable API changes (#1309)

🛠️ Other improvements

  • Revert "Revert "depr: deprecate strict in from_native / to_native in favour of pass_through (#1312)
  • ci: add vegafusion in ci checks (#1228)

Thank you to all our contributors for making this release possible!
@EdAbati, @FBruzzesi, @MarcoGorelli and @raisadz

Narwhals v1.12.1

29 Oct 18:05
Compare
Choose a tag to compare

Changes

✨ Enhancements

  • feat: support dataframe.columns for interchange level (#1285)

🛠️ Other improvements

  • ci: add marimo tests back (#1286)
  • ci: set pre-commit autoupdate to run monthly instead of weekly (#1281)

Thank you to all our contributors for making this release possible!
@MarcoGorelli and @raisadz

Narwhals v1.12.0

29 Oct 14:49
Compare
Choose a tag to compare

Changes

🚀 Performance improvements

  • perf: make to_py_scalar 3x faster when argument is str (#1276)

✨ Enhancements

  • feat: support columns and select for InterchangeFrame if _df is present (#1283)
  • RFC, feat: infer datetime format for pyarrow backend (#1195)
  • feat: add is_pandas_index, is_modin_index, is_cudf_index, is_pandas_like_index utility functions (#1272)
  • err: replace msg = "Please set allow_series=True" with msg = "Please set allow_series=True or series_only=True" (#1280)

🐞 Bug fixes

  • fix: from_native was sometimes raising unnecessarily with strict=False (#1274)

📖 Documentation

  • docs: Render table of contents members ordered & removed css reference (#1275)

🛠️ Other improvements

  • chore: Simplify stable api docstrings (#1278)
  • ci: test with python3.13 (#1094)

Thank you to all our contributors for making this release possible!
@DeaMariaLeon, @FBruzzesi, @MarcoGorelli, and @raisadz

Narwhals v1.11.1

28 Oct 10:35
Compare
Choose a tag to compare

Changes

✨ Enhancements

  • feat: add .select (by str) for duckdb and ibis backend (#1266)
  • feat: better error message for duplicate column names in pandas (#1270)
  • feat: expose generate_temporary_column_name (#1264)

🐞 Bug fixes

  • fix: remove _dtype_cache for pandas-like so that inplace modification… (#1268)
  • fix: Cudf groupby iter (#1265)

Thank you to all our contributors for making this release possible!
@FBruzzesi and @MarcoGorelli

Narwhals v1.11.0

27 Oct 15:57
Compare
Choose a tag to compare

Changes

🚀 Performance improvements

  • perf: improve performance of Series.dtype and DataFrame.schema for pandas-like (#1255)
  • perf: avoid redundant copies when resetting index for pandas (#1252)
  • perf: always use copy=False when doing rename for pandas (#1247)
  • perf: pandas-like fastpath in maybe_reset_index (#1246)

✨ Enhancements

  • feat: Add total seconds implementation for cuDF (#1188)
  • feat: add drop_null_keys argument to group_by (#1257)

📖 Documentation

  • docs: add duckdb to docs (#1261)
  • docs: fix parameters table rendering in quantile docs (#1251)
  • docs: zen dedicated doc page (#1243)
  • docs: Wimsey added to project list in Readme (#1242)
  • docs: DataFrame conversion tutorial (#1240)

🛠️ Other improvements

  • test: xfail cudf failures (#1259)
  • test: get groupby tests passing for pandas 1.0.x (#1253)
  • test: update cudf xfails based on latest version (#1250)
  • test: only test dask with partitions=2 for now (#1248)
  • ci: add tubular in ci checks (#1211)
  • chore: make module versions as constants for use in tests (#1235)

Thank you to all our contributors for making this release possible!
@AlessandroMiola, @FBruzzesi, @LiamConnors, @MarcoGorelli, @benrutter, and @vincentarelbundock

Narwhals v1.10.0

21 Oct 07:55
Compare
Choose a tag to compare

Changes

  • bug: fix pyarrow to_date (#1216)
  • simplify marimo in downstream_tests.yml (#1214)
  • Simplify return function in _pandas_like.utils.py (#1204)

🚀 Performance improvements

  • perf: move maybe_evaluate_expr out of for loop in reuse_series_implementation (#1217)

✨ Enhancements

  • feat: add is_into_series (#1215)
  • enh: add dt.timestamp (#1220)
  • feat: add to_py_scalar (#1194)

🐞 Bug fixes

  • fix: flaky test on polars==0.20.30 (#1231)
  • fix: Add df.rows(named=False) support for cuDF data frames (#1186)

📖 Documentation

  • docs: Pyarrow example docstrings for Expr and stable v1 API (#1218)
  • doc: add note about cuDF tests in contributing guide (#1227)
  • docs: update installation.md (#1221)
  • docs: move index to start of API reference (#1213)
  • doc: Add uv to quick start (#1169)
  • docs: Add Pyarrow example to Expr.mean (#1207)
  • docs: add 'commotion' to Zen (#1208)

🛠️ Other improvements

  • chore: refactor compare_dicts (#1224)
  • chore: series and expr namespaces typing with generics (#1232)
  • chore: nox doctests only in Python 3.12 (#1222)
  • chore: use constructors (#1210)
  • test: xfail iter_rows tests for cudf (#1209)
  • chore: tests cleanup and add from __future__ import annotations (#1206)

Thank you to all our contributors for making this release possible!
@CarloLepelaars, @DeaMariaLeon, @EdAbati, @FBruzzesi, @LiamConnors, @MarcoGorelli, @artiom-matvei, @luke396, @mscolnick, @raisadz and @schloerke

Narwhals v1.9.4

17 Oct 11:22
Compare
Choose a tag to compare

Changes

✨ Enhancements

  • feat: add from_arrow (which uses the PyCapsule Interface) (#1181)
  • feat: Add 'IntoSeries' (#991)
  • feat: add ConstructorEager type (#1091)
  • feat: Adding allow inspecting inner fields of nw.Struct (#1192)
  • feat: add The Zen of Narwhals (#1168)
  • feat: add <min|max>_horizontal (#1148)

🐞 Bug fixes

  • fix: add __native_namespace__ for interchange support dataframes (#1172)

📖 Documentation

  • docs: Update CONTRIBUTING.md with Python 3.12 (#1197)

🛠️ Other improvements

  • test: update cuDF tests (#1196)
  • ci: only check doctests on Python3.12 (#1189)
  • ci: add downstream tests for marimo (#1166)
  • chore: Delete tpch/notebooks directory (#1180)
  • test: unxfail test_unary for dask (#1174)
  • ci: try fixup bump-version.yml (#1171)
  • ci: bump version workflow (#1063)
  • chore: Use shiny's Makefile to allow for test commands to change over time (#1161)

Thank you to all our contributors for making this release possible!
@AlessandroMiola, @ChinoUkaegbu, @DeaMariaLeon, @FBruzzesi, @LiamConnors, @MarcoGorelli, @dependabot, @dependabot[bot], @lucianosrp, @luke396, @raisadz and @schloerke

Narwhals v1.9.3

11 Oct 12:24
Compare
Choose a tag to compare

Changes

✨ Enhancements

  • enh: Add .rows(named=False) support for pyarrow (#1155)

🐞 Bug fixes

  • fix: make Series.scatter always return new series (#1159)

📖 Documentation

  • docs: Used by marimo (#1162)
  • docs: separate out DataFrame and LazyFrame in api-completeness (#1157)

Thank you to all our contributors for making this release possible!
@AlessandroMiola, @Cheukting, @MarcoGorelli, @akshayka and @schloerke

Narwhals v1.9.2

09 Oct 07:30
Compare
Choose a tag to compare

Changes

🚀 Performance improvements

  • perf: Impove pandas-backend indexing (#993)

✨ Enhancements

  • feat: add dt.replace_time_zone (#1142)
  • feat: allow format=None in str.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

04 Oct 14:54
Compare
Choose a tag to compare

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