CRANtools {tools}R Documentation

CRAN Package Repository Tools

Description

Tools for obtaining information about current and archived packages in the CRAN package repository, and the check status of the current packages.

Usage

CRAN_package_db()

CRAN_check_results(flavors = NULL)
CRAN_check_details(flavors = NULL)
CRAN_check_issues()
summarize_CRAN_check_status(packages,
                            results = NULL,
                            details = NULL,
                            issues = NULL)

CRAN_current_db()
CRAN_aliases_db()
CRAN_rdxrefs_db()
CRAN_archive_db()

CRAN_authors_db()

Arguments

packages

a character vector of package names.

flavors

a character vector of CRAN check flavor names, or NULL (default), corresponding to all available flavors.

results

the return value of CRAN_check_results() (default), or a subset of this.

details

the return value of CRAN_check_details() (default), or a subset of this.

issues

the return value of CRAN_check_issues() (default), or a subset of this.

Details

CRAN_package_db() returns a data frame with character columns containing most ‘DESCRIPTION’ metadata for the current packages in the CRAN package repository, including in particular the Description and Maintainer information not provided by utils::available.packages().

CRAN_check_results() returns a data frame with the basic CRAN package check results including timings, with columns Package, Flavor and Status giving the package name, check flavor, and overall check status, respectively.

CRAN_check_details() returns a data frame inheriting from class "check_details" (which has useful print and format methods) with details on the check results, providing check name, status and output for every non-OK check (via columns Check, Status and Output, respectively). Packages with all-OK checks are indicated via a * Check wildcard name and OK Status.

CRAN_check_issues() returns a information on additional check issues (including the memory-access check results made available from https://www.stats.ox.ac.uk/pub/bdr/memtests/) as a data frame with character variables Package, Version, kind (an identifier for the issue) and href (a URL with information on the issue).

CRAN_current_db() returns a data frame with the file.info() of all current package sources in the CRAN package repository.

CRAN_aliases_db() returns the Rd aliases in the current packages, as a nested per-package named list of per-Rd-file named lists with the aliases.

CRAN_rdxrefs_db() returns the Rd cross-references in the current packages, as a per-package list of matrices with columns "Target", "Anchor" and "Source".

CRAN_archive_db() returns the file.info() of all archived packages sources in the CRAN package repository, as a per-package named list of data frames.

CRAN_authors_db() returns information on the authors of the current CRAN packages extracted from the ‘⁠Authors@R⁠’ fields in the package ‘DESCRIPTION’ files, as a data frame with character columns giving the given and family names, email addresses, ORCID identifier, roles, and comments of the person entries, and the corresponding package.

Value

See ‘Details’. Note that the results are collated on CRAN: currently this is done in a locale which sorts aAbB ....

Which CRAN?

Functions CRAN_package_db(), CRAN_check_results(), CRAN_check_details() and CRAN_check_issues() access a CRAN mirror specified by the environment variable R_CRAN_WEB, defaulting to one specified in the "repos" option. Otherwise the entry in the ‘repositories’ file (see setRepositories) is used: if that specifies ‘⁠@CRAN@⁠’ (the default) or does not contain an entry for CRAN then https://CRAN.R-project.org is used.

The mirror to be used is reported by utils::findCRANmirror("web").

Note that these functions access parts of CRAN under ‘web/contrib’ and ‘web/packages’ so if you have specified a mirror of just ‘src/contrib’ for installing packages you will need to set R_CRAN_WEB to point to a full mirror.

Functions CRAN_current_db(), CRAN_aliases_db(), CRAN_rdxrefs_db(), CRAN_authors_db() and CRAN_archive_db() (also used by R CMD check) use R_CRAN_SRC rather than R_CRAN_WEB. The mirror to be used is reported by utils::findCRANmirror("src").

See Also

base_aliases_db() and base_rdxrefs_db() for getting the Rd aliases and cross-references in the base packages.

Examples


## This can be rather slow  with a non-local CRAN mirror
## and might fail (slowly) without Internet access in that case.

set.seed(11)  # but the packages chosen will change as soon as CRAN does.
pdb <- CRAN_package_db()
dim(pdb)
## DESCRIPTION fields included:
colnames(pdb)
## Summarize publication dates:
summary(as.Date(pdb$Published))
## Summarize numbers of packages according to maintainer:
summary(lengths(split(pdb$Package, pdb$Maintainer)))
## Packages with 'LASSO' in their Description:
pdb$Package[grepl("LASSO", pdb$Description)]

results <- CRAN_check_results()
## Available variables:
names(results)
## Tabulate overall check status according to flavor:
with(results, table(Flavor, Status))

details <- CRAN_check_details()
## Available variables:
names(details)
## Tabulate checks according to their status:
tab <- with(details, table(Check, Status))
## Inspect some installation problems:
bad <- subset(details,
              ((Check == "whether package can be installed") &
               (Status != "OK")))
## Show a random sample of up to 6
head(bad[sample(seq_len(NROW(bad)), NROW(bad)), ])

issues <- CRAN_check_issues()
head(issues)
## Show counts of issues according to kind:
table(issues[, "kind"])

## Summarize CRAN check status for 10 randomly-selected packages
## (reusing the information already read in):
pos <- sample(seq_len(NROW(pdb)), 10L)
summarize_CRAN_check_status(pdb[pos, "Package"],
                            results, details, issues)

[Package tools version 4.5.0 Index]