Skip to content

Releases: narwhals-dev/narwhals

Narwhals v1.8.4

27 Sep 15:42
Compare
Choose a tag to compare

Changes

✨ Enhancements

  • feat: Initial support for nested dtypes (List, Array, Struct) (#1083)
  • feat: add DataFrame|LazyFrame.unpivot method (#1043)
  • feat: add to_pandas and to_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

24 Sep 08:33
Compare
Choose a tag to compare

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__ to DataFrame 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

20 Sep 09:17
Compare
Choose a tag to compare

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

  • docs: Restructure docs a bit (#1007)
  • docs: Fix link to how Narwhals works (#996)

🛠️ 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

15 Sep 13:49
Compare
Choose a tag to compare

Changes

  • Bug: add conversion from slice to array for selecting rows in pyarrow __getitem__ (#978)
  • Debug nightly (#964)

✨ Enhancements

  • feat: add DataFrame.sample method (#975)
  • feat: add seed to Expr|Series.sample (#974)

📖 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

13 Sep 10:55
Compare
Choose a tag to compare

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 with pytest.FixtureRequest for request 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

11 Sep 13:08
Compare
Choose a tag to compare

Changes

  • support __getitem__ with single tuple of column names (#935)

✨ Enhancements

  • feat: add Series.Scatter (#948)
  • feat: add mode method (#942)
  • feat: join suffix parameter (#934)

🐞 Bug fixes

  • fix: group by no aggregation (#944)
  • fix: Update copy param on to_numpy to default to True 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 with drop_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

Narwhals v1.6.4

09 Sep 13:59
Compare
Choose a tag to compare

Changes

✨ Enhancements

  • feat: implement to_arrow for cuDF (#924)
  • feat: add on key to join (#927)

🐞 Bug fixes

  • fix: fix join when using string literals (#930)

📖 Documentation

  • doc: update drop_nulls for series documentation (#928)

🛠️ Other improvements

  • feat: implement to_arrow for cuDF (#924)

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

Narwhals v1.6.3

08 Sep 10:52
Compare
Choose a tag to compare

Changes

  • [pre-commit.ci] pre-commit autoupdate (#818)
  • patch: group by n_unique (#917)

✨ Enhancements

  • feat: add q8 of tpch (#922)
  • feat: enable by argument in join_asof (#921)
  • feat: Add q12, q13, q14, q16, q22 (#910)
  • feat: enable on key in join_asof (#916)
  • feat: Add join_asof support for pandas and dask (#911)
  • feat: dask lit with dtype (#909)
  • feat: Add more queries of tpch (#898)

🐞 Bug fixes

  • fix: Fixes arrow support for df[:, list[int|str]] (#923)

📖 Documentation

  • docs: fix a typo (#925)
  • docs: Recommend uv in contributing guide (#873)

🛠️ Other improvements

  • test: fixup tpch tests (#918)
  • ci: allow pre-releases in nightly uv pip install (#913)
  • test: xfail dt.date tests for cuDF (#912)
  • ci: add tests for the queries of TPC-H (#899)

Thank you to all our contributors for making this release possible!
@AlessandroMiola, @FBruzzesi, @IsaiasGutierrezCruz, @LiamConnors, @MarcoGorelli, @luke396, @pre-commit-ci, @pre-commit-ci[bot], @raisadz and @thomasjpfan

Narwhals v1.6.2

03 Sep 14:19
Compare
Choose a tag to compare

Changes

🐞 Bug fixes

  • fix: compatiblity with Python3.8 for Ibis (#906)
  • fix: use nw.Unknown for unknown dtypes (#904)

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

Narwhals v1.6.1

03 Sep 09:47
Compare
Choose a tag to compare

Changes

  • patch: Improve q10, q11, q2, q3, q4, and q5 queries (#893)
  • patch: api completeness table hotfix (#886)

✨ Enhancements

  • feat: Duckdb interchange (#902)
  • feat: Better ibis interchange (#901)
  • feat: Add q6 of tpch (#894)
  • feat: add q5 implementation (#892)
  • feat: add q4 implementation (#891)
  • feat: Add q3 of tpch (#889)
  • feat: query 11 implementation (#887)

📖 Documentation

  • docs: fix error in write_csv docstring (#895)
  • docs: docstring for concat (#808)
  • docs: Example correction (#888)

🛠️ Other improvements

  • chore: clean up gitignore (#900)
  • test: Test dask with npartitions=2 (#877)
  • chore: run mypy only on narwhals/ and tests/ (#885)
  • bench: port tpc-h q10 (#884)

Thank you to all our contributors for making this release possible!
@DeaMariaLeon, @EdAbati, @FBruzzesi, @LiamConnors, @MarcoGorelli, @Nikoleta-v3, @Sherwin-14, @luke396 and @montanarograziano