Skip to content

Releases: narwhals-dev/narwhals

Narwhals v1.2.0

07 Aug 18:31
Compare
Choose a tag to compare

Changes

  • Feat: Series.shift Pyarrow Backend Implementation (#590)
  • move over dask dt attributes tests (#704)

🚀 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 and sort, DaskNamespace all (#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 and rename (#692)
  • feat: dask equality and inequality operators (#708)
  • feat: add round to Arrow (#696)
  • feat: dask any_horizontal and generalize all_horizontal (#693)
  • feat: Dask frame drop method (#699)
  • feat: dask schema and collect_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

30 Jul 16:27
Compare
Choose a tag to compare

Changes

  • Feat: Dask filter and and method added (#676)
  • bug: fix iter_rows inconsistency in pandas (#671)

🚀 Performance improvements

  • perf: some comprehensions over loops (#679)

✨ Enhancements

  • feat: add fill_null to DaskExpr (#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 outside test_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

Narwhals v1.1.8

28 Jul 15:23
Compare
Choose a tag to compare

Changes

  • skip changelog(deps): bump sigstore/gh-action-sigstore-python from 2.1.1 to 3.0.0 (#634)
  • skip changelog(deps): bump actions/setup-python from 4 to 5 (#633)
  • removed utils/check_backend_completeness.py (#628)

🚀 Performance improvements

  • perf: optimizing arrow to_dummies (#627)

✨ Enhancements

  • feat: add collect for dask (#651)
  • feat: added dask Expr.__sub__ (#643)
  • feat: add starts_with for dask (#648)
  • feat: add is_between for dask (#642)
  • feat: added dask Expr.__mul__ and test cases (#644)
  • feat: add cum_sum for dask (#641)
  • feat: add shift for Dask Dataframe (#638)
  • feat: Add initial (and very minimal) support for Dask.DataFrame (#635)

🐞 Bug fixes

  • fix: fix dask version in dask backend (#640)
  • fix dask typo (#639)

🛠️ Other improvements

  • chore: remove some pyarrow xfails from tests, further split up (#660)
  • chore: enable more lazy tests (#658)
  • chore: factor test_std outside test_common (#657)
  • chore: enable more lazy tests (#656)
  • chore: rename constructor -> constructor_eager, constructor_lazy -> constructor (#654)
  • chore: factor test_schema and test_collect_schema out of test_common (#655)
  • chore: More lazy vs eager separation (#653)
  • chore: split eager-only and eager+lazy tests a bit (#652)
  • chore: use constructor instead of constructor_series in tests more (#650)
  • chore: replace constructor_series with constructor (#649)
  • chore: replace constructor_with_series with constructor in gather_every_test (#646)
  • ci: Add dependabot (#632)
  • chore: allow unknown/extension namespaces for from_dict function (#626)

Thank you to all our contributors for making this release possible!
@DeaMariaLeon, @FBruzzesi, @MarcoGorelli, @aidoskanapyanov, @anopsy, @dependabot, @dependabot[bot], @montanarograziano and @ugohuche

Narwhals v1.1.7

25 Jul 20:18
Compare
Choose a tag to compare

Changes

✨ Enhancements

  • feat: gather_every methods (#619)
  • feat: raise informative error if getitem is used in unsupported manner (#624)
  • feat: allow slicing by tuple of sequences of ints (#622)
  • feat: arrow datetime namespace (#616)

📖 Documentation

  • docs: replace df_any/s_any with df/s (#621)

🛠️ Other improvements

  • chore: factor test_empty_select out of test_common (to existing select_test.py) (#617)
  • ci: improve release process (#615)

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

Narwhals v1.1.6

24 Jul 14:51
Compare
Choose a tag to compare

Changes

  • cleaning: remove series.is_between from backend completness (#612)

🚀 Performance improvements

  • perf: remove as_py from _arrow implementation wherever possible (#597)

✨ Enhancements

  • feat : added arrow is_between and is_between_test.py (#609)
  • feat: add schema argument to from_dict function (#606)
  • feat: any_horizontal function (#605)
  • feat: add from_dict (#602)
  • feat: arrow namespace reduction functions (#601)
  • feat: arrow quantile method (#600)
  • feat: pyarrow dataframe iter_rows (#596)
  • feat: Series.value_count spec enhancement (#583)
  • feat: allow non-string columns names more for pandas (#595)
  • feat: add nulls_last argument in Series/Expr.sort (#580)

🐞 Bug fixes

  • fix: correct Polars version check for pl.len function (#607)

📖 Documentation

  • docs: fix typo in README, update roadmap + related projects (#613)
  • docs: document PyArrow as "full" support (#604)

🛠️ Other improvements

  • chore: extend Implementation for all backends (#608)
  • chore: remove some unnecessary flattens (#599)
  • chore: reoder definitions in from_native (#598)

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

Narwhals v1.1.5

23 Jul 15:14
Compare
Choose a tag to compare

Changes

🚀 Performance improvements

  • perf: fastpath for simple select in pandas-like (#587)

🛠️ Other improvements

  • chore: factor drop_test out of test_common (#586)
  • chore: factor concat_test out of test_common (#585)
  • chore: factor item_test out of test_common (#584)
  • ci: add polars specifier to ibis-framework dependency (#591)
  • ci: fix hypothesis failure, remove ibis from tests (#592)

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

Narwhals v1.1.4

22 Jul 18:36
Compare
Choose a tag to compare

Changes

  • Add additional sponsors and institutional partners to README (#573)
  • bug: fix Series.__getitem__ typing (#569)

✨ Enhancements

  • feat: Series.to_dummies, arrow sort and unique (#577)
  • feat: add arrow value_counts (#576)
  • feat: add Series.drop nulls for pyarrow (#542)
  • feat: pyarrow series descriptive methods (#570)
  • feat: add DataFrame__contains__, Expr.arg_true, and Series.arg_true (#568)

📖 Documentation

  • docs: api completeness (#530)

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

Narwhals v1.1.3

21 Jul 13:31
Compare
Choose a tag to compare

Changes

✨ Enhancements

  • feat: Implement n_unique for pyarrow (#556)
  • feat: ExprNameNamespace (#552)
  • feat: arrow unique, is_duplicated, is_unique (#565)
  • feat: implement truediv for pyarrow (#564)
  • feat: add __floordiv__ and __rfloordiv__ for pyarrow (#544)
  • feat: arrow selectors (#562)
  • feat: arrow string namespace(s) (#551)
  • feat: arrow join methods (#558)

📖 Documentation

  • docs: docstrings narwhalify-cation (#559)
  • docs: reword "related projects" section, remove all Ibis comparisons (#563)

🛠️ Other improvements

  • chore: Factor out _polars from top-level Narwhals modules (i.e.: the mother of all refactors!) (#561)
  • chore: rename internal extract_native function (#560)

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

Narwhals v1.1.2

19 Jul 15:20
Compare
Choose a tag to compare

Changes

  • added arrow is_in, changed the names of test folders (#545)

✨ Enhancements

  • feat: arrow series sample (#550)
  • feat: arrow series zip_with (#548)

📖 Documentation

  • docs: add note about funding to readme (#554)
  • docs: fix link for community cal (#553)

🛠️ Other improvements

  • chore: refactor agg_arrow (#549)

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

Narwhals v1.1.1

16 Jul 20:19
Compare
Choose a tag to compare

Changes

✨ Enhancements

  • feat: allow nw.len in groupby for arrow (#540)
  • feat: add len to pyarrow series and expr (#538)
  • feat: ArrowExprCatNamespace (#536)
  • feat: add is_null and __invert__ to pyarrow series (#534)
  • enh: ruff S rule fix (#526)
  • feat: implement Series.sum for pyarrow (#495)
  • feat: pyarrow concat (#525)
  • feat: pyarrow lit (#524)

📖 Documentation

  • ci: fix exception in code snippet, add check to CI (#532)

🛠️ Other improvements

  • ci: actually use pandas nightly in pandas-nightly build (#539)
  • ci: remove [dev] from sklego install (#535)
  • chore: ruff rules (#527)
  • ci: add downstream tests for altair + scikit-lego (#533)
  • ci: fix exception in code snippet, add check to CI (#532)
  • test: conftest constructors refactoring (#515)

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