Releases: pola-rs/polars
Python Polars 0.14.22
🚀 Performance improvements
- Make all expensive imports lazy
- ~85%
(#5287) - remove pandas imports (#5286)
- never import hypothesis in user code (#5282)
✨ Enhancements
- expose to_struct to series list namespace (#5298)
- improve dynamic inference of struct types (#5297)
- don't panic in failing apply (#5294)
- improve error message in struct apply (#5291)
- accept schema in read_dicts (#5290)
- Do not import polars.testing by default (#5284)
- Pass more options to pyarrow in write_parquet (#5278) (#5280)
- date_range expression (#5267)
- allow implicit None branch in when then otherwise (#5264)
- show expression where error originated if raised … (#5263)
- improve error msg if window expressions length do… (#5262)
- pl.ones, pl.zeros and Series.new_from_index functions (#5260)
- Add round for date and datetime (#5153)
- new
n_chars
functionality for utf8 strings (#5252) - added new
Config
formatting optionset_tbl_column_data_type_inline
, fixed reading of env vars, improved interaction between formatting options (#5243)
🐞 Bug fixes
- throw error on invalid lazy concat strategy (#5292)
- fix to_pandas edge case (#5293)
- properly interpret FMT_MAX_ROWS - remove arbitrary minimum, fix Series formatting (#5281)
- respect schema overwrite in from rows (#5275)
- don't block non matching groups in binary expression (#5273)
- fix logical type of nested take (#5271)
- Check if
BatchedCsvReader.next_batches()
is None befor… (#5256) - include single null value in global cat builder (#5254)
- Check multiprocessing start_method on import (#3144) (#5237)
🛠️ Other improvements
- Add ModuleType for import functions in import_check.py (#5289)
Thank you to all our contributors for making this release possible!
@alexander-beedie, @ghuls, @owrior and @ritchie46
Python Polars 0.14.21
🐞 Bug fixes
Thank you to all our contributors for making this release possible!
@ritchie46
Python Polars 0.14.20
✨ Enhancements
- make date_range timezone aware (#5234)
- infer timezone and improve display (#5232)
- allow Config to be used as a context manager, and update some docs (#5223)
- allow polars Config options to be serialised/shared, and more easily unset (#5219)
🐞 Bug fixes
- determine supertype of datetimes with timezones an… (#5240)
- fix groupby dynamic truncate for > days resolution (#5235)
- ensure that
polars_type_to_constructor
works with tz-awareDatetime
dtypes (#5239) - set timezone on groupby_dynamic boundaries (#5233)
- accept
tuple[bool, bool]
instead ofSequence[bool]
forExpr.is_between
(#5094) - fix incorrect duration dtype (#5226)
- set string cache if lazy schema contains categorical (#5225)
- fix pipeline dtypes (#5224)
🛠️ Other improvements
- update lazyframe lazygroupby apply docstring (#5238)
- Consistent naming for Python release workflow (#5229)
Thank you to all our contributors for making this release possible!
@YuRiTan, @alexander-beedie, @cjermain, @matteosantama, @ritchie46 and @stinodego
Python Polars 0.14.19
🚀 Performance improvements
- improve pivot performance by using faster series… (#5172)
- improve streaming performance (~15%) (#5170)
- don't block projection pushdown on unnest (#5123)
✨ Enhancements
- batched csv reader (#5212)
- accept expressions in arr.slice (#5191)
- is_sorted aggregation fast path for Utf8Chunked (#5184)
- support
DataFrame
init with Datetime dtypes that specify a timezone (#5174) - frame-level
n_unique()
that can count unique rows or col/expr subsets (#5165) - hybrid streaming query engine (#5139)
- return Datetime/Duration with appropriate timeunit when inferring from pytype (#5127)
- add binary dtype (#5122)
🐞 Bug fixes
- fix asof_join schema (#5213)
- fix single thread loop if schema lenght is off by 1 (#5210)
- improve numeric stability of rolling_variance (#5207)
- fix apply function over object dtype (#5206)
- fix overflow in partitioned groupby mean of int32/… (#5204)
- don't allow categorical append that is not under s… (#5195)
- include offset in arr.get (#5193)
- DataFrame.fill_null include unsigned integers (#5192)
- error on fill_nan on non float dtype (#5185)
- infer missing columns in from_dicts (#5183)
- fix rolling_float in case closure returns None (#5180)
- Implement missing
extract
conversion forTime
datatype (#5161) - implement missing conversion to python
time
object (#5152) - Rendering long docstring lines. (#5150)
- add missing _NUMPY_AVAILABLE check in Series.__getitem__ (#5126)
- wrong operator mapped for LtEq (#5120)
🛠️ Other improvements
- skip failing test until #5177 is resolved (#5205)
- ensure streaming groupby take slice into account (#5178)
- remove aggregate pushdown optimization (#5173)
- Add support for ruff python linter. (#5151)
- improve typing; many
list
types are better defined asSequence
(#5164) - Get rid of unnecessary check in SplitLines iterator (#5141)
Thank you to all our contributors for making this release possible!
@alexander-beedie, @dannyvankooten, @ghuls, @ritchie46 and @sorhawell
Python Polars 0.14.18
🚀 Performance improvements
- take advantage of sorted join for frame alignment (#5106)
✨ Enhancements
- improve function expansion (#5110)
- add struct arithmetics (#5107)
- add cumfold/cumsum expression (#5103)
- error on invalid asof join inputs (#5100)
🐞 Bug fixes
- unique include null (#5112)
- don't recurse assign uniuns as it SO > 5k files (#5098)
- block projection pushdown on unnest (#5093)
- projection_node always do projection locally if no… (#5090)
🛠️ Other improvements
Thank you to all our contributors for making this release possible!
@alexander-beedie, @owrior, @ritchie46 and @slonik-az
Python Polars 0.14.17
🚀 Performance improvements
- more conservative JIT sort settings (#5080)
Thank you to all our contributors for making this release possible!
@mcrumiller, @ritchie46 and @zundertj
Python Polars 0.14.16
🚀 Performance improvements
✨ Enhancements
- deprecate boolean mask for Series indexing (#5075)
- small plan and profile chart improvements (#5067)
- add gantt chart plot to LazyFrame::profile (#5063)
- Support
Series
init as struct from@dataclass
and annotatedNamedTuple
(#5057)
🐞 Bug fixes
- fix iso_year for Date dtype (#5074)
- tz-aware get_idx (#5072)
- Fix empty method detection when PYTHONOPTIMIZE=2 (#5043)
- fix bug in unneeded projection pruning (#5071)
- remove overloads for
from_arrow
(#5065) - Improve printing controls of DataFrame and Series (#5047)
- Double projections should be checked on input schema (#5058)
- Add missing cse param to LazyFrame "profile" method (#5054)
🛠️ Other improvements
- Default to zstd parquet compression (#5060)
- Refactor
show_graph
(#5059) - Use
release-drafter
to draft releases with changelogs (#5033) - Update Makefile (#5056)
- Parametric test coverage for EWM functions (#5011)
Thank you to all our contributors for making this release possible!
@alexander-beedie, @egorchakov, @matteosantama, @ritchie46, @slonik-az, @stinodego and @zundertj
Rust Polars 0.24.3
rs-0.24.3 polars rust 0.24.3 (#5015)