Skip to content

Releases: narwhals-dev/narwhals

Narwhals v1.14.2

23 Nov 15:03
Compare
Choose a tag to compare

Changes

✨ Enhancements

  • feat: improve error message when casting to invalid type (#1429)
  • feat: add support for Series|Expr.skew method (#1173)
  • feat: make sure from narwhals.stable.v1.dependencies import works (#1430)
  • feat: support constraints in DataFrame.filter (#1417)
  • feat: add Expr|Series.rolling_mean method (#1290)

🐞 Bug fixes

  • fix: return Python bool instead of pyarrow boolean scalar for Series reductions (#1432)
  • fix: correct minimum Polars version for ewm_mean (#1415)

📖 Documentation

  • docs: use type hints + from_native/to_native in dataframe.py (#1425)
  • docs: explain optional boolean args in from_native (#1421)
  • docs: Add documentation for LazyGroupBy (#1423)
  • docs: add Plotly to the list of projects using Narwhals in README.md (#1418)
  • docs: use type hints + from_native/to_native in dataframe.py (#1411)
  • docs: use type hints + from_native/to_native in series.py (#1408)
  • docs: add vegafusion to "used by" on readme (#1409)
  • docs: use from_native / to_native in series.py (#1406)
  • docs: use boolean columns in any/all horizontal docstrings (#1403)
  • docs: use from_native / to_native in expr.py (#1404)

🛠️ Other improvements

  • ci: temporarily pin olama (#1422)
  • fix: correct minimum Polars version for ewm_mean (#1415)

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

Narwhals v1.14.1

19 Nov 11:18
Compare
Choose a tag to compare

Changes

✨ Enhancements

  • feat: Adding ewm_mean (#1298)
  • feat: add Series|Expr.rolling_sum method (#1395)

🐞 Bug fixes

  • fix: remove rogue "t" in ColumnNotFoundError (#1398)

🛠️ Other improvements

  • ci: add plotly to downstream tests (#1376)
  • ci: prevent ibis from setting upper bounds (where possible) (#1399)

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

Narwhals v1.14.0

18 Nov 11:05
Compare
Choose a tag to compare

Changes

✨ Enhancements

  • feat: add Series|Expr.is_finite method (#1341)
  • feat: make exceptions module public (#1391)
  • feat: consistently raise ColumnNotFoundError for missing columns in select and drop (#1389)
  • feat: add Series|Expr.cum_prod method, add reverse kw in cum_sum method (#1386)
  • feat: add Series|Expr cum_min and cum_max methods (#1384)
  • feat: Improve error message when comparing Series with list literal, or when using multi-output expressions in unsupported context (#1382)
  • feat: add Series|Expr.cum_count method (#1380)

📖 Documentation

  • docs: add missing description for left join strategy (#1396)
  • docs: pandas boolean content tabs (#1394)
  • docs: Add page about pandas booleans (#1392)
  • docs: Show ExprT as return type for Expr namespaces (#1388)
  • docs: Start using Darglint (#1387)
  • docs : docstrings examples - dtypes (#1121)
  • docs: Document more return types (#1381)
  • docs: Avoid copying >>> and ... from clipboard (#1375)

🛠️ Other improvements

  • chore: update InvalidIntoExprError to mention nw.lit (#1393)
  • chore: Consistent invalid IntoExpr error (#1379)
  • feat: consistently raise ColumnNotFoundError for missing columns in select and drop (#1389)
  • chore: suggest to add issue number in pr template (#1378)
  • chore: More Polars typing, update 'used by', link to roadmap (#1377)
  • chore: cleanup tpch execute (#1374)

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

Narwhals v1.13.5

13 Nov 12:43
Compare
Choose a tag to compare

Changes

🚀 Performance improvements

  • perf: simplify pandas-like with_columns (#1366)

✨ Enhancements

  • feat: add DataFrame.pivot for pandas like and Polars backend (#546)

🐞 Bug fixes

  • fix: pandas and arrow to_dummies with nulls (#1040)

📖 Documentation

  • docs: improve new_series docstring (#1365)

🛠️ Other improvements

  • test: unxfail test_to_dummies_drop_first_na for cudf (#1364)
  • chore: More typing in _polars (#1363)
  • chore: Improve typing in _polars/utils (#1358)
  • chore: add issue_deprecation_warning to generate_unique_token function (#1359)
  • chore: refactor ArrowDataFrame.with_columns (#1345)

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

Narwhals v1.13.4

12 Nov 15:09
Compare
Choose a tag to compare

Changes

🚀 Performance improvements

  • perf: Prefer getitem instead of loc for selecting multiple columns in pandas-like (#1355)
  • perf: replace loc with getitem in Dask (#1356)

✨ Enhancements

  • feat: support passing index object directly into maybe_set_index (#1319)
  • feat: add more parameters to the fill_null method (#1149)
  • feat: Adding support for Expr.map_batches (#1269)
  • feat: pyarrow automated inference of format %Y%m%d%H%M%S (#1326)
  • feat: add support for median (#1212)
  • feat: allow mapping in replace_strict method (#1340)

🐞 Bug fixes

  • fix: remove TODO in PandasLikeDataFrame.to_dict (#1352)
  • fix: Fix nw.lit out names (#1347)

📖 Documentation

  • docs: used by tabmat (#1339)

🛠️ Other improvements

  • test: fix docstrings tests in CI (#1354)
  • test: remove cuDF xfail for tests/series_only/to_list_test.py::test_to_list (#1353)
  • chore: Rename some internals (#1351)
  • ci: remove dask from tpch tests (#1348)
  • ci: pin websockets, fixup 3.13 doctests, remove unnecessary xfail (#1343)
  • test: Add a hypothesis test for getitem (#1098)

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

Narwhals v1.13.3

08 Nov 15:30
Compare
Choose a tag to compare

Changes

  • enabled inventory for intersphinx (#1330)

🚀 Performance improvements

  • perf: improve ArrowGroupBy.__iter__ performances (#1334)

✨ Enhancements

  • feat: add replace and replace_strict (#1327)
  • feat: support to_list for cudf, note limitations (#1335)
  • feat: add maintain_order to Expr.unique and Series.unique (#1333)

📖 Documentation

  • docs: add "returns" documentation to functions.py (#1331)
  • docs: update README with entry in Appears on section (#1332)

🛠️ Other improvements

  • ci: trigger slow downstream libraries tests suites before release (#1321)

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

Narwhals v1.13.2

05 Nov 11:48
Compare
Choose a tag to compare

Changes

  • expand "used by" (#1317)

🚀 Performance improvements

  • perf: improve with_columns for pandas-like when using nw.lit (#1324)

📖 Documentation

  • docs: add note about conversion as if from utc in convert_time_zone (#1320)

Thank you to all our contributors for making this release possible!
@MarcoGorelli, @pre-commit-ci and @pre-commit-ci[bot]

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