pypi narwhals 2.25.0
Narwhals v2.25.0

4 hours ago

Changes

🚀 Performance improvements

  • perf: remove redundant work in eager when/then, schema resolution, selectors, and module lookups (#3797)

✨ Enhancements

  • feat: add str.strip_chars_{start,end} (#3843)
  • feat: Add maintain_order argument to {Expr, Series}.list.unique (#3697)
  • feat(typing): Introduce PluginName NewType so plugin backends can type check (#3794)
  • feat(ibis): Add support for Expr.list.median for ibis backend (#3791)

🐞 Bug fixes

  • fix: follow left-hand-index alignment rule for pandas-like concat (#3866)
  • fix: null propagation for str boolean methods (#3865)
  • fix: consistently place null's in with_row_index(order_by=...) (#3863)
  • fix: honor schema column selection/order in pandas-like from_dicts (#3856)
  • fix: use exact quantile for median on the pyarrow backend (#3855)
  • fix: order Categorical columns by value in the pyarrow backend (#3862)
  • fix: is_in was not preserving nulls where possible (#3859)
  • fix: preserve nulls in pandas-like Expr.dt.ordinal_day (#3805)
  • fix: resolve failing cross-references in documentation (#3790)

📖 Documentation

  • docs: reorganise contributing.md and add useful make commands (#3836)
  • fix: resolve failing cross-references in documentation (#3790)
  • docs: Add Intella to "resources" (#3788)

🛠️ Other improvements

  • ci: pin pandas in scikit-lego job to get ci green (#3860)
  • chore: Bump pyrefly 1.2, remove some unnecessary pyrefly: ignores (#3848)
  • chore: fix pandas nightly (#3849)
  • chore: Remove pins in pyproject.toml, as dependencies are pinned in uv.lock anyway (#3847)
  • chore: prek autoupdate (#3828)
  • chore: add trailing-whitespace precommit (#3826)
  • chore: Update uv lock, pre-commit hooks and fix linting issues (#3813)
  • refactor: Dispatch IO functions via *Namespace methods (#3793)
  • ci: fix lightgbm downstream test (#3801)
  • chore: refactor compliant implementations to use expression_args instead of **expressifiable_args (#3766)
  • chore: Small performance and robustness cleanups (#3798)
  • chore: prek autoupdate (#3858)
  • chore: prek autoupdate (#3846)
  • ci: consolidate action updates in renovate and add zizmor pre-commit hook (#3835)
  • test: split cat.get_categories tests for expr and series (#3814)

Thank you to all our contributors for making this release possible!
@aleks-drozy, @CangyuanLi, @EdAbati, @FBruzzesi, @ghostiee-11, @MarcoGorelli, @maxzw, @Shaan-alpha, @vidigoat and @github-actions[bot]

Don't miss a new narwhals release

NewReleases is sending notifications on new releases.