Polars: py-0.19.3 Release

Release date:
September 15, 2023
Previous version:
py-0.19.2 (released September 5, 2023)
Magnitude:
13,991 Diff Delta
Contributors:
21 total committers
Data confidence:
Commits:

76 Commits in this Release

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

Authored September 15, 2023
Authored September 15, 2023
Authored September 15, 2023

Top Contributors in py-0.19.3

orlp
stinodego
reswqa
ritchie46
alexander-beedie
henrikig
Qqwy
Object905
MarcoGorelli
bvanelli

Directory Browser for py-0.19.3

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

Release Notes Published

πŸ† Highlights

  • Polars plugins (#10924)

⚠️ Deprecations

  • Rename is_first/last to is_first/last_distinct (#11130)
  • Rename count_match to count_matches (#11028)
  • Rename strip to strip_chars (#10813)
  • Add datetime_range expression function (#10213)

πŸš€ Performance improvements

  • optimize _unpack_schema() (#11080)
  • optimize polars.utils._post_apply_columns() (#11086)
  • optimize polars.utils._post_apply_columns() (#11041)
  • optimize _unpack_schema() (#10960)
  • improve performance of fast projection (#10945)

✨ Enhancements

  • Expressify str.split argument. (#11117)
  • Polars plugins (#10924)
  • better async_collect (#10912)
  • Expressify argument of binary contains (#11091)
  • dt.offset_by supports broadcasting lhs (#11095)
  • Expressify argument of binary starts_with and ends_with (#11076)
  • add OpenOffice spreadsheet support via new pl.read_ods function (#11011)
  • json_extract supports extract static and string value to list dtype (#11057)
  • add quote_style="never" option for write_csv (#11015)
  • Add literal for str count_match (#10996)
  • More dtypes supports cast to list (#11025)
  • Add strip_prefix and strip_suffix to the string namespace (#10958)
  • improve read_excel table data identification (#10953)
  • Add from_dataframe fast path and improve typing (#10979)
  • add openpyxl as a new/optional engine for read_excel (#6183)
  • Add datetime_range expression function (#10213)

🐞 Bug fixes

  • Correct hash and fmt for struct expr (#11119)
  • enforce sortedness of by argument in rolling_* functions (#11002)
  • Make Series.__getitem__ raise an IndexError (#11061)
  • Filter on empty objectChunked should not throw error (#11073)
  • ensure null_count statistics accounts for null array (#11070)
  • toggle off cse if ext_context is used (#11051)
  • Correct field dtype of string concat (#11055)
  • fix partial schema init with read_dicts and reduce latency of small-frame creation (#11047)
  • pushed-down expr should be considered when evaluating ExternalContext (#11023)
  • fix rolling_* functions when "by" has nanosecond resolution (#11005)
  • Don't reuse member for Selector::Add (#11026)
  • ensure series_equal properly accounts for dtypes when strict=True (#11012)
  • fix the construction of List<Null> (#10969)
  • write_excel "hidden_columns" parameter fails when taking a selector (#10987)
  • allow singular null in regex pattern (#10948)
  • compute length of null array in explode (#10946)

πŸ› οΈ Other improvements

  • remove low contrast coloring from visited links (#11133)
  • Ignore matplotlib warning (#11129)
  • Do not run user guide examples by default (#11128)
  • Ignore matplotlib mypy warnings (#11126)
  • Add deprecation message in groupby docs (#11121)
  • Removed duplicated example (#11109)
  • Add CODEOWNERS for docs folder (#11107)
  • Refactor starts_with and ends_with for string (#11085)
  • Integrate user guide (#11089)
  • remove mentions of the deprecated random module (#11087)
  • simplify SchemaDefinition type alias (#11077)
  • put fetch explanation in a "notes" block to better highlight it in the docs (#11058)
  • remove feature gate join/groupby in polars-core (#10965)
  • Add Documentation issue type (#11042)
  • warn that "by" argument must be sorted for results to be correct in rolling_* functions (#11013)
  • Adds missing method refs in LazyDataFrame API docs (#11027)
  • Add lint for boolean trap (#11010)
  • Add private LazyFrame method for setting sink optimizations (#10988)
  • Enable a few more ruff lints (#10998)
  • document polars string duration language in temporal range functions (#10978)
  • Additional tests for interchange get_data_buffer (#10966)
  • genericize PolarsDataType (#10952)
  • Document that filter, drop_nulls, left join preserve order (#10955)
  • add note about adbc flight sql driver (#10949)
  • Revert pydantic >= 2.0.0 requirement (#10944)
  • note that pl.duration represents fixed durations, point to offset_by for non-fixed (#10927)
  • Test S3 functionality using moto server (#10164)

Thank you to all our contributors for making this release possible! @I8dNLo, @KacpiW, @MarcoGorelli, @Object905, @Qqwy, @TNieuwdorp, @alexander-beedie, @antoniocali, @bvanelli, @cjackal, @henrikig, @jakob-keller, @mrogowski11, @nameexhaustion, @orlp, @reswqa, @ritchie46, @s-banach, @stinodego, @svaningelgem and @thomasjpfan