pola-rs / r-polars

Bring polars to R
https://pola-rs.github.io/r-polars/
Other
405 stars 35 forks source link

release: Release 0.7.0 #308

Closed eitsupi closed 10 months ago

eitsupi commented 11 months ago

(The checks fail because of the snapshot test including the version number. As a side note, the snapshot tests via testthat are skipped on CRAN by default because it is not executed if not NOT_CRAN="ture".)

sorhawell commented 11 months ago

It appears there is a hard limit of 20 minutes on compiling the package on CRAN https://builder.r-hub.io/status/original/polars_0.7.0.tar.gz-8ec5459bde494544a183099bf6451494

sorhawell commented 11 months ago

NOTE update with ctb's in DESCRIPTION as of #307

eddelbuettel commented 11 months ago

It appears there is a hard limit of 20 minutes on compiling the package on CRAN

No that is just r-hub. You can't infer a limit at CRAN from r-hub -- but for CRAN most of what we know is in the CRAN Repository Policy page. Some larger packages (duckdb, arrow, ...) merrily take a longish time and I don't think I recall an explicit cap at CRAN.

sorhawell commented 11 months ago

@etiennebacher @eitsupi I have been struggling with the ExprDT docs. rextendr::document() or devtools::check(...) reworks all ExprDT methods and add usage section. R CMD check will fail that. make build and devtools::document() removes the usage sections. I have not figures out what makes the ExprDT docs different than other subnamespace or why different entries to roxygen produces different docs.

eitsupi commented 11 months ago

I have been struggling with the ExprDT docs. rextendr::document() or devtools::check(...) reworks all ExprDT methods and add usage section. R CMD check will fail that. make build and devtools::document() removes the usage sections.

I have tried all except devtools::check() and they all seem to work the same. (Note that rextendr::document calls devtools::document) There may be some other cause.

sorhawell commented 11 months ago

@eitsupi what do you use to preserve cache when running devtools::check locally?

I'm scrambling to use the new makevars. Currently my iteration cycle has slowed down 5x because fresh compilation is triggered often

eddelbuettel commented 11 months ago

because fresh compilation is triggered often

Can you use ccache? World's biggest fan and user here. See https://dirk.eddelbuettel.com/blog/2017/11/27/

sorhawell commented 11 months ago

Can you use ccache?

we have ~200 rust crates dependencies that cargo resolves versions, compiles and caches.

normally recompilation only triggers r-polars and it takes 15 secs

without cargo caching we would be toast :)

R cmd check and CRAN are not very cargo/rust friendly. E.g. R cmd check likes to also enforce make-file standards on all rust creates and build files, which it really shouldn't. It would be impossible for us to email all 200 maintainers and ask to adhere to R standards.

So we need to hide away cargo from check and CRAN, but still use it to speed up caching.

With latest changes to some build flow to avoid some other CRAN stuff, I just can't get check to work with caching locally. It will work eventually.

eitsupi commented 11 months ago

@eitsupi what do you use to preserve cache when running devtools::check locally?

I'm scrambling to use the new makevars. Currently my iteration cycle has slowed down 5x because fresh compilation is triggered often

Would setting NOT_CRAN="true" (via Sys.setenv(NOT_CRAN="true") in R) solves your problem?

Check here. https://github.com/pola-rs/r-polars/blob/9921df32b1929a3ea869f56966ebba79b349c46e/src/Makevars#L18-L20

eddelbuettel commented 11 months ago

R cmd check and CRAN are not very cargo/rust friendly

You cannot undo history. CRAN is child of the 1990s, and all builds prefered all components local. I have a feeling that will never change.

It is now 2023. Many build systems for many languages now routinely call out and bring in components. cmake does it for C/C++, and of course julia, rust, ... do it for their ecosystems. That is fundamentally at odds with CRAN so there will be friction.

We cheat in some C/C++ packages too and pull in pre-made 'blobs' (provided they come from proper open source repos). So rust/cargo can get there. But it was always going to be work and "friction". So with that I really truly deeply understand the pain you are in and really truly deeply appreciate that you are working through it. With the CRAN folks. We will all be better off afterwards. But hey nobody promised a walk in the park. :wink:

eitsupi commented 11 months ago

R cmd check likes to also enforce make-file standards on all rust creates and build files

Oh, I see.

> Sys.setenv(NOT_CRAN="true")

> devtools::check()
══ Documenting ═════════════════════════════════════════════════════════════════════════════════════════
ℹ Updating polars documentation
ℹ Loading polars
Writing nanoarrow.Rd

══ Building ════════════════════════════════════════════════════════════════════════════════════════════
Setting env vars:
• CFLAGS    : -Wall -pedantic -fdiagnostics-color=always
• CXXFLAGS  : -Wall -pedantic -fdiagnostics-color=always
• CXX11FLAGS: -Wall -pedantic -fdiagnostics-color=always
• CXX14FLAGS: -Wall -pedantic -fdiagnostics-color=always
• CXX17FLAGS: -Wall -pedantic -fdiagnostics-color=always
• CXX20FLAGS: -Wall -pedantic -fdiagnostics-color=always
── R CMD build ─────────────────────────────────────────────────────────────────────────────────────────
✔  checking for file ‘/workspaces/r-polars/DESCRIPTION’ ...
─  preparing ‘polars’: (4m 3s)
✔  checking DESCRIPTION meta-information ...
─  cleaning src
─  installing the package to build vignettes (12.1s)
✔  creating vignettes (8m 45.3s)
─  cleaning src
─  checking for LF line-endings in source and make files and shell scripts (2.8s)
─  checking for empty or unneeded directories
─  building ‘polars_0.7.0.tar.gz’

══ Checking ════════════════════════════════════════════════════════════════════════════════════════════
Setting env vars:
• _R_CHECK_CRAN_INCOMING_REMOTE_               : FALSE
• _R_CHECK_CRAN_INCOMING_                      : FALSE
• _R_CHECK_FORCE_SUGGESTS_                     : FALSE
• _R_CHECK_PACKAGES_USED_IGNORE_UNUSED_IMPORTS_: FALSE
• NOT_CRAN                                     : true
── R CMD check ─────────────────────────────────────────────────────────────────────────────────────────
─  using log directory ‘/tmp/RtmptYksMT/file3456a8410c0/polars.Rcheck’ (368ms)
─  using R version 4.2.2 (2022-10-31)
─  using platform: x86_64-pc-linux-gnu (64-bit)
─  using session charset: UTF-8
─  using options ‘--no-manual --as-cran’ (641ms)
✔  checking for file ‘polars/DESCRIPTION’
─  this is package ‘polars’ version ‘0.7.0’
─  package encoding: UTF-8
✔  checking package namespace information ...
✔  checking package dependencies (3.8s)
✔  checking if this is a source package ...
✔  checking if there is a namespace
✔  checking for executable files (2.8s)
N  checking for hidden files and directories
   Found the following hidden files and directories:
     .devcontainer
   These were most likely included in error. See section ‘Package
   structure’ in the ‘Writing R Extensions’ manual.
✔  checking for portable file names ...
✔  checking for sufficient/correct file permissions ...
─  checking whether package ‘polars’ can be installed ... [4831s/482s] OK (8m 2.2s)
N  checking installed package size ...
     installed size is 140.7Mb
     sub-directories of 1Mb or more:
       libs  138.9Mb
✔  checking package directory
✔  checking for future file timestamps ...
✔  checking ‘build’ directory
✔  checking DESCRIPTION meta-information ...
✔  checking top-level files ...
✔  checking for left-over files ...
✔  checking index information ...
✔  checking package subdirectories (344ms)
✔  checking R files for non-ASCII characters ...
✔  checking R files for syntax errors ...
✔  checking whether the package can be loaded (362ms)
✔  checking whether the package can be loaded with stated dependencies ...
✔  checking whether the package can be unloaded cleanly ...
✔  checking whether the namespace can be loaded with stated dependencies ...
✔  checking whether the namespace can be unloaded cleanly ...
✔  checking loading without being on the library search path (374ms)
✔  checking dependencies in R code (1.7s)
✔  checking S3 generic/method consistency (768ms)
✔  checking replacement functions ...
✔  checking foreign function calls (729ms)
─  checking R code for possible problems ... [25s/12s] OK (12.4s)
✔  checking Rd files (1.7s)
✔  checking Rd metadata ...
✔  checking Rd line widths (1.6s)
✔  checking Rd cross-references (561ms)
✔  checking for missing documentation entries ...
✔  checking for code/documentation mismatches (2s)
✔  checking Rd \usage sections (3.1s)
✔  checking Rd contents (1.2s)
✔  checking for unstated dependencies in examples (2.1s)
N  checking line endings in C/C++/Fortran sources/headers ...
   Found the following sources/headers not terminated with a newline:
     src/rust/target/release/build/zstd-sys-a4301f4265c12245/out/flag_check.c
   Some compilers warn on such files.
✔  checking line endings in Makefiles ...
✔  checking compilation flags in Makevars ...
W  checking for GNU extensions in Makefiles ...
   Found the following file(s) containing GNU extensions:
     src/rust/target/release/build/jemalloc-sys-a86fa4f256d16947/out/build/Makefile
     src/rust/target/release/build/jemalloc-sys-a86fa4f256d16947/out/build/Makefile.in
     src/rust/target/release/build/libz-ng-sys-ee142b7444bd48d2/out/build/Makefile
   Portable Makefiles do not use GNU extensions such as +=, :=, $(shell),
   $(wildcard), ifeq ... endif, .NOTPARALLEL See section ‘Writing portable
   packages’ in the ‘Writing R Extensions’ manual.
✔  checking for portable use of $(BLAS_LIBS) and $(LAPACK_LIBS)
✔  checking use of PKG_*FLAGS in Makefiles ...
✔  checking use of SHLIB_OPENMP_*FLAGS in Makefiles ...
✔  checking include directives in Makefiles ...
✔  checking pragmas in C/C++ headers and code ...
N  checking compilation flags used ...
   Compilation used the following non-portable flag(s):
     ‘-Wdate-time’ ‘-Werror=format-security’ ‘-Wformat’
✔  checking compiled code (995ms)
    WARNING
   ‘qpdf’ is needed for checks on size reduction of PDFs
✔  checking installed files from ‘inst/doc’ ...
✔  checking files in ‘vignettes’ ...
─  checking examples ... [37s/36s] OK (38.5s)
✔  checking for unstated dependencies in ‘tests’ (846ms)
─  checking tests ...
    [30s/26s] OKthat.R’
   * checking for unstated dependencies in vignettes ... OK
   * checking package vignettes in ‘inst/doc’ ... OK
   * checking re-building of vignette outputs ... [11s/11s] OK
   * checking for non-standard things in the check directory ... OK
   * checking for detritus in the temp directory ... OK
   * DONE

   Status: 2 WARNINGs, 4 NOTEs
   See
     ‘/tmp/RtmptYksMT/file3456a8410c0/polars.Rcheck/00check.log’
   for details.

── R CMD check results ─────────────────────────────────────────────────────────────────────── polars 0.7.0 ────
Duration: 10m 9.2s

❯ checking for GNU extensions in Makefiles ... WARNING
  Found the following file(s) containing GNU extensions:
    src/rust/target/release/build/jemalloc-sys-a86fa4f256d16947/out/build/Makefile
    src/rust/target/release/build/jemalloc-sys-a86fa4f256d16947/out/build/Makefile.in
    src/rust/target/release/build/libz-ng-sys-ee142b7444bd48d2/out/build/Makefile
  Portable Makefiles do not use GNU extensions such as +=, :=, $(shell),
  $(wildcard), ifeq ... endif, .NOTPARALLEL See section ‘Writing portable
  packages’ in the ‘Writing R Extensions’ manual.

❯ checking compiled code ... OK
   WARNING
  ‘qpdf’ is needed for checks on size reduction of PDFs

❯ checking for hidden files and directories ... NOTE
  Found the following hidden files and directories:
    .devcontainer
  These were most likely included in error. See section ‘Package
  structure’ in the ‘Writing R Extensions’ manual.

❯ checking installed package size ... NOTE
    installed size is 140.7Mb
    sub-directories of 1Mb or more:
      libs  138.9Mb

❯ checking line endings in C/C++/Fortran sources/headers ... NOTE
  Found the following sources/headers not terminated with a newline:
    src/rust/target/release/build/zstd-sys-a4301f4265c12245/out/flag_check.c
  Some compilers warn on such files.

❯ checking compilation flags used ... NOTE
  Compilation used the following non-portable flag(s):
    ‘-Wdate-time’ ‘-Werror=format-security’ ‘-Wformat’

0 errors ✔ | 2 warnings ✖ | 4 notes ✖
eitsupi commented 11 months ago

I am currently checking locally, if $NOT_CRAN != "ture", the build directory will be deleted and must pass the Makefile check.

https://github.com/pola-rs/r-polars/blob/9921df32b1929a3ea869f56966ebba79b349c46e/src/Makevars#L27-L30

eitsupi commented 11 months ago

Ok, devtools::check(document = FALSE, cran = TRUE) pass the Makefile checking.

(.devcontainer is my local directory, please ignore that)

> devtools::check(document = FALSE, cran = TRUE)
══ Building ════════════════════════════════════════════════════════════════════════════════════════════════════
Setting env vars:
• CFLAGS    : -Wall -pedantic -fdiagnostics-color=always
• CXXFLAGS  : -Wall -pedantic -fdiagnostics-color=always
• CXX11FLAGS: -Wall -pedantic -fdiagnostics-color=always
• CXX14FLAGS: -Wall -pedantic -fdiagnostics-color=always
• CXX17FLAGS: -Wall -pedantic -fdiagnostics-color=always
• CXX20FLAGS: -Wall -pedantic -fdiagnostics-color=always
── R CMD build ─────────────────────────────────────────────────────────────────────────────────────────────────
✔  checking for file ‘/workspaces/r-polars/DESCRIPTION’ (391ms)
^C

r$> devtools::check(document = FALSE, env_vars = NULL)
══ Building ════════════════════════════════════════════════════════════════════════════════════════════════════
Setting env vars:
• CFLAGS    : -Wall -pedantic -fdiagnostics-color=always
• CXXFLAGS  : -Wall -pedantic -fdiagnostics-color=always
• CXX11FLAGS: -Wall -pedantic -fdiagnostics-color=always
• CXX14FLAGS: -Wall -pedantic -fdiagnostics-color=always
• CXX17FLAGS: -Wall -pedantic -fdiagnostics-color=always
• CXX20FLAGS: -Wall -pedantic -fdiagnostics-color=always
── R CMD build ─────────────────────────────────────────────────────────────────────────────────────────────────
✔  checking for file ‘/workspaces/r-polars/DESCRIPTION’ (428ms)
─  preparing ‘polars’: (2m 4.7s)
✔  checking DESCRIPTION meta-information ...
─  cleaning src
─  installing the package to build vignettes (6.7s)
✔  creating vignettes (8m 33.5s)
─  cleaning src
─  checking for LF line-endings in source and make files and shell scripts (4.9s)
─  checking for empty or unneeded directories
─  building ‘polars_0.7.0.tar.gz’

══ Checking ════════════════════════════════════════════════════════════════════════════════════════════════════
Setting env vars:
• _R_CHECK_CRAN_INCOMING_REMOTE_               : FALSE
• _R_CHECK_CRAN_INCOMING_                      : FALSE
• _R_CHECK_FORCE_SUGGESTS_                     : FALSE
• _R_CHECK_PACKAGES_USED_IGNORE_UNUSED_IMPORTS_: FALSE
── R CMD check ─────────────────────────────────────────────────────────────────────────────────────────────────
─  using log directory ‘/tmp/Rtmp1ZIdn6/file454e5706129c/polars.Rcheck’ (424ms)
─  using R version 4.2.2 (2022-10-31)
─  using platform: x86_64-pc-linux-gnu (64-bit)
─  using session charset: UTF-8
─  using options ‘--no-manual --as-cran’ (904ms)
✔  checking for file ‘polars/DESCRIPTION’
─  this is package ‘polars’ version ‘0.7.0’
─  package encoding: UTF-8
✔  checking package namespace information ...
✔  checking package dependencies (3.7s)
✔  checking if this is a source package ...
✔  checking if there is a namespace
✔  checking for executable files (4.4s)
N  checking for hidden files and directories ...
   Found the following hidden files and directories:
     .devcontainer
   These were most likely included in error. See section ‘Package
   structure’ in the ‘Writing R Extensions’ manual.
✔  checking for portable file names ...
✔  checking for sufficient/correct file permissions ...
─  checking whether package ‘polars’ can be installed ... [4476s/519s] OK (8m 39.5s)
N  checking installed package size ...
     installed size is 140.8Mb
     sub-directories of 1Mb or more:
       libs  139.0Mb
✔  checking package directory ...
✔  checking for future file timestamps ...
✔  checking ‘build’ directory ...
✔  checking DESCRIPTION meta-information (502ms)
✔  checking top-level files ...
✔  checking for left-over files ...
✔  checking index information ...
✔  checking package subdirectories (355ms)
✔  checking R files for non-ASCII characters ...
✔  checking R files for syntax errors ...
✔  checking whether the package can be loaded (421ms)
✔  checking whether the package can be loaded with stated dependencies ...
✔  checking whether the package can be unloaded cleanly ...
✔  checking whether the namespace can be loaded with stated dependencies ...
✔  checking whether the namespace can be unloaded cleanly (446ms)
✔  checking loading without being on the library search path (494ms)
✔  checking dependencies in R code (1.9s)
✔  checking S3 generic/method consistency (1.2s)
✔  checking replacement functions ...
✔  checking foreign function calls (986ms)
─  checking R code for possible problems ... [30s/17s] OK (17s)
✔  checking Rd files (2.4s)
✔  checking Rd metadata ...
✔  checking Rd line widths (1.9s)
✔  checking Rd cross-references (726ms)
✔  checking for missing documentation entries ...
✔  checking for code/documentation mismatches (2.7s)
✔  checking Rd \usage sections (3.8s)
✔  checking Rd contents (1.6s)
✔  checking for unstated dependencies in examples (2.8s)
✔  checking line endings in C/C++/Fortran sources/headers ...
✔  checking line endings in Makefiles ...
✔  checking compilation flags in Makevars ...
✔  checking for GNU extensions in Makefiles ...
✔  checking for portable use of $(BLAS_LIBS) and $(LAPACK_LIBS)
✔  checking use of PKG_*FLAGS in Makefiles ...
✔  checking use of SHLIB_OPENMP_*FLAGS in Makefiles ...
✔  checking pragmas in C/C++ headers and code ...
N  checking compilation flags used
   Compilation used the following non-portable flag(s):
     ‘-Wdate-time’ ‘-Werror=format-security’ ‘-Wformat’
✔  checking compiled code (1.4s)
    WARNING
   ‘qpdf’ is needed for checks on size reduction of PDFs
✔  checking installed files from ‘inst/doc’ ...
✔  checking files in ‘vignettes’ ...
─  checking examples ... [43s/42s] OK (44.9s)
   Examples with CPU (user + system) or elapsed time > 5s
               user system elapsed
   Expr_apply 5.396  0.088   5.478
✔  checking for unstated dependencies in ‘tests’ (1.2s)
─  checking tests (382ms)
    [37s/32s] OKthat.R’
   * checking for unstated dependencies in vignettes ... OK
   * checking package vignettes in ‘inst/doc’ ... OK
   * checking re-building of vignette outputs ... [13s/15s] OK
   * checking for non-standard things in the check directory ... OK
   * checking for detritus in the temp directory ... OK
   * DONE

   Status: 1 WARNING, 3 NOTEs
   See
     ‘/tmp/Rtmp1ZIdn6/file454e5706129c/polars.Rcheck/00check.log’
   for details.

── R CMD check results ─────────────────────────────────────────────────────── polars 0.7.0 ────
Duration: 11m 11.2s

❯ checking compiled code ... OK
   WARNING
  ‘qpdf’ is needed for checks on size reduction of PDFs

❯ checking for hidden files and directories ... NOTE
  Found the following hidden files and directories:
    .devcontainer
  These were most likely included in error. See section ‘Package
  structure’ in the ‘Writing R Extensions’ manual.

❯ checking installed package size ... NOTE
    installed size is 140.8Mb
    sub-directories of 1Mb or more:
      libs  139.0Mb

❯ checking compilation flags used ... NOTE
  Compilation used the following non-portable flag(s):
    ‘-Wdate-time’ ‘-Werror=format-security’ ‘-Wformat’

0 errors ✔ | 1 warning ✖ | 3 notes ✖
eitsupi commented 11 months ago

@sorhawell I have added cran-comments.md based on the results of my check. I think you can get the results of the run in your environment by running devtools::check(cran = TRUE) as I did if needed. (but it takes tens of minutes to run, so I am afraid that is wasting your time)

I believe we are now ready to submit to CRAN.

sorhawell commented 11 months ago

more todo according to https://r-pkgs.org/release.html_

eitsupi commented 11 months ago
  • add cran installation instructions to README

I think I have done in this PR.

  • spellling check + url check

I think we have done in #304 and #295

  • add cph to Soren Welling ()

I do not know if this is required.

sorhawell commented 11 months ago

add cph to Soren Welling () I do not know if this is required.

two source says yes: https://r-pkgs.org/release.html https://github.com/DavisVaughan/extrachecks#you-get-asked-about-being-the-copyright-holder-cph

one source says no: https://search.r-project.org/CRAN/refmans/usethis/html/licenses.html (defaults to authors)

I look at zoo and data.table and there is no cph.

eitsupi commented 11 months ago

I think we can submit it in its current state and reconsider if pointed out. I have looked at several packages and I think there are many without cph.

sorhawell commented 11 months ago

I just pushed the submit_cran() button. It is recompiling now :)

sorhawell commented 11 months ago
[This was generated from [CRAN.R-project.org/submit.html](http://cran.r-project.org/submit.html)]

The following package was uploaded to CRAN:
===========================================

Package Information:
Package: polars
Version: 0.7.0
Title: Lightning-fast DataFrame Library
Author(s): Ritchie Vink [aut], Soren Welling [aut, cre], Tatsuya Shima
  [aut], Etienne Bacher [ctb]
Maintainer: Soren Welling <[sorhawell@gmail.com](mailto:sorhawell@gmail.com)>
Depends: R (>= 4.1.0)
Suggests: arrow, bench, bit64, data.table, knitr, lubridate, nanoarrow,
  nycflights13, patrick, pillar, rmarkdown, testthat (>= 3.0.0),
  tibble, withr
Description: Lightning-fast DataFrame library written in Rust. Convert R
  data to 'Polars' data and vice versa. Perform fast, lazy,
  larger-than-memory and optimized data queries. 'Polars' is
  interoperable with package arrow, as both are based on Apache
  Arrow Columnar Format.
License: MIT + file LICENSE
Imports: utils, codetools

The maintainer confirms that he or she
has read and agrees to the CRAN policies.

Submitter's comment: ## Test environments

- local: x86_64-pc-linux-gnu
-
  GitHub Actions
  - { os: macos-latest, r: "release"
  }
  - { os: windows-latest, r: "devel" }
  - { os:
  windows-latest, r: "release" }
  - { os:
  ubuntu-latest, r: "devel" }
  - { os: ubuntu-latest,
  r: "release" }
  - { os: ubuntu-latest, r: "oldrel-1"
  }

## R CMD check results

- There were no ERRORs or
  WARNINGs.
- There was 2 NOTEs.
  - New submission
  -
  installed size is 140.8Mb

=================================================

Original content of DESCRIPTION file:

Package: polars
Title: Lightning-fast DataFrame Library
Version: 0.7.0
Depends: R (>= 4.1.0)
Imports: utils, codetools
Authors@R:
  c(person("Ritchie", "Vink", , "[ritchie46@gmail.com](mailto:ritchie46@gmail.com)", role = c("aut")),
    person("Soren", "Welling", , "[sorhawell@gmail.com](mailto:sorhawell@gmail.com)", role = c("aut","cre")),
    person("Tatsuya", "Shima", , "[ts1s1andn@gmail.com](mailto:ts1s1andn@gmail.com)", role = c("aut")),
    person("Etienne", "Bacher", , "[etienne.bacher@protonmail.com](mailto:etienne.bacher@protonmail.com)", role = c("ctb")))
Description: Lightning-fast DataFrame library written in Rust.
  Convert R data to 'Polars' data and vice versa. Perform fast, lazy, larger-than-memory and
  optimized data queries. 'Polars' is interoperable with package arrow, as both are based on
  Apache Arrow Columnar Format.
License: MIT + file LICENSE
Language: en-US
Encoding: UTF-8
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.2.3
SystemRequirements: Cargo (rustc package manager), cmake
URL: https://github.com/pola-rs/r-polars
        https://rpolars.r-universe.dev/polars
Suggests: arrow, bench, bit64, data.table, knitr, lubridate, nanoarrow,
        nycflights13, patrick, pillar, rmarkdown, testthat (>= 3.0.0),
        tibble, withr
Config/Needs/website: etiennebacher/altdoc, here, magrittr, pkgload,
        yaml
Config/Needs/dev: brio, devtools, RcppTOML, rextendr,
        robinlovelace/styler.equals, spelling, stringr, styler
Config/testthat/edition: 3
Collate: 'utils.R' 'extendr-wrappers.R' 'after-wrappers.R' 'Field.R'
        'PTime.R' 'autocompletion.R' 'construction.R' 'convert.R'
        'csv.R' 'dataframe__frame.R' 'datatype.R' 'docs.R'
        'error__rpolarserr.R' 'error__string.R' 'error__trait.R'
        'error_conversion.R' 'expr__binary.R' 'expr__categorical.R'
        'expr__datetime.R' 'expr__expr.R' 'expr__list.R' 'expr__meta.R'
        'expr__string.R' 'expr__struct.R' 'functions__eager.R'
        'functions__lazy.R' 'functions__whenthen.R' 'groupby.R'
        'info.R' 'ipc.R' 'lazyframe__background.R'
        'lazyframe__groupby.R' 'lazyframe__lazy.R' 'namespace.R'
        'options.R' 'parquet.R' 'pkg-knitr.R' 'pkg-nanoarrow.R'
        'rlang.R' 'rust_result.R' 's3_methods.R' 'series__series.R'
        'translation.R' 'vctrs.R' 'zzz.R'
Config/rextendr/version: 0.3.0
VignetteBuilder: knitr
NeedsCompilation: yes
Packaged: 2023-07-06 09:47:49 UTC; sorenwelling
Author: Ritchie Vink [aut],
  Soren Welling [aut, cre],
  Tatsuya Shima [aut],
  Etienne Bacher [ctb]
Maintainer: Soren Welling <[sorhawell@gmail.com](mailto:sorhawell@gmail.com)>
etiennebacher commented 11 months ago

Sorry I couldn't really help here as this was mostly infrastructure-related, which isn't really my strong suit ^^ Thanks for your work on this, glad to see polars going to CRAN!

sorhawell commented 11 months ago

We got some very minor notes on urls and title stuff. I'm on vacation and will try to fix it tonight.

<html><head></head><body><div class="adn ads" style="display:" data-message-id="#msg-f:1770677457265016282" data-legacy-message-id="1892b5c41412bdda"><div class="gs"><div class=""><div id=":p6" class="ii gt" jslog="20277; u014N:xr6bB; 1:WyIjdGhyZWFkLWY6MTc3MDY2NjI2NzQyMjg0MDEyOHxtc2ctZjoxNzcwNjc3NDU3MjY1MDE2MjgyIixudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxbXV0.; 4:WyIjbXNnLWY6MTc3MDY3NzQ1NzI2NTAxNjI4MiIsbnVsbCxbXV0."><div id=":p5" class="a3s aiL ">Dear maintainer,<br>
<br>
package polars_0.7.0.tar.gz does not pass the incoming checks automatically, please see the following pre-tests:<br>
Windows: &lt;<a href="https://win-builder.r-project.org/incoming_pretest/polars_0.7.0_20230706_122217/Windows/00check.log" rel="noreferrer" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://win-builder.r-project.org/incoming_pretest/polars_0.7.0_20230706_122217/Windows/00check.log&amp;source=gmail&amp;ust=1688741066194000&amp;usg=AOvVaw1T43fBJixVF1Q9WNW13txh">https://win-builder.r-project<wbr>.org/incoming_pretest/polars_<wbr>0.7.0_20230706_122217/Windows/<wbr>00check.log</a>&gt;<br>
Status: 3 NOTEs<br>
Debian: &lt;<a href="https://win-builder.r-project.org/incoming_pretest/polars_0.7.0_20230706_122217/Debian/00check.log" rel="noreferrer" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://win-builder.r-project.org/incoming_pretest/polars_0.7.0_20230706_122217/Debian/00check.log&amp;source=gmail&amp;ust=1688741066194000&amp;usg=AOvVaw3ajDYecF8ZmL7kjQhb48BY">https://win-builder.r-project<wbr>.org/incoming_pretest/polars_<wbr>0.7.0_20230706_122217/Debian/<wbr>00check.log</a>&gt;<br>
Status: 2 NOTEs<br>
<br>
<br>
<br>
Please fix all problems and resubmit a fixed version via the webform.<br>
If you are not sure how to fix the problems shown, please ask for help on the R-package-devel mailing list:<br>
&lt;<a href="https://stat.ethz.ch/mailman/listinfo/r-package-devel" rel="noreferrer" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://stat.ethz.ch/mailman/listinfo/r-package-devel&amp;source=gmail&amp;ust=1688741066194000&amp;usg=AOvVaw0bo-Ctvp3dV59MZ_dW4VZy">https://stat.ethz.ch/mailman/<wbr>listinfo/r-package-devel</a>&gt;<br>
If you are fairly certain the rejection is a false positive, please reply-all to this message and explain.<br>
<br>
More details are given in the directory:<br>
&lt;<a href="https://win-builder.r-project.org/incoming_pretest/polars_0.7.0_20230706_122217/" rel="noreferrer" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://win-builder.r-project.org/incoming_pretest/polars_0.7.0_20230706_122217/&amp;source=gmail&amp;ust=1688741066194000&amp;usg=AOvVaw1JWeV_ROu12tCCCVre-oNz">https://win-builder.r-project<wbr>.org/incoming_pretest/polars_<wbr>0.7.0_20230706_122217/</a>&gt;<br>
The files will be removed after roughly 7 days.<br>
<br>
No strong reverse dependencies to be checked.<br>
<br>
Best regards,<br>
CRAN teams' auto-check service<br>
Flavor: r-devel-windows-x86_64<br>
Check: CRAN incoming feasibility, Result: NOTE<br>
  Maintainer: 'Soren Welling &lt;<a href="mailto:sorhawell@gmail.com" target="_blank">sorhawell@gmail.com</a>&gt;'<br>
<br>
  New submission<br>
<br>
  Possibly misspelled words in DESCRIPTION:<br>
    DataFrame (2:23, 11:29)<br>
<br>
  Found the following (possibly) invalid URLs:<br>
    URL: <a href="https://discord.gg/4UfP5cfBE7" rel="noreferrer" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://discord.gg/4UfP5cfBE7&amp;source=gmail&amp;ust=1688741066194000&amp;usg=AOvVaw2lla7Ew7CpPhDK__uIeMzq">https://discord.gg/4UfP5cfBE7</a> (moved to <a href="https://discord.com/invite/4UfP5cfBE7" rel="noreferrer" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://discord.com/invite/4UfP5cfBE7&amp;source=gmail&amp;ust=1688741066194000&amp;usg=AOvVaw2ozL1Loqr4BxU1-HxHJVCQ">https://discord.com/invite/4Uf<wbr>P5cfBE7</a>)<br>
      From: README.md<br>
      Status: 301<br>
      Message: Moved Permanently<br>
    URL: <a href="https://pola-rs.github.io/polars-book/user-guide/lazy-api/" rel="noreferrer" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://pola-rs.github.io/polars-book/user-guide/lazy-api/&amp;source=gmail&amp;ust=1688741066194000&amp;usg=AOvVaw2Ev-jvCV2JacZ0n3txeKQx">https://pola-rs.github.io/pola<wbr>rs-book/user-guide/lazy-api/</a><br>
      From: inst/doc/polars.html<br>
      Status: 404<br>
      Message: Not Found<br>
    URL: <a href="https://rpolars.github.io/reference/DataFrame_join" rel="noreferrer" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://rpolars.github.io/reference/DataFrame_join&amp;source=gmail&amp;ust=1688741066194000&amp;usg=AOvVaw3Wb8WQ5cHAnhLkgL3ScygJ">https://rpolars.github.io/refe<wbr>rence/DataFrame_join</a> (moved to <a href="https://rpolars.github.io/reference/DataFrame_join/" rel="noreferrer" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://rpolars.github.io/reference/DataFrame_join/&amp;source=gmail&amp;ust=1688741066194000&amp;usg=AOvVaw3aGsc8dmHX4LtSQzSn6FOy">https://rpolars.github.io/refe<wbr>rence/DataFrame_join/</a>)<br>
      From: inst/doc/polars.html<br>
      Status: 301<br>
      Message: Moved Permanently<br>
    URL: <a href="https://rpolars.github.io/reference/Expr_cos.html" rel="noreferrer" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://rpolars.github.io/reference/Expr_cos.html&amp;source=gmail&amp;ust=1688741066194000&amp;usg=AOvVaw1MbcgOrk4WAK0Z8IGj9MvV">https://rpolars.github.io/refe<wbr>rence/Expr_cos.html</a><br>
      From: README.md<br>
      Status: 404<br>
      Message: Not Found<br>
    URL: <a href="https://rpolars.github.io/reference/LazyFrame_class" rel="noreferrer" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://rpolars.github.io/reference/LazyFrame_class&amp;source=gmail&amp;ust=1688741066194000&amp;usg=AOvVaw2ar_6L-w4d_UlXpEwNVStV">https://rpolars.github.io/refe<wbr>rence/LazyFrame_class</a> (moved to <a href="https://rpolars.github.io/reference/LazyFrame_class/" rel="noreferrer" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://rpolars.github.io/reference/LazyFrame_class/&amp;source=gmail&amp;ust=1688741066194000&amp;usg=AOvVaw10gU_AfeN7baoHD9o0jvvz">https://rpolars.github.io/refe<wbr>rence/LazyFrame_class/</a>)<br>
      From: inst/doc/polars.html<br>
      Status: 301<br>
      Message: Moved Permanently<br>
    URL: <a href="https://rpolars.github.io/reference/filter-open-paren-close-paren/" rel="noreferrer" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://rpolars.github.io/reference/filter-open-paren-close-paren/&amp;source=gmail&amp;ust=1688741066194000&amp;usg=AOvVaw1TVjwnzN3XusDpryhd9N-X">https://rpolars.github.io/refe<wbr>rence/filter-open-paren-close-<wbr>paren/</a><br>
      From: inst/doc/polars.html<br>
      Status: 404<br>
      Message: Not Found<br>
    URL: <a href="https://rpolars.r-universe.dev/rpolars#install" rel="noreferrer" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://rpolars.r-universe.dev/rpolars%23install&amp;source=gmail&amp;ust=1688741066194000&amp;usg=AOvVaw1CnVjed1tOvBoaAvZJjKNk">https://rpolars.r-universe.dev<wbr>/rpolars#install</a><br>
      From: NEWS.md<br>
      Status: 404<br>
      Message: Not Found<br>
<br>
  The Title field should be in title case. Current version is:<br>
  'Lightning-fast DataFrame Library'<br>
  In title case that is:<br>
  'Lightning-Fast DataFrame Library'<br>
<br>
Flavor: r-devel-windows-x86_64<br>
Check: installed package size, Result: NOTE<br>
    installed size is 73.9Mb<br>
    sub-directories of 1Mb or more:<br>
      libs  72.1Mb<br>
<br>
Flavor: r-devel-linux-x86_64-debian-gc<wbr>c, r-devel-windows-x86_64<br>
Check: HTML version of manual, Result: NOTE<br>
  Found the following HTML validation problems:<br>
  DataFrame_sort.html:39:31 (DataFrame_sort.Rd:11): Error: &lt;expr&gt; is not recognized!<br>
  DataFrame_sort.html:39:31 (DataFrame_sort.Rd:11): Warning: discarding unexpected &lt;expr&gt;<br>
  ExprStr_replace.html:32:8 (ExprStr_replace.Rd:8): Error: &lt;expr&gt; is not recognized!<br>
  ExprStr_replace.html:32:8 (ExprStr_replace.Rd:8): Warning: discarding unexpected &lt;expr&gt;<br>
  ExprStr_replace.html:36:8 (ExprStr_replace.Rd:10): Error: &lt;expr&gt; is not recognized!<br>
  ExprStr_replace.html:36:8 (ExprStr_replace.Rd:10): Warning: discarding unexpected &lt;expr&gt;<br>
  ExprStr_replace_all.html:32:8 (ExprStr_replace_all.Rd:8): Error: &lt;expr&gt; is not recognized!<br>
  ExprStr_replace_all.html:32:8 (ExprStr_replace_all.Rd:8): Warning: discarding unexpected &lt;expr&gt;<br>
  ExprStr_replace_all.html:36:8 (ExprStr_replace_all.Rd:10): Error: &lt;expr&gt; is not recognized!<br>
  ExprStr_replace_all.html:36:8 (ExprStr_replace_all.Rd:10): Warning: discarding unexpected &lt;expr&gt;<br>
  ExprStr_slice.html:32:8 (ExprStr_slice.Rd:8): Error: &lt;expr&gt; is not recognized!<br>
  ExprStr_slice.html:32:8 (ExprStr_slice.Rd:8): Warning: discarding unexpected &lt;expr&gt;<br>
  ExprStr_slice.html:36:8 (ExprStr_slice.Rd:10): Error: &lt;expr&gt; is not recognized!<br>
  ExprStr_slice.html:36:8 (ExprStr_slice.Rd:10): Warning: discarding unexpected &lt;expr&gt;<br>
  LazyFrame_sort.html:39:31 (LazyFrame_sort.Rd:11): Error: &lt;expr&gt; is not recognized!<br>
  LazyFrame_sort.html:39:31 (LazyFrame_sort.Rd:11): Warning: discarding unexpected &lt;expr&gt;<br>
  wrap_elist_result.html:40:36 (wrap_elist_result.Rd:10): Error: &lt;expr&gt; is not recognized!<br>
  wrap_elist_result.html:40:36 (wrap_elist_result.Rd:10): Warning: discarding unexpected &lt;expr&gt;<br>
<br>
Flavor: r-devel-linux-x86_64-debian-gc<wbr>c<br>
Check: CRAN incoming feasibility, Result: NOTE<br>
  Maintainer: 'Soren Welling &lt;<a href="mailto:sorhawell@gmail.com" target="_blank">sorhawell@gmail.com</a>&gt;'<br>
<br>
  New submission<br>
<br>
  Possibly misspelled words in DESCRIPTION:<br>
    DataFrame (2:23, 11:29)<br>
<br>
  Found the following (possibly) invalid URLs:<br>
    URL: <a href="https://discord.gg/4UfP5cfBE7" rel="noreferrer" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://discord.gg/4UfP5cfBE7&amp;source=gmail&amp;ust=1688741066194000&amp;usg=AOvVaw2lla7Ew7CpPhDK__uIeMzq">https://discord.gg/4UfP5cfBE7</a> (moved to <a href="https://discord.com/invite/4UfP5cfBE7" rel="noreferrer" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://discord.com/invite/4UfP5cfBE7&amp;source=gmail&amp;ust=1688741066194000&amp;usg=AOvVaw2ozL1Loqr4BxU1-HxHJVCQ">https://discord.com/invite/4Uf<wbr>P5cfBE7</a>)<br>
      From: README.md<br>
      Status: 301<br>
      Message: Moved Permanently<br>
    URL: <a href="https://github.com/pola-rs/r-polars/releases/latest/download/polars.zip" rel="noreferrer" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://github.com/pola-rs/r-polars/releases/latest/download/polars.zip&amp;source=gmail&amp;ust=1688741066194000&amp;usg=AOvVaw27h3FGzMaNMy47aSb33NUg">https://github.com/pola-rs/r-p<wbr>olars/releases/latest/download<wbr>/polars.zip</a><br>
      From: README.md<br>
      Status: 401<br>
      Message: Unauthorized<br>
    URL: <a href="https://github.com/pola-rs/r-polars/releases/latest/download/polars__x86_64-apple-darwin20.tgz" rel="noreferrer" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://github.com/pola-rs/r-polars/releases/latest/download/polars__x86_64-apple-darwin20.tgz&amp;source=gmail&amp;ust=1688741066194000&amp;usg=AOvVaw0VFmll_xRpIOEdyaIl952Z">https://github.com/pola-rs/r-p<wbr>olars/releases/latest/download<wbr>/polars__x86_64-apple-darwin20<wbr>.tgz</a><br>
      From: README.md<br>
      Status: 401<br>
      Message: Unauthorized<br>
    URL: <a href="https://pola-rs.github.io/polars-book/user-guide/lazy-api/" rel="noreferrer" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://pola-rs.github.io/polars-book/user-guide/lazy-api/&amp;source=gmail&amp;ust=1688741066194000&amp;usg=AOvVaw2Ev-jvCV2JacZ0n3txeKQx">https://pola-rs.github.io/pola<wbr>rs-book/user-guide/lazy-api/</a><br>
      From: inst/doc/polars.html<br>
      Status: 404<br>
      Message: Not Found<br>
    URL: <a href="https://rpolars.github.io/reference/DataFrame_join" rel="noreferrer" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://rpolars.github.io/reference/DataFrame_join&amp;source=gmail&amp;ust=1688741066194000&amp;usg=AOvVaw3Wb8WQ5cHAnhLkgL3ScygJ">https://rpolars.github.io/refe<wbr>rence/DataFrame_join</a> (moved to <a href="https://rpolars.github.io/reference/DataFrame_join/" rel="noreferrer" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://rpolars.github.io/reference/DataFrame_join/&amp;source=gmail&amp;ust=1688741066194000&amp;usg=AOvVaw3aGsc8dmHX4LtSQzSn6FOy">https://rpolars.github.io/refe<wbr>rence/DataFrame_join/</a>)<br>
      From: inst/doc/polars.html<br>
      Status: 301<br>
      Message: Moved Permanently<br>
    URL: <a href="https://rpolars.github.io/reference/Expr_cos.html" rel="noreferrer" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://rpolars.github.io/reference/Expr_cos.html&amp;source=gmail&amp;ust=1688741066194000&amp;usg=AOvVaw1MbcgOrk4WAK0Z8IGj9MvV">https://rpolars.github.io/refe<wbr>rence/Expr_cos.html</a><br>
      From: README.md<br>
      Status: 404<br>
      Message: Not Found<br>
    URL: <a href="https://rpolars.github.io/reference/LazyFrame_class" rel="noreferrer" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://rpolars.github.io/reference/LazyFrame_class&amp;source=gmail&amp;ust=1688741066194000&amp;usg=AOvVaw2ar_6L-w4d_UlXpEwNVStV">https://rpolars.github.io/refe<wbr>rence/LazyFrame_class</a> (moved to <a href="https://rpolars.github.io/reference/LazyFrame_class/" rel="noreferrer" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://rpolars.github.io/reference/LazyFrame_class/&amp;source=gmail&amp;ust=1688741066194000&amp;usg=AOvVaw10gU_AfeN7baoHD9o0jvvz">https://rpolars.github.io/refe<wbr>rence/LazyFrame_class/</a>)<br>
      From: inst/doc/polars.html<br>
      Status: 301<br>
      Message: Moved Permanently<br>
    URL: <a href="https://rpolars.github.io/reference/filter-open-paren-close-paren/" rel="noreferrer" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://rpolars.github.io/reference/filter-open-paren-close-paren/&amp;source=gmail&amp;ust=1688741066194000&amp;usg=AOvVaw1TVjwnzN3XusDpryhd9N-X">https://rpolars.github.io/refe<wbr>rence/filter-open-paren-close-<wbr>paren/</a><br>
      From: inst/doc/polars.html<br>
      Status: 404<br>
      Message: Not Found<br>
    URL: <a href="https://rpolars.r-universe.dev/rpolars#install" rel="noreferrer" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://rpolars.r-universe.dev/rpolars%23install&amp;source=gmail&amp;ust=1688741066194000&amp;usg=AOvVaw1CnVjed1tOvBoaAvZJjKNk">https://rpolars.r-universe.dev<wbr>/rpolars#install</a><br>
      From: NEWS.md<br>
      Status: 404<br>
      Message: Not Found<br>
<br>
  The Title field should be in title case. Current version is:<br>
  'Lightning-fast DataFrame Library'<br>
  In title case that is:<br>
  'Lightning-Fast DataFrame Library'<div class="yj6qo"></div><div class="adL"><br>
</div></div></div><div class="hi"></div></div></div><div class="ajx"></div></div><div class="gA gt acV"><div class="gB xu" jslog="184332; u014N:xr6bB;"><div class="ip iq"><div id=":p7">

  |  
-- | --

</div></div></div></div></div></div></div></div></div></div></div><div class="nH aUx" style="min-width: 0px;" jsaction="CyXzrf:.CLIENT"><div class="no"><div class="nH bAw bcf nn it" style="width: 0px; height: 758px;"><div class="brC-dA-I-Jw"></div></div></div></div></body></html>Dear maintainer,

package polars_0.7.0.tar.gz does not pass the incoming checks automatically, please see the following pre-tests:
Windows: <https://win-builder.r-project.org/incoming_pretest/polars_0.7.0_20230706_122217/Windows/00check.log>
Status: 3 NOTEs
Debian: <https://win-builder.r-project.org/incoming_pretest/polars_0.7.0_20230706_122217/Debian/00check.log>
Status: 2 NOTEs

Please fix all problems and resubmit a fixed version via the webform.
If you are not sure how to fix the problems shown, please ask for help on the R-package-devel mailing list:
<https://stat.ethz.ch/mailman/listinfo/r-package-devel>
If you are fairly certain the rejection is a false positive, please reply-all to this message and explain.

More details are given in the directory:
<https://win-builder.r-project.org/incoming_pretest/polars_0.7.0_20230706_122217/>
The files will be removed after roughly 7 days.

No strong reverse dependencies to be checked.

Best regards,
CRAN teams' auto-check service
Flavor: r-devel-windows-x86_64
Check: CRAN incoming feasibility, Result: NOTE
  Maintainer: 'Soren Welling <[sorhawell@gmail.com](mailto:sorhawell@gmail.com)>'

  New submission

  Possibly misspelled words in DESCRIPTION:
    DataFrame (2:23, 11:29)

  Found the following (possibly) invalid URLs:
    URL: https://discord.gg/4UfP5cfBE7 (moved to https://discord.com/invite/4UfP5cfBE7)
      From: README.md
      Status: 301
      Message: Moved Permanently
    URL: https://pola-rs.github.io/polars-book/user-guide/lazy-api/
      From: inst/doc/polars.html
      Status: 404
      Message: Not Found
    URL: https://rpolars.github.io/reference/DataFrame_join (moved to https://rpolars.github.io/reference/DataFrame_join/)
      From: inst/doc/polars.html
      Status: 301
      Message: Moved Permanently
    URL: https://rpolars.github.io/reference/Expr_cos.html
      From: README.md
      Status: 404
      Message: Not Found
    URL: https://rpolars.github.io/reference/LazyFrame_class (moved to https://rpolars.github.io/reference/LazyFrame_class/)
      From: inst/doc/polars.html
      Status: 301
      Message: Moved Permanently
    URL: https://rpolars.github.io/reference/filter-open-paren-close-paren/
      From: inst/doc/polars.html
      Status: 404
      Message: Not Found
    URL: https://rpolars.r-universe.dev/rpolars#install
      From: NEWS.md
      Status: 404
      Message: Not Found

  The Title field should be in title case. Current version is:
  'Lightning-fast DataFrame Library'
  In title case that is:
  'Lightning-Fast DataFrame Library'

Flavor: r-devel-windows-x86_64
Check: installed package size, Result: NOTE
    installed size is 73.9Mb
    sub-directories of 1Mb or more:
      libs  72.1Mb

Flavor: r-devel-linux-x86_64-debian-gcc, r-devel-windows-x86_64
Check: HTML version of manual, Result: NOTE
  Found the following HTML validation problems:
  DataFrame_sort.html:39:31 (DataFrame_sort.Rd:11): Error: <expr> is not recognized!
  DataFrame_sort.html:39:31 (DataFrame_sort.Rd:11): Warning: discarding unexpected <expr>
  ExprStr_replace.html:32:8 (ExprStr_replace.Rd:8): Error: <expr> is not recognized!
  ExprStr_replace.html:32:8 (ExprStr_replace.Rd:8): Warning: discarding unexpected <expr>
  ExprStr_replace.html:36:8 (ExprStr_replace.Rd:10): Error: <expr> is not recognized!
  ExprStr_replace.html:36:8 (ExprStr_replace.Rd:10): Warning: discarding unexpected <expr>
  ExprStr_replace_all.html:32:8 (ExprStr_replace_all.Rd:8): Error: <expr> is not recognized!
  ExprStr_replace_all.html:32:8 (ExprStr_replace_all.Rd:8): Warning: discarding unexpected <expr>
  ExprStr_replace_all.html:36:8 (ExprStr_replace_all.Rd:10): Error: <expr> is not recognized!
  ExprStr_replace_all.html:36:8 (ExprStr_replace_all.Rd:10): Warning: discarding unexpected <expr>
  ExprStr_slice.html:32:8 (ExprStr_slice.Rd:8): Error: <expr> is not recognized!
  ExprStr_slice.html:32:8 (ExprStr_slice.Rd:8): Warning: discarding unexpected <expr>
  ExprStr_slice.html:36:8 (ExprStr_slice.Rd:10): Error: <expr> is not recognized!
  ExprStr_slice.html:36:8 (ExprStr_slice.Rd:10): Warning: discarding unexpected <expr>
  LazyFrame_sort.html:39:31 (LazyFrame_sort.Rd:11): Error: <expr> is not recognized!
  LazyFrame_sort.html:39:31 (LazyFrame_sort.Rd:11): Warning: discarding unexpected <expr>
  wrap_elist_result.html:40:36 (wrap_elist_result.Rd:10): Error: <expr> is not recognized!
  wrap_elist_result.html:40:36 (wrap_elist_result.Rd:10): Warning: discarding unexpected <expr>

Flavor: r-devel-linux-x86_64-debian-gcc
Check: CRAN incoming feasibility, Result: NOTE
  Maintainer: 'Soren Welling <[sorhawell@gmail.com](mailto:sorhawell@gmail.com)>'

  New submission

  Possibly misspelled words in DESCRIPTION:
    DataFrame (2:23, 11:29)

  Found the following (possibly) invalid URLs:
    URL: https://discord.gg/4UfP5cfBE7 (moved to https://discord.com/invite/4UfP5cfBE7)
      From: README.md
      Status: 301
      Message: Moved Permanently
    URL: https://github.com/pola-rs/r-polars/releases/latest/download/polars.zip
      From: README.md
      Status: 401
      Message: Unauthorized
    URL: https://github.com/pola-rs/r-polars/releases/latest/download/polars__x86_64-apple-darwin20.tgz
      From: README.md
      Status: 401
      Message: Unauthorized
    URL: https://pola-rs.github.io/polars-book/user-guide/lazy-api/
      From: inst/doc/polars.html
      Status: 404
      Message: Not Found
    URL: https://rpolars.github.io/reference/DataFrame_join (moved to https://rpolars.github.io/reference/DataFrame_join/)
      From: inst/doc/polars.html
      Status: 301
      Message: Moved Permanently
    URL: https://rpolars.github.io/reference/Expr_cos.html
      From: README.md
      Status: 404
      Message: Not Found
    URL: https://rpolars.github.io/reference/LazyFrame_class (moved to https://rpolars.github.io/reference/LazyFrame_class/)
      From: inst/doc/polars.html
      Status: 301
      Message: Moved Permanently
    URL: https://rpolars.github.io/reference/filter-open-paren-close-paren/
      From: inst/doc/polars.html
      Status: 404
      Message: Not Found
    URL: https://rpolars.r-universe.dev/rpolars#install
      From: NEWS.md
      Status: 404
      Message: Not Found

  The Title field should be in title case. Current version is:
  'Lightning-fast DataFrame Library'
  In title case that is:
  'Lightning-Fast DataFrame Library'
eitsupi commented 11 months ago

Thank you for working on that!

In general, I think links to websites should be avoided as much as possible.

sorhawell commented 11 months ago

CRAN flag the binary URL although they work just fine, also from a incognito/private browser tab

I suppose to double down on those URLs

URL: https://github.com/pola-rs/r-polars/releases/latest/download/polars.zip
  From: README.md
  Status: 401
  Message: Unauthorized
URL: https://github.com/pola-rs/r-polars/releases/latest/download/polars__x86_64-apple-darwin20.tgz
  From: README.md
  Status: 401
  Message: Unauthorized
sorhawell commented 11 months ago

Above copied txt may be annoying to read. These check log links are better

package polars_0.7.0.tar.gz does not pass the incoming checks automatically, please see the following pre-tests: Windows: <https://win-builder.r-project.org/incoming_pretest/polars_0.7.0_20230706_122217/Windows/00check.log> Status: 3 NOTEs Debian: <https://win-builder.r-project.org/incoming_pretest/polars_0.7.0_20230706_122217/Debian/00check.log> Status: 2 NOTEs

eitsupi commented 11 months ago

I am really glad that the installation went well on both Debian and Windows!

I was really worried fail to build because of Rust version....

eddelbuettel commented 11 months ago

My $0.02 are that I would

If you don't do that now you just risk delaying things when they make you do it in a week....

sorhawell commented 11 months ago

I was really worried fail to build because of Rust version....

yeah this is really peanuts ! :) it's because you are a CI wizard!

eitsupi commented 11 months ago

@sorhawell I think you should also update Rd files.

sorhawell commented 11 months ago

All previous notes resolved, only HUGE binary note left.

Dear maintainer,

package polars_0.7.0.tar.gz has been auto-processed and is pending a manual inspection of this new CRAN submission. A CRAN team member will typically respond to you within the next 10 working days. For technical reasons you may receive a second copy of this message when a team member triggers a new check.

Log dir: https://win-builder.r-project.org/incoming_pretest/polars_0.7.0_20230707_012137/ The files will be removed after roughly 7 days. Installation time in seconds: 399 Check time in seconds: 474 R Under development (unstable) (2023-07-05 r84643 ucrt)

Pretests results: Windows: https://win-builder.r-project.org/incoming_pretest/polars_0.7.0_20230707_012137/Windows/00check.log Status: 2 NOTEs Debian: https://win-builder.r-project.org/incoming_pretest/polars_0.7.0_20230707_012137/Debian/00check.log Status: 1 NOTE

No strong reverse dependencies to be checked.

Best regards, CRAN teams' auto-check service Flavor: r-devel-linux-x86_64-debian-gcc, r-devel-windows-x86_64 Check: CRAN incoming feasibility, Result: NOTE Maintainer: 'Soren Welling [sorhawell@gmail.com](mailto:sorhawell@gmail.com)'

New submission

Flavor: r-devel-windows-x86_64 Check: installed package size, Result: NOTE installed size is 73.9Mb sub-directories of 1Mb or more: libs 72.1Mb

eitsupi commented 11 months ago

Excellent, thank you very much! I believe all packages are manually inspected upon initial submission. Let's wait to hear from them.......

sorhawell commented 11 months ago

commentary to new response

I think most can be fixed, but

docs and public functions

Except the Expr_lit_to_s and all other methods public or delete all the documentation is just a plain wrong request. It is already public internal-method to the class Expr. To expose the inner implementation in the polars namesspace would be madness. Likewise we are not giving up on our great documentation by deleting all 550 documented methodsP/functions or joining them all in a single page. To my knowledge our documentation is superior and a great step forward to other current insufficient documentation practices for classes with internalized functions e.g in R6/pkgdown docs.

please write 'Rust' 'Polars', but don't with a capitalized p

I think this request is contradictory. We are required and forbidden to write 'polars' and 'Polars'. We intended to 'Polars' to refer to not the package but the cross language syntax and query engine 'Polars'. I suggest to add what 'Polars' means to DESCRIPTION.

suggested fix

I will fix what I can tonight and make a new submission. I will not compromise on the docs-system or namespace. If we cannot aggree, I suggest the time is not right for submitting to CRAN :/

The response

Thanks,

Please always write package names, software names and API (application programming interface) names in single quotes in title and description. e.g: --> 'Rust'

Please note that package names are case sensitive. -> in your description you write 'Polars' but your package name starts with a lower case "p" ?

Furthermore, we see:

Check: installed package size, Result: NOTE installed size is 73.9Mb sub-directories of 1Mb or more: libs 72.1Mb

Please add \value to .Rd files regarding exported methods and explain the functions results in the documentation. Please write about the structure of the output (class) and also what the output means. (If a function does not return a value, please document that too, e.g. \value{No return value, called for side effects} or similar) Missing Rd-tags in up to 16 .Rd files, e.g.: as.character.Series.Rd: \value as.list.Expr.Rd: \value cash-.pl_polars_env.Rd: \value cash-.private_polars_env.Rd: \value dot-DollarNames.DataFrame.Rd: \value dot-DollarNames.Expr.Rd: \value ...

"Using foo:::f instead of foo::f allows access to unexported objects. This is generally not recommended, as the semantics of unexported objects may be changed by the package author in routine maintenance." Please omit one colon. Used ::: in documentation: man/cash-set-.DataFrame.Rd: ls(polars:::DataFrame.property_setters) man/cash-set-.DataFrame.Rd: polars:::DataFrame.property_setters$columns man/check_tz_to_result.Rd: check_tz_to_result = polars:::check_tz_to_result man/clone_env_one_level_deep.Rd: env_shallow_clone = polars:::clone_env_one_level_deep(env_1) man/construct_ProtoExprArray.Rd: polars:::construct_ProtoExprArray(pl$col("Species"), "Sepal.Width") man/DataFrame_class.Rd: ls(polars:::DataFrame) man/DataFrame_class.Rd: ls(polars:::.pr$DataFrame) man/DataFrame_class.Rd: result = polars:::.pr$DataFrame$set_column_from_robj(df, 150:1, "some_ints") man/DataFrame_class.Rd: err_result = polars:::.pr$DataFrame$set_column_from_robj(df, 1:10000, "wrong_length") man/DataType_new.Rd: polars:::DataType_new("Int64") man/dot-pr.Rd: polars:::.pr$DataFrame$print(self = pl$Data [... truncated]

You have examples for unexported functions. Please either omit these examples or export these functions. Examples for unexported function Expr_arr.diff() in: arr_lengths.Rd Expr_arr.Rd Expr_lit_to_df.Rd Expr_lit_to_s.Rd ExprStr_lengths.Rd ExprStr_n_chars.Rd Series_to_lit.Rd Expr_arr_max() in: check_tz_to_result.Rd Expr_arr.max() in: clone_env_one_level_deep.Rd arr.mean() in: construct_ProtoExprArray.Rd c.Series() in: DataFrame_filter.Rd DataFrame_lazy.Rd GroupBy_quantile.Rd LazyFrame_class.Rd LazyFrame_collect.Rd LazyFrame_collect_background.Rd LazyFrame_drop.Rd LazyFrame_drop_nulls.Rd LazyFrame_fill_nan.Rd LazyFrame_fill_null.Rd LazyFrame_filter.Rd LazyFrame_first.Rd LazyFrame_groupby.Rd LazyFrame_head.Rd LazyFrame_join_asof.Rd LazyFrame_last.Rd LazyFrame_limit.Rd LazyFrame_max.Rd LazyFrame_mean.Rd LazyFrame_median.Rd LazyFrame_melt.Rd LazyFrame_min.Rd LazyFrame_print.Rd LazyFrame_quantile.Rd LazyFrame_re [... truncated]

Some code lines in examples are commented out. Please never do that. Ideally find toy examples that can be regularly executed and checked. Lengthy examples (> 5 sec), can be wrapped in \donttest{}. Examples in comments in: macro_new_subnamespace.Rd

\dontrun{} should only be used if the example really cannot be executed (e.g. because of missing additional software, missing API keys, ...) by the user. That's why wrapping examples in \dontrun{} adds the comment ("# Not run:") as a warning for the user. Does not seem necessary. Please unwrap the examples if they are executable in < 5 sec, or replace \dontrun{} with \donttest{}.

You write information messages to the console that cannot be easily suppressed. It is more R like to generate objects that can be used to extract the information a user is interested in, and then print() that object. Instead of print()/cat() rather use message()/warning() or if(verbose)cat(..) (or maybe stop()) if you really have to write text to the console. (except for print, summary, interactive functions)

Please fix and resubmit.

Best, (name of reviewer person)

etiennebacher commented 11 months ago

So if I summarize a bit:

Ok, we need to fix this

Unsure

Won't fix


@sorhawell It is possible to fix most of this quite quickly I think (tedious but not hard to do). I can spend some time on it this weekend, so please don't resubmit directly tonight. I think we can try to explain why we have examples for all these non-exported functions. Isn't it the same thing for R6 functions?

eitsupi commented 11 months ago

Thank you for sharing the information and taking on the task!

Sorry but I am about to move and need to take some time to clean up my house.......

sorhawell commented 11 months ago

E.g R6 arrow (no disrespect meant, they're good stuff) and any other R6 packages I have seen split up method impl, examples and docs. In my opinion, that is a bad practice which does not scale above ~10 methods per class.

Docs are placed in one huge doc-ball called methods in a single doc file for each class. The reader have to first read a short incomplete string in methods. Then scroll down to examples and hope the method has some use examples. Not always because it would be too much to give examples for all methods in one page.

https://github.com/apache/arrow/blob/f8256bd625ac0b06238011fc13ea0249956e3859/r/R/array.R#L108

etiennebacher commented 10 months ago

@sorhawell I have some trouble removing the last ::: in examples because they don't run without it. Since most places that call them are tagged @internal, how about we just comment them with # instead of #' so that they don't end up in the Rd files?

Edit: or we could use @noRd

sorhawell commented 10 months ago

@sorhawell I have some trouble removing the last ::: in examples because they don't run without it. Since most places that call them are tagged @internal, how about we just comment them with # instead of #' so that they don't end up in the Rd files?

Edit: or we could use @noRd @etiennebacher

Check latest commit. I think I got around most of the ::: examples.

Yeah if in doubt just add @noRd.

Admittedly soms docs on internals were a bit messy

etiennebacher commented 10 months ago

I used @noRd for the last ones in examples but there are still two utils::: in pl$extra_auto_completion that could be problematic for CRAN.

etiennebacher commented 10 months ago

@sorhawell I updated cran-comments.md, are you ok with what I wrote?

The only comment I don't know how to address is this one:

Check: installed package size, Result: NOTE installed size is 73.9Mb sub-directories of 1Mb or more: libs 72.1Mb

Should we say something about this?

eitsupi commented 10 months ago

As far as I know there is no need to say anything about package size. It is common to many packages that compile and should not be considered a problem.

eitsupi commented 10 months ago

I have updated docs of two functions.

eitsupi commented 10 months ago

there are still two utils::: in pl$extra_auto_completion that could be problematic for CRAN.

Thanks for pointing that. I have fixed that in e30099fe25ecc5097687584d7192a096f5ae302f with utils::getFromNamespace.

sorhawell commented 10 months ago

@sorhawell I updated cran-comments.md, are you ok with what I wrote?

I take a look again about 21pm utc :)

sorhawell commented 10 months ago

@etiennebacher I liked your cran-comments alot! I have added to the unexported function answer. Feel free to revert/rephrase if somehing is too long or something else.

sorhawell commented 10 months ago

there are still two utils::: in pl$extra_auto_completion that could be problematic for CRAN.

Thanks for pointing that. I have fixed that in e30099f with utils::getFromNamespace.

For polars it is likewise also possible to specifically replace use of polars::: with .pr$env$. I have done so in internal docs and unit test that needs to read internal state. I should not be used in public examples either. I have added in some public functions to print available methods to no longer need ::: in examples.

sorhawell commented 10 months ago

@etiennebacher @eitsupi check list copied to bottom for easier view. It appears we're done with all items now.

Ok, we need to fix this

Unsure

Won't fix

etiennebacher commented 10 months ago

@sorhawell I slightly reworded the comments on unexported functions and I removed some stuff which didn't seem relevant for the CRAN team (feel free to change of course)

I'm fine with the rest, do you want to deal with #315 before resubmitting?

sorhawell commented 10 months ago

@eitsupi @etiennebacher I tried to rollback libR-sys 5->4 . It did not seem to work out-of-the-box.

Is this absolutely necessary for CRAN? I don't understand well the setting or implications of the error.

Empirically 2 times a year extendr-api will push some important patch e.g. for new R releases, polars will need. Does extendr-api gurantee to backwards compatible with any older libR-sys? If we deviate on libR-sys, I suspect we could struggle in future to patch stuff our selves. The 3-4 PRs we currently differ extendr are rather benign and easy to support.

eitsupi commented 10 months ago

@sorhawell Thanks for working on that!

Looking at extendr/extendr#581, I think it is irrelevant to polars because the failing test that is failing is only graphic device related. I have opened a PR to use that version #317

Is this absolutely necessary for CRAN? I don't understand well the setting or implications of the error.

CRAN regularly runs tests and in one of its environments libR-sys 0.5.0 fails to build. As a result, CRAN has asked tok for a fix within a month. (mlverse/tok#4) If the fix is not made within the timeframe, the package will be removed from CRAN.

If we continue to use libR-sys 0.5.0 here, the same thing should happen to polars. (i.e., if we don't fix it now, we should fix it within a month after the CRAN submission)