Polars: py-0.20.3 Release

Release date:
January 2, 2024
Previous version:
py-0.20.3-rc.2 (released December 28, 2023)
Magnitude:
2,175 Diff Delta
Contributors:
8 total committers
Data confidence:
Commits:

39 Commits in this Release

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

Authored January 2, 2024
Authored December 29, 2023
Authored December 30, 2023
Authored January 2, 2024

Top Contributors in py-0.20.3

alexander-beedie
ritchie46
stinodego
MarcoGorelli
nameexhaustion
reswqa
orlp
dependabot-bot

Directory Browser for py-0.20.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

  • add plot namespace (which defers to hvplot) (#13238)

πŸš€ Performance improvements

  • optimize set bit count (#13317)
  • speed up .dt.truncate for large numbers of years (#13310)
  • don't eagerly evaluate error branches (#13311)
  • don't trigger internal borrwing in numpy memmap (#13304)
  • don't needlessly allocate validity in concat/rechunk (#13288)
  • add fast path to count_bits_set_by_offsets (#13253)
  • make .dt.truncate('*mo') more than 3x faster (#13192)

✨ Enhancements

  • support negative indices in gather in group_by context (#13373)
  • validate Enum categories (#13356)
  • improve Series/DataFrame init from existing Series/DataFrame objects (#13344)
  • support negative indexing in gather (select context) (#13343)
  • support min_periods for temporal rolling aggregations (#13342)
  • support REGEXP and RLIKE pattern matching in SQL engine (#13359)
  • emit suggestion for how to replace map_elements sigmoid function with expressions (#13347)
  • Support Enum types in interchange protocol (#13368)
  • add plot namespace (which defers to hvplot) (#13238)
  • gracefully handle panics in plugins (#13329)
  • rework pl.exclude as a pure selector, allowing other selectors as input (#13301)
  • Implement unique/n_unique/unique_counts/is_unique/is_duplicated for Null series (#13307)
  • support common variant spelling STDEV in the SQL engine (in addition to STDDEV) (#13303)
  • enhance expression-level filter syntax with support for multiple predicates and kwargs (#12689)
  • change doc links to new url docs.pola.rs (#13290)
  • support horizontal concatenation of LazyFrames (#13139)
  • Rename Utf8 data type to String, keep Utf8 as alias (#13257)
  • dispatch strict_cast via cast (#13255)
  • Impl any/all for array type (#13250)
  • add cancellable queries (#13178)
  • add offset parameter to gather_every (#13156)
  • Support Array dtype AnyValue Series construction (#12817)
  • Allow step parameter in int_ranges to take an expression (#13148)
  • make python map_batches safer (#13181)
  • Implement count for DataFrame/LazyFrame (#13153)

🐞 Bug fixes

  • don't lose track of ones and zeros dtype, improve use with Array, raise error if dtype invalid (#13326)
  • updated Display trait for enum categoricals (#13331)
  • nested dtypes: export logical type in plugins (#13325)
  • fix invalid dtype setting in array (#13327)
  • fix csv parser error when commented-out rows precede the header row (#13318)
  • invalid schema outer join after projection pd (#13315)
  • invalid predicate optimization (#13313)
  • Account for null values in categorical unique/n_unique (#13308)
  • fix schema when subtracting (#13309)
  • broadcasting of unit LHS in string operations (#12737)
  • sorting categorical lexically bugs on null values (#13271)
  • improve replace on categoricals (#13223)
  • round trip to JSON and back should preserve Enum type (#13267)
  • fix return type hint of list series any/all (#13265)
  • sink_csv deadlock (#13239)
  • Correctly use read_parquet for all binary inputs (#13218)
  • is_in operator for categoricals (#13205)
  • Better handle mismatched dtypes in replace (#13213)
  • Fix replace fast path by casting old input to the right data type (#13176)
  • ndjson nested null schema inference (#13206)
  • don't cast to unknown dtypes (#13197)
  • maintain old join behavior in window expression (#13179)

πŸ› οΈ Other improvements

  • reverse condtion order in udfs _expr function (#13348)
  • Update release workflow for new upload/download artifact versions (#13355)
  • Allow construction of Series from memory buffers (#13323)
  • add 'pipe littering' to 'coming from pandas' section (#13335)
  • Refactor functionality related to Series buffers (#13291)
  • Restore light/darkmode switch in API reference (#13312)
  • Copy Makefile build commands to top level (#13293)
  • Fix release flags (#13298)
  • Re-enable consortium standard tests (#13296)
  • Update CODEOWNERS (#13292)
  • Add CPU compatibility check (#13134)
  • Change base url of docs/guide to docs.pola.rs (#13281)
  • Fix source link for dev docs (#13279)
  • fix return type hint of list series any/all (#13265)
  • Fix display of overloaded signatures (#13258)
  • clean up bytecode parsing a bit (#13221)
  • Add a couple of docstring examples to Series methods (#13244)
  • remove unnecessary arg unpacking (#13241)
  • update rustc (#13219)
  • fix horizontal concatenation documentation (#13141)
  • Replace blackdoc by ruff's new docstring formatter (#13182)
  • Update ruff & ruff settings (#13126)
  • Link to latest object_store docs in api doc (#13180)
  • Fix failing test (#13171)

Thank you to all our contributors for making this release possible! @MarcoGorelli, @TNieuwdorp, @adamreeve, @alexander-beedie, @c-peters, @cjfuller, @dependabot, @dependabot[bot], @mcrumiller, @nameexhaustion, @orlp, @petrosbar, @r-brink, @reswqa, @ritchie46, @robvanmieghem and @stinodego