drat
What cute people say when they are pissed off
“Oh Drat, i lost my wallet”
Do not fork this repo as a quick start
towards creating your drat
, fork this repo instead. See
below for more.
The R package ecosystem is one of the cornerstones of the success seen by R. As of July 2020, over 16000 packages are on CRAN, with about one thousand more at BioConductor.
Support for multiple repositories is built deeply into R; mostly via
the (default) package utils
. The update.packages
function (along with several others from the utils
package)
can be used with ease for these three default repositories as well as
many others. But it seemed that support for simple creation and
use of local repositories was missing.
Drat tries to help here and supports two principal modes:
gh-pages
Please see the next section about how to get started, the package documentation, the drat package page or the blog section on drat for more.
Do not fork this repo as a quick start
towards creating your drat
, fork this repo instead. See
below for more.
See the vignettes
for the FAQ, two principal uses cases, basic motivation and an overview / introduction. The package documentation provides more details. The drat package page has a longer tutorial, and the blog section on drat has even more.
Package documentation, help pages, vignettes, and more is also available here.
The preferred approach is to install the released package from CRAN via the standard
install.packages("drat")
command.
drat
comes with its own repo creation helper function initRepo
,
but an even shorter path may be to fork an existing repo. This has been
done numerous times with this original repo. However, over time this
repo accumulated code refinements along with more documentation making
it a little unwieldy. So we set up dedicated repo just to
facilitate drat
forking. Clone it, and you will have a
ready-to-use drat
repository.
The package has been available from CRAN since the Spring of 2015 and starting to get some use. Possible improvements, additions and next steps are listed in the TODO.md file.
A few drat repositories are starting to appear (besides this one). An incomplete list (looking at the direct forks as well as GitHub search):
The rOpenSci project uses drat to distribute their code and has written a nice blog post about it.
Colin Gillespie integrated Travis CI with drat, see his dratTravis repository for more details, and the contributed vignette Combining Drat and Travis
Mike Mahoney uses drat with GitHub Actions in a ‘push’ setting, while Zhian Kamvar uses drat with GitHub Actions in a ‘pull’ setting.
Dirk Eddelbuettel, with contributions by Felix Ernst, Neal Fultz, Colin Gillespie, Christoph Stepper, Thomas Leeper, Mark van der Loo, Jan Gorecki, and others.
GPL (>= 2)