The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

RcppAPT: Rcpp Interface to APT Package Manager

CI License CRAN Downloads Code Coverage Last Commit

Background

Debian and its derivatives like Ubuntu utilize a powerful package managing backend / frontend combination in APT (A Packaging Tool). Accessible at the command-line via front-ends apt, apt-get, apt-cache, … as well as numerous GUI variants, it is implemented using a library libapt-pkg. This small package provides R with access to this library via Rcpp.

Examples

We can query packages by regular expression:

R> library(RcppAPT)
R> getPackages("^r-base-.")

which returns a data frame with name, version (if installed) and section.

We can also check for installability of a given package or set of packages:

R> hasPackages(c("r-cran-rcpp", "r-cran-rcppapt"))
   r-cran-rcpp r-cran-rcppapt
          TRUE          FALSE
R>

which shows that Rcpp is (of course) available, but this (very new) package is (unsurprisingly) not available pre-built.

Moreover, we can look at the package information of a given package. The buildDepends() function extracts just the build dependencies:

R> buildDepends("r-cran-rcppeigen")
[1] "debhelper"        "r-base-dev"       "cdbs"
[4] "r-cran-rcpp"      "r-cran-matrix"    "r-cran-pkgkitten"
R>

The showSrc() and dumpPackages() functions display even more information.

We can also look at reverse dependencies:

R> reverseDepends("r-cran-rcpp$")
               package  version
1  r-cran-surveillance
2     r-cran-rquantlib   0.11.0
3      r-cran-reshape2
4        r-cran-readxl
5     r-cran-rcppeigen 0.11.0-1
6 r-cran-rcpparmadillo   0.11.0
7          r-cran-plyr
8         r-cran-minqa   0.11.0
R>

Status

The package is still fairly small, and functionality is (currently) limited to the examples shown above. It builds reliably on the supported systems.

But libapt-pkg is pretty mature, and feature-rich, so this package acts mostly as a wrapper from R.

Installation

The package is on CRAN so a very standard

install.packages("RcppAPT")

will do. Make sure you install the libapt-pkg-dev package first as it is a build-dependency.

Versions of the package may also be available via drat via:

drat:::add("eddelbuettel")
install.packages("RcppAPT")

Author

Dirk Eddelbuettel

License

GPL (>= 2)

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.