Releases: pola-rs/r-polars
Releases · pola-rs/r-polars
v0.10.1
What's changed
- The argument
quote_style
in$write_csv()
and$sink_csv()
can now take
the value"never"
(#483). pl$DataFrame()
now errors if the variables specified inschema
do not exist
in the data (#486).- S3 methods for base R functions are well documented (#494).
- A bug that failing
pl$SQLContext()$register()
without load the package was fixed (#496).
lib-v0.34.1
docs(NEWS): tweak news about recent updates (#498)
v0.10.0
BREAKING CHANGES DUE TO RUST-POLARS UPDATE
- rust-polars is updated to 2023-10-25 unreleased version (#442)
- New subnamespace
"name"
that contains methods$prefix()
,$suffix()
keep()
(renamed fromkeep_name()
) andmap()
(renamed frommap_alias()
). $dt$round()
gains an argumentambiguous
.- The following methods now accept an
Expr
as input:$top_k()
,$bottom_k()
,
$list$join()
,$str$strip_chars()
,$str$strip_chars_start()
,
$str$strip_chars_end()
,$str$split_exact()
. - The following methods were renamed:
$str$n_chars()
->$str$len_chars()
$str$lengths()
->$str$len_bytes()
$str$ljust()
->$str$pad_end()
$str$rjust()
->$str$pad_start()
$concat()
withhow = "diagonal"
now accepts an argumentto_supertypes
to automatically convert concatenated columns to the same type.pl$enable_string_cache()
doesn't take any argument anymore. The string cache
can now be disabled withpl$disable_string_cache()
.$scan_parquet()
gains an argumenthive_partitioning
.$meta$tree_format()
has a better formatted output.
- New subnamespace
Breaking changes
$scan_csv()
and$read_csv()
now match more closely the Python-Polars API (#455):sep
is renamedseparator
,overwrite_dtypes
is renameddtypes
,
parse_dates
is renamedtry_parse_dates
.- new arguments
rechunk
,eol_char
,raise_if_empty
,truncate_ragged_lines
path
can now be a vector of characters indicating several paths to CSV files.
This only works if all CSV files have the same schema.
What's changed
- New class
RPolarsSQLContext
and its methods to perform SQL queries on DataFrame-
like objects. To use this feature, needs to build Rust library with full features
(#457). - New methods
$peak_min()
and$peak_max()
to find local minima and maxima in
an Expr (#462). - New methods
$read_ndjson()
and$scan_ndjson()
(#471). - New method
$with_context()
forLazyFrame
to have access to columns from
other Data/LazyFrames during the computation.
lib-v0.34.0
chore: fix typo and revert Rd file incorrect change (#476)
v0.9.0
BREAKING CHANGES DUE TO RUST-POLARS UPDATE
- rust-polars is updated to 0.33.2 (#417)
- In all date-time related methods, the argument
use_earliest
is replaced byambiguous
. - In
$sample()
and$shuffle()
, the argumentfixed_seed
is removed. - In
$value_counts()
, the argumentsmultithreaded
andsort
(sometimes calledsorted
) have been swapped and renamedsort
andparallel
. $str$count_match()
gains aliteral
argument.$arg_min()
doesn't considerNA
as the minimum anymore (this was already the behavior of$min()
).- Using
$is_in()
withNA
on both sides now returnsNA
and notTRUE
anymore. - Argument
pattern
of$str$count_matches()
can now use expressions. - Needs Rust toolchain
nightly-2023-08-26
for to build with full features.
- In all date-time related methods, the argument
- Rename R functions to match rust-polars
Breaking changes
- Remove some deprecated methods.
- Setting and getting polars options is now made with
pl$options
,
pl$set_options()
andpl$reset_options()
(#384).
What's changed
- Bump supported R version to 4.2 or later (#435).
pl$concat()
now also supportsSeries
,Expr
andLazyFrame
(#407).- New method
$unnest()
forLazyFrame
(#397). - New method
$sample()
forDataFrame
(#399). - New method
$meta$tree_format()
to display anExpr
as a tree (#401). - New argument
schema
inpl$DataFrame()
andpl$LazyFrame()
to override the
automatic type detection (#385). - Fix bug when calling R from polars via e.g.
$map()
where query would not
complete in one edge case (#409). - New method
$cat$get_categories()
to list unique values of categorical
variables (#412). - New methods
$fold()
and$reduce()
to apply an R function rowwise (#403). - New function
pl$raw_list
and classrpolars_raw_list
a list of R Raw's, where missing is
encoded asNULL
to aid conversion to polars binary Series. Support back and forth conversion
from polars binary literal and Series to R raw (#417). - New method
$write_csv()
forDataFrame
(#414). - New method
$sink_csv()
forLazyFrame
(#432). - New method
$dt$time()
to extract the time from adatetime
variable (#428). - Method
$profile()
gains optimization arguments and plot-related arguments (#429). - New method
pl$read_parquet()
that is a shortcut forpl$scan_parquet()$collect()
(#434). - Rename
$str$str_explode()
to$str$explode()
(#436). - New method
$transpose()
forDataFrame
(#440). - New argument
eager
ofLazyFrame$set_optimization_toggle()
(#439). {polars}
can now be installed with "R source package with Rust library binary",
by a mechanism copied from the prqlr package.The URL and SHA256 hash of the available binaries are recorded inSys.setenv(NOT_CRAN = "true") install.packages("polars", repos = "https://rpolars.r-universe.dev")
tools/lib-sums.tsv
.
(#435, #448, #450, #451)
lib-v0.33.0
ci: add release-lib workflow to upload binary libraries to GitHub rel…
v0.8.1
- New string method
to_titlecase()
(#371). - Although stated in news for PR (#334)
strip = true
was not actually set for the "release-optimized" compilation profile. Now it is, but the binary sizes seems unchanged (#377). - New vignette on best practices to improve
polars
performance (#188). - Subnamespace name "arr" as in
<Expr>$arr$
&<Series>$arr$
is deprecated in favor of "list". Finally at polars 0.9.0 the "arr" will be removed (#375).
v0.8.0
What's Changed
- docs: can't install from CRAN now by @eitsupi in #333
- Revert "Revert "Implement
with_row_count
forDataFrame
andLazyFrame
"" by @eitsupi in #332 - fix local build CMD by @philipp-baumann in #331
- Enable
$explode()
forData/LazyFrame
by @etiennebacher in #314 - build: always NOT_CRAN=true by @eitsupi in #340
- Add method
$clone()
forLazyFrame
by @etiennebacher in #347 - Deprecate
with_column()
by @etiennebacher in #313 - Add robj clone by @sorhawell in #348
- Rework Expr operators and errors by @sorhawell in #346
- Implement
cov
,corr
,rolling_cov
,rolling_corr
by @Sicheng-Pan in #351 - Implement
concat_str()
by @etiennebacher in #349 - Fix
$describe()
bug for column names containing a:
by @sorhawell in #342 - fix use polars without library(polars) by @sorhawell in #355
- Moderate ** claims in docs + rework title by @sorhawell in #353
- Implement lazyframe profiling and optimization toggles by @Sicheng-Pan in #323
- Background execution and R process pool by @Sicheng-Pan in #311
- fix named_exprs not allowed and any related error by @sorhawell in #357
- Minor rework for
$explode()
by @sorhawell in #358 - fix collect(collect_in_background=TRUE) by @sorhawell in #359
- Minor error by @etiennebacher in #362
- Implement sink stream for LazyFrame by @Sicheng-Pan in #343
- Add rust polars version info by @sorhawell in #363
- Add several methods to use string cache by @sorhawell in #361
- bump rust-polars to 0.32.0 by @sorhawell in #334
<LazyFrame>$fetch()
by @sorhawell in #319- refactor lit, col, DataFrame, Series by @sorhawell in #369
- support extendr_polars by @sorhawell in #326
New Contributors
- @philipp-baumann made their first contribution in #331
Full Changelog: v0.7.0...v0.8.0
v0.7.0
What's Changed
- Revert commits pushed to the main branch by accident by @eitsupi in #237
- Add arg
maintain_order
tounique()
by @etiennebacher in #238 - Add
rename()
for DataFrame and LazyFrame by @etiennebacher in #239 - Add
pl$LazyFrame()
by @etiennebacher in #245 - fix release pipeline misses devtools by @sorhawell in #246
- Refactor error handling of the repository by @Sicheng-Pan in #233
- disable docs deployment if not DEPLOY_DOCS key is present in github SECRETS by @sorhawell in #248
- Implement LazyFrame$schema by @Sicheng-Pan in #250
- Add a reference page for docs by @etiennebacher in #223
- docs: change reference_home to Rmd by @eitsupi in #264
- Accept lists in
select()
by @etiennebacher in #265 - feat!: add
simd
feature and removepolars/simd
from the default feature by @eitsupi in #262 - point to rpolars/extendr branch pr473_553_555_566 by @sorhawell in #252
- trait specialization replace with two plain funcs by @sorhawell in #278
- feat: add
polars_info
function by @eitsupi in #271 - ci: add MSRV check workflow (should support Rust 1.66 now) by @eitsupi in #279
- impl glimpse by @sorhawell in #277
- test extendr rprintln supports
%
-char by @sorhawell in #284 - fix:
polars_info()
shows features correctly by @eitsupi in #285 - ci: R CMD check without
simd
feature with release virsion of Rust by @eitsupi in #274 - Accept vector of colnames in
$over()
by @etiennebacher in #287 - fix: support Rust 1.65 by @sorhawell in #280
- Replace
reverse
bydescending
in sorting functions by @etiennebacher in #291 - fix(installation): set
CARGO_HOME
to a temp dir if notNOT_CRAN=true
by @eitsupi in #292 - fix: reverse -> descending by @eitsupi in #293
- DataFrame.describe + auto-convert String-Err to RPolarsErr by @sorhawell in #268
- docs(NEWS): polish NEWS by @eitsupi in #296
- chore(docs): updates for R check notes by @eitsupi in #295
- docs(README): update installation options by @eitsupi in #294
- Fix news indentation by @etiennebacher in #298
- Add pivot examples to vignette by @grantmcdermott in #299
- feat!: bump rust-polars to 0.30.0 by @eitsupi in #289
- Use
altdoc
dev version by @etiennebacher in #303 - docs: fix some misspelling by @eitsupi in #304
- Rename functions to read CSV by @etiennebacher in #305
- docs: add LICENSE.note about Rust dependencies by @eitsupi in #309
- Enable
how = "cross"
in$join()
by @etiennebacher in #310 - Square bracket for LazyFrame by @vincentarelbundock in #301
- fix: use libR-sys 0.4.0 by @eitsupi in #317
- chore: cargo update by @eitsupi in #318
- Implement
with_row_count
forDataFrame
andLazyFrame
by @Sicheng-Pan in #329 - Revert "Implement
with_row_count
forDataFrame
andLazyFrame
" by @eitsupi in #330 - release: Release 0.7.0 by @eitsupi in #308
Full Changelog: v0.6.1...v0.7.0
v0.6.1
What's Changed
- Increment version number to 0.6.0.9000 by @eitsupi in #197
- R 4.2 -> 4.3 for r-universe binaries by @eddelbuettel in #198
- Docs: misc fixes by @etiennebacher in #200
- Use
maintain_order = TRUE
in README by @etiennebacher in #199 - Refactor groupby + defualt_maintain_order option by @sorhawell in #201
- fix dl-link macos readme by @sorhawell in #195
- try preload nanoarrow before building polars by @sorhawell in #207
- pak::local_install_deps(upgrade = FALSE) for ensure binary install by @sorhawell in #203
- try smorimoto/tune-github-hosted-runner-network by @sorhawell in #212
- More lazy functions by @sorhawell in #196
- Use
@doctype NULL
by @etiennebacher in #210 - Add
@format NULL
by @etiennebacher in #213 - debug/profile polars by @sorhawell in #193
- fix: pin the rust toolchain version by @eitsupi in #217
- formatting: Auto formatting by styler by @eitsupi in #215
- pin rust night in release.yaml (follow up #217) by @sorhawell in #219
- Fix rustanalyzer warnings + obey clippy by @sorhawell in #224
- Update nix flake by @Sicheng-Pan in #227
- build(nix): allow builtinsFetchGit by @a-kenji in #228
- chore: bump dev packages and fix test by @eitsupi in #229
- melt + pivot by @sorhawell in #232
- Bump to 0.6.1 by @sorhawell in #235
New Contributors
- @eddelbuettel made their first contribution in #198
- @a-kenji made their first contribution in #228
Full Changelog: v0.6.0...v0.6.1