Получение всех выпусков для определенного пакета R

Какие есть инструменты для получения списка всех выпусков для конкретного пакета R CRAN.
Ожидается получение по крайней мере даты выпуска каждой версии пакета. Другие метаданные для каждого пакета также имеют значение.

1 ответ

Я хочу порекомендовать в pacs упаковка.
pacs::pac_timemachineиспользование веб-сайта CRAN для удаления любой версии / версий пакета, используемых в определенную дату или интервал дат. По умолчанию возвращаются все выпуски.
Базовая часть URL в результате - https://cran.r-project.org/src/contrib/ .
Результаты кешируются на 1 час с memoise упаковка.

      head(pacs::pac_timemachine("tidyr"), 3)
#>   Package Version   Released   Archived LifeDuration
#> 2   tidyr     0.1 2014-07-21 2015-09-08     414 days
#> 3   tidyr   0.2.0 2015-09-08 2015-09-08       0 days
#> 4   tidyr   0.3.0 2015-09-08 2015-09-10       2 days
#>                                URL Size
#> 2   Archive/tidyr/tidyr_0.1.tar.gz 134K
#> 3 Archive/tidyr/tidyr_0.2.0.tar.gz 139K
#> 4 Archive/tidyr/tidyr_0.3.0.tar.gz 147K
tail(pacs::pac_timemachine("tidyr"), 3)
#>    Package Version   Released   Archived LifeDuration
#> 25   tidyr   1.1.1 2020-07-31 2020-08-27      27 days
#> 26   tidyr   1.1.2 2020-08-27 2021-03-03     188 days
#> 1    tidyr   1.1.3 2021-03-03       <NA>     192 days
#>                                 URL Size
#> 25 Archive/tidyr/tidyr_1.1.1.tar.gz 859K
#> 26 Archive/tidyr/tidyr_1.1.2.tar.gz 861K
#> 1                tidyr_1.1.3.tar.gz <NA>

Мы также можем получить результат для определенной даты или интервала даты или версии.

      pacs::pac_timemachine("tidyr", at = as.Date("2018-01-01"))
pacs::pac_timemachine("tidyr", version = "1.0.0")
pacs::pac_timemachine("tidyr", from = as.Date("2020-06-01"), to = as.Date("2020-08-01"))

Создано REPEX (v2.0.1)

Есть еще одно решение CRAN в pkgsearchупаковка.
Он построен в частной базе данных, к которой систематически добавляются новые файлы DESCRIPTION для каждого пакета CRAN.

      head(pkgsearch::cran_package_history("tidyr"), 3)
#> # A tibble: 3 × 25
#>   Package Title    Version `Authors@R`    Description    License LazyData URL   
#>   <chr>   <chr>    <chr>   <chr>          <chr>          <chr>   <chr>    <chr> 
#> 1 tidyr   Easily … 0.1     "'Hadley Wick… tidyr is an e… MIT + … true     https…
#> 2 tidyr   Easily … 0.2.0   "as.person(c(… An evolution … MIT + … true     https…
#> 3 tidyr   Easily … 0.3.0   "c(<U+000a>pe… An evolution … MIT + … true     https…
#> # … with 17 more variables: VignetteBuilder <chr>, Packaged <chr>,
#> #   Author <chr>, Maintainer <chr>, NeedsCompilation <chr>, Repository <chr>,
#> #   Date/Publication <chr>, crandb_file_date <chr>, date <chr>,
#> #   dependencies <list>, BugReports <chr>, RoxygenNote <chr>, Remotes <chr>,
#> #   MD5sum <chr>, Encoding <chr>, SystemRequirements <chr>,
#> #   Config/testthat/edition <chr>
tail(pkgsearch::cran_package_history("tidyr"), 3)
#> # A tibble: 3 × 25
#>   Package Title           Version `Authors@R` Description License LazyData URL  
#>   <chr>   <chr>           <chr>   <chr>       <chr>       <chr>   <chr>    <chr>
#> 1 tidyr   Tidy Messy Data 1.1.1   "\nc(perso… "Tools to … MIT + … true     http…
#> 2 tidyr   Tidy Messy Data 1.1.2   "\nc(perso… "Tools to … MIT + … true     http…
#> 3 tidyr   Tidy Messy Data 1.1.3   "\nc(perso… "Tools to … MIT + … true     http…
#> # … with 17 more variables: VignetteBuilder <chr>, Packaged <chr>,
#> #   Author <chr>, Maintainer <chr>, NeedsCompilation <chr>, Repository <chr>,
#> #   Date/Publication <chr>, crandb_file_date <chr>, date <chr>,
#> #   dependencies <list>, BugReports <chr>, RoxygenNote <chr>, Remotes <chr>,
#> #   MD5sum <chr>, Encoding <chr>, SystemRequirements <chr>,
#> #   Config/testthat/edition <chr>

Создано 2021-09-11 пакетом2021-09-11 пакетом REPEX (v2.0.1)

Другие вопросы по тегам