MyNixOS website logo
Description

'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.

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)

Metadata

Version

0.0.9

License

Unknown

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows