epinowcast / epidist

An R package for estimating epidemiological delay distributions
http://epidist.epinowcast.org/
Other
9 stars 4 forks source link

Rely on stable package versions rather than remotes #143

Open athowes opened 1 month ago

athowes commented 1 month ago

As a part of the DESCRIPTION we currently rely on GitHub remotes for a number of packages:

Remotes:
    stan-dev/cmdstanr,
    Rdatatable/data.table,
    epinowcast/epinowcast

PR #69 adds brms to this list as there is a bug with the non-HMC inference methods only fixed in the development version of brms (https://github.com/paul-buerkner/brms/issues/1650).

Ideally, we should look to depend on stable package versions. The reasons why are:

When developing R packages, it is generally advisable to avoid depending on GitHub-based dependencies. Instead, using stable versions from CRAN (Comprehensive R Archive Network) is recommended. Here are the reasons why:

  1. CRAN checks packages
  2. CRAN packages are versioned
  3. CRAN provides pre-compiled binaries, making installation easier (faster) for users
  4. GH packages require manual compilation (maybe difficult / requires toolchain?)
  5. CRAN has an archive of package versions, good for reproducibility
  6. GH versions could have breaking changes

I don't know the extent of barriers to doing this. For the brms one it's a matter of time until the fix is on CRAN.

athowes commented 1 month ago