Version of packageDescription() as Simple Vector
pkgDesc.Rda simple “version”, or wrapper for
packageDescription(), returning a named character vector,
including "file", and still has a useful print()
method.
Usage
pkgDesc (pkg, lib.loc = NULL, fields = NULL, onlyLT = 99, ...)
pkgBuilt(pkg, lib.loc = NULL, ...)Arguments
- pkg
a
characterstring, name of an installed R package.- lib.loc
library location to find the package in; the default
NULLuses the full.libPaths().- fields
a character vector (or
NULL) specifying fields to be returned.- onlyLT
positive integer specifying an upper limit on the number of characters of fields to be returned and printed.
- ...
further optional arguments passed to
packageDescription().
Value
a named character vector, with names, the
fields, identical to the names of the list returned
by packageDescription, plus its "file" attribute.
Additionally the resulting vector is of class "Dlist" which
activates a useful print() method.
Note
The file is always returned; not the least that the author
wants to see it quite often as his .libPaths() is
non-trivial and typically longer than 4 entries.
I started to hate screen fulls of Authors and/or Description; when I
wanted quite basic info, hence onlyLT with a reasonable default.
Examples
str(pd <- pkgDesc("sfsmisc"))
#> 'Dlist' Named chr [1:17] "sfsmisc" ...
#> - attr(*, "names")= chr [1:17] "Package" "Title" "Version" "VersionNote" ...
pd[c("Date","Packaged", "Built","file")]
#> Date 2025-11-20
#> NA NA
#> Built R 4.5.1; ; 2025-12-01 20:42:15 UTC; unix
#> file /tmp/RtmpHpViFb/temp_libpath144e3d256e9f59/sfsmisc/Meta/package.rds
## see the effects of `onlyLT` :
str(p1 <- pkgDesc("sfsmisc", onlyLT = Inf)) # .. [1:25] ..
#> 'Dlist' Named chr [1:21] "sfsmisc" ...
#> - attr(*, "names")= chr [1:21] "Package" "Title" "Version" "VersionNote" ...
str(pD <-pkgDesc("sfsmisc" )) # .. [1:21] ..
#> 'Dlist' Named chr [1:17] "sfsmisc" ...
#> - attr(*, "names")= chr [1:17] "Package" "Title" "Version" "VersionNote" ...
str(p50 <-pkgDesc("sfsmisc", onlyLT = 50 )) # .. [1:18] ..
#> 'Dlist' Named chr [1:14] "sfsmisc" "1.1-23" "2025-11-20" ...
#> - attr(*, "names")= chr [1:14] "Package" "Version" "Date" "Maintainer" ...
t(sapply(list(full = p1, def. = pD, p50 = p50),
function(pd) {n <- nchar(pd); c(summary(n)[-1], SUM = sum(n))}))
#> 1st Qu. Median Mean 3rd Qu. Max. SUM
#> full 10.00 40 201.4 73 1882 4230
#> def. 10.00 36 33.7 44 97 573
#> p50 7.75 21 25.2 40 67 353
pkgBuilt("sfsmisc")
#> Built R 4.5.1; ; 2025-12-01 20:42:15 UTC; unix
#> file /tmp/RtmpHpViFb/temp_libpath144e3d256e9f59/sfsmisc/Meta/package.rds
## Show "Built" (and "file") for all packages whose namespaces are loaded:
lNs <- loadedNamespaces()
mlNs <- sapply(lNs, pkgBuilt)
t(mlNs) # typically prints nicely
#> Built
#> Matrix "R 4.5.1; x86_64-pc-linux-gnu; 2025-06-13 21:14:38 UTC; unix"
#> jsonlite "R 4.5.0; x86_64-pc-linux-gnu; 2025-04-29 21:17:19 UTC; unix"
#> compiler "R 4.5.1; ; 2025-06-13 21:12:13 UTC; unix"
#> stats "R 4.5.1; x86_64-pc-linux-gnu; 2025-06-13 21:13:00 UTC; unix"
#> rpart "R 4.5.1; x86_64-pc-linux-gnu; 2025-06-13 21:17:44 UTC; unix"
#> xml2 "R 4.5.0; x86_64-pc-linux-gnu; 2025-11-26 14:58:46 UTC; unix"
#> cluster "R 4.5.1; x86_64-pc-linux-gnu; 2025-06-13 21:17:32 UTC; unix"
#> jquerylib "R 4.5.0; ; 2025-04-29 21:39:40 UTC; unix"
#> splines "R 4.5.1; x86_64-pc-linux-gnu; 2025-06-13 21:13:48 UTC; unix"
#> systemfonts "R 4.5.0; x86_64-pc-linux-gnu; 2025-10-17 14:10:43 UTC; unix"
#> textshaping "R 4.5.0; x86_64-pc-linux-gnu; 2025-10-17 14:14:21 UTC; unix"
#> yaml "R 4.5.0; x86_64-pc-linux-gnu; 2025-04-29 21:19:24 UTC; unix"
#> fastmap "R 4.5.0; x86_64-pc-linux-gnu; 2025-04-29 21:24:55 UTC; unix"
#> lattice "R 4.5.1; x86_64-pc-linux-gnu; 2025-06-13 21:14:31 UTC; unix"
#> base "R 4.5.1; ; 2025-06-13 21:13:52 UTC; unix"
#> R6 "R 4.5.0; ; 2025-04-29 21:24:13 UTC; unix"
#> curl "R 4.5.0; x86_64-pc-linux-gnu; 2025-08-22 18:50:49 UTC; unix"
#> httr2 "R 4.5.0; ; 2025-07-28 15:07:45 UTC; unix"
#> knitr "R 4.5.0; ; 2025-04-29 21:39:04 UTC; unix"
#> MASS "R 4.5.1; x86_64-pc-linux-gnu; 2025-06-13 21:14:26 UTC; unix"
#> datasets "R 4.5.1; ; 2025-06-13 21:13:29 UTC; unix"
#> methods "R 4.5.1; x86_64-pc-linux-gnu; 2025-06-13 21:13:30 UTC; unix"
#> tibble "R 4.5.0; x86_64-pc-linux-gnu; 2025-06-17 23:16:53 UTC; unix"
#> desc "R 4.5.0; ; 2025-04-29 21:28:08 UTC; unix"
#> sfsmisc "R 4.5.1; ; 2025-12-01 20:42:15 UTC; unix"
#> bslib "R 4.5.0; ; 2025-04-29 21:49:09 UTC; unix"
#> pillar "R 4.5.0; ; 2025-09-29 18:36:57 UTC; unix"
#> rlang "R 4.5.0; x86_64-pc-linux-gnu; 2025-04-29 21:16:58 UTC; unix"
#> cachem "R 4.5.0; x86_64-pc-linux-gnu; 2025-04-29 21:28:53 UTC; unix"
#> lokern "R 4.5.0; x86_64-pc-linux-gnu; 2025-04-08 23:01:34 UTC; unix"
#> xfun "R 4.5.0; x86_64-pc-linux-gnu; 2025-11-14 18:44:07 UTC; unix"
#> fs "R 4.5.0; x86_64-pc-linux-gnu; 2025-04-29 21:20:11 UTC; unix"
#> utils "R 4.5.1; x86_64-pc-linux-gnu; 2025-06-13 21:12:37 UTC; unix"
#> sass "R 4.5.0; x86_64-pc-linux-gnu; 2025-04-29 21:39:42 UTC; unix"
#> memoise "R 4.5.0; ; 2025-04-29 21:39:47 UTC; unix"
#> cli "R 4.5.0; x86_64-pc-linux-gnu; 2025-04-29 21:17:27 UTC; unix"
#> pkgdown "R 4.5.0; ; 2025-11-14 18:52:42 UTC; unix"
#> withr "R 4.5.0; ; 2025-04-29 21:19:02 UTC; unix"
#> magrittr "R 4.5.0; x86_64-pc-linux-gnu; 2025-09-15 14:49:34 UTC; unix"
#> grid "R 4.5.1; x86_64-pc-linux-gnu; 2025-06-13 21:13:41 UTC; unix"
#> digest "R 4.5.1; x86_64-pc-linux-gnu; 2025-12-01 17:55:54 UTC; unix"
#> fontawesome "R 4.5.0; ; 2025-04-29 21:39:45 UTC; unix"
#> graphics "R 4.5.1; x86_64-pc-linux-gnu; 2025-06-13 21:12:52 UTC; unix"
#> rappdirs "R 4.5.0; x86_64-pc-linux-gnu; 2025-04-29 21:17:54 UTC; unix"
#> gmp "R 4.5.0; x86_64-pc-linux-gnu; 2025-04-05 03:02:19 UTC; unix"
#> lifecycle "R 4.5.0; ; 2025-04-29 21:27:17 UTC; unix"
#> vctrs "R 4.5.0; x86_64-pc-linux-gnu; 2025-04-29 21:38:26 UTC; unix"
#> downlit "R 4.5.0; ; 2025-11-14 18:46:11 UTC; unix"
#> evaluate "R 4.5.0; ; 2025-08-29 22:11:21 UTC; unix"
#> glue "R 4.5.0; x86_64-pc-linux-gnu; 2025-04-29 21:21:27 UTC; unix"
#> whisker "R 4.5.0; ; 2025-04-29 21:18:25 UTC; unix"
#> ragg "R 4.5.0; x86_64-pc-linux-gnu; 2025-10-17 14:16:20 UTC; unix"
#> fansi "R 4.5.1; x86_64-pc-linux-gnu; 2025-12-01 17:58:08 UTC; unix"
#> rmarkdown "R 4.5.0; ; 2025-09-29 18:37:20 UTC; unix"
#> purrr "R 4.5.0; x86_64-pc-linux-gnu; 2025-11-14 18:46:17 UTC; unix"
#> grDevices "R 4.5.1; x86_64-pc-linux-gnu; 2025-06-13 21:12:45 UTC; unix"
#> tools "R 4.5.1; x86_64-pc-linux-gnu; 2025-06-13 21:12:12 UTC; unix"
#> pkgconfig "R 4.5.0; ; 2025-04-29 21:24:43 UTC; unix"
#> htmltools "R 4.5.0; x86_64-pc-linux-gnu; 2025-04-29 21:28:50 UTC; unix"
#> file
#> Matrix "/opt/R/4.5.1/lib/R/library/Matrix/Meta/package.rds"
#> jsonlite "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/jsonlite/Meta/package.rds"
#> compiler "/opt/R/4.5.1/lib/R/library/compiler/Meta/package.rds"
#> stats "/opt/R/4.5.1/lib/R/library/stats/Meta/package.rds"
#> rpart "/opt/R/4.5.1/lib/R/library/rpart/Meta/package.rds"
#> xml2 "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/xml2/Meta/package.rds"
#> cluster "/opt/R/4.5.1/lib/R/library/cluster/Meta/package.rds"
#> jquerylib "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/jquerylib/Meta/package.rds"
#> splines "/opt/R/4.5.1/lib/R/library/splines/Meta/package.rds"
#> systemfonts "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/systemfonts/Meta/package.rds"
#> textshaping "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/textshaping/Meta/package.rds"
#> yaml "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/yaml/Meta/package.rds"
#> fastmap "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/fastmap/Meta/package.rds"
#> lattice "/opt/R/4.5.1/lib/R/library/lattice/Meta/package.rds"
#> base "/opt/R/4.5.1/lib/R/library/base/Meta/package.rds"
#> R6 "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/R6/Meta/package.rds"
#> curl "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/curl/Meta/package.rds"
#> httr2 "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/httr2/Meta/package.rds"
#> knitr "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/knitr/Meta/package.rds"
#> MASS "/opt/R/4.5.1/lib/R/library/MASS/Meta/package.rds"
#> datasets "/opt/R/4.5.1/lib/R/library/datasets/Meta/package.rds"
#> methods "/opt/R/4.5.1/lib/R/library/methods/Meta/package.rds"
#> tibble "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/tibble/Meta/package.rds"
#> desc "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/desc/Meta/package.rds"
#> sfsmisc "/tmp/RtmpHpViFb/temp_libpath144e3d256e9f59/sfsmisc/Meta/package.rds"
#> bslib "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/bslib/Meta/package.rds"
#> pillar "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/pillar/Meta/package.rds"
#> rlang "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/rlang/Meta/package.rds"
#> cachem "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/cachem/Meta/package.rds"
#> lokern "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/lokern/Meta/package.rds"
#> xfun "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/xfun/Meta/package.rds"
#> fs "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/fs/Meta/package.rds"
#> utils "/opt/R/4.5.1/lib/R/library/utils/Meta/package.rds"
#> sass "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/sass/Meta/package.rds"
#> memoise "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/memoise/Meta/package.rds"
#> cli "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/cli/Meta/package.rds"
#> pkgdown "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/pkgdown/Meta/package.rds"
#> withr "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/withr/Meta/package.rds"
#> magrittr "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/magrittr/Meta/package.rds"
#> grid "/opt/R/4.5.1/lib/R/library/grid/Meta/package.rds"
#> digest "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/digest/Meta/package.rds"
#> fontawesome "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/fontawesome/Meta/package.rds"
#> graphics "/opt/R/4.5.1/lib/R/library/graphics/Meta/package.rds"
#> rappdirs "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/rappdirs/Meta/package.rds"
#> gmp "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/gmp/Meta/package.rds"
#> lifecycle "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/lifecycle/Meta/package.rds"
#> vctrs "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/vctrs/Meta/package.rds"
#> downlit "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/downlit/Meta/package.rds"
#> evaluate "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/evaluate/Meta/package.rds"
#> glue "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/glue/Meta/package.rds"
#> whisker "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/whisker/Meta/package.rds"
#> ragg "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/ragg/Meta/package.rds"
#> fansi "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/fansi/Meta/package.rds"
#> rmarkdown "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/rmarkdown/Meta/package.rds"
#> purrr "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/purrr/Meta/package.rds"
#> grDevices "/opt/R/4.5.1/lib/R/library/grDevices/Meta/package.rds"
#> tools "/opt/R/4.5.1/lib/R/library/tools/Meta/package.rds"
#> pkgconfig "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/pkgconfig/Meta/package.rds"
#> htmltools "/data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-11-26/sfsmisc_1.1-23_lib/htmltools/Meta/package.rds"
pkgs <- c("grid", "lattice", "MASS", "Matrix", "nlme", "lme4", "sfsmisc")
pkgs <- c("foobar", "barbar", pkgs, "kitty") # + names that typically don't exist
pkgsOk <- basename(find.package(pkgs, quiet=TRUE))
mpkg <- sapply(pkgsOk, pkgBuilt)
stopifnot(is.matrix(mpkg), nrow(mpkg) == 2)
mpkg["Built",]
#> grid
#> "R 4.5.1; x86_64-pc-linux-gnu; 2025-06-13 21:13:41 UTC; unix"
#> lattice
#> "R 4.5.1; x86_64-pc-linux-gnu; 2025-06-13 21:14:31 UTC; unix"
#> MASS
#> "R 4.5.1; x86_64-pc-linux-gnu; 2025-06-13 21:14:26 UTC; unix"
#> Matrix
#> "R 4.5.1; x86_64-pc-linux-gnu; 2025-06-13 21:14:38 UTC; unix"
#> nlme
#> "R 4.5.1; x86_64-pc-linux-gnu; 2025-06-13 21:16:52 UTC; unix"
#> sfsmisc
#> "R 4.5.1; ; 2025-12-01 20:42:15 UTC; unix"