Re: [R-pkg-devel] CRAN submission struggle

2024-01-07 Thread Christiaan Pieterse
Good day

I have edited my package to have two examples. One uses a small
self-generated dataset and another uses a big dataset. For the big dataset
example, I put \donttest{} around it, should this be fine?

I only get one note for the new package, available at
https://github.com/WoutersResearchGroup/R-IO-PS/tree/CRAN-prep.

Kind regards
Christiaan

On Sat, 6 Jan 2024 at 14:59, Ivan Krylov  wrote:

> On Sat, 6 Jan 2024 15:16:01 +0300
> Ivan Krylov  wrote:
>
> > Congratulations! I also get the single expected NOTE in my checks.
>
> Apologies for the double e-mail, but I've read the code now, and
> wrapping the example of your only function in \dontrun{} will most
> likely not be allowed.
>
> Is it really the case that you cannot remove a single row from the
> example dataset without making the example crash? It may help to write
> a function that would remove rows one by one, make sure that the
> example still runs, and keep doing that until not a single row can be
> removed. The complexity is terrible (something like O(n^k)), but let it
> run for a while, and maybe it'll reduce the dataset enough to fit in
> the example time limit.
>
> --
> Best regards,
> Ivan
>

[[alternative HTML version deleted]]

__
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel


Re: [R-pkg-devel] CRAN submission struggle

2024-01-06 Thread Christiaan Pieterse
Good day

I think I finally have a final package that only yields the expected 'New
submission' note.
The package is available at:
https://github.com/WoutersResearchGroup/R-IO-PS/tree/CRAN-prep.

Is there a way to confirm that this package is ready for submission?
I submitted it to https://win-builder.r-project.org/ and
https://mac.r-project.org/macbuilder/submit.html and
https://builder.r-hub.io/. All of these seem to only show the expected new
submission note.

I see the CRAN package submission web form is unavailable until the 8th, so
any confirmation that my package should be fine for submission would be
appreciated.

Thank you
Christiaan

On Tue, 2 Jan 2024 at 14:59, Uwe Ligges 
wrote:

>
>
> On 29.12.2023 09:13, Greg Hunt wrote:
> > Christaan,
> > The elapsed time note is because CRAN expects that examples will be
> > configured to run single threaded and some package that you use, or a
> > package used by a package that you use is multi-threading by default and
> > using more CPU time than clock time. If you cannot figure out how to
> > reconfigure the multi-threaded package, a number of people have found
> that
> > the simplest thing to do is disable running the example (which reduces
> the
> > effective test coverage provided by the example).
>
>
> No and no:
>
> 1.
>user system elapsed
> IOPS 10.06   3.35   35.04
>
> suggests that either the machines this ran on is heavily loaded (so that
> elapsed >> user) or something is waiting like some internet access. [For
> multithreading it would be user > elapsed.]
>
> 2. The solution is not to exclude examples ebtirely, as we need runtime
> checks.
>
> For internet access: Set a timeout and let the exampe fail gracefully in
> case web access takes more than, e.g., 2. sec.
>
> In general: Please reduce each example to less than 5 sec.
>
> So use small toy examples. If you really want to add rel world examples
> that may take longer, then add them in addition to toy examples and wrap
> in \donttest{}.
>
> Best,
> Uwe Ligges
>
>
>
>
>
>
>
>
> >
> > I haven’t encountered the miktex exception file before but i suspect its
> a
> > side effect of a miktex error. Packages should not leave files behind in
> > the temp directory. If you expect a miktex error you need to remove the
> > file. If you don’t you need to track down and fix or work around the bug.
> > The build process is really a quality check on your package.
> >
> > Greg
> >
> > On Fri, 29 Dec 2023 at 3:01 am, Christiaan Pieterse <
> > pietie.cjp.1...@gmail.com> wrote:
> >
> >> Hi,
> >>
> >> Thank you for showing the difference in the ExampleTradeData. I've fixed
> >> this by adding a .Gitignore file and a "data-raw" folder to load the
> >> ExampleTradeData. I hope I did this correctly. When I check the package
> (
> >> https://github.com/WoutersResearchGroup/R-IO-PS/tree/CRAN-prep) in
> >> RStudio.
> >> I only get 3 notes (see below), and if I run it in PositCloud, it
> crashes
> >> or yields the same 1 ERROR and 2 NOTES result as before. Why might this
> be?
> >> Is it a problem or is it fine if I continue working in RStudio since I
> >> cannot increase the specs in PositCloud because I'm working on a
> research
> >> group account?
> >>
> >> Here are the 3 notes I receive in RStudio:
> >>
> >> The first is the expected New Submission Note.
> >>
> >> The second is the runtime that is too long:
> >> * checking examples ... [43s] NOTE
> >> Examples with CPU (user + system) or elapsed time > 5s
> >>user system elapsed
> >> IOPS 10.06   3.35   35.04
> >> How can I reduce this time? I'm not sure how to reduce the size of my
> >> ExampleTradeData without the check giving errors when running the
> example.
> >>
> >> The third note I am unsure what it means:
> >> * checking for detritus in the temp directory ... NOTE
> >> Found the following files/directories:
> >>'lastMiKTeXException'
> >>
> >> Kind regards
> >> Christiaan
> >>
> >> On Thu, 28 Dec 2023 at 15:55, Ivan Krylov 
> wrote:
> >>
> >>> Hi Christiaan,
> >>>
> >>> В Thu, 28 Dec 2023 14:57:55 +0200
> >>> Christiaan Pieterse  пишет:
> >>>
> >>>> Still, I couldn't figure out why I ran into this problem, so I
> >>>> created a test file called "Test Example.R" (available at the same
> >>>> GitHub repository:
> >

Re: [R-pkg-devel] CRAN submission struggle

2023-12-28 Thread Christiaan Pieterse
Hi,

Thank you for showing the difference in the ExampleTradeData. I've fixed
this by adding a .Gitignore file and a "data-raw" folder to load the
ExampleTradeData. I hope I did this correctly. When I check the package (
https://github.com/WoutersResearchGroup/R-IO-PS/tree/CRAN-prep) in RStudio.
I only get 3 notes (see below), and if I run it in PositCloud, it crashes
or yields the same 1 ERROR and 2 NOTES result as before. Why might this be?
Is it a problem or is it fine if I continue working in RStudio since I
cannot increase the specs in PositCloud because I'm working on a research
group account?

Here are the 3 notes I receive in RStudio:

The first is the expected New Submission Note.

The second is the runtime that is too long:
* checking examples ... [43s] NOTE
Examples with CPU (user + system) or elapsed time > 5s
  user system elapsed
IOPS 10.06   3.35   35.04
How can I reduce this time? I'm not sure how to reduce the size of my
ExampleTradeData without the check giving errors when running the example.

The third note I am unsure what it means:
* checking for detritus in the temp directory ... NOTE
Found the following files/directories:
  'lastMiKTeXException'

Kind regards
Christiaan

On Thu, 28 Dec 2023 at 15:55, Ivan Krylov  wrote:

> Hi Christiaan,
>
> В Thu, 28 Dec 2023 14:57:55 +0200
> Christiaan Pieterse  пишет:
>
> > Still, I couldn't figure out why I ran into this problem, so I
> > created a test file called "Test Example.R" (available at the same
> > GitHub repository:
> > https://github.com/WoutersResearchGroup/R-IO-PS/tree/CRAN-prep).
>
> I see you're always adding or updating files to the GitHub repo by
> means of uploading. While that's certainly one way to use GitHub, it's
> combines the least convenient aspects of two approaches to using GitHub.
>
> With GitHub purely in the browser, GitHub is just a website where you
> keep and edit code, running nothing else on the local computer. Code
> can be run in Codespaces or using GitHub Actions. Microsoft will want
> to be paid money to run code on their computers.
>
> With GitHub as a Git remote, there is a local checkout [*] that's kept
> in sync with GitHub by means of commits [**] and pushes [***], letting
> you create meaningful, describable snapshots of changes in your code
> spanning multiple files at the same time.
>
> Right now, it probably feels like Dropbox but worse.
>
> > This file creates the function in the global environment (note that
> > this is the same function code as available in the package
> > "R/iopspackage2.0.R" file), and then runs this function with the same
> > example as in the package (If you want to try this yourself, just
> > load the data/ExampleTradeData.rda in before running the Test Example
> > file). This test file yields no errors when I run it and produces the
> > correct results. When I then proceed to build and check the package,
> > it yields the same example error as before. I do not understand why
> > or what could cause this issue.
>
> The difference is in the ExampleTradeData variable, which "Test
> Example.R" doesn't define.
>
> With data(ExampleTradeData), the script works.
>
> With ExampleTradeData <-
>
> read.csv(system.file("extdata","ExampleTradeData.csv",package="iopspackage")),
> the script fails exactly the same way as example(IOPS) does.
>
> > I'm not sure if I should send out another email to the developers to
> > see if someone else spots something I'm not seeing.
>
> It may help to keep Cc: r-package-devel@r-project.org in the e-mails
> for the search engines to index the potential solutions in the mailing
> list archives.
>
> --
> Best regards,
> Ivan
>
> [*]
> https://git-scm.com/book/en/v2/Git-Basics-Getting-a-Git-Repository
>
> [**]
>
> https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository
>
> [***]
> https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes
>

[[alternative HTML version deleted]]

__
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel


Re: [R-pkg-devel] CRAN submission struggle

2023-12-17 Thread Christiaan Pieterse
Hi Ivan

I have decided to clean up the existing package using a branch, as you
suggested. The branch I've created is available at:
https://github.com/WoutersResearchGroup/R-IO-PS/tree/CRAN-prep.

I've cleaned, built and checked this branch package but I get one error and
2 notes (one is the new submission note).
The error is related to the example I'm running. I suspect it might be due
to the way I am trying to import the ExampleTradeData. Here is the error
and note:

* checking examples ... ERROR
Running examples in ‘iopspackage-Ex.R’ failed
The error most likely occurred in:

> base::assign(".ptime", proc.time(), pos = "CheckExEnv")
> ### Name: IOPS
> ### Title: IOPS
> ### Aliases: IOPS
>
> ### ** Examples
>
> # Load the example data
> ExampleTradeData <-
read.csv(system.file("extdata","ExampleTradeData.csv",package="iopspackage"))
>
> # Create a temporary directory
> temp_dir <- tempfile()
> dir.create(temp_dir)
>
> # Set the working directory to the temporary directory
> old_dir <- setwd(temp_dir)
>
> # Then use it in your function
> IOPS(
+   CountryCode = 710,
+   tradeData = ExampleTradeData,
+   ComplexMethod = "reflections",
+   iterCompl = 5,
+   GVCMapping = NULL,
+   tradedigit = 6
+ )
Selected country: ZAF
Export data 6-digit summation complete
Trade data successfully imported
M-matrices calculated
RCA calculated
Starting calculation of complexity measures using the 'reflections' method
Warning in complexity_measures(Mbin, method = "reflections", iterations =
iterCompl) :
  'iterations' was changed to 'iterations + 1' to work with an even number
of iterations
Killed

* checking HTML version of manual ... NOTE
Skipping checking HTML validation: no command 'tidy' found

Note that I also updated the iopspackage2.0.R as you suggested, and I did
re-run roxygen before building and checking (using roxygen2::roxygenize()).
All the updated folders are in the "CRAN-prep" branch (link provided above).

Regards
Christiaan

On Sun, 17 Dec 2023 at 16:06, Ivan Krylov  wrote:

> On Sun, 17 Dec 2023 15:29:34 +0200
> Christiaan Pieterse  wrote:
>
> > But, I've uploaded the newly created package as discussed in my first
> > email, available at:
> > https://github.com/ChristiaanPieterse/iopspackage2.1.0
>
> Are you sure it wouldn't be better to clean up the existing package
> instead of creating unrelated forks? If you're afraid of breaking
> something that works, do the work on a separate branch
> <https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell>
> until it both works as well as your current repo currently does *and*
> passes R CMD check --as-cran.
>
> > * checking CRAN incoming feasibility ... [25s] NOTE
> > Maintainer: 'C.J Pieterse '
> > New submission
>
> "New submission" is to be expected.
>
> > Unknown, possibly misspelled, fields in DESCRIPTION:
> >   'Exports'
>
> "Writing R Extensions" doesn't define a field named "Exports". The
> exports are declared in the NAMESPACE file. Since you're using
> roxygen2, use its @export tag to export your functions and remove the
> Exports: field.
>
> > * checking whether package 'iopspackage' can be installed ... [27s]
> > WARNING Found the following significant warnings:
> >   Warning: package 'Rcpp' was built under R version 4.3.2
>
> This is probably not a problem with your package (but may be a problem
> with the way the machine running R CMD check is set up).
>
> > * checking dependencies in R code ... NOTE
> > Namespaces in Imports field not imported from:
> >   'openxlsx' 'roxygen2' 'tibble'
> >   All declared Imports should be used.
>
> > * checking R code for possible problems ... [12s] NOTE
> > IOPS: no visible global function definition for 'createWorkbook'
> > IOPS: no visible global function definition for 'addWorksheet'
> > IOPS: no visible global function definition for 'writeData'
> > IOPS: no visible global function definition for 'saveWorkbook'
> > Undefined global functions or variables:
> >   addWorksheet createWorkbook saveWorkbook writeData
>
> Are you sure you should be importing roxygen2? You only run
> roxygenise() before running R CMD build in order to generate
> man/*.Rd and NAMESPACE; I don't think it's used after that.
>
> If you don't use functions from tibble, there's no need to import it
> or depend on it either. I also don't see you directly using Rcpp, but
> there's no warning about it for some reason.
>
> Use the @importFrom tags to import individual functions that you
> actually use (i.e. createWorkbook and friends). See
> <https://cran.r-project.org/doc/manuals/R-exts.html#Package-name

Re: [R-pkg-devel] CRAN submission struggle

2023-12-17 Thread Christiaan Pieterse
Hi, thank you for all the responses.

I have uploaded the previous package to GitHub, available at:
https://github.com/WoutersResearchGroup/R-IO-PS . Note that this works when
installed via GitHub using devtools, but is a bit messy. Hence I decided to
start over for CRAN release. If you can help me to get this uploaded to
cran it would be awesome!

But, I've uploaded the newly created package as discussed in my first
email, available at: https://github.com/ChristiaanPieterse/iopspackage2.1.0
This doesn't have a readme. See the readme at the first link above.

Here are the Errors, Warnings and Notes from the check:

* checking CRAN incoming feasibility ... [25s] NOTE
Maintainer: 'C.J Pieterse '
New submission
Unknown, possibly misspelled, fields in DESCRIPTION:
  'Exports'

* checking whether package 'iopspackage' can be installed ... [27s] WARNING
Found the following significant warnings:
  Warning: package 'Rcpp' was built under R version 4.3.2

* checking dependencies in R code ... NOTE
Namespaces in Imports field not imported from:
  'openxlsx' 'roxygen2' 'tibble'
  All declared Imports should be used.

* checking R code for possible problems ... [12s] NOTE
IOPS: no visible global function definition for 'createWorkbook'
IOPS: no visible global function definition for 'addWorksheet'
IOPS: no visible global function definition for 'writeData'
IOPS: no visible global function definition for 'saveWorkbook'
Undefined global functions or variables:
  addWorksheet createWorkbook saveWorkbook writeData

* checking examples ... ERROR
Running examples in 'iopspackage-Ex.R' failed
The error most likely occurred in:
> base::assign(".ptime", proc.time(), pos = "CheckExEnv")
> ### Name: IOPS
> ### Title: IOPS
> ### Aliases: IOPS
>
> ### ** Examples
>
>
> # Load the example data
> data(ExampleTradeData)
Warning in data(ExampleTradeData) :
  data set 'ExampleTradeData' not found
>
> oldwd <- getwd()
> temp_dir <- tempdir()
>
> # Set the working directory to a temporary directory
> setwd(temp_dir)
>
> # Then use it in your function
> IOPS(
+   CountryCode = 710,
+   tradeData = ExampleTradeData,
+   ComplexMethod = "reflections",
+   iterCompl = 5,
+   GVCMapping = NULL,
+   tradedigit = 6
+ )
Selected country: ZAF
Error: object 'ExampleTradeData' not found
Execution halted

* checking for detritus in the temp directory ... NOTE
Found the following files/directories:
  'lastMiKTeXException'

I've struggled for a while with the error on my example that doesn't want
to run. I'd like to know if I've uploaded the ExampleTradeDate correctly as
seen in the inst/extdata file. I was also told previously to create a
temporary directory for the function output and delete the temporary
directory after the example, but I'm unsure if I did it correctly.

Thank you for the assistance
Christiaan

On Sat, 16 Dec 2023 at 20:07, Ivan Krylov  wrote:

> On Sat, 16 Dec 2023 19:41:16 +0200
> Christiaan Pieterse  wrote:
>
> > This .R file contained the Roxygen2 comments. (I was very unsure what
> > comments to include in this so it might be wrong, I'm unsure)
>
> If you like roxygen2 and would like to keep using it, you're welcome to
> keep the roxygen2 comments in your R files. Just don't forget to re-run
> roxygenise() every time you update them.
>
> >3. Included a DESCRIPTION file is the 'iopspackage' folder. (Once
> > again I was very unsure what to include in this file so it might be
> > wrong).
>
> Does it help to follow the guide at
> <https://cran.r-project.org/doc/manuals/R-exts.html#The-DESCRIPTION-file>?
> Start with the mandatory fields Package, Version, License,
> Description, Title and Authors@R (to generate Author: and Maintainer:
> from).
>
> >8. I checked the tar file using *R CMD check --as-cran
> >"iopspackage_2.1.0.tar.gz". *This yielded errors, warnings and
> > notes which I don't know how to solve and suspect are due to me
> > setting the file up wrong.
>
> Can you show us the log from the check? It should be fine to copy &
> paste the entries that don't say OK (i.e. NOTEs, WARNINGs, and ERRORs).
>
> Most of what you'll need to fix is described in "Writing R Extensions"
> (link above) and the CRAN policy at
> <https://cran.r-project.org/web/packages/policies.html>.
>
> > I've been told before not to include my package as an attachment, so
> > can someone please help me with the submission process?
>
> Can you publish the code anywhere? Ideally, this place should provide
> instant access to the latest version of every source code file inside
> your package. The most popular option nowadays is GitHub, but it does
> not have to be GitHub. Two GDPR-friendly alternatives are Codeberg and
> SourceHut. If you don't like Git (which does t

[R-pkg-devel] CRAN submission struggle

2023-12-16 Thread Christiaan Pieterse
Good day fellow developers!

I am trying to upload a package to CRAN that I developed.
I've tried before to upload it but ended up with a package file that is a
complete mess so I decided to restart.
Here are the steps I followed when I created my file:

   1. Created a folder on my desktop called "iopspackage".
   2. Created a subfolder called 'R' which contained my .R package. This .R
   file contained the Roxygen2 comments. (I was very unsure what comments to
   include in this so it might be wrong, I'm unsure)
   3. Included a DESCRIPTION file is the 'iopspackage' folder. (Once again
   I was very unsure what to include in this file so it might be wrong).
   4. My package requires a dataset in order to run the example so I
   created a file and sub file called 'inst'/'extdata' which contained the
   .csv datasets.
   5. Created an empty 'man' folder to be populated when the Roxygen2
   function is run.
   6. I ran the Roxygen2 function with the correct directory, using
   roxygen2::roxygenize()
   7. I built the package using *R CMD build
   "C:/Users/pieti/Desktop/iopspackage".*
   8. I checked the tar file using *R CMD check --as-cran
   "iopspackage_2.1.0.tar.gz". *This yielded errors, warnings and notes
   which I don't know how to solve and suspect are due to me setting the file
   up wrong.

I've been told before not to include my package as an attachment, so can
someone please help me with the submission process? I've been struggling
with this for months. Any help would be greatly appreciated.
I can send my zip file over a private email so as not to disturb all the
developers and their storage space (It is a 10mb file)

Kind regards
Christiaan

[[alternative HTML version deleted]]

__
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel


Re: [R-pkg-devel] Package submission fail

2023-11-17 Thread Christiaan Pieterse
Hi all, thank you for your feedback and help! I apologise for the big
attachment.

I have made the changes you suggested but am still encountering some of the
same notes, If you do not mind to assist me again I would greatly
appreciate!

I reduced the example file to a 3 KB file, hoping that it would reduce my
runtime, but I still received this note:
* checking examples ... [26s] NOTE
Examples with CPU (user + system) or elapsed time > 5s
  user system elapsed
IOPS 15.23   2.89   22.41
Is there any other way to reduce this time? I have gone through my code and
can't find any areas to change that will help this.

Then the 2nd and 3rd notes relate to the example and its outputs. I do not
know how to fix this.
* checking for non-standard things in the check directory ... NOTE
Found the following files/directories:
  'Combined_Results.csv' 'Combined_Results.xlsx'
* checking for detritus in the temp directory ... NOTE
Found the following files/directories:
  'lastMiKTeXException'

I have changed my code to include the tempdir() as suggested before but it
doesn't seem to work. I then tried to use the \donttest{} method also
suggested before. I don't know if I am doing this wrong.
Here is my updated example code:

#' @examples
#' \donttest{
#'
#' # Set the working directory to a temporary directory
#' setwd(tempdir())
#'
#' # Load the example data
#' ExampleTradeData <- read.csv(system.file("extdata",
"ExampleTradeData.csv", package = "iopspackage"))
#'
#'
#' # Then use it in your function
#' IOPS(
#'   CountryCode = 710,
#'   tradeData = ExampleTradeData,
#'   ComplexMethod = "reflections",
#'   iterCompl = 5,
#'   GVCMapping = NULL,
#'   tradedigit = 6
#' )
#'
#' # Clean up the temporary directory
#' unlink(temp_dir, recursive = TRUE)
#' }
#'

Any assistance would be greatly appreciated
Christiaan

On Mon, 13 Nov 2023 at 15:50, Dirk Eddelbuettel  wrote:

>
> On 13 November 2023 at 16:46, Ivan Krylov wrote:
> | Hello Christiaan and welcome to R-package-devel!
>
> Seconded but PLEASE do not send large attachments to the list and all its
> subscriber. Point us to your code repository, you will like get a kind
> response from a volunteer or two peeking at it.
>
> Dirk
>
> --
> dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org
>

[[alternative HTML version deleted]]

__
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel