/drat

Drat R Archive Template

Primary LanguageR

drat Build Status License

Drat R Archive Template

Background

The R package ecosystem is one of the cornerstones of the success seen by R. As of this writing, over 6200 packages are on CRAN, several hundred more at BioConductor and at OmegaHat.

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 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:

  • GitHub by leveraging gh-pages
  • Other repos by using other storage where you can write and provide html access

See the next section about to get started, the package documentation, the drat package page or the blog section on drat for more.

Getting Started

You can install the package from CRAN via the standard install.packages("drat"). Alternatively, for a first installation, you can also do

install.packages("drat", repos="http://eddelbuettel.github.io/drat")

to install directly from the drat repository. After either initial installation, you can add line such as

drat:::add("eddelbuettel")

to your session or startup files (see help(Startup)) and use update.packages() as usual---also reflection the new drat archive.

Package insertion into a repo then works by passing the package tarball filename as an argument to insertPackage() or its shorthand variant:

drat:::insert("drat_0.0.1.tar.gz")

You can now add, commit and push the new version. A somewhat experimental option also exists for the insertPackage() aka drat:::insert() function.

The package documentation provides more detils; the drat package page has a longer tutorial, and the blog section on drat has even more.

Status

The package is now available from CRAN. A few possible improvements, additions and next steps are listed in the TODO.md file.

A few drat repositories are starting to appear (besides this one). Via a combination of looking at the direct forks as well as GitHub search, I became aware of these:

Author

Dirk Eddelbuettel

License

GPL (>= 2)