Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Encourage Imports not Depends #3076

Open
Labels
breaking-changeissues whose solution would require breaking existing behavior
Milestone
@mattdowle

Description

@mattdowle

CRAN + BioC:DependsImports


I've only recently realized how badDepends: is, thanks to Jan's importing vignette. I just made its discouragement stronger :51590bc

We could disallow Depends. This would also be beneficial tocedta()'s awkward implementation on its last line where it needs to do the tryCatch just for packages which Depend; that line could be removed.

But before we disallow Depends, we'd need to ask 69 CRAN packages to change from Depends to Imports. (Most revdeps already Import.) The longer we leave it, the greater the potential for new packages using Depends to be added to CRAN and the harder it will be to change.

Check when changed to Imports and published:

CRAN


Bioconductor

Details

More metadata on these packages: CRAN links, version control links. Sorted by recent publish date to prioritize those that are actively maintained.

PackageLast CRAN UpdateVersionGH URL
dbi.table2024-12-101.0.1GH
opendataformat2024-12-042.1.1GH
lori2024-11-182.2.3GH
CBRT2024-11-130.1.1GH
rcprd2024-11-130.0.1
rusquant2024-09-161.1.4GH
solaR22024-09-160.10GH
mpactr2024-09-100.1.0GH
DiSCos2024-07-230.1.1GH
circhelp2024-07-041.1GH
SOMnmR2024-07-040.3.0GH
LKT2024-07-011.7.0
SeaVal2024-06-141.2.0GH
colocPropTest2024-06-110.9.1
qreport2024-05-261.0-1
EGM2024-05-230.1.0
limexhub2024-05-060.1.5
immunarch2024-03-180.9.1GH
cffdrs2024-02-221.9.0
rblt2024-02-190.2.4.7GH
nosoi2024-02-091.1.2GH
reclin22024-02-090.5.0GH
metaforest2024-01-260.1.4
coveffectsplot2024-01-181.0.5GH
cellKey2023-11-241.0.2GH
tablecompare2023-11-140.1.1GH
sqlHelpers2023-10-140.1.2
rMIDAS2023-10-111.0.0GH
WebAnalytics2023-10-040.9.12GH
PreProcessRecordLinkage2023-09-131.0.1
robCompositions2023-08-252.4.1
fplot2023-08-241.1.0
fplyr2023-08-231.3.0GH
microseq2023-08-212.1.6
IBRtools2023-08-140.1.3
TrumpetPlots2023-06-130.0.1.1
somspace2023-04-281.2.4
DiDforBigData2023-04-031.0GH
pgTools2023-03-241.0.2GH
HospitalNetwork2023-02-270.9.3GH
bdots2023-01-061.2.5GH
rasterDT2022-12-150.3.2GH
libbib2022-11-051.6.4
KMD2022-10-060.1.0
KPC2022-10-050.1.2
didimputation2022-08-250.3.0
acdcR2022-06-271.0.0GH
chicane2021-11-060.1.8
FeatureImpCluster2021-10-200.1.5
edl2021-09-201.1
ZIprop2021-06-090.1.1GL
CoSMoS2021-05-292.1.0GH
twangRDC2021-05-171.0
FOCI2021-03-180.1.3
shinyML2021-02-241.0.1GH
textTools2021-02-050.1.0
dbWebForms2021-01-280.1.0
damr2020-11-160.3.7GH
classifierplots2020-10-131.4.0GH
EBPRS2020-08-262.1.0
intervalaverage2020-07-230.8.0
HPLB2020-06-091.0.0
LSPFP2020-05-131.0.3
eyeTrackR2020-03-291.0.1
birankr2020-03-231.0.1
GenomicTools.fileHandler2020-03-050.1.5.9
nlpred2020-02-231.0.1
gdxdt2019-11-300.1.0
WGScan2019-05-270.1
AF2019-05-200.1.5
word.alignment2019-04-151.1
behavr2019-01-030.3.2GH
GenoScan2018-12-210.1
pkggraph2018-11-150.2.3GH
twl2018-08-241.0
easycsv2018-05-211.0.8GH
RWildbook2018-04-060.9.3
dfmeta2018-03-271.0.0
miLineage2018-03-232.1
Ac3net2018-02-261.2.2
bea.R2018-02-231.0.6
reinsureR2018-02-200.1.0
heims2018-01-250.4.0
slim2017-05-150.1.1
gbp2017-01-280.1.0.4GH
skm2017-01-230.1.5.4GH
panelaggregation2017-01-070.1.1
RSauceLabs2016-09-270.1.6GH
musica2016-09-030.1.3
lookupTable2015-08-280.1
orgR2014-12-200.9.0

These packages had previously usedDepends: data.table but either no longer do, or were removed from CRAN:

List as code for easier maintenance of this list:

library(httr)library(tools)library(data.table)if (requireNamespace("devtools", quietly=TRUE) && requireNamespace("BiocManager", quietly=TRUE)) {  cran_depends = devtools::revdep('data.table', 'Depends')  bioc_depends = devtools::revdep('data.table', 'Depends', bioconductor = TRUE)} else {  cran_depends = package_dependencies("data.table", reverse=TRUE, which="Depends")$data.table  bioc_vr = '3.20'  bioc_db = available.packages(repos = file.path('http://bioconductor.org/packages', bioc_vr, 'bioc'))  bioc_depends = package_dependencies("data.table", bioc_db, reverse=TRUE, which="Depends")$data.table}desc_data <- function(package) {  repo = getOption('repos')["CRAN"]  desc_url <- file.path(repo, "web", "packages", package, "DESCRIPTION")  desc_file <- httr::content(httr::GET(desc_url), encoding = "UTF-8")  desc_conn <- rawConnection(desc_file, open = "r")  on.exit(close(desc_conn))  # based on very exhaustive GitHub CRAN mirror search of DESCRIPTION files  url_fields = c("URL", "URLNote", "BugReports", "Github")  desc = read.dcf(desc_conn, c("Package", "Date/Publication", "Version", url_fields))  repo_regex = ".*git(?:hub|lab)[a-zA-Z0-9._]+/([A-Za-z0-9._]+/[A-Za-z0-9._]+).*"  url = desc[,url_fields] |>    Filter(f = Negate(is.na)) |>    strsplit(",") |>    lapply(function(str) {      repo_like = grep(repo_regex, str, value=TRUE)      repo_like = grep("github.io", repo_like, value=TRUE, invert=TRUE)      gsub("/issues", "", trimws(repo_like))    }) |>    unlist() |>    unique()  out = data.table(    package = desc[,"Package"],    published_date = as.Date(as.POSIXct(desc[,"Date/Publication"])),    version = desc[,"Version"])  if (!length(url)) url = NA_character_  if (length(url) > 1L) {    # e.g. cellKey has a special BugReports repo    url = grep(package, url, fixed=TRUE, value=TRUE)    if (length(url) > 1L) stop("found more than one apparent URL for ", package)  }  out[, url := url]  out[]}cran_depends = rbindlist(lapply(cran_depends, desc_data))writeLines(paste("- [ ]", cran_depends$package))cran_depends[, package := sprintf('[%1$s](https://cran.r-project.org/web/packages/%1$s/index.html)', package)]cran_depends[, url := fcase(  grepl("github", url), sprintf("[GH](%s)", url),  grepl("gitlab", url), sprintf("[GL](%s)", url),  !is.na(url), url)]setorder(cran_depends, -published_date)setnames(cran_depends, c("Package", "Last CRAN Update", "Version", "URL"))options(knitr.kable.NA = '')knitr::kable(cran_depends)writeLines(sprintf("- [ ] [%1$s](https://www.bioconductor.org/packages/%2$s/bioc/html/%1$s.html)", bioc_depends, bioc_vr))

Metadata

Metadata

Assignees

No one assigned

    Labels

    breaking-changeissues whose solution would require breaking existing behavior

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions


      [8]ページ先頭

      ©2009-2025 Movatter.jp