Releases: narwhals-dev/narwhals
Narwhals v1.13.1
Changes
- Revert "depr: deprecate
strict
infrom_native
/to_native
in favour ofpass_through
" (#1311)
⚠️ Deprecations
- depr: deprecate
strict
infrom_native
/to_native
in favour ofpass_through
(#1308)
✨ Enhancements
- feat: add is_into_dataframe (#1288)
- Enh: adding automated inferencing of format
%Y-%m-%dT%H:%M
in pyarrow (#1292)
🐞 Bug fixes
- fix: consistent naming of positional arguments in from_native (#1310)
- fix:
narwhals_to_native_dtype
raise if polars dtype is passed (#1307) - fix: fixed-offset datetime weren't being parsed (#1303)
- fix: consistent to_numpy behaviour for tz-aware (#1305)
- fix: np.datetime64 scalar with ns resolution was become int instead of datetime in to_py_scalar (#1304)
📖 Documentation
- docs: document Stable API changes (#1309)
🛠️ Other improvements
- Revert "Revert "depr: deprecate strict in from_native /
to_native
in favour ofpass_through
(#1312) - ci: add vegafusion in ci checks (#1228)
Thank you to all our contributors for making this release possible!
@EdAbati, @FBruzzesi, @MarcoGorelli and @raisadz
Narwhals v1.12.1
Changes
✨ Enhancements
- feat: support dataframe.columns for interchange level (#1285)
🛠️ Other improvements
- ci: add marimo tests back (#1286)
- ci: set pre-commit autoupdate to run monthly instead of weekly (#1281)
Thank you to all our contributors for making this release possible!
@MarcoGorelli and @raisadz
Narwhals v1.12.0
Changes
🚀 Performance improvements
- perf: make to_py_scalar 3x faster when argument is str (#1276)
✨ Enhancements
- feat: support
columns
andselect
for InterchangeFrame if_df
is present (#1283) - RFC, feat: infer datetime format for pyarrow backend (#1195)
- feat: add is_pandas_index, is_modin_index, is_cudf_index, is_pandas_like_index utility functions (#1272)
- err: replace msg = "Please set allow_series=True" with msg = "Please set allow_series=True or series_only=True" (#1280)
🐞 Bug fixes
- fix:
from_native
was sometimes raising unnecessarily withstrict=False
(#1274)
📖 Documentation
- docs: Render table of contents members ordered & removed css reference (#1275)
🛠️ Other improvements
Thank you to all our contributors for making this release possible!
@DeaMariaLeon, @FBruzzesi, @MarcoGorelli, and @raisadz
Narwhals v1.11.1
Changes
✨ Enhancements
- feat: add
.select
(by str) for duckdb and ibis backend (#1266) - feat: better error message for duplicate column names in pandas (#1270)
- feat: expose
generate_temporary_column_name
(#1264)
🐞 Bug fixes
- fix: remove _dtype_cache for pandas-like so that inplace modification… (#1268)
- fix: Cudf groupby iter (#1265)
Thank you to all our contributors for making this release possible!
@FBruzzesi and @MarcoGorelli
Narwhals v1.11.0
Changes
🚀 Performance improvements
- perf: improve performance of Series.dtype and DataFrame.schema for pandas-like (#1255)
- perf: avoid redundant copies when resetting index for pandas (#1252)
- perf: always use copy=False when doing rename for pandas (#1247)
- perf: pandas-like fastpath in maybe_reset_index (#1246)
✨ Enhancements
- feat: Add total seconds implementation for cuDF (#1188)
- feat: add drop_null_keys argument to group_by (#1257)
📖 Documentation
- docs: add duckdb to docs (#1261)
- docs: fix parameters table rendering in
quantile
docs (#1251) - docs: zen dedicated doc page (#1243)
- docs: Wimsey added to project list in Readme (#1242)
- docs: DataFrame conversion tutorial (#1240)
🛠️ Other improvements
- test: xfail cudf failures (#1259)
- test: get groupby tests passing for pandas 1.0.x (#1253)
- test: update cudf xfails based on latest version (#1250)
- test: only test dask with partitions=2 for now (#1248)
- ci: add tubular in ci checks (#1211)
- chore: make module versions as constants for use in tests (#1235)
Thank you to all our contributors for making this release possible!
@AlessandroMiola, @FBruzzesi, @LiamConnors, @MarcoGorelli, @benrutter, and @vincentarelbundock
Narwhals v1.10.0
Changes
- bug: fix pyarrow
to_date
(#1216) - simplify marimo in downstream_tests.yml (#1214)
- Simplify return function in
_pandas_like.utils.py
(#1204)
🚀 Performance improvements
- perf: move
maybe_evaluate_expr
out of for loop inreuse_series_implementation
(#1217)
✨ Enhancements
🐞 Bug fixes
- fix: flaky test on polars==0.20.30 (#1231)
- fix: Add df
.rows(named=False)
support for cuDF data frames (#1186)
📖 Documentation
- docs: Pyarrow example docstrings for
Expr
and stable v1 API (#1218) - doc: add note about cuDF tests in contributing guide (#1227)
- docs: update installation.md (#1221)
- docs: move index to start of API reference (#1213)
- doc: Add uv to quick start (#1169)
- docs: Add Pyarrow example to Expr.mean (#1207)
- docs: add 'commotion' to Zen (#1208)
🛠️ Other improvements
- chore: refactor
compare_dicts
(#1224) - chore: series and expr namespaces typing with generics (#1232)
- chore: nox doctests only in Python 3.12 (#1222)
- chore: use constructors (#1210)
- test: xfail iter_rows tests for cudf (#1209)
- chore: tests cleanup and add
from __future__ import annotations
(#1206)
Thank you to all our contributors for making this release possible!
@CarloLepelaars, @DeaMariaLeon, @EdAbati, @FBruzzesi, @LiamConnors, @MarcoGorelli, @artiom-matvei, @luke396, @mscolnick, @raisadz and @schloerke
Narwhals v1.9.4
Changes
✨ Enhancements
- feat: add from_arrow (which uses the PyCapsule Interface) (#1181)
- feat: Add 'IntoSeries' (#991)
- feat: add ConstructorEager type (#1091)
- feat: Adding allow inspecting inner fields of nw.Struct (#1192)
- feat: add The Zen of Narwhals (#1168)
- feat: add
<min|max>_horizontal
(#1148)
🐞 Bug fixes
- fix: add
__native_namespace__
for interchange support dataframes (#1172)
📖 Documentation
- docs: Update CONTRIBUTING.md with Python 3.12 (#1197)
🛠️ Other improvements
- test: update cuDF tests (#1196)
- ci: only check doctests on Python3.12 (#1189)
- ci: add downstream tests for
marimo
(#1166) - chore: Delete tpch/notebooks directory (#1180)
- test: unxfail test_unary for dask (#1174)
- ci: try fixup bump-version.yml (#1171)
- ci: bump version workflow (#1063)
- chore: Use shiny's Makefile to allow for test commands to change over time (#1161)
Thank you to all our contributors for making this release possible!
@AlessandroMiola, @ChinoUkaegbu, @DeaMariaLeon, @FBruzzesi, @LiamConnors, @MarcoGorelli, @dependabot, @dependabot[bot], @lucianosrp, @luke396, @raisadz and @schloerke
Narwhals v1.9.3
Changes
✨ Enhancements
- enh: Add
.rows(named=False)
support for pyarrow (#1155)
🐞 Bug fixes
- fix: make Series.scatter always return new series (#1159)
📖 Documentation
Thank you to all our contributors for making this release possible!
@AlessandroMiola, @Cheukting, @MarcoGorelli, @akshayka and @schloerke
Narwhals v1.9.2
Changes
🚀 Performance improvements
- perf: Impove
pandas
-backend indexing (#993)
✨ Enhancements
- feat: add dt.replace_time_zone (#1142)
- feat: allow
format=None
instr.to_datetime
(#1145) - feat:
concat_str
(#1128) - feat: allow inspecting the inner type / length of nw.Array (#1136)
🐞 Bug fixes
- fix: when-then-otherwise lit string for arrow backend (#1137)
- fix: pyarrow unpivot upcast numeric (#1140)
- fix: update no_agg to work with cuDF (#1138)
- fix: fixing unnesscary raise of mean_horizontal (#1082)
📖 Documentation
- docs: apply further changes to api reference (#1150)
- docs: add missing methods in api reference (#1144)
- docs: add missing Series str methods in api reference (#1143)
- docs: fix small docs typo (#1141)
🛠️ Other improvements
- test: xfail test_unpivot_mixed_types for cuDF (#1153)
Thank you to all our contributors for making this release possible!
@AlessandroMiola, @Cheukting, @DeaMariaLeon, @FBruzzesi, @LiamConnors, @MarcoGorelli, @aivanoved, @pre-commit-ci and @pre-commit-ci[bot]
Narwhals v1.9.1
Changes
✨ Enhancements
- feat:
Series.str.to_datetime
(#1131) - feat: make typing available under narwhals.stable.v1 (#1130)
- feat: add
nulls_last
kw in dataframe sort (#1124)
🐞 Bug fixes
- fix: Fix
DataFrame.__getitem__
when slicing with tuple and null slice (#1123)
📖 Documentation
- docs: add Ibis to "related projects" (#1126)
- docs: correct python bytes description (#1115)
- docs: fix some docs issues (#1114)
- docs: assorted docs updates (#1109)
🛠️ Other improvements
- ci: add py-shiny to downstream tests (#1132)
- test: xfail test_actual_object for cuDF (#1129)
- test: xfail tz_aware test for cuDF (#1118)
- test: xfail empty string test in
test_unpivot
(#1113)
Thank you to all our contributors for making this release possible!
@FBruzzesi, @LiamConnors, @MarcoGorelli and @raisadz