Polars: py-0.19.14 Release

Release date:
November 17, 2023
Previous version:
py-0.19.13 (released November 10, 2023)
Magnitude:
9,371 Diff Delta
Contributors:
13 total committers
Data confidence:
Commits:

72 Commits in this Release

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

Authored November 15, 2023
Authored November 16, 2023
Authored November 16, 2023
Authored November 16, 2023

Top Contributors in py-0.19.14

stinodego
ritchie46
nameexhaustion
cmdlineluser
c-peters
alexander-beedie
uchiiii
reswqa
MarcoGorelli
hirohira9119

Directory Browser for py-0.19.14

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

Release Notes Published

πŸ† Highlights

  • Support Python 3.12 (#12094)
  • make 1D numpy to polars conversion zero-copy for numeric data (#12403)

⚠️ Deprecations

  • Rename DataFrame column index methods (#12542)
  • Rename Series.set_at_idx to scatter (#12540)
  • Deprecate Series.view (#12539)
  • Rename cumulative functions cumsum -> cum_sum and similar (#12513)
  • Rename take to gather (#12528)
  • Add dedicated horizontal aggregation methods to DataFrame (#12492)
  • Rename take_every to gather_every (#12531)
  • Deprecate Series.inner_dtype property (#12494)
  • Deprecate parse_int in favor of to_integer (#12464)
  • Deprecate DataType method is_not (#12458)
  • Deprecate Series methods is_boolean and is_utf8 (#12457)
  • Add DataType.is_integer and other dtype groups (#12200)

πŸš€ Performance improvements

  • speed up parquet download of streaming engine (#12544)
  • speed up cov/corr with SIMD + strength-reduction ~3x 0.19.13/ ~2x numpy (#12471)
  • apply predicates and statistics of parquet files in streaming mode (#12439)
  • use online algorithm for cov/corr ~2x (#12412)
  • make 1D numpy to polars conversion zero-copy for numeric data (#12403)

✨ Enhancements

  • Add dedicated horizontal aggregation methods to DataFrame (#12492)
  • support http scan_parquet (#12517)
  • Add support for UTF-8 BOM option in write_csv and sink_csv (#12253)
  • remove lexical (replace with atoi_simd, ryu, and itao). (#12512)
  • more changes for versioned plugins (#12504)
  • plugins add version and context (#12433)
  • Add DataType.is_integer and other dtype groups (#12200)
  • include i128 in more primitive functions (#12413)
  • write rolling functions as private expressions. (#12379)

🐞 Bug fixes

  • fix incorrect ternary agg states (#12538)
  • fix and improve ternary evaluation on groups (#12529)
  • saturating sub in debug msg (#12525)
  • fix panic when writing Decimal type to parquet (#12532)
  • pre-fefetch struct columns in async projection pd (#12514)
  • rechunk cross join output in streaming (#12511)
  • Ensure behaviour ofSeries comparison with timedelta matches that of other types (#12497)
  • fix as_list logical types (#12507)
  • fix streaming cross join on empty df (#12491)
  • dont overflow when calculating date range over very long periods (#12479)
  • Allow append/zip_with/extend on local categoricals (#12369)
  • Do not panic if time is invalid (#12466)
  • ensure explicit "return_dtype" is respected by map_dicts (#12436)
  • empty csv no-raise (#12434)
  • Fix scan_csv error type (#12355)
  • binary operations in aggregation context on literals (#12430)
  • raw HTML output alignment was incorrect for dtype in header (#12422)
  • update groups state after binary aggregation (#12415)
  • Remove extra \n when reading file-like object wi… (#12333)
  • Issue correct PolarsInefficientMapWarning for lshift/rshift operations (#12385)
  • revert ternary special broadcast, ensure broadcast is always to max height (#12395)
  • ensure first/last return null if empty (#12401)

πŸ› οΈ Other improvements

  • fix and improve ternary evaluation on groups (#12529)
  • Add polars-ds to list of community plugins (#12527)
  • Future-proof consortium standard test (#12524)
  • add schema test (#12523)
  • remove lexical (replace with atoi_simd, ryu, and itao). (#12512)
  • add test for previous commit (#12510)
  • Update polars-hash reference (#12505)
  • Add note on hash stability and mention polars-hash (#12496)
  • Support Python 3.12 (#12094)
  • Improved import polars timing test; now much more consistent/reliable (#12478)
  • Use .with_columns() in all .list namespace examples (#12475)
  • update rustc (#12468)
  • Fix docs trigger (#12449)
  • Update for new maturin release (#12437)
  • Remove 'experimental' tag for auto-structify setting (#12435)
  • make "DataFrame" and "Series" case more consistent across docs/comments/errors (#12428)
  • dprint/markdown link checker minor updates (#12409)
  • Use manylinux_2_17 for building x86-64 wheel (#12408)
  • Use manylinux 2.24 instead of 2.28 for compatibility reasons (#12397)
  • use with_columns in is_in example, and fix some bullet points not rendering (#12383)

Thank you to all our contributors for making this release possible! @MarcoGorelli, @abstractqqq, @alexander-beedie, @c-peters, @cmdlineluser, @hirohira9119, @ion-elgreco, @jerome3o, @nameexhaustion, @reswqa, @ritchie46, @stinodego and @uchiiii