Releases: narwhals-dev/narwhals
Narwhals v1.19.1
Changes
🚀 Performance improvements
- perf: avoid merge in pandas groupby (#1638)
✨ Enhancements
- feat: add collect schema to interchange dfs (#1646)
- feat: support std and var with ddof !=1 in pandas-like group by (#1645)
- feat: add
DataFrame
andLazyFrame
explode
method (#1542)
🐞 Bug fixes
- fix: Make compatible with latest cuDF release (#1640)
📖 Documentation
- docs: Note that
maintains_order
has no effect (but keep around for backwards-compatibility) (#1643) - docs: fix typing example (#1637)
- docs: Use relative paths (#1636)
- docs: Remove warnings when building docs (#1631)
- docs: returns and arguments documentation for lazyframe class (#1630)
- docs: null handling (#1624)
🛠️ Other improvements
- chore: Update pyproject.toml (#1642)
- chore: register kwargs for
CompliantExpr
(#1614) - fix: exclude protocols in api completeness script (#1635)
- test: not-so-old-versions, pretty-old-versions, nightlies (#1626)
Thank you to all our contributors for making this release possible!
@AlessandroMiola, @DeaMariaLeon, @Dhanunjaya-Elluri, @FBruzzesi, @MarcoGorelli, @marenwestermann and @marvinl803
Narwhals v1.19.0
Changes
🚀 Performance improvements
- perf: streamline pyarrow and pandas group by agg (#1621)
✨ Enhancements
- feat: add
Series|Expr.rolling_var
andSeries|Expr.rolling_std
(#1451) - fix: Add support for pandas cumulative operations with over (#1565)
- feat: add
var
toExpr
andSeries
(#1603)
🐞 Bug fixes
- fix:
nw.col('a').is_in(df['b'])
was raising (#1616) - fix: pandas and pyarrow were raising for repeated aggregations involving the same root name and the same aggregation function (#1613)
📖 Documentation
- docs: more args and returns documentation in DataFrame class (#1600)
- docs: make docstring examples function names more descriptive in functions.py (#1602)
- docs: improve
DataFrame
,LazyFrame
andSeries
docstrings (#1622)
🛠️ Other improvements
- ci: unpin scikit-learn in scikit-lego test (#1611)
- ci: Speed up tests in local development (#1608)
- test: downstream test for tea-tasting (#1605)
- test: minimum versions (#1617)
Thank you to all our contributors for making this release possible!
@ClaudioSalvatoreArcidiacono, @DeaMariaLeon, @Dhanunjaya-Elluri, @FBruzzesi, @Machele-codez, @MarcoGorelli, @e10v, @marenwestermann and @skritsotalakis
Narwhals v1.18.4
Changes
✨ Enhancements
- feat: add
Series
andExpr
arg_min
&arg_max
(#1529)
🐞 Bug fixes
- fix: allow np.scalar to be used in Series.getitem (#1515)
- fix: fix pyarrow
len
aggregation behaviour for depth-1 exprs (#1589)
📖 Documentation
- docs: document arguments and returns in DataFrame class (#1594)
- docs: add tea-tasting to ecosystem (#1593)
- docs: Correct small error in IntoDataFrameT and IntoSeriesT (#1591)
- docs: add docstring example for Array in narwhals.dtypes (#1576)
🛠️ Other improvements
- test: xfail cudf argmin / argmax (#1599)
- chore: use set_axis in maybe_set_index (#1598)
- test: fixup more cuDF xfails (#1596)
- test: xfail test_group_by_shift_raises for cudf (#1595)
- chore: Add some Compliant Protocols (#1522)
Thank you to all our contributors for making this release possible!
@AlessandroMiola, @DeaMariaLeon, @Dhanunjaya-Elluri, @MarcoGorelli, @Nathan-Bransby-NMT, @e10v, @marenwestermann and @thevro
Narwhals v1.18.3
Changes
- release: Bump version to 1.18.2 (#1582)
✨ Enhancements
- feat/fix: Improve error message when trying to do unsupported group-by aggregation, and raise instead of giving inconsistent results (#1584)
🛠️ Other improvements
- refactor: PandasLikeExpr repr and init (#1585)
Thank you to all our contributors for making this release possible!
@MarcoGorelli, @anopsy and @camriddell
Narwhals v1.18.2
Changes
🚀 Performance improvements
- perf: use lru_cache for native_to_narwhals_dtype (#1564)
✨ Enhancements
- feat: add Decimal dtype (#1571)
- feat: Preserve null values in old Polars versions for ewm_mean (#1574)
- enh: add read_parquet / scan_parquet (#1577)
- feat: add nw.Int128, nw.UInt128 (#1570)
- feat: add **kwargs to read_csv and scan_csv (#1560)
- feat: scan_csv (#1555)
📖 Documentation
- docs:add docstring series getitem (#1559)
- docs: Restore image in docs (#1573)
- docs: add security page to docs, try removing some temporary CI pins (#1568)
- docs: add nw.Expr.list, nw.Series.list to api-reference (#1558)
🛠️ Other improvements
- ci: fixup release process (#1580)
- refactor: use nw.scan_parquet in tpch benchmarks (#1578)
- ci: remove pull_request_target, sanitise github.ref_name (#1567)
Thank you to all our contributors for making this release possible!
@AlessandroMiola, @DeaMariaLeon, @MarcoGorelli, @TimOsahenru, @anopsy and @raisadz
Narwhals v1.17.0
Changes
✨ Enhancements
- feat:
read_csv
(#1551) - feat: Adding dataframe estimated size (#1549)
- enh: nw.dependencies.is_narwhals_dataframe / nw.dependencies.is_narwhals_lazyframe / nw.dependencies.is_narwhals_series (#1550)
- feat:
ListNamespace.len()
forExpr
andSeries
(#1536)
🐞 Bug fixes
- fix: return Python scalar for Series.getitem when pyarrow-backed (like Polars does) (#1554)
- fix:
.list
namespace should preserve pandas index (#1538)
📖 Documentation
- docs: Add a docstring example in narwhals.dtypes for Datetime (#1544)
🛠️ Other improvements
- ci: temporary pins to get CI green (#1552)
- ci: actually test against pandas nightly, don't filter "copy is deprecated" warnings (#1547)
- chore: avoid unnecessary branching on pl version in
pln.mean
(#1543) - ci: fix template name (#1540)
- ci: try using "unrelease" version-template for release drafter (#1539)
- chore: rename
series
andexpr
to_compliant
for Arrow, Polars, and Dask (#1537) - ci: actually test against pandas nightly, don't filter "copy is deprecated" warnings (#1547)
Thank you to all our contributors for making this release possible!
@AlessandroMiola, @DeaMariaLeon, @FBruzzesi, @Machele-codez, @MarcoGorelli, @anopsy, @marvinl803, @olp-cs and @raisadz
Narwhals v1.16.0
Changes
✨ Enhancements
- feat: get_native_namespace accepts native objects (#1520)
- feat: Expose nw.Implementation, along with
Implementation.is_pandas
,Implementation.is_pandas_like
, and more (#1531) - feat: Add minimal PySpark support (#908)
📖 Documentation
- docs: add link to "Generating a new SSH key" (#1530)
- docs: Add
narwhals.dtypes.Date
docstring example (#1528) - docs: add example to Unknown dtype (#1521)
- docs: add Duration dtype docstring example (#1516)
- docs: add
Enum
dtype docstring example (#1514) - docs: add
Object
dtype docstring example (#1511) - docs: add return description for
Series.to_list
(#1513) - docs: update contributing guide by adding upstream remote (#1509)
🛠️ Other improvements
- chore: remove many false positives from "ignore banned import" check (#1532)
- chore: rename
_expr
to_compliant_expr
inPandasLikeExpr
(#1527) - chore: overload parse_into_expr (#1519)
- chore: rename _call to _to_compliant_expr in narwhals/expr.py (#1518)
- chore:
_pandas_series
to_compliant_series
inPandasSeries
(#1517) - test: fix nox dependencies (#1497)
Thank you to all our contributors for making this release possible!
@BenjaminFraser, @EdAbati, @MarcoGorelli, @camriddell, @chrisschopp, @czhanger, @munsoor, @olp-cs, @ontowhee, @reshamas and @skritsotalakis
Narwhals v1.15.2
Changes
- patch: fix dtypes rendering (#1481)
✨ Enhancements
- feat: raise informative error message for DataFrame.eq/neq (#1494)
- feat: add
Series.__contains__
(#1480) - feat: improve invalid concat error message (#1491)
🐞 Bug fixes
- fix: nw.Series could not be pickled (#1488)
- fix: Set level correctly for lazy-only implementations (#1478)
🛠️ Other improvements
- chore: Remove unused code in pandas like series (#1489)
- chore: rename _change_dtypes to _change_version (#1490)
- chore: rename validate_column_comparand utility functions, add pep740 badge (#1477)
Thank you to all our contributors for making this release possible!
@FBruzzesi, @MUKESHRAJMAHENDRAN, @MarcoGorelli
Narwhals v1.15.1
Changes
🐞 Bug fixes
- fix: follow left-hand-rule in index alignment in from_dict (#1475)
🛠️ Other improvements
- chore: polars type hinting (#1467)
Thank you to all our contributors for making this release possible!
@FBruzzesi and @MarcoGorelli
Narwhals v1.15.0
Changes
✨ Enhancements
- feat: consistently return Python scalars from Series reductions for PyArrow (#1471)
- feat: make
Series
generic (#1412) - feat: create dataframe from 2D numpy array and column names (#1456)
- feat: diagonal concat (#1455)
🐞 Bug fixes
- fix: address
lit
broadcasting and output name of right arithmetic ops (#1424)
📖 Documentation
- docs: clean lazyframe docstrings (#1466)
- docs: ecosystem and resources (#1468)
- docs: add
from/to_native
in documentation examples (#1461)
🛠️ Other improvements
- ci: Remove vegafusion from blocking releases, assert current branch in bump_version (#1470)
- chore: PyArrow type hinting (#1465)
- ci: add hierarchicalforecast (#1460)
Thank you to all our contributors for making this release possible!
@AlessandroMiola, @EdAbati, @FBruzzesi, @MarcoGorelli and @raisadz