capsule
capsule copied to clipboard
An inversion of renv for low effort reproducible R package libraries
While I appreciate the discipline of only declaring dependencies in `./packages.R`, there are conditions that it makes sense to find them across `./R/*.R` or other files, and in a project...
https://github.com/MilesMcBain/capsule/blob/master/R/mirror.R#L46 This seems to now aggressively downgrade dependencies to the lockfile versions probably due to some change in renv.
This usually happens when the package is being developed on the same machine, and has been installed with `devtools::install`.
I'd love to see an alternative `capsule::create()` workflow that uses the `DESCRIPTION` file to set up the capsule rather than an R script with `library()` calls. This is typically handled...
@jimjam-slam mentioned Quarto support could be better. I haven't used Quarto but I can imagine it's not that easy to use with capsule.
When writing a lockfile, currently `{capsule}` diverges from `{renv}` with respect to RSPM repo URLS. On a system with: ``` > options('repos') $repos RSPM "https://packagemanager.rstudio.com/all/__linux__/focal/latest" CRAN "https://cran.rstudio.com" ``` `{capsule}` will...
Due to some unfortunate legacy decisions, multiple RStudio packages (remotes, pak) will populate the SHA metadata with the version number if the package is downloaded from CRAN. In capsule this...
I find myself doing this sometimes: ```r capsule:::detect_dependencies("packages.R") |> install.packages() ```
Basically I would like something like `capsule::reproduce_lib()` but that installs the packages locally for interactive use outside of the `capsule::run` workflow. Perhaps the function could be called: `install_lockfile_pkgs()` or something?