Skip to contents

a 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 character string, name of an installed R package.

lib.loc

library location to find the package in; the default NULL uses 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.

Author

Martin Maechler, Jan. 2021

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"