# 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):