# repo.data The goal of repo.data is to make repository data accessible. Mainly it consumes existing data but the idea is to also generate it. When a function is specific of a repository it will start with its name: `cran_` or `bioc_`. Some functions have their equivalent for all repositories that provide this information (CRAN and Bioconductor that I’m aware of). ## Installation From CRAN: ``` r install.packages("repo.data") ``` You can install the development version of repo.data like so: ``` r remotes::install_github("llrs/repo.data") ``` ## Example We can get a data.frame of all packages on CRAN archive: ``` r library(repo.data) #> #> Attaching package: 'repo.data' #> The following object is masked from 'package:stats': #> #> alias ca <- cran_archive() #> Warning: There are 4 packages both archived and published #> This indicate manual CRAN intervention. head(ca) #> Package Datetime Version User Size Status #> 1 a11yShiny 2026-03-30 21:20:21 0.1.3 ligges 71907 current #> 2 A3 2013-02-07 10:00:29 0.9.1 hornik 45252 archived #> 3 A3 2013-03-26 19:58:40 0.9.2 ligges 45907 archived #> 4 A3 2015-08-16 23:05:54 1.0.0 hornik 42810 archived #> 5 a5R 2026-03-16 20:10:23 0.2.0 ligges 3685016 archived #> 6 a5R 2026-03-26 13:30:08 0.3.1 ligges 3706043 current ``` We can also check CRAN comments about the packages on its archive: ``` r cc <- cran_comments() #> Downloading and caching CRAN's comments for this session. head(cc) #> package #> 1 A3 #> 2 aaSEA #> 3 aba #> 4 abbyyR #> 5 abcADM #> 6 abcdeFBA #> comment #> 1 Archived on 2025-06-13 as issues were not corrected despite reminders. #> 2 Archived on 2022-06-21 as check problems were not corrected despite reminders. #> 3 Archived on 2022-03-27 as check problems were not corrected in time. #> 4 Archived on 2023-11-03 at the maintainer's request. #> 5 Archived on 2023-03-02 as issues were not corrected in time. #> 6 Archived on 2022-03-07 as check problems were not corrected in time. #> date action #> 1 2025-06-13 archived #> 2 2022-06-21 archived #> 3 2022-03-27 archived #> 4 2023-11-03 archived #> 5 2023-03-02 archived #> 6 2022-03-07 archived ``` Or estimate the last date of update of our packages, by the information on the session info or a data.frame: ``` r cran_session(session = sessionInfo()) #> [1] "2026-03-26 17:30:10 CET" ip <- installed.packages() cran_date(ip) #> Warning: Some packages are not currently available. Omitting packages: #> 'annotate', 'AnnotationDbi', 'Biobase', 'BiocGenerics', 'BioCor', 'BiocParallel', 'BiocVersion', 'Biostrings', 'cransays', 'GSEABase', 'IRanges', 'KEGGREST', 'rotemplate', 'rutils', 'S4Vectors', 'Seqinfo', 'XVector'. #> [1] "2026-04-04 10:00:06 CEST" ``` ## Related packages Other packages and related analysis : - Task views: - static packages: [pkgstats](https://docs.ropensci.org/pkgstats/) - Bioconductor: biopkgtools - R-universe: universe - [cranly](https://cran.r-project.org/package=cranly): About package dependencies and authors of packages. - [versions](https://github.com/goldingn/versions): A package about installing packages versions. `install.dates()` requires a CRAN date, if you are unsure you can use [`cran_date()`](https://repo.data.llrs.dev/reference/cran_date.md) to estimate it given a [`library()`](https://rdrr.io/r/base/library.html) or a `sessionInfo` report. - [checkpoint](https://cran.r-project.org/package=checkpoint) provides tools to ensure the results of R code are repeatable over time. ## History This package comes from the analysis on CRAN data on # Package index ## Utilities Functions useful for package developers and maintainers as well as users - [`cran_date()`](https://repo.data.llrs.dev/reference/cran_date.md) [`cran_session()`](https://repo.data.llrs.dev/reference/cran_date.md) : Estimate CRAN's date of packages - [`cran_doom()`](https://repo.data.llrs.dev/reference/cran_doom.md) : Calculate time till packages are archived - [`cran_snapshot()`](https://repo.data.llrs.dev/reference/cran_snapshot.md) : Check CRAN package state on any given date - [`duplicated_alias()`](https://repo.data.llrs.dev/reference/duplicated_alias.md) : Report duplicated alias - [`package_date()`](https://repo.data.llrs.dev/reference/package_date.md) : Find earliest date of compatibility - [`package_repos()`](https://repo.data.llrs.dev/reference/package_repos.md) : Package dependencies to repositories - [`repos_dependencies()`](https://repo.data.llrs.dev/reference/repos_dependencies.md) : Tidy dependencies - [`update_dependencies()`](https://repo.data.llrs.dev/reference/update_dependencies.md) : Upgradable versions ## About R Functions for exploring base R - [`base_alias()`](https://repo.data.llrs.dev/reference/base_alias.md) : Base R's alias - [`base_links()`](https://repo.data.llrs.dev/reference/base_links.md) : Base R's links ### R help pages Explore the relationship between alias, pages and packages - [`base_help_cliques()`](https://repo.data.llrs.dev/reference/base_help_cliques.md) : Help pages with cliques - [`base_help_pages_not_linked()`](https://repo.data.llrs.dev/reference/base_help_pages_not_linked.md) : Help pages without links - [`base_help_pages_wo_links()`](https://repo.data.llrs.dev/reference/base_help_pages_wo_links.md) : Help pages not linked from base R - [`base_targets_links()`](https://repo.data.llrs.dev/reference/base_targets_links.md) : Links between help pages by target - [`base_pages_links()`](https://repo.data.llrs.dev/reference/base_pages_links.md) : Links between help pages by page - [`base_pkges_links()`](https://repo.data.llrs.dev/reference/base_pkges_links.md) : Links between help pages by package - [`os_alias`](https://repo.data.llrs.dev/reference/os_alias.md) : Base R OS specific alias ## About CRAN Functions for exploring CRAN - [`alias()`](https://repo.data.llrs.dev/reference/alias.md) : Links - [`links()`](https://repo.data.llrs.dev/reference/links.md) : Links - [`cran_alias()`](https://repo.data.llrs.dev/reference/cran_alias.md) : CRAN's alias - [`cran_links()`](https://repo.data.llrs.dev/reference/cran_links.md) : CRAN's links - [`cran_actions()`](https://repo.data.llrs.dev/reference/cran_actions.md) : Look at the CRAN actions db - [`cran_archive()`](https://repo.data.llrs.dev/reference/cran_archive.md) : Retrieve CRAN archive - [`cran_comments()`](https://repo.data.llrs.dev/reference/cran_comments.md) : CRAN comments - [`cran_date()`](https://repo.data.llrs.dev/reference/cran_date.md) [`cran_session()`](https://repo.data.llrs.dev/reference/cran_date.md) : Estimate CRAN's date of packages - [`cran_doom()`](https://repo.data.llrs.dev/reference/cran_doom.md) : Calculate time till packages are archived - [`cran_issues()`](https://repo.data.llrs.dev/reference/cran_issues.md) : CRAN issues - [`cran_maintainers()`](https://repo.data.llrs.dev/reference/cran_maintainers.md) : Tidy information about maintainers - [`cran_snapshot()`](https://repo.data.llrs.dev/reference/cran_snapshot.md) : Check CRAN package state on any given date - [`cran_version()`](https://repo.data.llrs.dev/reference/cran_version.md) : Install a specific version of a package ### CRAN help pages Explore the relationship between alias, pages and packages - [`cran_help_cliques()`](https://repo.data.llrs.dev/reference/cran_help_cliques.md) : Help pages with cliques - [`cran_help_pages_links_wo_deps()`](https://repo.data.llrs.dev/reference/cran_help_pages_links_wo_deps.md) : Links without dependencies - [`cran_help_pages_not_linked()`](https://repo.data.llrs.dev/reference/cran_help_pages_not_linked.md) : Help pages without links - [`cran_help_pages_wo_links()`](https://repo.data.llrs.dev/reference/cran_help_pages_wo_links.md) : Help pages not linked - [`cran_targets_links()`](https://repo.data.llrs.dev/reference/cran_targets_links.md) : Links between help pages by target - [`cran_pages_links()`](https://repo.data.llrs.dev/reference/cran_pages_links.md) : Links between help pages by page - [`cran_pkges_links()`](https://repo.data.llrs.dev/reference/cran_pkges_links.md) : Links between help pages by package ## About Bioconductor Functions for exploring Bioconductor - [`bioc_cran_archived()`](https://repo.data.llrs.dev/reference/bioc_cran_archived.md) : Bioconductor packages using CRAN archived packages ## About arbitrary repositories Explore packages, session and the relationship with multiple repositories - [`package_date()`](https://repo.data.llrs.dev/reference/package_date.md) : Find earliest date of compatibility - [`package_date_actions()`](https://repo.data.llrs.dev/reference/package_date_actions.md) : Package dates - [`package_repos()`](https://repo.data.llrs.dev/reference/package_repos.md) : Package dependencies to repositories - [`repos_dependencies()`](https://repo.data.llrs.dev/reference/repos_dependencies.md) : Tidy dependencies - [`package_dependencies()`](https://repo.data.llrs.dev/reference/package_dependencies.md) : Find current installations - [`update_dependencies()`](https://repo.data.llrs.dev/reference/update_dependencies.md) : Upgradable versions - [`cran_doom()`](https://repo.data.llrs.dev/reference/cran_doom.md) : Calculate time till packages are archived ## Miscelania Utilities for working with this package - [`clean_cache()`](https://repo.data.llrs.dev/reference/clean_cache.md) : Clean cache # Articles ### All vignettes - [repo.data](https://repo.data.llrs.dev/articles/repo.data.md):