Re: [R-pkg-devel] Having shiny as an optional dependency
It works! Thank you so much! Best wishes, Kamil Stachowski On Mon, 16 Nov 2020 at 11:53, Duncan Murdoch wrote: > On 16/11/2020 4:55 a.m., Kamil Stachowski wrote: > > I did briefly wonder why your reply to me cited an email from Akshit > Achara > > who asked about third party C++ API. I assumed it was because the > solution > > to his problem and mine was the same. > > > > In the meantime, I got a reply from Kurt Hornik who said I have a > top-level > > call > > > > soundcorrsGUI <- shiny::shinyApp (ui, server) > >> > > > > so what I should really do is to move "shiny" from "Suggests" to > "Imports". > > I don't want to do this, however, because the GUI is just an addition, > the > > package is perfectly usable without it. I wrapped "soundcorrsGUI" in a > > function: > > > > soundcorrsGUI <- function () { > >> > >> if (!requireNamespace("shiny",quietly=T) || > >> !requireNamespace("shinyjqui",quietly=T)) > >> stop ("\"soundcorrsGUI\" requires packages \"shiny\" and > \"shinyjqui\".") > >> > >> shiny::shinyApp (ui, server) > >> > >> } > >> > > > > and this seems to solve the problem with "shiny", but now I have a > problem > > with "shinyjqui". I actually only need one function from it: in the call > to > > "shinyApp" above, > > > > ui <- shiny::navbarPage ([…] ui.soundchanges […]) > >> > > > > where > > > > ui.soundchanges <- shiny::fluidPage ([…] > >> shinyjqui::sortableCheckboxGroupInput […]) > >> > > > > I tried wrapping "ui.soundchanges" in a function in the same way as I did > > with "soundcorrsGUI" but this doesn't help. > > > > Is there a way to make it work without turning "shiny" and "shinyjqui" > into > > obligatory dependencies? > > If you never call shinyjqui::sortableCheckboxGroupInput except in that > one place, then you should put that call within the requireNamespace > test. Things I'd change there: > > - Do not use T, use TRUE. > > - Wrap *everything* that requires those packages in the > requireNamespace test. > > - Make sure your example code in help pages never calls that function > unless shiny and shinyjqui are present, by a test similar to the above > but a positive one: > > if (requireNamespace("shiny") && requireNamespace("shinyjqui")) { > > # example code > > } > > Duncan Murdoch > > > > > > Best wishes, > > Kamil Stachowski > > > > On Mon, 16 Nov 2020, 00:55 Uwe Ligges, > > wrote: > > > >> On 14.11.2020 19:53, Kamil Stachowski wrote: > >>> This is actually what I do. Before you replied, I was told to write to > >> CRAN > >>> and explain, and they will decide whether the packages will be > installed > >> on > >>> CRAN machines. Thank you for your help nonetheless. > >> > >> No, I told you about a "third party C++ API" you asked for, not about an > >> R package. R packages from BioC + CRAN should be availabe on CRAN, in > >> that case it is a problem in your package. > >> > >> Best, > >> Uwe Ligges > >> > >> > >>> > >>> Best, > >>> Kamil > >>> > >>> On Sat, 14 Nov 2020 at 19:39, Gábor Csárdi > >> wrote: > >>> > You probably import functions from shiny. Don't do that, refer to them > with the `::` operator instead. > > Gabor > > On Sat, Nov 14, 2020 at 6:12 PM Kamil Stachowski > wrote: > > > > I wrote a package that contains a graphical interface written with > packages > > "shiny" and "shinyjqui". My package can also be used from the CLI, > so I > > listed both "shiny" and "shinyjqui" as optional dependencies. I ran R > >> CMD > > check --as-cran on my computer in R 3.6.3 and devel, and both passed > > without any errors or warnings. However, when I tried uploading the > package > > to CRAN, I got this error: > > > > Error in loadNamespace(x) : there is no package called ‘shiny’ > > Error: unable to load R code in package ‘soundcorrs’ > > Execution halted > > ERROR: lazy loading failed for package ‘soundcorrs’ > > > > How can I fix this? > > > > [[alternative HTML version deleted]] > > > > __ > > R-package-devel@r-project.org mailing list > > https://stat.ethz.ch/mailman/listinfo/r-package-devel > > >>> > >>> > >> > > > > [[alternative HTML version deleted]] > > > > __ > > R-package-devel@r-project.org mailing list > > https://stat.ethz.ch/mailman/listinfo/r-package-devel > > > > -- Kamil Stachowski, PhD Chair of General and Indo-European Linguistics Jagiellonian University, Cracow, Poland http://info.filg.uj.edu.pl/zhjij/~stachowski.kamil/ [[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] Having shiny as an optional dependency
On 16/11/2020 4:55 a.m., Kamil Stachowski wrote: I did briefly wonder why your reply to me cited an email from Akshit Achara who asked about third party C++ API. I assumed it was because the solution to his problem and mine was the same. In the meantime, I got a reply from Kurt Hornik who said I have a top-level call soundcorrsGUI <- shiny::shinyApp (ui, server) so what I should really do is to move "shiny" from "Suggests" to "Imports". I don't want to do this, however, because the GUI is just an addition, the package is perfectly usable without it. I wrapped "soundcorrsGUI" in a function: soundcorrsGUI <- function () { if (!requireNamespace("shiny",quietly=T) || !requireNamespace("shinyjqui",quietly=T)) stop ("\"soundcorrsGUI\" requires packages \"shiny\" and \"shinyjqui\".") shiny::shinyApp (ui, server) } and this seems to solve the problem with "shiny", but now I have a problem with "shinyjqui". I actually only need one function from it: in the call to "shinyApp" above, ui <- shiny::navbarPage ([…] ui.soundchanges […]) where ui.soundchanges <- shiny::fluidPage ([…] shinyjqui::sortableCheckboxGroupInput […]) I tried wrapping "ui.soundchanges" in a function in the same way as I did with "soundcorrsGUI" but this doesn't help. Is there a way to make it work without turning "shiny" and "shinyjqui" into obligatory dependencies? If you never call shinyjqui::sortableCheckboxGroupInput except in that one place, then you should put that call within the requireNamespace test. Things I'd change there: - Do not use T, use TRUE. - Wrap *everything* that requires those packages in the requireNamespace test. - Make sure your example code in help pages never calls that function unless shiny and shinyjqui are present, by a test similar to the above but a positive one: if (requireNamespace("shiny") && requireNamespace("shinyjqui")) { # example code } Duncan Murdoch Best wishes, Kamil Stachowski On Mon, 16 Nov 2020, 00:55 Uwe Ligges, wrote: On 14.11.2020 19:53, Kamil Stachowski wrote: This is actually what I do. Before you replied, I was told to write to CRAN and explain, and they will decide whether the packages will be installed on CRAN machines. Thank you for your help nonetheless. No, I told you about a "third party C++ API" you asked for, not about an R package. R packages from BioC + CRAN should be availabe on CRAN, in that case it is a problem in your package. Best, Uwe Ligges Best, Kamil On Sat, 14 Nov 2020 at 19:39, Gábor Csárdi wrote: You probably import functions from shiny. Don't do that, refer to them with the `::` operator instead. Gabor On Sat, Nov 14, 2020 at 6:12 PM Kamil Stachowski wrote: I wrote a package that contains a graphical interface written with packages "shiny" and "shinyjqui". My package can also be used from the CLI, so I listed both "shiny" and "shinyjqui" as optional dependencies. I ran R CMD check --as-cran on my computer in R 3.6.3 and devel, and both passed without any errors or warnings. However, when I tried uploading the package to CRAN, I got this error: Error in loadNamespace(x) : there is no package called ‘shiny’ Error: unable to load R code in package ‘soundcorrs’ Execution halted ERROR: lazy loading failed for package ‘soundcorrs’ How can I fix this? [[alternative HTML version deleted]] __ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel [[alternative HTML version deleted]] __ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel __ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel
Re: [R-pkg-devel] Having shiny as an optional dependency
I did briefly wonder why your reply to me cited an email from Akshit Achara who asked about third party C++ API. I assumed it was because the solution to his problem and mine was the same. In the meantime, I got a reply from Kurt Hornik who said I have a top-level call soundcorrsGUI <- shiny::shinyApp (ui, server) > so what I should really do is to move "shiny" from "Suggests" to "Imports". I don't want to do this, however, because the GUI is just an addition, the package is perfectly usable without it. I wrapped "soundcorrsGUI" in a function: soundcorrsGUI <- function () { > > if (!requireNamespace("shiny",quietly=T) || > !requireNamespace("shinyjqui",quietly=T)) > stop ("\"soundcorrsGUI\" requires packages \"shiny\" and \"shinyjqui\".") > > shiny::shinyApp (ui, server) > > } > and this seems to solve the problem with "shiny", but now I have a problem with "shinyjqui". I actually only need one function from it: in the call to "shinyApp" above, ui <- shiny::navbarPage ([…] ui.soundchanges […]) > where ui.soundchanges <- shiny::fluidPage ([…] > shinyjqui::sortableCheckboxGroupInput […]) > I tried wrapping "ui.soundchanges" in a function in the same way as I did with "soundcorrsGUI" but this doesn't help. Is there a way to make it work without turning "shiny" and "shinyjqui" into obligatory dependencies? Best wishes, Kamil Stachowski On Mon, 16 Nov 2020, 00:55 Uwe Ligges, wrote: > On 14.11.2020 19:53, Kamil Stachowski wrote: > > This is actually what I do. Before you replied, I was told to write to > CRAN > > and explain, and they will decide whether the packages will be installed > on > > CRAN machines. Thank you for your help nonetheless. > > No, I told you about a "third party C++ API" you asked for, not about an > R package. R packages from BioC + CRAN should be availabe on CRAN, in > that case it is a problem in your package. > > Best, > Uwe Ligges > > > > > > Best, > > Kamil > > > > On Sat, 14 Nov 2020 at 19:39, Gábor Csárdi > wrote: > > > >> You probably import functions from shiny. Don't do that, refer to them > >> with the `::` operator instead. > >> > >> Gabor > >> > >> On Sat, Nov 14, 2020 at 6:12 PM Kamil Stachowski > >> wrote: > >>> > >>> I wrote a package that contains a graphical interface written with > >> packages > >>> "shiny" and "shinyjqui". My package can also be used from the CLI, so I > >>> listed both "shiny" and "shinyjqui" as optional dependencies. I ran R > CMD > >>> check --as-cran on my computer in R 3.6.3 and devel, and both passed > >>> without any errors or warnings. However, when I tried uploading the > >> package > >>> to CRAN, I got this error: > >>> > >>> Error in loadNamespace(x) : there is no package called ‘shiny’ > >>> Error: unable to load R code in package ‘soundcorrs’ > >>> Execution halted > >>> ERROR: lazy loading failed for package ‘soundcorrs’ > >>> > >>> How can I fix this? > >>> > >>> [[alternative HTML version deleted]] > >>> > >>> __ > >>> R-package-devel@r-project.org mailing list > >>> https://stat.ethz.ch/mailman/listinfo/r-package-devel > >> > > > > > [[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] Having shiny as an optional dependency
On 14.11.2020 19:53, Kamil Stachowski wrote: This is actually what I do. Before you replied, I was told to write to CRAN and explain, and they will decide whether the packages will be installed on CRAN machines. Thank you for your help nonetheless. No, I told you about a "third party C++ API" you asked for, not about an R package. R packages from BioC + CRAN should be availabe on CRAN, in that case it is a problem in your package. Best, Uwe Ligges Best, Kamil On Sat, 14 Nov 2020 at 19:39, Gábor Csárdi wrote: You probably import functions from shiny. Don't do that, refer to them with the `::` operator instead. Gabor On Sat, Nov 14, 2020 at 6:12 PM Kamil Stachowski wrote: I wrote a package that contains a graphical interface written with packages "shiny" and "shinyjqui". My package can also be used from the CLI, so I listed both "shiny" and "shinyjqui" as optional dependencies. I ran R CMD check --as-cran on my computer in R 3.6.3 and devel, and both passed without any errors or warnings. However, when I tried uploading the package to CRAN, I got this error: Error in loadNamespace(x) : there is no package called ‘shiny’ Error: unable to load R code in package ‘soundcorrs’ Execution halted ERROR: lazy loading failed for package ‘soundcorrs’ How can I fix this? [[alternative HTML version deleted]] __ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel __ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel
Re: [R-pkg-devel] Having shiny as an optional dependency
This is actually what I do. Before you replied, I was told to write to CRAN and explain, and they will decide whether the packages will be installed on CRAN machines. Thank you for your help nonetheless. Best, Kamil On Sat, 14 Nov 2020 at 19:39, Gábor Csárdi wrote: > You probably import functions from shiny. Don't do that, refer to them > with the `::` operator instead. > > Gabor > > On Sat, Nov 14, 2020 at 6:12 PM Kamil Stachowski > wrote: > > > > I wrote a package that contains a graphical interface written with > packages > > "shiny" and "shinyjqui". My package can also be used from the CLI, so I > > listed both "shiny" and "shinyjqui" as optional dependencies. I ran R CMD > > check --as-cran on my computer in R 3.6.3 and devel, and both passed > > without any errors or warnings. However, when I tried uploading the > package > > to CRAN, I got this error: > > > > Error in loadNamespace(x) : there is no package called ‘shiny’ > > Error: unable to load R code in package ‘soundcorrs’ > > Execution halted > > ERROR: lazy loading failed for package ‘soundcorrs’ > > > > How can I fix this? > > > > [[alternative HTML version deleted]] > > > > __ > > R-package-devel@r-project.org mailing list > > https://stat.ethz.ch/mailman/listinfo/r-package-devel > -- Kamil Stachowski, PhD Chair of General and Indo-European Linguistics Jagiellonian University, Cracow, Poland http://info.filg.uj.edu.pl/zhjij/~stachowski.kamil/ [[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] Having shiny as an optional dependency
You probably import functions from shiny. Don't do that, refer to them with the `::` operator instead. Gabor On Sat, Nov 14, 2020 at 6:12 PM Kamil Stachowski wrote: > > I wrote a package that contains a graphical interface written with packages > "shiny" and "shinyjqui". My package can also be used from the CLI, so I > listed both "shiny" and "shinyjqui" as optional dependencies. I ran R CMD > check --as-cran on my computer in R 3.6.3 and devel, and both passed > without any errors or warnings. However, when I tried uploading the package > to CRAN, I got this error: > > Error in loadNamespace(x) : there is no package called ‘shiny’ > Error: unable to load R code in package ‘soundcorrs’ > Execution halted > ERROR: lazy loading failed for package ‘soundcorrs’ > > How can I fix this? > > [[alternative HTML version deleted]] > > __ > R-package-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-package-devel __ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel
[R-pkg-devel] Having shiny as an optional dependency
I wrote a package that contains a graphical interface written with packages "shiny" and "shinyjqui". My package can also be used from the CLI, so I listed both "shiny" and "shinyjqui" as optional dependencies. I ran R CMD check --as-cran on my computer in R 3.6.3 and devel, and both passed without any errors or warnings. However, when I tried uploading the package to CRAN, I got this error: Error in loadNamespace(x) : there is no package called ‘shiny’ Error: unable to load R code in package ‘soundcorrs’ Execution halted ERROR: lazy loading failed for package ‘soundcorrs’ How can I fix this? [[alternative HTML version deleted]] __ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel