Polars: py-0.18.5 Release

Release date:
July 5, 2023
Previous version:
py-0.18.4 (released June 23, 2023)
Magnitude:
11,183 Diff Delta
Contributors:
20 total committers
Data confidence:
Commits:

92 Commits in this Release

Ordered by the degree to which they evolved the repo in this version.

Top Contributors in py-0.18.5

ritchie46
MarcoGorelli
stinodego
alexander-beedie
magarick
moritzwilksch
borchero
universalmind303
jeroenjanssens
datapythonista

Directory Browser for py-0.18.5

We haven't yet finished calculating and confirming the files and directories changed in this release. Please check back soon.

Release Notes Published

πŸ† Highlights

  • drop Python 3.7 support (#9679)

πŸš€ Performance improvements

  • optimize n_unique for integers (#9568)
  • remove sort columns on multiple-key OOC sort (#9545)
  • don't needlessly trigger bitcount (#9561)
  • optimize _datetime_to_pl_timestamp (#9533)

✨ Enhancements

  • Improve cut and allow use in expressions (#9580)
  • clearer message when stringcache-related errors occur (#9715)
  • improve expression formatting (#9704)
  • set string cache in window functions (#9705)
  • raise on both sides of datetime/str comparison (#9692)
  • support deserializing struct json into df (#9688)
  • add tree formatter for expressions (#9684)
  • streamline adbc connectivity, adding snowflake support (#9600)
  • improve selector utility functions with better docstrings/examples (#9683)
  • add .list.any() and .list.all() (#9573)
  • extend dtype/selector matching for Datetime with a "*" wildcard for timezones (#9641)
  • add symmetric difference to list set operations (#9655)
  • Pass through stdin/stderr buffer in to_csv (#9624)
  • add dt.base_utc_offset (#9636)
  • add dt.dst_offset feature (#9629)
  • allow to specify index order in to_numpy (#9592)
  • accept expressions in repeat (#9614)
  • set operations for list (#9599)
  • make LazyFrame.map pickle (#9597)
  • add a new rows_by_key method, returning a keyed-dictionary of row data (#9567)
  • implement apply object -> struct (#9578)

🐞 Bug fixes

  • don't clear rev_map when categorical series is cle… (#9720)
  • fix(rust, python) improve glob pattern testing (#9721)
  • don't run hstack checks when using cached names (#9709)
  • fix result dtype in date_range(..., eager=True) if duration contains "1s1d" (#9670)
  • increment seed between samples (#9694)
  • fix cse_plan invalid projection removal (#9700)
  • fix ne_missing for booleans vs lit (#9693)
  • raise if to_datetime would have parsed input incorrectly (#9675)
  • respect time_zone in lazy date_range (#8591)
  • Align dependency versions (#9661)
  • redo weighted rolling var (#9609)
  • Correct weighted rolling quantile definition (#9608)
  • clear hashes buffer in generic streaming joins (#9612)
  • stable list namespace ouput when all elements are … (#9610)
  • address schema edge-case with scalar-expanded data that resolves to an empty frame (#9593)
  • handle dictionary init with unsized iterators that also hits the scalar-expansion fast path (#9594)
  • validate time zone in cast and from_arrow operations (#9598)
  • ensure from_dicts drops columns explicitly omitted from schema (#9581)
  • fix join suffix collision (#9579)
  • fix sum consistency (#9576)
  • fix take of array dtype (#9575)
  • fix predicate pushdown case before sort (#9574)
  • fix lazy schema of temporal_range functions when no alias is provided (#9543)
  • fix join validation when swapped (#9534)

πŸ› οΈ Other improvements

  • More cleanup for arange (#9681)
  • Fix some more type hints (#9716)
  • Added trivial examples for the aggregation of columns in groupby (#9708)
  • Fix some type hints (#9695)
  • additional ADBC examples and docstring information for read_database (inc snowflake) (#9686)
  • drop Python 3.7 support (#9679)
  • improve selector utility functions with better docstrings/examples (#9683)
  • refactor arange and add int_range/int_ranges (#9666)
  • Clarify Dataframe.corr operates on columns (#9678)
  • remove false "eager=True" from date_range tests (#9663)
  • Add examples to .merge_sorted (#9664)
  • bump maturin from 1.0.1 to 1.1.0 in /py-polars (#9646)
  • remove deprecation warning of already-enforced valid timezones change (#9639)
  • fix failing ci test (#9638)
  • fix inconsistency in .list.difference() example (#9615)
  • Clean up doctests for rolling (#9626)
  • fix faulty test of to_numpy (#9619)
  • examples for .list.union(), .list.difference(), .list.intersection() (#9602)
  • fix see also broken links (#9607)
  • clarify sortedness condition of groupby_dynamic and groupby_rolling (#9606)
  • clean up inconsistencies in duration string language (#9551)
  • Adding examples to binary functions (#9553)
  • Minor cleanup of arange (#9544)
  • Remove outdated badges from README (#9532)

Thank you to all our contributors for making this release possible! @MarcoGorelli, @alexander-beedie, @borchero, @datapythonista, @dependabot, @dependabot[bot], @eitsupi, @guanqun, @jeroenjanssens, @jorisSchaller, @kljensen, @magarick, @mcrumiller, @messense, @mishpat, @moritzwilksch, @ritchie46, @stinodego, @ttencate, @universalmind303 and @zundertj