'Rcpp' Interface to the APT Package Manager

The 'APT Package Management System' provides Debian and Debian-derived Linux systems with a powerful system to resolve package dependencies. This package offers access directly from R. This can only work on a system with a suitable 'libapt-pkg-dev' installation so functionality is curtailed if such a library is not found.

Rcpp Interface to APT Package Manager


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.


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 

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"

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


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.


The package is on CRAN so a very standard


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:



Dirk Eddelbuettel


GPL (>= 2)


Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


0.0.8 by Dirk Eddelbuettel, 2 months ago

https://github.com/eddelbuettel/rcppapt, https://dirk.eddelbuettel.com/code/rcpp.apt.html

Report a bug at https://github.com/eddelbuettel/rcppapt/issues

Browse source code at https://github.com/cran/RcppAPT

Authors: Dirk Eddelbuettel

Documentation:   PDF Manual  

GPL (>= 2) license

Imports Rcpp

Suggests simplermarkdown

Linking to Rcpp

See at CRAN