Skip to content

Narwhals v1.23.0

Compare
Choose a tag to compare
@github-actions github-actions released this 20 Jan 14:43
· 53 commits to main since this release

Changes

  • ci: downstream test for formulaic (#1817)
  • docs: Removed class, added polars to the table, str.head and str.tail are a… (#1801)

✨ Enhancements

  • feat: deprecate maintain_order in Expr.unique and LazyFrame.tail (but keep around in stable.v1) (#1839)
  • feat: track whether expressions change length but don't aggregate, and only allow length-changing expressions if they're followed by aggregations in the lazy API (#1828)
  • feat: add DuckDB: nw.nth, nw.sum_horizontal, nw.concat_str, group_by with drop_null_keys (#1832)
  • feat: remove eager_or_interchange from from_native in main namespace, switch Ibis' support from interchange to lazy in main namespace (but preserve status-quo in stable.v1) (#1829)
  • feat: add is_nan and is_finite for duckdb, is_nan for pyspark (#1825)
  • chore: rename time zone tests (#1830)
  • feat: Deprecate Expr.arg_true (but keep Series.arg_true, and keep both available in stable.v1) (#1827)
  • feat: add Expr.dt methods to PySpark (#1835)
  • feat: add pyspark str namespace to_datetime (#1826)
  • feat: add total duration methods for DuckDB (#1831)
  • feat: add .over method for SparkLikeExpr (#1808)
  • feat: pyspark group by n_unique and no aggregation (#1819)
  • feat: Disallow order-dependent expressions from being passed to nw.LazyFrame (#1806)
  • feat: add SparkExpr.cast for basic types (#1812)
  • feat: pyspark and duckdb Expr.name namespace (#1809)
  • feat: add AnonymousExprError (#1816)
  • feat: deprecate Expr.head, Expr.tail, Expr.sort, Expr.gather_every, Expr.sample (but keep them in stable.v1) (#1791)
  • feat: add duckdb dataframe drop_nulls (#1811)
  • feat: add DataFrame and Series to_polars (#1803)
  • feat: add support for SparkLikeNamespace.when (#1805)

🐞 Bug fixes

  • fix: when/then/otherwise output name was not consistent across backends (#1833)
  • fix: raise on shape mismatch in filter (#1814)
  • patch: fix when-then double lit case (#1810)

🛠️ Other improvements

  • chore: simplify imports (#1838)
  • test: fixup test suite for cudf.pandas (#1837)
  • test: decouple pyspark constructor from pandas (#1834)
  • chore: refactor pandas-like narwhals_to_native_dtype (#1824)
  • chore: refactor isinstance_or_issubclass to allow tuples (#1820)

Thank you to all our contributors for making this release possible!
@Dhanunjaya-Elluri, @EdAbati, @FBruzzesi, @MarcoGorelli, @luke396, @marvinl803 and @raisadz