conan

For us, there is no spring. Just the wind that smells fresh before the storm

This package is temporary, a clean reimplementation of conan and will merge back into that package when we complete the transition from didehpc to hipercow. It is safe to install alongside conan

What is this?

Package installation in R is a double edged sword. On one hand, installation is pretty easy; especially for packages on CRAN, users interactively run install.packages(...) and they are good to go. Packages typically work well together, which means that it's safe (and typical) to install packages into a single library, one per user.

Things start getting creaky though:

Our needs in an HPC/HTC context are slightly different again:

The renv package solves many of these problems, but it is not to everyone's taste; we will support it here but try and work around it updating the library unexpectedly when jobs launch.

We aim for a system where the users can switch between a few different modes of package installation (see below) and where we can add new modes as these become popular/available. For each mode we need to be able to:

The back-ends we want to support are:

Once we have this, we want to support being able to run this remotely and watch the output - we have some reasonable support for this already in the old version of conan with the "watcher"; we can adapt this to work on a shared filesystem and also over ssh.

In the current version, debugging failed installation (especially when pkgdepends solver fails) is really hard, so we need to improve:

Installation

To install conan:

remotes::install_github("mrc-ide/conan", upgrade = FALSE)

License

MIT © Imperial College of Science, Technology and Medicine