diff --git a/.gitignore b/.gitignore index d1808db..f05da25 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,10 @@ example/ *.dict *.fastq .Rproj.user +.venv*/ +reports/full_e2e/latest.json + +.cache/ +.mypy_cache/ +.pytest_cache/ +__pycache__/ \ No newline at end of file diff --git a/dumpling_env.yaml b/dumpling_env.yaml index 10373b2..400912a 100644 --- a/dumpling_env.yaml +++ b/dumpling_env.yaml @@ -16,5 +16,5 @@ dependencies: - regex - pip - pip: - - multiqc>=1.19 + - multiqc>=1.25 - regex diff --git a/pytest.ini b/pytest.ini new file mode 100644 index 0000000..84e6890 --- /dev/null +++ b/pytest.ini @@ -0,0 +1,11 @@ +[pytest] +testpaths = tests +python_files = test_*.py +python_functions = test_* +addopts = -v --tb=short +markers = + unit: Unit tests (fast, isolated) + integration: Integration tests (may use filesystem) + slow: Slow tests (full pipeline validation) +filterwarnings = + ignore::DeprecationWarning diff --git a/renv.lock b/renv.lock index 3d48dce..111ca6f 100644 --- a/renv.lock +++ b/renv.lock @@ -1,26 +1,26 @@ { "R": { - "Version": "4.4.2", + "Version": "4.5.3", "Repositories": [ { "Name": "BioCsoft", - "URL": "https://bioconductor.org/packages/3.20/bioc" + "URL": "https://bioconductor.org/packages/3.22/bioc" }, { "Name": "BioCann", - "URL": "https://bioconductor.org/packages/3.20/data/annotation" + "URL": "https://bioconductor.org/packages/3.22/data/annotation" }, { "Name": "BioCexp", - "URL": "https://bioconductor.org/packages/3.20/data/experiment" + "URL": "https://bioconductor.org/packages/3.22/data/experiment" }, { "Name": "BioCworkflows", - "URL": "https://bioconductor.org/packages/3.20/workflows" + "URL": "https://bioconductor.org/packages/3.22/workflows" }, { "Name": "BioCbooks", - "URL": "https://bioconductor.org/packages/3.20/books" + "URL": "https://bioconductor.org/packages/3.22/books" }, { "Name": "CRAN", @@ -29,1211 +29,3787 @@ ] }, "Bioconductor": { - "Version": "3.20" + "Version": "3.22" }, "Packages": { "BiocManager": { "Package": "BiocManager", - "Version": "1.30.25", + "Version": "1.30.27", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ + "Title": "Access the Bioconductor Project Package Repository", + "Description": "A convenient tool to install and update Bioconductor packages.", + "Authors@R": "c( person(\"Martin\", \"Morgan\", email = \"martin.morgan@roswellpark.org\", role = \"aut\", comment = c(ORCID = \"0000-0002-5874-8148\")), person(\"Marcel\", \"Ramos\", email = \"marcel.ramos@sph.cuny.edu\", role = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0002-3242-0582\")))", + "Imports": [ "utils" ], - "Hash": "3aec5928ca10897d7a0a1205aae64627" + "Suggests": [ + "BiocVersion", + "BiocStyle", + "remotes", + "rmarkdown", + "testthat", + "withr", + "curl", + "knitr" + ], + "URL": "https://bioconductor.github.io/BiocManager/", + "BugReports": "https://github.com/Bioconductor/BiocManager/issues", + "VignetteBuilder": "knitr", + "License": "Artistic-2.0", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "NeedsCompilation": "no", + "Author": "Martin Morgan [aut] (ORCID: ), Marcel Ramos [aut, cre] (ORCID: )", + "Maintainer": "Marcel Ramos ", + "Repository": "CRAN" }, "BiocVersion": { "Package": "BiocVersion", - "Version": "3.20.0", + "Version": "3.22.0", "Source": "Bioconductor", - "Repository": "Bioconductor 3.20", - "Requirements": [ - "R" + "Title": "Set the appropriate version of Bioconductor packages", + "Description": "This package provides repository information for the appropriate version of Bioconductor.", + "Authors@R": "c( person(\"Martin\", \"Morgan\", email = \"martin.morgan@roswellpark.org\", role = \"aut\"), person(\"Marcel\", \"Ramos\", email = \"marcel.ramos@sph.cuny.edu\", role = \"ctb\"), person(\"Bioconductor\", \"Package Maintainer\", email = \"maintainer@bioconductor.org\", role = c(\"ctb\", \"cre\")))", + "biocViews": "Infrastructure", + "Depends": [ + "R (>= 4.4.0)" ], - "Hash": "3c70eb3b78929c0ee452350cea8432a5" + "License": "Artistic-2.0", + "Encoding": "UTF-8", + "RoxygenNote": "6.0.1", + "Repository": "https://bioc-release.r-universe.dev", + "RemoteUrl": "https://github.com/bioc/BiocVersion", + "RemoteRef": "RELEASE_3_22", + "RemoteSha": "fea53ac938311018c7513d2339cdd5f928cd72c5", + "NeedsCompilation": "no", + "Author": "Martin Morgan [aut], Marcel Ramos [ctb], Bioconductor Package Maintainer [ctb, cre]", + "Maintainer": "Bioconductor Package Maintainer " }, "DEoptimR": { "Package": "DEoptimR", - "Version": "1.1-3-1", + "Version": "1.1-4", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ + "Date": "2025-07-27", + "Title": "Differential Evolution Optimization in Pure R", + "Authors@R": "c( person(c(\"Eduardo\", \"L. T.\"), \"Conceicao\", role = c(\"aut\", \"cre\"), email = \"mail@eduardoconceicao.org\"), person(\"Martin\", \"Maechler\", role = \"ctb\", email = \"maechler@stat.math.ethz.ch\", comment = c(ORCID = \"0000-0002-8685-9910\")) )", + "URL": "svn://svn.r-forge.r-project.org/svnroot/robustbase/pkg/DEoptimR", + "Description": "Differential Evolution (DE) stochastic heuristic algorithms for global optimization of problems with and without general constraints. The aim is to curate a collection of its variants that (1) do not sacrifice simplicity of design, (2) are essentially tuning-free, and (3) can be efficiently implemented directly in the R language. Currently, it provides implementations of the algorithms 'jDE' by Brest et al. (2006) for single-objective optimization and 'NCDE' by Qu et al. (2012) for multimodal optimization (single-objective problems with multiple solutions).", + "Imports": [ "stats" ], - "Hash": "53a0299b56b4cbe418b12e3b65587211" + "Enhances": [ + "robustbase" + ], + "License": "GPL (>= 2)", + "Author": "Eduardo L. T. Conceicao [aut, cre], Martin Maechler [ctb] (ORCID: )", + "Maintainer": "Eduardo L. T. Conceicao ", + "Repository": "CRAN", + "Repository/R-Forge/Project": "robustbase", + "Repository/R-Forge/Revision": "1009", + "Repository/R-Forge/DateTimeStamp": "2025-07-27 18:16:52", + "NeedsCompilation": "no" }, "Deriv": { "Package": "Deriv", - "Version": "4.1.6", + "Version": "4.2.0", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ + "Type": "Package", + "Title": "Symbolic Differentiation", + "Date": "2025-06-20", + "Authors@R": "c(person(given=\"Andrew\", family=\"Clausen\", role=\"aut\"), person(given=\"Serguei\", family=\"Sokol\", role=c(\"aut\", \"cre\"), email=\"sokol@insa-toulouse.fr\", comment = c(ORCID = \"0000-0002-5674-3327\")), person(given=\"Andreas\", family=\"Rappold\", role=\"ctb\", email=\"arappold@gmx.at\"))", + "Description": "R-based solution for symbolic differentiation. It admits user-defined function as well as function substitution in arguments of functions to be differentiated. Some symbolic simplification is part of the work.", + "License": "GPL (>= 3)", + "Suggests": [ + "testthat (>= 0.11.0)" + ], + "BugReports": "https://github.com/sgsokol/Deriv/issues", + "RoxygenNote": "7.3.1", + "Imports": [ "methods" ], - "Hash": "cd52c065c9e687c60c56b51f10f7bcd3" + "Encoding": "UTF-8", + "NeedsCompilation": "no", + "Author": "Andrew Clausen [aut], Serguei Sokol [aut, cre] (ORCID: ), Andreas Rappold [ctb]", + "Maintainer": "Serguei Sokol ", + "Repository": "CRAN" }, "Formula": { "Package": "Formula", "Version": "1.2-5", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", + "Date": "2023-02-23", + "Title": "Extended Model Formulas", + "Description": "Infrastructure for extended formulas with multiple parts on the right-hand side and/or multiple responses on the left-hand side (see ).", + "Authors@R": "c(person(given = \"Achim\", family = \"Zeileis\", role = c(\"aut\", \"cre\"), email = \"Achim.Zeileis@R-project.org\", comment = c(ORCID = \"0000-0003-0918-3766\")), person(given = \"Yves\", family = \"Croissant\", role = \"aut\", email = \"Yves.Croissant@univ-reunion.fr\"))", + "Depends": [ + "R (>= 2.0.0)", "stats" ], - "Hash": "7a29697b75e027767a53fde6c903eca7" + "License": "GPL-2 | GPL-3", + "NeedsCompilation": "no", + "Author": "Achim Zeileis [aut, cre] (), Yves Croissant [aut]", + "Maintainer": "Achim Zeileis ", + "Repository": "CRAN" }, "KernSmooth": { "Package": "KernSmooth", - "Version": "2.23-24", + "Version": "2.23-26", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", + "Priority": "recommended", + "Date": "2024-12-10", + "Title": "Functions for Kernel Smoothing Supporting Wand & Jones (1995)", + "Authors@R": "c(person(\"Matt\", \"Wand\", role = \"aut\", email = \"Matt.Wand@uts.edu.au\"), person(\"Cleve\", \"Moler\", role = \"ctb\", comment = \"LINPACK routines in src/d*\"), person(\"Brian\", \"Ripley\", role = c(\"trl\", \"cre\", \"ctb\"), email = \"Brian.Ripley@R-project.org\", comment = \"R port and updates\"))", + "Note": "Maintainers are not available to give advice on using a package they did not author.", + "Depends": [ + "R (>= 2.5.0)", "stats" ], - "Hash": "9f33a1ee37bbe8919eb2ec4b9f2473a5" + "Suggests": [ + "MASS", + "carData" + ], + "Description": "Functions for kernel smoothing (and density estimation) corresponding to the book: Wand, M.P. and Jones, M.C. (1995) \"Kernel Smoothing\".", + "License": "Unlimited", + "ByteCompile": "yes", + "NeedsCompilation": "yes", + "Author": "Matt Wand [aut], Cleve Moler [ctb] (LINPACK routines in src/d*), Brian Ripley [trl, cre, ctb] (R port and updates)", + "Maintainer": "Brian Ripley ", + "Repository": "CRAN" }, "MASS": { "Package": "MASS", - "Version": "7.3-61", + "Version": "7.3-65", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", + "Priority": "recommended", + "Date": "2025-02-19", + "Revision": "$Rev: 3681 $", + "Depends": [ + "R (>= 4.4.0)", "grDevices", "graphics", - "methods", "stats", "utils" ], - "Hash": "0cafd6f0500e5deba33be22c46bf6055" + "Imports": [ + "methods" + ], + "Suggests": [ + "lattice", + "nlme", + "nnet", + "survival" + ], + "Authors@R": "c(person(\"Brian\", \"Ripley\", role = c(\"aut\", \"cre\", \"cph\"), email = \"Brian.Ripley@R-project.org\"), person(\"Bill\", \"Venables\", role = c(\"aut\", \"cph\")), person(c(\"Douglas\", \"M.\"), \"Bates\", role = \"ctb\"), person(\"Kurt\", \"Hornik\", role = \"trl\", comment = \"partial port ca 1998\"), person(\"Albrecht\", \"Gebhardt\", role = \"trl\", comment = \"partial port ca 1998\"), person(\"David\", \"Firth\", role = \"ctb\", comment = \"support functions for polr\"))", + "Description": "Functions and datasets to support Venables and Ripley, \"Modern Applied Statistics with S\" (4th edition, 2002).", + "Title": "Support Functions and Datasets for Venables and Ripley's MASS", + "LazyData": "yes", + "ByteCompile": "yes", + "License": "GPL-2 | GPL-3", + "URL": "http://www.stats.ox.ac.uk/pub/MASS4/", + "Contact": "", + "NeedsCompilation": "yes", + "Author": "Brian Ripley [aut, cre, cph], Bill Venables [aut, cph], Douglas M. Bates [ctb], Kurt Hornik [trl] (partial port ca 1998), Albrecht Gebhardt [trl] (partial port ca 1998), David Firth [ctb] (support functions for polr)", + "Maintainer": "Brian Ripley ", + "Repository": "CRAN" }, "Matrix": { "Package": "Matrix", - "Version": "1.7-1", + "Version": "1.7-4", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", + "VersionNote": "do also bump src/version.h, inst/include/Matrix/version.h", + "Date": "2025-08-27", + "Priority": "recommended", + "Title": "Sparse and Dense Matrix Classes and Methods", + "Description": "A rich hierarchy of sparse and dense matrix classes, including general, symmetric, triangular, and diagonal matrices with numeric, logical, or pattern entries. Efficient methods for operating on such matrices, often wrapping the 'BLAS', 'LAPACK', and 'SuiteSparse' libraries.", + "License": "GPL (>= 2) | file LICENCE", + "URL": "https://Matrix.R-forge.R-project.org", + "BugReports": "https://R-forge.R-project.org/tracker/?atid=294&group_id=61", + "Contact": "Matrix-authors@R-project.org", + "Authors@R": "c(person(\"Douglas\", \"Bates\", role = \"aut\", comment = c(ORCID = \"0000-0001-8316-9503\")), person(\"Martin\", \"Maechler\", role = c(\"aut\", \"cre\"), email = \"mmaechler+Matrix@gmail.com\", comment = c(ORCID = \"0000-0002-8685-9910\")), person(\"Mikael\", \"Jagan\", role = \"aut\", comment = c(ORCID = \"0000-0002-3542-2938\")), person(\"Timothy A.\", \"Davis\", role = \"ctb\", comment = c(ORCID = \"0000-0001-7614-6899\", \"SuiteSparse libraries\", \"collaborators listed in dir(system.file(\\\"doc\\\", \\\"SuiteSparse\\\", package=\\\"Matrix\\\"), pattern=\\\"License\\\", full.names=TRUE, recursive=TRUE)\")), person(\"George\", \"Karypis\", role = \"ctb\", comment = c(ORCID = \"0000-0003-2753-1437\", \"METIS library\", \"Copyright: Regents of the University of Minnesota\")), person(\"Jason\", \"Riedy\", role = \"ctb\", comment = c(ORCID = \"0000-0002-4345-4200\", \"GNU Octave's condest() and onenormest()\", \"Copyright: Regents of the University of California\")), person(\"Jens\", \"Oehlschlägel\", role = \"ctb\", comment = \"initial nearPD()\"), person(\"R Core Team\", role = \"ctb\", comment = c(ROR = \"02zz1nj61\", \"base R's matrix implementation\")))", + "Depends": [ + "R (>= 4.4)", + "methods" + ], + "Imports": [ "grDevices", "graphics", "grid", "lattice", - "methods", "stats", "utils" ], - "Hash": "5122bb14d8736372411f955e1b16bc8a" + "Suggests": [ + "MASS", + "datasets", + "sfsmisc", + "tools" + ], + "Enhances": [ + "SparseM", + "graph" + ], + "LazyData": "no", + "LazyDataNote": "not possible, since we use data/*.R and our S4 classes", + "BuildResaveData": "no", + "Encoding": "UTF-8", + "NeedsCompilation": "yes", + "Author": "Douglas Bates [aut] (ORCID: ), Martin Maechler [aut, cre] (ORCID: ), Mikael Jagan [aut] (ORCID: ), Timothy A. Davis [ctb] (ORCID: , SuiteSparse libraries, collaborators listed in dir(system.file(\"doc\", \"SuiteSparse\", package=\"Matrix\"), pattern=\"License\", full.names=TRUE, recursive=TRUE)), George Karypis [ctb] (ORCID: , METIS library, Copyright: Regents of the University of Minnesota), Jason Riedy [ctb] (ORCID: , GNU Octave's condest() and onenormest(), Copyright: Regents of the University of California), Jens Oehlschlägel [ctb] (initial nearPD()), R Core Team [ctb] (ROR: , base R's matrix implementation)", + "Maintainer": "Martin Maechler ", + "Repository": "CRAN" }, "MatrixModels": { "Package": "MatrixModels", - "Version": "0.5-3", + "Version": "0.5-4", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "Matrix", - "R", + "VersionNote": "Released 0.5-3 on 2023-11-06", + "Date": "2025-03-25", + "Title": "Modelling with Sparse and Dense Matrices", + "Contact": "Matrix-authors@R-project.org", + "Authors@R": "c( person(\"Douglas\", \"Bates\", role = \"aut\", email = \"bates@stat.wisc.edu\", comment = c(ORCID = \"0000-0001-8316-9503\")), person(\"Martin\", \"Maechler\", role = c(\"aut\", \"cre\"), email = \"mmaechler+Matrix@gmail.com\", comment = c(ORCID = \"0000-0002-8685-9910\")))", + "Description": "Generalized Linear Modelling with sparse and dense 'Matrix' matrices, using modular prediction and response module classes.", + "Depends": [ + "R (>= 3.6.0)" + ], + "Imports": [ + "stats", "methods", - "stats" + "Matrix (>= 1.6-0)", + "Matrix(< 1.8-0)" ], - "Hash": "0776bf7526869e0286b0463cb72fb211" + "ImportsNote": "_not_yet_stats4", + "Encoding": "UTF-8", + "LazyLoad": "yes", + "License": "GPL (>= 2)", + "URL": "https://Matrix.R-forge.R-project.org/, https://r-forge.r-project.org/R/?group_id=61", + "BugReports": "https://R-forge.R-project.org/tracker/?func=add&atid=294&group_id=61", + "NeedsCompilation": "no", + "Author": "Douglas Bates [aut] (), Martin Maechler [aut, cre] ()", + "Maintainer": "Martin Maechler ", + "Repository": "CRAN" }, "R6": { "Package": "R6", - "Version": "2.5.1", + "Version": "2.6.1", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" + "Title": "Encapsulated Classes with Reference Semantics", + "Authors@R": "c( person(\"Winston\", \"Chang\", , \"winston@posit.co\", role = c(\"aut\", \"cre\")), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")) )", + "Description": "Creates classes with reference semantics, similar to R's built-in reference classes. Compared to reference classes, R6 classes are simpler and lighter-weight, and they are not built on S4 classes so they do not require the methods package. These classes allow public and private members, and they support inheritance, even when the classes are defined in different packages.", + "License": "MIT + file LICENSE", + "URL": "https://r6.r-lib.org, https://github.com/r-lib/R6", + "BugReports": "https://github.com/r-lib/R6/issues", + "Depends": [ + "R (>= 3.6)" ], - "Hash": "470851b6d5d0ac559e9d01bb352b4021" + "Suggests": [ + "lobstr", + "testthat (>= 3.0.0)" + ], + "Config/Needs/website": "tidyverse/tidytemplate, ggplot2, microbenchmark, scales", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "NeedsCompilation": "no", + "Author": "Winston Chang [aut, cre], Posit Software, PBC [cph, fnd]", + "Maintainer": "Winston Chang ", + "Repository": "CRAN" }, "RColorBrewer": { "Package": "RColorBrewer", "Version": "1.1-3", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" + "Date": "2022-04-03", + "Title": "ColorBrewer Palettes", + "Authors@R": "c(person(given = \"Erich\", family = \"Neuwirth\", role = c(\"aut\", \"cre\"), email = \"erich.neuwirth@univie.ac.at\"))", + "Author": "Erich Neuwirth [aut, cre]", + "Maintainer": "Erich Neuwirth ", + "Depends": [ + "R (>= 2.0.0)" ], - "Hash": "45f0398006e83a5b10b72a90663d8d8c" + "Description": "Provides color schemes for maps (and other graphics) designed by Cynthia Brewer as described at http://colorbrewer2.org.", + "License": "Apache License 2.0", + "NeedsCompilation": "no", + "Repository": "CRAN" }, "Rcpp": { "Package": "Rcpp", - "Version": "1.0.13-1", + "Version": "1.1.1", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ + "Title": "Seamless R and C++ Integration", + "Date": "2026-01-07", + "Authors@R": "c(person(\"Dirk\", \"Eddelbuettel\", role = c(\"aut\", \"cre\"), email = \"edd@debian.org\", comment = c(ORCID = \"0000-0001-6419-907X\")), person(\"Romain\", \"Francois\", role = \"aut\", comment = c(ORCID = \"0000-0002-2444-4226\")), person(\"JJ\", \"Allaire\", role = \"aut\", comment = c(ORCID = \"0000-0003-0174-9868\")), person(\"Kevin\", \"Ushey\", role = \"aut\", comment = c(ORCID = \"0000-0003-2880-7407\")), person(\"Qiang\", \"Kou\", role = \"aut\", comment = c(ORCID = \"0000-0001-6786-5453\")), person(\"Nathan\", \"Russell\", role = \"aut\"), person(\"Iñaki\", \"Ucar\", role = \"aut\", comment = c(ORCID = \"0000-0001-6403-5550\")), person(\"Doug\", \"Bates\", role = \"aut\", comment = c(ORCID = \"0000-0001-8316-9503\")), person(\"John\", \"Chambers\", role = \"aut\"))", + "Description": "The 'Rcpp' package provides R functions as well as C++ classes which offer a seamless integration of R and C++. Many R data types and objects can be mapped back and forth to C++ equivalents which facilitates both writing of new code as well as easier integration of third-party libraries. Documentation about 'Rcpp' is provided by several vignettes included in this package, via the 'Rcpp Gallery' site at , the paper by Eddelbuettel and Francois (2011, ), the book by Eddelbuettel (2013, ) and the paper by Eddelbuettel and Balamuta (2018, ); see 'citation(\"Rcpp\")' for details.", + "Depends": [ + "R (>= 3.5.0)" + ], + "Imports": [ "methods", "utils" ], - "Hash": "6b868847b365672d6c1677b1608da9ed" + "Suggests": [ + "tinytest", + "inline", + "rbenchmark", + "pkgKitten (>= 0.1.2)" + ], + "URL": "https://www.rcpp.org, https://dirk.eddelbuettel.com/code/rcpp.html, https://github.com/RcppCore/Rcpp", + "License": "GPL (>= 2)", + "BugReports": "https://github.com/RcppCore/Rcpp/issues", + "MailingList": "rcpp-devel@lists.r-forge.r-project.org", + "RoxygenNote": "6.1.1", + "Encoding": "UTF-8", + "VignetteBuilder": "Rcpp", + "NeedsCompilation": "yes", + "Author": "Dirk Eddelbuettel [aut, cre] (ORCID: ), Romain Francois [aut] (ORCID: ), JJ Allaire [aut] (ORCID: ), Kevin Ushey [aut] (ORCID: ), Qiang Kou [aut] (ORCID: ), Nathan Russell [aut], Iñaki Ucar [aut] (ORCID: ), Doug Bates [aut] (ORCID: ), John Chambers [aut]", + "Maintainer": "Dirk Eddelbuettel ", + "Repository": "CRAN" }, "RcppArmadillo": { "Package": "RcppArmadillo", - "Version": "14.2.2-1", + "Version": "15.2.3-1", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "Rcpp", - "methods", + "Type": "Package", + "Title": "'Rcpp' Integration for the 'Armadillo' Templated Linear Algebra Library", + "Date": "2025-12-16", + "Authors@R": "c(person(\"Dirk\", \"Eddelbuettel\", role = c(\"aut\", \"cre\"), email = \"edd@debian.org\", comment = c(ORCID = \"0000-0001-6419-907X\")), person(\"Romain\", \"Francois\", role = \"aut\", comment = c(ORCID = \"0000-0002-2444-4226\")), person(\"Doug\", \"Bates\", role = \"aut\", comment = c(ORCID = \"0000-0001-8316-9503\")), person(\"Binxiang\", \"Ni\", role = \"aut\"), person(\"Conrad\", \"Sanderson\", role = \"aut\", comment = c(ORCID = \"0000-0002-0049-4501\")))", + "Description": "'Armadillo' is a templated C++ linear algebra library aiming towards a good balance between speed and ease of use. It provides high-level syntax and functionality deliberately similar to Matlab. It is useful for algorithm development directly in C++, or quick conversion of research code into production environments. It provides efficient classes for vectors, matrices and cubes where dense and sparse matrices are supported. Integer, floating point and complex numbers are supported. A sophisticated expression evaluator (based on template meta-programming) automatically combines several operations to increase speed and efficiency. Dynamic evaluation automatically chooses optimal code paths based on detected matrix structures. Matrix decompositions are provided through integration with LAPACK, or one of its high performance drop-in replacements (such as 'MKL' or 'OpenBLAS'). It can automatically use 'OpenMP' multi-threading (parallelisation) to speed up computationally expensive operations. . The 'RcppArmadillo' package includes the header files from the 'Armadillo' library; users do not need to install 'Armadillo' itself in order to use 'RcppArmadillo'. Starting from release 15.0.0, the minimum compilation standard is C++14 so 'Armadillo' version 14.6.3 is included as a fallback when an R package forces the C++11 standard. Package authors should set a '#define' to select the 'current' version, or select the 'legacy' version (also chosen as default) if they must. See 'GitHub issue #475' for details. . Since release 7.800.0, 'Armadillo' is licensed under Apache License 2; previous releases were under licensed as MPL 2.0 from version 3.800.0 onwards and LGPL-3 prior to that; 'RcppArmadillo' (the 'Rcpp' bindings/bridge to Armadillo) is licensed under the GNU GPL version 2 or later, as is the rest of 'Rcpp'.", + "License": "GPL (>= 2)", + "LazyLoad": "yes", + "Depends": [ + "R (>= 3.3.0)" + ], + "LinkingTo": [ + "Rcpp" + ], + "Imports": [ + "Rcpp (>= 1.0.12)", "stats", - "utils" + "utils", + "methods" ], - "Hash": "9da7c242d94a8419d045f6b3a64b9765" + "Suggests": [ + "tinytest", + "Matrix (>= 1.3.0)", + "pkgKitten", + "reticulate", + "slam" + ], + "URL": "https://github.com/RcppCore/RcppArmadillo, https://dirk.eddelbuettel.com/code/rcpp.armadillo.html", + "BugReports": "https://github.com/RcppCore/RcppArmadillo/issues", + "RoxygenNote": "6.0.1", + "NeedsCompilation": "yes", + "Author": "Dirk Eddelbuettel [aut, cre] (ORCID: ), Romain Francois [aut] (ORCID: ), Doug Bates [aut] (ORCID: ), Binxiang Ni [aut], Conrad Sanderson [aut] (ORCID: )", + "Maintainer": "Dirk Eddelbuettel ", + "Repository": "CRAN" }, "RcppEigen": { "Package": "RcppEigen", "Version": "0.3.4.0.2", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "Rcpp", + "Type": "Package", + "Title": "'Rcpp' Integration for the 'Eigen' Templated Linear Algebra Library", + "Date": "2024-08-23", + "Authors@R": "c(person(\"Doug\", \"Bates\", role = \"aut\", comment = c(ORCID = \"0000-0001-8316-9503\")), person(\"Dirk\", \"Eddelbuettel\", role = c(\"aut\", \"cre\"), email = \"edd@debian.org\", comment = c(ORCID = \"0000-0001-6419-907X\")), person(\"Romain\", \"Francois\", role = \"aut\", comment = c(ORCID = \"0000-0002-2444-4226\")), person(\"Yixuan\", \"Qiu\", role = \"aut\", comment = c(ORCID = \"0000-0003-0109-6692\")), person(\"Authors of\", \"Eigen\", role = \"cph\", comment = \"Authorship and copyright in included Eigen library as detailed in inst/COPYRIGHTS\"))", + "Copyright": "See the file COPYRIGHTS for various Eigen copyright details", + "Description": "R and 'Eigen' integration using 'Rcpp'. 'Eigen' is a C++ template library for linear algebra: matrices, vectors, numerical solvers and related algorithms. It supports dense and sparse matrices on integer, floating point and complex numbers, decompositions of such matrices, and solutions of linear systems. Its performance on many algorithms is comparable with some of the best implementations based on 'Lapack' and level-3 'BLAS'. The 'RcppEigen' package includes the header files from the 'Eigen' C++ template library. Thus users do not need to install 'Eigen' itself in order to use 'RcppEigen'. Since version 3.1.1, 'Eigen' is licensed under the Mozilla Public License (version 2); earlier version were licensed under the GNU LGPL version 3 or later. 'RcppEigen' (the 'Rcpp' bindings/bridge to 'Eigen') is licensed under the GNU GPL version 2 or later, as is the rest of 'Rcpp'.", + "License": "GPL (>= 2) | file LICENSE", + "LazyLoad": "yes", + "Depends": [ + "R (>= 3.6.0)" + ], + "LinkingTo": [ + "Rcpp" + ], + "Imports": [ + "Rcpp (>= 0.11.0)", "stats", "utils" ], - "Hash": "4ac8e423216b8b70cb9653d1b3f71eb9" + "Suggests": [ + "Matrix", + "inline", + "tinytest", + "pkgKitten", + "microbenchmark" + ], + "URL": "https://github.com/RcppCore/RcppEigen, https://dirk.eddelbuettel.com/code/rcpp.eigen.html", + "BugReports": "https://github.com/RcppCore/RcppEigen/issues", + "NeedsCompilation": "yes", + "Author": "Doug Bates [aut] (), Dirk Eddelbuettel [aut, cre] (), Romain Francois [aut] (), Yixuan Qiu [aut] (), Authors of Eigen [cph] (Authorship and copyright in included Eigen library as detailed in inst/COPYRIGHTS)", + "Maintainer": "Dirk Eddelbuettel ", + "Repository": "CRAN" + }, + "RcppParallel": { + "Package": "RcppParallel", + "Version": "5.1.11-2", + "Source": "Repository", + "Type": "Package", + "Title": "Parallel Programming Tools for 'Rcpp'", + "Authors@R": "c( person(\"JJ\", \"Allaire\", role = c(\"aut\"), email = \"jj@rstudio.com\"), person(\"Romain\", \"Francois\", role = c(\"aut\", \"cph\")), person(\"Kevin\", \"Ushey\", role = c(\"aut\", \"cre\"), email = \"kevin@rstudio.com\"), person(\"Gregory\", \"Vandenbrouck\", role = \"aut\"), person(\"Marcus\", \"Geelnard\", role = c(\"aut\", \"cph\"), comment = \"TinyThread library, https://tinythreadpp.bitsnbites.eu/\"), person(\"Hamada S.\", \"Badr\", email = \"badr@jhu.edu\", role = c(\"ctb\"), comment = c(ORCID = \"0000-0002-9808-2344\")), person(family = \"Posit, PBC\", role = \"cph\"), person(family = \"Intel\", role = c(\"aut\", \"cph\"), comment = \"Intel TBB library, https://www.threadingbuildingblocks.org/\"), person(family = \"Microsoft\", role = \"cph\") )", + "Description": "High level functions for parallel programming with 'Rcpp'. For example, the 'parallelFor()' function can be used to convert the work of a standard serial \"for\" loop into a parallel one and the 'parallelReduce()' function can be used for accumulating aggregate or other values.", + "Depends": [ + "R (>= 3.0.2)" + ], + "Suggests": [ + "Rcpp", + "RUnit", + "knitr", + "rmarkdown" + ], + "SystemRequirements": "GNU make, Intel TBB, Windows: cmd.exe and cscript.exe, Solaris: g++ is required", + "License": "GPL (>= 3)", + "URL": "https://rcppcore.github.io/RcppParallel/, https://github.com/RcppCore/RcppParallel", + "BugReports": "https://github.com/RcppCore/RcppParallel/issues", + "Biarch": "TRUE", + "RoxygenNote": "7.1.1", + "Encoding": "UTF-8", + "NeedsCompilation": "yes", + "Maintainer": "Kevin Ushey ", + "Author": "JJ Allaire [aut], Romain Francois [aut, cph], Kevin Ushey [aut, cre], Gregory Vandenbrouck [aut], Marcus Geelnard [aut, cph] (TinyThread library, https://tinythreadpp.bitsnbites.eu/), Hamada S. Badr [ctb] (ORCID: ), Posit, PBC [cph], Intel [aut, cph] (Intel TBB library, https://www.threadingbuildingblocks.org/), Microsoft [cph]", + "Repository": "CRAN" + }, + "Rdpack": { + "Package": "Rdpack", + "Version": "2.6.6", + "Source": "Repository", + "Type": "Package", + "Title": "Update and Manipulate Rd Documentation Objects", + "Authors@R": "c( person(given = c(\"Georgi\", \"N.\"), family = \"Boshnakov\", role = c(\"aut\", \"cre\"), email = \"georgi.boshnakov@manchester.ac.uk\", comment = c(ORCID = \"0000-0003-2839-346X\")), person(given = \"Duncan\", family = \"Murdoch\", role = \"ctb\", email = \"murdoch.duncan@gmail.com\") )", + "Description": "Functions for manipulation of R documentation objects, including functions reprompt() and ereprompt() for updating 'Rd' documentation for functions, methods and classes; 'Rd' macros for citations and import of references from 'bibtex' files for use in 'Rd' files and 'roxygen2' comments; 'Rd' macros for evaluating and inserting snippets of 'R' code and the results of its evaluation or creating graphics on the fly; and many functions for manipulation of references and Rd files.", + "URL": "https://geobosh.github.io/Rdpack/ (doc), https://CRAN.R-project.org/package=Rdpack", + "BugReports": "https://github.com/GeoBosh/Rdpack/issues", + "Depends": [ + "R (>= 2.15.0)", + "methods" + ], + "Imports": [ + "tools", + "utils", + "rbibutils (> 2.4)" + ], + "Suggests": [ + "grDevices", + "testthat", + "rstudioapi", + "rprojroot", + "gbRd" + ], + "License": "GPL (>= 2)", + "LazyLoad": "yes", + "Encoding": "UTF-8", + "RoxygenNote": "7.1.1", + "NeedsCompilation": "no", + "Author": "Georgi N. Boshnakov [aut, cre] (ORCID: ), Duncan Murdoch [ctb]", + "Maintainer": "Georgi N. Boshnakov ", + "Repository": "CRAN" + }, + "S7": { + "Package": "S7", + "Version": "0.2.1", + "Source": "Repository", + "Title": "An Object Oriented System Meant to Become a Successor to S3 and S4", + "Authors@R": "c( person(\"Object-Oriented Programming Working Group\", role = \"cph\"), person(\"Davis\", \"Vaughan\", role = \"aut\"), person(\"Jim\", \"Hester\", role = \"aut\", comment = c(ORCID = \"0000-0002-2739-7082\")), person(\"Tomasz\", \"Kalinowski\", role = \"aut\"), person(\"Will\", \"Landau\", role = \"aut\"), person(\"Michael\", \"Lawrence\", role = \"aut\"), person(\"Martin\", \"Maechler\", role = \"aut\", comment = c(ORCID = \"0000-0002-8685-9910\")), person(\"Luke\", \"Tierney\", role = \"aut\"), person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0003-4757-117X\")) )", + "Description": "A new object oriented programming system designed to be a successor to S3 and S4. It includes formal class, generic, and method specification, and a limited form of multiple dispatch. It has been designed and implemented collaboratively by the R Consortium Object-Oriented Programming Working Group, which includes representatives from R-Core, 'Bioconductor', 'Posit'/'tidyverse', and the wider R community.", + "License": "MIT + file LICENSE", + "URL": "https://rconsortium.github.io/S7/, https://github.com/RConsortium/S7", + "BugReports": "https://github.com/RConsortium/S7/issues", + "Depends": [ + "R (>= 3.5.0)" + ], + "Imports": [ + "utils" + ], + "Suggests": [ + "bench", + "callr", + "covr", + "knitr", + "methods", + "rmarkdown", + "testthat (>= 3.2.0)", + "tibble" + ], + "VignetteBuilder": "knitr", + "Config/build/compilation-database": "true", + "Config/Needs/website": "sloop", + "Config/testthat/edition": "3", + "Config/testthat/parallel": "TRUE", + "Config/testthat/start-first": "external-generic", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.3", + "NeedsCompilation": "yes", + "Author": "Object-Oriented Programming Working Group [cph], Davis Vaughan [aut], Jim Hester [aut] (ORCID: ), Tomasz Kalinowski [aut], Will Landau [aut], Michael Lawrence [aut], Martin Maechler [aut] (ORCID: ), Luke Tierney [aut], Hadley Wickham [aut, cre] (ORCID: )", + "Maintainer": "Hadley Wickham ", + "Repository": "CRAN" }, "SparseM": { "Package": "SparseM", "Version": "1.84-2", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", + "Authors@R": "c( person(\"Roger\", \"Koenker\", role = c(\"cre\",\"aut\"), email = \"rkoenker@uiuc.edu\"), person(c(\"Pin\", \"Tian\"), \"Ng\", role = c(\"ctb\"), comment = \"Contributions to Sparse QR code\", email = \"pin.ng@nau.edu\") , person(\"Yousef\", \"Saad\", role = c(\"ctb\"), comment = \"author of sparskit2\") , person(\"Ben\", \"Shaby\", role = c(\"ctb\"), comment = \"author of chol2csr\") , person(\"Martin\", \"Maechler\", role = \"ctb\", comment = c(\"chol() tweaks; S4\", ORCID = \"0000-0002-8685-9910\")) )", + "Maintainer": "Roger Koenker ", + "Depends": [ + "R (>= 2.15)", + "methods" + ], + "Imports": [ "graphics", - "methods", "stats", "utils" ], - "Hash": "e78499cbcbbca98200254bd171379165" + "VignetteBuilder": "knitr", + "Suggests": [ + "knitr" + ], + "Description": "Some basic linear algebra functionality for sparse matrices is provided: including Cholesky decomposition and backsolving as well as standard R subsetting and Kronecker products.", + "License": "GPL (>= 2)", + "Title": "Sparse Linear Algebra", + "URL": "http://www.econ.uiuc.edu/~roger/research/sparse/sparse.html", + "NeedsCompilation": "yes", + "Author": "Roger Koenker [cre, aut], Pin Tian Ng [ctb] (Contributions to Sparse QR code), Yousef Saad [ctb] (author of sparskit2), Ben Shaby [ctb] (author of chol2csr), Martin Maechler [ctb] (chol() tweaks; S4, )", + "Repository": "CRAN" }, "abind": { "Package": "abind", "Version": "1.4-8", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", + "Date": "2024-09-08", + "Title": "Combine Multidimensional Arrays", + "Authors@R": "c(person(\"Tony\", \"Plate\", email = \"tplate@acm.org\", role = c(\"aut\", \"cre\")), person(\"Richard\", \"Heiberger\", role = c(\"aut\")))", + "Maintainer": "Tony Plate ", + "Description": "Combine multidimensional arrays into a single array. This is a generalization of 'cbind' and 'rbind'. Works with vectors, matrices, and higher-dimensional arrays (aka tensors). Also provides functions 'adrop', 'asub', and 'afill' for manipulating, extracting and replacing data in arrays.", + "Depends": [ + "R (>= 1.5.0)" + ], + "Imports": [ "methods", "utils" ], - "Hash": "2288423bb0f20a457800d7fc47f6aa54" + "License": "MIT + file LICENSE", + "NeedsCompilation": "no", + "Author": "Tony Plate [aut, cre], Richard Heiberger [aut]", + "Repository": "CRAN" }, "backports": { "Package": "backports", "Version": "1.5.0", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" + "Type": "Package", + "Title": "Reimplementations of Functions Introduced Since R-3.0.0", + "Authors@R": "c( person(\"Michel\", \"Lang\", NULL, \"michellang@gmail.com\", role = c(\"cre\", \"aut\"), comment = c(ORCID = \"0000-0001-9754-0393\")), person(\"Duncan\", \"Murdoch\", NULL, \"murdoch.duncan@gmail.com\", role = c(\"aut\")), person(\"R Core Team\", role = \"aut\"))", + "Maintainer": "Michel Lang ", + "Description": "Functions introduced or changed since R v3.0.0 are re-implemented in this package. The backports are conditionally exported in order to let R resolve the function name to either the implemented backport, or the respective base version, if available. Package developers can make use of new functions or arguments by selectively importing specific backports to support older installations.", + "URL": "https://github.com/r-lib/backports", + "BugReports": "https://github.com/r-lib/backports/issues", + "License": "GPL-2 | GPL-3", + "NeedsCompilation": "yes", + "ByteCompile": "yes", + "Depends": [ + "R (>= 3.0.0)" ], - "Hash": "e1e1b9d75c37401117b636b7ae50827a" + "Encoding": "UTF-8", + "RoxygenNote": "7.3.1", + "Author": "Michel Lang [cre, aut] (), Duncan Murdoch [aut], R Core Team [aut]", + "Repository": "CRAN" }, "bayesm": { "Package": "bayesm", - "Version": "3.1-6", + "Version": "3.1-7", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "Rcpp", - "RcppArmadillo", - "grDevices", - "graphics", + "Type": "Package", + "Title": "Bayesian Inference for Marketing/Micro-Econometrics", + "Depends": [ + "R (>= 3.2.0)" + ], + "Date": "2025-11-09", + "Authors@R": "c(person(given = \"Peter\", family = \"Rossi\", role = c(\"aut\", \"cre\"), email = \"perossichi@gmail.com\"), person(given = \"Robert\", family = \"McCulloch\", role = \"ctb\"), person(given = \"Wayne\", family = \"Taylor\", role = \"ctb\"), person(given = \"Dan\", family = \"Yavorsky\", role = \"ctb\") )", + "Maintainer": "Peter Rossi ", + "License": "GPL (>= 2)", + "Imports": [ + "Rcpp (>= 0.12.0)", + "utils", "stats", - "utils" + "graphics", + "grDevices" + ], + "LinkingTo": [ + "Rcpp", + "RcppArmadillo" + ], + "Suggests": [ + "knitr", + "rmarkdown" ], - "Hash": "6377d4336f5c291b8a89d75fb8074828" + "VignetteBuilder": "knitr", + "Description": "Covers many important models used in marketing and micro-econometrics applications. The package includes: Bayes Regression (univariate or multivariate dep var), Bayes Seemingly Unrelated Regression (SUR), Binary and Ordinal Probit, Multinomial Logit (MNL) and Multinomial Probit (MNP), Multivariate Probit, Negative Binomial (Poisson) Regression, Multivariate Mixtures of Normals (including clustering), Dirichlet Process Prior Density Estimation with normal base, Hierarchical Linear Models with normal prior and covariates, Hierarchical Linear Models with a mixture of normals prior and covariates, Hierarchical Multinomial Logits with a mixture of normals prior and covariates, Hierarchical Multinomial Logits with a Dirichlet Process prior and covariates, Hierarchical Negative Binomial Regression Models, Bayesian analysis of choice-based conjoint data, Bayesian treatment of linear instrumental variables models, Analysis of Multivariate Ordinal survey data with scale usage heterogeneity (as in Rossi et al, JASA (01)), Bayesian Analysis of Aggregate Random Coefficient Logit Models as in BLP (see Jiang, Manchanda, Rossi 2009) For further reference, consult our book, Bayesian Statistics and Marketing by Rossi, Allenby and McCulloch (Wiley second edition 2024) and Bayesian Non- and Semi-Parametric Methods and Applications (Princeton U Press 2014).", + "RoxygenNote": "6.0.1", + "NeedsCompilation": "yes", + "Author": "Peter Rossi [aut, cre], Robert McCulloch [ctb], Wayne Taylor [ctb], Dan Yavorsky [ctb]", + "Repository": "CRAN" }, "bit": { "Package": "bit", - "Version": "4.5.0.1", + "Version": "4.6.0", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" + "Title": "Classes and Methods for Fast Memory-Efficient Boolean Selections", + "Authors@R": "c( person(\"Michael\", \"Chirico\", email = \"MichaelChirico4@gmail.com\", role = c(\"aut\", \"cre\")), person(\"Jens\", \"Oehlschlägel\", role = \"aut\"), person(\"Brian\", \"Ripley\", role = \"ctb\") )", + "Depends": [ + "R (>= 3.4.0)" + ], + "Suggests": [ + "testthat (>= 3.0.0)", + "roxygen2", + "knitr", + "markdown", + "rmarkdown", + "microbenchmark", + "bit64 (>= 4.0.0)", + "ff (>= 4.0.0)" ], - "Hash": "f89f074e0e49bf1dbe3eba0a15a91476" + "Description": "Provided are classes for boolean and skewed boolean vectors, fast boolean methods, fast unique and non-unique integer sorting, fast set operations on sorted and unsorted sets of integers, and foundations for ff (range index, compression, chunked processing).", + "License": "GPL-2 | GPL-3", + "LazyLoad": "yes", + "ByteCompile": "yes", + "Encoding": "UTF-8", + "URL": "https://github.com/r-lib/bit", + "VignetteBuilder": "knitr, rmarkdown", + "RoxygenNote": "7.3.2", + "Config/testthat/edition": "3", + "NeedsCompilation": "yes", + "Author": "Michael Chirico [aut, cre], Jens Oehlschlägel [aut], Brian Ripley [ctb]", + "Maintainer": "Michael Chirico ", + "Repository": "CRAN" }, "bit64": { "Package": "bit64", - "Version": "4.5.2", + "Version": "4.6.0-1", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "bit", + "Title": "A S3 Class for Vectors of 64bit Integers", + "Authors@R": "c( person(\"Michael\", \"Chirico\", email = \"michaelchirico4@gmail.com\", role = c(\"aut\", \"cre\")), person(\"Jens\", \"Oehlschlägel\", role = \"aut\"), person(\"Leonardo\", \"Silvestri\", role = \"ctb\"), person(\"Ofek\", \"Shilon\", role = \"ctb\") )", + "Depends": [ + "R (>= 3.4.0)", + "bit (>= 4.0.0)" + ], + "Description": "Package 'bit64' provides serializable S3 atomic 64bit (signed) integers. These are useful for handling database keys and exact counting in +-2^63. WARNING: do not use them as replacement for 32bit integers, integer64 are not supported for subscripting by R-core and they have different semantics when combined with double, e.g. integer64 + double => integer64. Class integer64 can be used in vectors, matrices, arrays and data.frames. Methods are available for coercion from and to logicals, integers, doubles, characters and factors as well as many elementwise and summary functions. Many fast algorithmic operations such as 'match' and 'order' support inter- active data exploration and manipulation and optionally leverage caching.", + "License": "GPL-2 | GPL-3", + "LazyLoad": "yes", + "ByteCompile": "yes", + "URL": "https://github.com/r-lib/bit64", + "Encoding": "UTF-8", + "Imports": [ + "graphics", "methods", "stats", "utils" ], - "Hash": "e84984bf5f12a18628d9a02322128dfd" + "Suggests": [ + "testthat (>= 3.0.3)", + "withr" + ], + "Config/testthat/edition": "3", + "Config/needs/development": "testthat", + "RoxygenNote": "7.3.2", + "NeedsCompilation": "yes", + "Author": "Michael Chirico [aut, cre], Jens Oehlschlägel [aut], Leonardo Silvestri [ctb], Ofek Shilon [ctb]", + "Maintainer": "Michael Chirico ", + "Repository": "CRAN" }, "boot": { "Package": "boot", - "Version": "1.3-31", + "Version": "1.3-32", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", + "Priority": "recommended", + "Date": "2025-08-29", + "Authors@R": "c(person(\"Angelo\", \"Canty\", role = \"aut\", email = \"cantya@mcmaster.ca\", comment = \"author of original code for S\"), person(\"Brian\", \"Ripley\", role = c(\"aut\", \"trl\"), email = \"Brian.Ripley@R-project.org\", comment = \"conversion to R, maintainer 1999--2022, author of parallel support\"), person(\"Alessandra R.\", \"Brazzale\", role = c(\"ctb\", \"cre\"), email = \"brazzale@stat.unipd.it\", comment = \"minor bug fixes\"))", + "Maintainer": "Alessandra R. Brazzale ", + "Note": "Maintainers are not available to give advice on using a package they did not author.", + "Description": "Functions and datasets for bootstrapping from the book \"Bootstrap Methods and Their Application\" by A. C. Davison and D. V. Hinkley (1997, CUP), originally written by Angelo Canty for S.", + "Title": "Bootstrap Functions", + "Depends": [ + "R (>= 3.0.0)", "graphics", "stats" ], - "Hash": "de2a4646c18661d6a0a08ec67f40b7ed" + "Suggests": [ + "MASS", + "survival" + ], + "LazyData": "yes", + "ByteCompile": "yes", + "License": "Unlimited", + "NeedsCompilation": "no", + "Author": "Angelo Canty [aut] (author of original code for S), Brian Ripley [aut, trl] (conversion to R, maintainer 1999--2022, author of parallel support), Alessandra R. Brazzale [ctb, cre] (minor bug fixes)", + "Repository": "CRAN" + }, + "brio": { + "Package": "brio", + "Version": "1.1.5", + "Source": "Repository", + "Title": "Basic R Input Output", + "Authors@R": "c( person(\"Jim\", \"Hester\", role = \"aut\", comment = c(ORCID = \"0000-0002-2739-7082\")), person(\"Gábor\", \"Csárdi\", , \"csardi.gabor@gmail.com\", role = c(\"aut\", \"cre\")), person(given = \"Posit Software, PBC\", role = c(\"cph\", \"fnd\")) )", + "Description": "Functions to handle basic input output, these functions always read and write UTF-8 (8-bit Unicode Transformation Format) files and provide more explicit control over line endings.", + "License": "MIT + file LICENSE", + "URL": "https://brio.r-lib.org, https://github.com/r-lib/brio", + "BugReports": "https://github.com/r-lib/brio/issues", + "Depends": [ + "R (>= 3.6)" + ], + "Suggests": [ + "covr", + "testthat (>= 3.0.0)" + ], + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.2.3", + "NeedsCompilation": "yes", + "Author": "Jim Hester [aut] (), Gábor Csárdi [aut, cre], Posit Software, PBC [cph, fnd]", + "Maintainer": "Gábor Csárdi ", + "Repository": "CRAN" }, "broom": { "Package": "broom", - "Version": "1.0.7", + "Version": "1.0.12", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", + "Type": "Package", + "Title": "Convert Statistical Objects into Tidy Tibbles", + "Authors@R": "c( person(\"David\", \"Robinson\", , \"admiral.david@gmail.com\", role = \"aut\"), person(\"Alex\", \"Hayes\", , \"alexpghayes@gmail.com\", role = \"aut\", comment = c(ORCID = \"0000-0002-4985-5160\")), person(\"Simon\", \"Couch\", , \"simon.couch@posit.co\", role = c(\"aut\"), comment = c(ORCID = \"0000-0001-5676-5107\")), person(\"Emil\", \"Hvitfeldt\", , \"emil.hvitfeldt@posit.co\", role = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0002-0679-1945\")), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"), comment = c(ROR = \"03wc8by49\")), person(\"Indrajeet\", \"Patil\", , \"patilindrajeet.science@gmail.com\", role = \"ctb\", comment = c(ORCID = \"0000-0003-1995-6531\")), person(\"Derek\", \"Chiu\", , \"dchiu@bccrc.ca\", role = \"ctb\"), person(\"Matthieu\", \"Gomez\", , \"mattg@princeton.edu\", role = \"ctb\"), person(\"Boris\", \"Demeshev\", , \"boris.demeshev@gmail.com\", role = \"ctb\"), person(\"Dieter\", \"Menne\", , \"dieter.menne@menne-biomed.de\", role = \"ctb\"), person(\"Benjamin\", \"Nutter\", , \"nutter@battelle.org\", role = \"ctb\"), person(\"Luke\", \"Johnston\", , \"luke.johnston@mail.utoronto.ca\", role = \"ctb\"), person(\"Ben\", \"Bolker\", , \"bolker@mcmaster.ca\", role = \"ctb\"), person(\"Francois\", \"Briatte\", , \"f.briatte@gmail.com\", role = \"ctb\"), person(\"Jeffrey\", \"Arnold\", , \"jeffrey.arnold@gmail.com\", role = \"ctb\"), person(\"Jonah\", \"Gabry\", , \"jsg2201@columbia.edu\", role = \"ctb\"), person(\"Luciano\", \"Selzer\", , \"luciano.selzer@gmail.com\", role = \"ctb\"), person(\"Gavin\", \"Simpson\", , \"ucfagls@gmail.com\", role = \"ctb\"), person(\"Jens\", \"Preussner\", , \"jens.preussner@mpi-bn.mpg.de\", role = \"ctb\"), person(\"Jay\", \"Hesselberth\", , \"jay.hesselberth@gmail.com\", role = \"ctb\"), person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = \"ctb\"), person(\"Matthew\", \"Lincoln\", , \"matthew.d.lincoln@gmail.com\", role = \"ctb\"), person(\"Alessandro\", \"Gasparini\", , \"ag475@leicester.ac.uk\", role = \"ctb\"), person(\"Lukasz\", \"Komsta\", , \"lukasz.komsta@umlub.pl\", role = \"ctb\"), person(\"Frederick\", \"Novometsky\", role = \"ctb\"), person(\"Wilson\", \"Freitas\", role = \"ctb\"), person(\"Michelle\", \"Evans\", role = \"ctb\"), person(\"Jason Cory\", \"Brunson\", , \"cornelioid@gmail.com\", role = \"ctb\"), person(\"Simon\", \"Jackson\", , \"drsimonjackson@gmail.com\", role = \"ctb\"), person(\"Ben\", \"Whalley\", , \"ben.whalley@plymouth.ac.uk\", role = \"ctb\"), person(\"Karissa\", \"Whiting\", , \"karissa.whiting@gmail.com\", role = \"ctb\"), person(\"Yves\", \"Rosseel\", , \"yrosseel@gmail.com\", role = \"ctb\"), person(\"Michael\", \"Kuehn\", , \"mkuehn10@gmail.com\", role = \"ctb\"), person(\"Jorge\", \"Cimentada\", , \"cimentadaj@gmail.com\", role = \"ctb\"), person(\"Erle\", \"Holgersen\", , \"erle.holgersen@gmail.com\", role = \"ctb\"), person(\"Karl\", \"Dunkle Werner\", role = \"ctb\", comment = c(ORCID = \"0000-0003-0523-7309\")), person(\"Ethan\", \"Christensen\", , \"christensen.ej@gmail.com\", role = \"ctb\"), person(\"Steven\", \"Pav\", , \"shabbychef@gmail.com\", role = \"ctb\"), person(\"Paul\", \"PJ\", , \"pjpaul.stephens@gmail.com\", role = \"ctb\"), person(\"Ben\", \"Schneider\", , \"benjamin.julius.schneider@gmail.com\", role = \"ctb\"), person(\"Patrick\", \"Kennedy\", , \"pkqstr@protonmail.com\", role = \"ctb\"), person(\"Lily\", \"Medina\", , \"lilymiru@gmail.com\", role = \"ctb\"), person(\"Brian\", \"Fannin\", , \"captain@pirategrunt.com\", role = \"ctb\"), person(\"Jason\", \"Muhlenkamp\", , \"jason.muhlenkamp@gmail.com\", role = \"ctb\"), person(\"Matt\", \"Lehman\", role = \"ctb\"), person(\"Bill\", \"Denney\", , \"wdenney@humanpredictions.com\", role = \"ctb\", comment = c(ORCID = \"0000-0002-5759-428X\")), person(\"Nic\", \"Crane\", role = \"ctb\"), person(\"Andrew\", \"Bates\", role = \"ctb\"), person(\"Vincent\", \"Arel-Bundock\", , \"vincent.arel-bundock@umontreal.ca\", role = \"ctb\", comment = c(ORCID = \"0000-0003-2042-7063\")), person(\"Hideaki\", \"Hayashi\", role = \"ctb\"), person(\"Luis\", \"Tobalina\", role = \"ctb\"), person(\"Annie\", \"Wang\", , \"anniewang.uc@gmail.com\", role = \"ctb\"), person(\"Wei Yang\", \"Tham\", , \"weiyang.tham@gmail.com\", role = \"ctb\"), person(\"Clara\", \"Wang\", , \"clara.wang.94@gmail.com\", role = \"ctb\"), person(\"Abby\", \"Smith\", , \"als1@u.northwestern.edu\", role = \"ctb\", comment = c(ORCID = \"0000-0002-3207-0375\")), person(\"Jasper\", \"Cooper\", , \"jaspercooper@gmail.com\", role = \"ctb\", comment = c(ORCID = \"0000-0002-8639-3188\")), person(\"E Auden\", \"Krauska\", , \"krauskae@gmail.com\", role = \"ctb\", comment = c(ORCID = \"0000-0002-1466-5850\")), person(\"Alex\", \"Wang\", , \"x249wang@uwaterloo.ca\", role = \"ctb\"), person(\"Malcolm\", \"Barrett\", , \"malcolmbarrett@gmail.com\", role = \"ctb\", comment = c(ORCID = \"0000-0003-0299-5825\")), person(\"Charles\", \"Gray\", , \"charlestigray@gmail.com\", role = \"ctb\", comment = c(ORCID = \"0000-0002-9978-011X\")), person(\"Jared\", \"Wilber\", role = \"ctb\"), person(\"Vilmantas\", \"Gegzna\", , \"GegznaV@gmail.com\", role = \"ctb\", comment = c(ORCID = \"0000-0002-9500-5167\")), person(\"Eduard\", \"Szoecs\", , \"eduardszoecs@gmail.com\", role = \"ctb\"), person(\"Frederik\", \"Aust\", , \"frederik.aust@uni-koeln.de\", role = \"ctb\", comment = c(ORCID = \"0000-0003-4900-788X\")), person(\"Angus\", \"Moore\", , \"angusmoore9@gmail.com\", role = \"ctb\"), person(\"Nick\", \"Williams\", , \"ntwilliams.personal@gmail.com\", role = \"ctb\"), person(\"Marius\", \"Barth\", , \"marius.barth.uni.koeln@gmail.com\", role = \"ctb\", comment = c(ORCID = \"0000-0002-3421-6665\")), person(\"Bruna\", \"Wundervald\", , \"brunadaviesw@gmail.com\", role = \"ctb\", comment = c(ORCID = \"0000-0001-8163-220X\")), person(\"Joyce\", \"Cahoon\", , \"joyceyu48@gmail.com\", role = \"ctb\", comment = c(ORCID = \"0000-0001-7217-4702\")), person(\"Grant\", \"McDermott\", , \"grantmcd@uoregon.edu\", role = \"ctb\", comment = c(ORCID = \"0000-0001-7883-8573\")), person(\"Kevin\", \"Zarca\", , \"kevin.zarca@gmail.com\", role = \"ctb\"), person(\"Shiro\", \"Kuriwaki\", , \"shirokuriwaki@gmail.com\", role = \"ctb\", comment = c(ORCID = \"0000-0002-5687-2647\")), person(\"Lukas\", \"Wallrich\", , \"lukas.wallrich@gmail.com\", role = \"ctb\", comment = c(ORCID = \"0000-0003-2121-5177\")), person(\"James\", \"Martherus\", , \"james@martherus.com\", role = \"ctb\", comment = c(ORCID = \"0000-0002-8285-3300\")), person(\"Chuliang\", \"Xiao\", , \"cxiao@umich.edu\", role = \"ctb\", comment = c(ORCID = \"0000-0002-8466-9398\")), person(\"Joseph\", \"Larmarange\", , \"joseph@larmarange.net\", role = \"ctb\"), person(\"Max\", \"Kuhn\", , \"max@posit.co\", role = \"ctb\"), person(\"Michal\", \"Bojanowski\", , \"michal2992@gmail.com\", role = \"ctb\"), person(\"Hakon\", \"Malmedal\", , \"hmalmedal@gmail.com\", role = \"ctb\"), person(\"Clara\", \"Wang\", role = \"ctb\"), person(\"Sergio\", \"Oller\", , \"sergioller@gmail.com\", role = \"ctb\"), person(\"Luke\", \"Sonnet\", , \"luke.sonnet@gmail.com\", role = \"ctb\"), person(\"Jim\", \"Hester\", , \"jim.hester@posit.co\", role = \"ctb\"), person(\"Ben\", \"Schneider\", , \"benjamin.julius.schneider@gmail.com\", role = \"ctb\"), person(\"Bernie\", \"Gray\", , \"bfgray3@gmail.com\", role = \"ctb\", comment = c(ORCID = \"0000-0001-9190-6032\")), person(\"Mara\", \"Averick\", , \"mara@posit.co\", role = \"ctb\"), person(\"Aaron\", \"Jacobs\", , \"atheriel@gmail.com\", role = \"ctb\"), person(\"Andreas\", \"Bender\", , \"bender.at.R@gmail.com\", role = \"ctb\"), person(\"Sven\", \"Templer\", , \"sven.templer@gmail.com\", role = \"ctb\"), person(\"Paul-Christian\", \"Buerkner\", , \"paul.buerkner@gmail.com\", role = \"ctb\"), person(\"Matthew\", \"Kay\", , \"mjskay@umich.edu\", role = \"ctb\"), person(\"Erwan\", \"Le Pennec\", , \"lepennec@gmail.com\", role = \"ctb\"), person(\"Johan\", \"Junkka\", , \"johan.junkka@umu.se\", role = \"ctb\"), person(\"Hao\", \"Zhu\", , \"haozhu233@gmail.com\", role = \"ctb\"), person(\"Benjamin\", \"Soltoff\", , \"soltoffbc@uchicago.edu\", role = \"ctb\"), person(\"Zoe\", \"Wilkinson Saldana\", , \"zoewsaldana@gmail.com\", role = \"ctb\"), person(\"Tyler\", \"Littlefield\", , \"tylurp1@gmail.com\", role = \"ctb\"), person(\"Charles T.\", \"Gray\", , \"charlestigray@gmail.com\", role = \"ctb\"), person(\"Shabbh E.\", \"Banks\", role = \"ctb\"), person(\"Serina\", \"Robinson\", , \"robi0916@umn.edu\", role = \"ctb\"), person(\"Roger\", \"Bivand\", , \"Roger.Bivand@nhh.no\", role = \"ctb\"), person(\"Riinu\", \"Ots\", , \"riinuots@gmail.com\", role = \"ctb\"), person(\"Nicholas\", \"Williams\", , \"ntwilliams.personal@gmail.com\", role = \"ctb\"), person(\"Nina\", \"Jakobsen\", role = \"ctb\"), person(\"Michael\", \"Weylandt\", , \"michael.weylandt@gmail.com\", role = \"ctb\"), person(\"Lisa\", \"Lendway\", , \"llendway@macalester.edu\", role = \"ctb\"), person(\"Karl\", \"Hailperin\", , \"khailper@gmail.com\", role = \"ctb\"), person(\"Josue\", \"Rodriguez\", , \"jerrodriguez@ucdavis.edu\", role = \"ctb\"), person(\"Jenny\", \"Bryan\", , \"jenny@posit.co\", role = \"ctb\"), person(\"Chris\", \"Jarvis\", , \"Christopher1.jarvis@gmail.com\", role = \"ctb\"), person(\"Greg\", \"Macfarlane\", , \"gregmacfarlane@gmail.com\", role = \"ctb\"), person(\"Brian\", \"Mannakee\", , \"bmannakee@gmail.com\", role = \"ctb\"), person(\"Drew\", \"Tyre\", , \"atyre2@unl.edu\", role = \"ctb\"), person(\"Shreyas\", \"Singh\", , \"shreyas.singh.298@gmail.com\", role = \"ctb\"), person(\"Laurens\", \"Geffert\", , \"laurensgeffert@gmail.com\", role = \"ctb\"), person(\"Hong\", \"Ooi\", , \"hongooi@microsoft.com\", role = \"ctb\"), person(\"Henrik\", \"Bengtsson\", , \"henrikb@braju.com\", role = \"ctb\"), person(\"Eduard\", \"Szocs\", , \"eduardszoecs@gmail.com\", role = \"ctb\"), person(\"David\", \"Hugh-Jones\", , \"davidhughjones@gmail.com\", role = \"ctb\"), person(\"Matthieu\", \"Stigler\", , \"Matthieu.Stigler@gmail.com\", role = \"ctb\"), person(\"Hugo\", \"Tavares\", , \"hm533@cam.ac.uk\", role = \"ctb\", comment = c(ORCID = \"0000-0001-9373-2726\")), person(\"R. Willem\", \"Vervoort\", , \"Willemvervoort@gmail.com\", role = \"ctb\"), person(\"Brenton M.\", \"Wiernik\", , \"brenton@wiernik.org\", role = \"ctb\"), person(\"Josh\", \"Yamamoto\", , \"joshuayamamoto5@gmail.com\", role = \"ctb\"), person(\"Jasme\", \"Lee\", role = \"ctb\"), person(\"Taren\", \"Sanders\", , \"taren.sanders@acu.edu.au\", role = \"ctb\", comment = c(ORCID = \"0000-0002-4504-6008\")), person(\"Ilaria\", \"Prosdocimi\", , \"prosdocimi.ilaria@gmail.com\", role = \"ctb\", comment = c(ORCID = \"0000-0001-8565-094X\")), person(\"Daniel D.\", \"Sjoberg\", , \"danield.sjoberg@gmail.com\", role = \"ctb\", comment = c(ORCID = \"0000-0003-0862-2018\")), person(\"Alex\", \"Reinhart\", , \"areinhar@stat.cmu.edu\", role = \"ctb\", comment = c(ORCID = \"0000-0002-6658-514X\")) )", + "Description": "Summarizes key information about statistical objects in tidy tibbles. This makes it easy to report results, create plots and consistently work with large numbers of models at once. Broom provides three verbs that each provide different types of information about a model. tidy() summarizes information about model components such as coefficients of a regression. glance() reports information about an entire model, such as goodness of fit measures like AIC and BIC. augment() adds information about individual observations to a dataset, such as fitted values or influence measures.", + "License": "MIT + file LICENSE", + "URL": "https://broom.tidymodels.org/, https://github.com/tidymodels/broom", + "BugReports": "https://github.com/tidymodels/broom/issues", + "Depends": [ + "R (>= 4.1)" + ], + "Imports": [ "backports", - "dplyr", - "generics", + "cli", + "dplyr (>= 1.0.0)", + "generics (>= 0.0.2)", "glue", "lifecycle", "purrr", - "rlang", + "rlang (>= 1.1.0)", "stringr", - "tibble", - "tidyr" + "tibble (>= 3.0.0)", + "tidyr (>= 1.0.0)" + ], + "Suggests": [ + "AER", + "AUC", + "bbmle", + "betareg (>= 3.2-1)", + "biglm", + "binGroup", + "boot", + "btergm (>= 1.10.6)", + "car (>= 3.1-2)", + "carData", + "caret", + "cluster", + "cmprsk", + "coda", + "covr", + "drc", + "e1071", + "emmeans", + "epiR (>= 2.0.85)", + "ergm (>= 3.10.4)", + "fixest (>= 0.9.0)", + "gam (>= 1.15)", + "gee", + "geepack", + "ggplot2", + "glmnet", + "glmnetUtils", + "gmm", + "Hmisc", + "interp", + "irlba", + "joineRML", + "Kendall", + "knitr", + "ks", + "Lahman", + "lavaan (>= 0.6.18)", + "leaps", + "lfe", + "lm.beta", + "lme4", + "lmodel2", + "lmtest (>= 0.9.38)", + "lsmeans", + "maps", + "margins", + "MASS", + "mclust", + "mediation", + "metafor", + "mfx", + "mgcv", + "mlogit", + "modeldata", + "modeltests (>= 0.1.6)", + "muhaz", + "multcomp", + "network", + "nnet", + "ordinal", + "plm", + "poLCA", + "psych", + "quantreg", + "rmarkdown", + "robust", + "robustbase", + "rsample", + "sandwich", + "spatialreg", + "spdep (>= 1.1)", + "speedglm", + "spelling", + "stats4", + "survey", + "survival (>= 3.6-4)", + "systemfit", + "testthat (>= 3.0.0)", + "tseries", + "vars", + "zoo" + ], + "VignetteBuilder": "knitr", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Config/usethis/last-upkeep": "2025-04-25", + "Encoding": "UTF-8", + "Language": "en-US", + "RoxygenNote": "7.3.3", + "Collate": "'aaa-documentation-helper.R' 'null-and-default.R' 'aer.R' 'auc.R' 'base.R' 'bbmle.R' 'betareg.R' 'biglm.R' 'bingroup.R' 'boot.R' 'broom-package.R' 'broom.R' 'btergm.R' 'car.R' 'caret.R' 'cluster.R' 'cmprsk.R' 'data-frame.R' 'deprecated-0-7-0.R' 'drc.R' 'emmeans.R' 'epiR.R' 'ergm.R' 'fixest.R' 'gam.R' 'geepack.R' 'glmnet-cv-glmnet.R' 'glmnet-glmnet.R' 'gmm.R' 'hmisc.R' 'import-standalone-obj-type.R' 'import-standalone-types-check.R' 'joinerml.R' 'kendall.R' 'ks.R' 'lavaan.R' 'leaps.R' 'lfe.R' 'list-irlba.R' 'list-optim.R' 'list-svd.R' 'list-xyz.R' 'list.R' 'lm-beta.R' 'lmodel2.R' 'lmtest.R' 'maps.R' 'margins.R' 'mass-fitdistr.R' 'mass-negbin.R' 'mass-polr.R' 'mass-ridgelm.R' 'stats-lm.R' 'mass-rlm.R' 'mclust.R' 'mediation.R' 'metafor.R' 'mfx.R' 'mgcv.R' 'mlogit.R' 'muhaz.R' 'multcomp.R' 'nnet.R' 'nobs.R' 'ordinal-clm.R' 'ordinal-clmm.R' 'plm.R' 'polca.R' 'psych.R' 'stats-nls.R' 'quantreg-nlrq.R' 'quantreg-rq.R' 'quantreg-rqs.R' 'robust-glmrob.R' 'robust-lmrob.R' 'robustbase-glmrob.R' 'robustbase-lmrob.R' 'sp.R' 'spdep.R' 'speedglm-speedglm.R' 'speedglm-speedlm.R' 'stats-anova.R' 'stats-arima.R' 'stats-decompose.R' 'stats-factanal.R' 'stats-glm.R' 'stats-htest.R' 'stats-kmeans.R' 'stats-loess.R' 'stats-mlm.R' 'stats-prcomp.R' 'stats-smooth.spline.R' 'stats-summary-lm.R' 'stats-time-series.R' 'survey.R' 'survival-aareg.R' 'survival-cch.R' 'survival-coxph.R' 'survival-pyears.R' 'survival-survdiff.R' 'survival-survexp.R' 'survival-survfit.R' 'survival-survreg.R' 'systemfit.R' 'tseries.R' 'utilities.R' 'vars.R' 'zoo.R' 'zzz.R'", + "NeedsCompilation": "no", + "Author": "David Robinson [aut], Alex Hayes [aut] (ORCID: ), Simon Couch [aut] (ORCID: ), Emil Hvitfeldt [aut, cre] (ORCID: ), Posit Software, PBC [cph, fnd] (ROR: ), Indrajeet Patil [ctb] (ORCID: ), Derek Chiu [ctb], Matthieu Gomez [ctb], Boris Demeshev [ctb], Dieter Menne [ctb], Benjamin Nutter [ctb], Luke Johnston [ctb], Ben Bolker [ctb], Francois Briatte [ctb], Jeffrey Arnold [ctb], Jonah Gabry [ctb], Luciano Selzer [ctb], Gavin Simpson [ctb], Jens Preussner [ctb], Jay Hesselberth [ctb], Hadley Wickham [ctb], Matthew Lincoln [ctb], Alessandro Gasparini [ctb], Lukasz Komsta [ctb], Frederick Novometsky [ctb], Wilson Freitas [ctb], Michelle Evans [ctb], Jason Cory Brunson [ctb], Simon Jackson [ctb], Ben Whalley [ctb], Karissa Whiting [ctb], Yves Rosseel [ctb], Michael Kuehn [ctb], Jorge Cimentada [ctb], Erle Holgersen [ctb], Karl Dunkle Werner [ctb] (ORCID: ), Ethan Christensen [ctb], Steven Pav [ctb], Paul PJ [ctb], Ben Schneider [ctb], Patrick Kennedy [ctb], Lily Medina [ctb], Brian Fannin [ctb], Jason Muhlenkamp [ctb], Matt Lehman [ctb], Bill Denney [ctb] (ORCID: ), Nic Crane [ctb], Andrew Bates [ctb], Vincent Arel-Bundock [ctb] (ORCID: ), Hideaki Hayashi [ctb], Luis Tobalina [ctb], Annie Wang [ctb], Wei Yang Tham [ctb], Clara Wang [ctb], Abby Smith [ctb] (ORCID: ), Jasper Cooper [ctb] (ORCID: ), E Auden Krauska [ctb] (ORCID: ), Alex Wang [ctb], Malcolm Barrett [ctb] (ORCID: ), Charles Gray [ctb] (ORCID: ), Jared Wilber [ctb], Vilmantas Gegzna [ctb] (ORCID: ), Eduard Szoecs [ctb], Frederik Aust [ctb] (ORCID: ), Angus Moore [ctb], Nick Williams [ctb], Marius Barth [ctb] (ORCID: ), Bruna Wundervald [ctb] (ORCID: ), Joyce Cahoon [ctb] (ORCID: ), Grant McDermott [ctb] (ORCID: ), Kevin Zarca [ctb], Shiro Kuriwaki [ctb] (ORCID: ), Lukas Wallrich [ctb] (ORCID: ), James Martherus [ctb] (ORCID: ), Chuliang Xiao [ctb] (ORCID: ), Joseph Larmarange [ctb], Max Kuhn [ctb], Michal Bojanowski [ctb], Hakon Malmedal [ctb], Clara Wang [ctb], Sergio Oller [ctb], Luke Sonnet [ctb], Jim Hester [ctb], Ben Schneider [ctb], Bernie Gray [ctb] (ORCID: ), Mara Averick [ctb], Aaron Jacobs [ctb], Andreas Bender [ctb], Sven Templer [ctb], Paul-Christian Buerkner [ctb], Matthew Kay [ctb], Erwan Le Pennec [ctb], Johan Junkka [ctb], Hao Zhu [ctb], Benjamin Soltoff [ctb], Zoe Wilkinson Saldana [ctb], Tyler Littlefield [ctb], Charles T. Gray [ctb], Shabbh E. Banks [ctb], Serina Robinson [ctb], Roger Bivand [ctb], Riinu Ots [ctb], Nicholas Williams [ctb], Nina Jakobsen [ctb], Michael Weylandt [ctb], Lisa Lendway [ctb], Karl Hailperin [ctb], Josue Rodriguez [ctb], Jenny Bryan [ctb], Chris Jarvis [ctb], Greg Macfarlane [ctb], Brian Mannakee [ctb], Drew Tyre [ctb], Shreyas Singh [ctb], Laurens Geffert [ctb], Hong Ooi [ctb], Henrik Bengtsson [ctb], Eduard Szocs [ctb], David Hugh-Jones [ctb], Matthieu Stigler [ctb], Hugo Tavares [ctb] (ORCID: ), R. Willem Vervoort [ctb], Brenton M. Wiernik [ctb], Josh Yamamoto [ctb], Jasme Lee [ctb], Taren Sanders [ctb] (ORCID: ), Ilaria Prosdocimi [ctb] (ORCID: ), Daniel D. Sjoberg [ctb] (ORCID: ), Alex Reinhart [ctb] (ORCID: )", + "Maintainer": "Emil Hvitfeldt ", + "Repository": "CRAN" + }, + "callr": { + "Package": "callr", + "Version": "3.7.6", + "Source": "Repository", + "Title": "Call R from R", + "Authors@R": "c( person(\"Gábor\", \"Csárdi\", , \"csardi.gabor@gmail.com\", role = c(\"aut\", \"cre\", \"cph\"), comment = c(ORCID = \"0000-0001-7098-9676\")), person(\"Winston\", \"Chang\", role = \"aut\"), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")), person(\"Ascent Digital Services\", role = c(\"cph\", \"fnd\")) )", + "Description": "It is sometimes useful to perform a computation in a separate R process, without affecting the current R process at all. This packages does exactly that.", + "License": "MIT + file LICENSE", + "URL": "https://callr.r-lib.org, https://github.com/r-lib/callr", + "BugReports": "https://github.com/r-lib/callr/issues", + "Depends": [ + "R (>= 3.4)" + ], + "Imports": [ + "processx (>= 3.6.1)", + "R6", + "utils" + ], + "Suggests": [ + "asciicast (>= 2.3.1)", + "cli (>= 1.1.0)", + "mockery", + "ps", + "rprojroot", + "spelling", + "testthat (>= 3.2.0)", + "withr (>= 2.3.0)" ], - "Hash": "8fcc818f3b9887aebaf206f141437cc9" + "Config/Needs/website": "r-lib/asciicast, glue, htmlwidgets, igraph, tibble, tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "Language": "en-US", + "RoxygenNote": "7.3.1.9000", + "NeedsCompilation": "no", + "Author": "Gábor Csárdi [aut, cre, cph] (), Winston Chang [aut], Posit Software, PBC [cph, fnd], Ascent Digital Services [cph, fnd]", + "Maintainer": "Gábor Csárdi ", + "Repository": "CRAN" }, "car": { "Package": "car", - "Version": "3.1-3", + "Version": "3.1-5", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ + "Date": "2026-01-05", + "Title": "Companion to Applied Regression", + "Authors@R": "c(person(\"John\", \"Fox\", role =\"aut\" , email = \"jfox@mcmaster.ca\"), person(\"Sanford\", \"Weisberg\", role = \"aut\", email = \"sandy@umn.edu\"), person(\"Brad\", \"Price\", role = c(\"aut\", \"cre\"), email = \"brad.price@mail.wvu.edu\"), person(\"Daniel\", \"Adler\", role=\"ctb\"), person(\"Douglas\", \"Bates\", role = \"ctb\"), person(\"Gabriel\", \"Baud-Bovy\", role = \"ctb\"), person(\"Ben\", \"Bolker\", role=\"ctb\"), person(\"Steve\", \"Ellison\", role=\"ctb\"), person(\"David\", \"Firth\", role = \"ctb\"), person(\"Michael\", \"Friendly\", role = \"ctb\"), person(\"Gregor\", \"Gorjanc\", role = \"ctb\"), person(\"Spencer\", \"Graves\", role = \"ctb\"), person(\"Richard\", \"Heiberger\", role = \"ctb\"), person(\"Pavel\", \"Krivitsky\", role = \"ctb\"), person(\"Rafael\", \"Laboissiere\", role = \"ctb\"), person(\"Martin\", \"Maechler\", role=\"ctb\"), person(\"Georges\", \"Monette\", role = \"ctb\"), person(\"Duncan\", \"Murdoch\", role=\"ctb\"), person(\"Henric\", \"Nilsson\", role = \"ctb\"), person(\"Derek\", \"Ogle\", role = \"ctb\"), person(\"Iain\", \"Proctor\", role = \"ctb\"), person(\"Brian\", \"Ripley\", role = \"ctb\"), person(\"Tom\", \"Short\", role=\"ctb\"), person(\"William\", \"Venables\", role = \"ctb\"), person(\"Steve\", \"Walker\", role=\"ctb\"), person(\"David\", \"Winsemius\", role=\"ctb\"), person(\"Achim\", \"Zeileis\", role = \"ctb\"), person(\"R-Core\", role=\"ctb\"))", + "Depends": [ + "R (>= 3.5.0)", + "carData (>= 3.0-0)" + ], + "Imports": [ + "abind", "Formula", "MASS", - "R", - "abind", - "carData", - "grDevices", - "graphics", - "lme4", "mgcv", - "nlme", "nnet", - "pbkrtest", + "pbkrtest (>= 0.4-4)", "quantreg", - "scales", + "grDevices", + "utils", "stats", - "utils" + "graphics", + "lme4 (>= 1.1-27.1)", + "nlme", + "scales" + ], + "Suggests": [ + "alr4", + "boot", + "coxme", + "effects", + "knitr", + "leaps", + "lmtest", + "Matrix", + "MatrixModels", + "ordinal", + "plotrix", + "mvtnorm", + "rgl (>= 0.111.3)", + "rio", + "sandwich", + "SparseM", + "survival", + "survey" ], - "Hash": "82067bf302d1440b730437693a86406a" + "ByteCompile": "yes", + "LazyLoad": "yes", + "Description": "Functions to Accompany J. Fox and S. Weisberg, An R Companion to Applied Regression, Third Edition, Sage, 2019.", + "License": "GPL (>= 2)", + "URL": "https://github.com/bprice2652/car_repo, https://CRAN.R-project.org/package=car, https://z.umn.edu/carbook", + "VignetteBuilder": "knitr", + "NeedsCompilation": "no", + "Author": "John Fox [aut], Sanford Weisberg [aut], Brad Price [aut, cre], Daniel Adler [ctb], Douglas Bates [ctb], Gabriel Baud-Bovy [ctb], Ben Bolker [ctb], Steve Ellison [ctb], David Firth [ctb], Michael Friendly [ctb], Gregor Gorjanc [ctb], Spencer Graves [ctb], Richard Heiberger [ctb], Pavel Krivitsky [ctb], Rafael Laboissiere [ctb], Martin Maechler [ctb], Georges Monette [ctb], Duncan Murdoch [ctb], Henric Nilsson [ctb], Derek Ogle [ctb], Iain Proctor [ctb], Brian Ripley [ctb], Tom Short [ctb], William Venables [ctb], Steve Walker [ctb], David Winsemius [ctb], Achim Zeileis [ctb], R-Core [ctb]", + "Maintainer": "Brad Price ", + "Repository": "CRAN" }, "carData": { "Package": "carData", - "Version": "3.0-5", + "Version": "3.0-6", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" + "Date": "2026-01-30", + "Title": "Companion to Applied Regression Data Sets", + "Authors@R": "c(person(\"John\", \"Fox\", role = \"aut\", email = \"jfox@mcmaster.ca\"), person(\"Sanford\", \"Weisberg\", role = \"aut\", email = \"sandy@umn.edu\"), person(\"Brad\", \"Price\", role = c(\"aut\", \"cre\"), email = \"brad.price@mail.wvu.edu\"))", + "Depends": [ + "R (>= 3.5.0)" ], - "Hash": "ac6cdb8552c61bd36b0e54d07cf2aab7" + "Suggests": [ + "car (>= 3.0-0)" + ], + "LazyLoad": "yes", + "LazyData": "yes", + "Description": "Datasets to Accompany J. Fox and S. Weisberg, An R Companion to Applied Regression, Third Edition, Sage (2019).", + "License": "GPL (>= 2)", + "URL": "https://r-forge.r-project.org/projects/car/, https://CRAN.R-project.org/package=carData, https://z.umn.edu/carbook", + "NeedsCompilation": "no", + "Author": "John Fox [aut], Sanford Weisberg [aut], Brad Price [aut, cre]", + "Maintainer": "Brad Price ", + "Repository": "CRAN" }, "checkmate": { "Package": "checkmate", - "Version": "2.3.2", + "Version": "2.3.4", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "backports", + "Type": "Package", + "Title": "Fast and Versatile Argument Checks", + "Description": "Tests and assertions to perform frequent argument checks. A substantial part of the package was written in C to minimize any worries about execution time overhead.", + "Authors@R": "c( person(\"Michel\", \"Lang\", NULL, \"michellang@gmail.com\", role = c(\"cre\", \"aut\"), comment = c(ORCID = \"0000-0001-9754-0393\")), person(\"Bernd\", \"Bischl\", NULL, \"bernd_bischl@gmx.net\", role = \"ctb\"), person(\"Dénes\", \"Tóth\", NULL, \"toth.denes@kogentum.hu\", role = \"ctb\", comment = c(ORCID = \"0000-0003-4262-3217\")) )", + "URL": "https://mllg.github.io/checkmate/, https://github.com/mllg/checkmate", + "URLNote": "https://github.com/mllg/checkmate", + "BugReports": "https://github.com/mllg/checkmate/issues", + "NeedsCompilation": "yes", + "ByteCompile": "yes", + "Encoding": "UTF-8", + "Depends": [ + "R (>= 3.0.0)" + ], + "Imports": [ + "backports (>= 1.1.0)", "utils" ], - "Hash": "0e14e01ce07e7c88fd25de6d4260d26b" + "Suggests": [ + "R6", + "fastmatch", + "data.table (>= 1.9.8)", + "devtools", + "ggplot2", + "knitr", + "magrittr", + "microbenchmark", + "rmarkdown", + "testthat (>= 3.0.4)", + "tinytest (>= 1.1.0)", + "tibble" + ], + "License": "BSD_3_clause + file LICENSE", + "VignetteBuilder": "knitr", + "RoxygenNote": "7.3.3", + "Collate": "'AssertCollection.R' 'allMissing.R' 'anyInfinite.R' 'anyMissing.R' 'anyNaN.R' 'asInteger.R' 'assert.R' 'helper.R' 'makeExpectation.R' 'makeTest.R' 'makeAssertion.R' 'checkAccess.R' 'checkArray.R' 'checkAtomic.R' 'checkAtomicVector.R' 'checkCharacter.R' 'checkChoice.R' 'checkClass.R' 'checkComplex.R' 'checkCount.R' 'checkDataFrame.R' 'checkDataTable.R' 'checkDate.R' 'checkDirectoryExists.R' 'checkDisjunct.R' 'checkDouble.R' 'checkEnvironment.R' 'checkFALSE.R' 'checkFactor.R' 'checkFileExists.R' 'checkFlag.R' 'checkFormula.R' 'checkFunction.R' 'checkInt.R' 'checkInteger.R' 'checkIntegerish.R' 'checkList.R' 'checkLogical.R' 'checkMatrix.R' 'checkMultiClass.R' 'checkNamed.R' 'checkNames.R' 'checkNull.R' 'checkNumber.R' 'checkNumeric.R' 'checkOS.R' 'checkPOSIXct.R' 'checkPathForOutput.R' 'checkPermutation.R' 'checkR6.R' 'checkRaw.R' 'checkScalar.R' 'checkScalarNA.R' 'checkSetEqual.R' 'checkString.R' 'checkSubset.R' 'checkTRUE.R' 'checkTibble.R' 'checkVector.R' 'coalesce.R' 'isIntegerish.R' 'matchArg.R' 'qassert.R' 'qassertr.R' 'vname.R' 'wfwl.R' 'zzz.R'", + "Author": "Michel Lang [cre, aut] (ORCID: ), Bernd Bischl [ctb], Dénes Tóth [ctb] (ORCID: )", + "Maintainer": "Michel Lang ", + "Repository": "CRAN" }, "cli": { "Package": "cli", - "Version": "3.6.3", + "Version": "3.6.5", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", + "Title": "Helpers for Developing Command Line Interfaces", + "Authors@R": "c( person(\"Gábor\", \"Csárdi\", , \"gabor@posit.co\", role = c(\"aut\", \"cre\")), person(\"Hadley\", \"Wickham\", role = \"ctb\"), person(\"Kirill\", \"Müller\", role = \"ctb\"), person(\"Salim\", \"Brüggemann\", , \"salim-b@pm.me\", role = \"ctb\", comment = c(ORCID = \"0000-0002-5329-5987\")), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")) )", + "Description": "A suite of tools to build attractive command line interfaces ('CLIs'), from semantic elements: headings, lists, alerts, paragraphs, etc. Supports custom themes via a 'CSS'-like language. It also contains a number of lower level 'CLI' elements: rules, boxes, trees, and 'Unicode' symbols with 'ASCII' alternatives. It support ANSI colors and text styles as well.", + "License": "MIT + file LICENSE", + "URL": "https://cli.r-lib.org, https://github.com/r-lib/cli", + "BugReports": "https://github.com/r-lib/cli/issues", + "Depends": [ + "R (>= 3.4)" + ], + "Imports": [ "utils" ], - "Hash": "b21916dd77a27642b447374a5d30ecf3" + "Suggests": [ + "callr", + "covr", + "crayon", + "digest", + "glue (>= 1.6.0)", + "grDevices", + "htmltools", + "htmlwidgets", + "knitr", + "methods", + "processx", + "ps (>= 1.3.4.9000)", + "rlang (>= 1.0.2.9003)", + "rmarkdown", + "rprojroot", + "rstudioapi", + "testthat (>= 3.2.0)", + "tibble", + "whoami", + "withr" + ], + "Config/Needs/website": "r-lib/asciicast, bench, brio, cpp11, decor, desc, fansi, prettyunits, sessioninfo, tidyverse/tidytemplate, usethis, vctrs", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "NeedsCompilation": "yes", + "Author": "Gábor Csárdi [aut, cre], Hadley Wickham [ctb], Kirill Müller [ctb], Salim Brüggemann [ctb] (), Posit Software, PBC [cph, fnd]", + "Maintainer": "Gábor Csárdi ", + "Repository": "CRAN" }, "clipr": { "Package": "clipr", "Version": "0.8.0", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ + "Type": "Package", + "Title": "Read and Write from the System Clipboard", + "Authors@R": "c( person(\"Matthew\", \"Lincoln\", , \"matthew.d.lincoln@gmail.com\", role = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0002-4387-3384\")), person(\"Louis\", \"Maddox\", role = \"ctb\"), person(\"Steve\", \"Simpson\", role = \"ctb\"), person(\"Jennifer\", \"Bryan\", role = \"ctb\") )", + "Description": "Simple utility functions to read from and write to the Windows, OS X, and X11 clipboards.", + "License": "GPL-3", + "URL": "https://github.com/mdlincoln/clipr, http://matthewlincoln.net/clipr/", + "BugReports": "https://github.com/mdlincoln/clipr/issues", + "Imports": [ "utils" ], - "Hash": "3f038e5ac7f41d4ac41ce658c85e3042" + "Suggests": [ + "covr", + "knitr", + "rmarkdown", + "rstudioapi (>= 0.5)", + "testthat (>= 2.0.0)" + ], + "VignetteBuilder": "knitr", + "Encoding": "UTF-8", + "Language": "en-US", + "RoxygenNote": "7.1.2", + "SystemRequirements": "xclip (https://github.com/astrand/xclip) or xsel (http://www.vergenet.net/~conrad/software/xsel/) for accessing the X11 clipboard, or wl-clipboard (https://github.com/bugaevc/wl-clipboard) for systems using Wayland.", + "NeedsCompilation": "no", + "Author": "Matthew Lincoln [aut, cre] (), Louis Maddox [ctb], Steve Simpson [ctb], Jennifer Bryan [ctb]", + "Maintainer": "Matthew Lincoln ", + "Repository": "CRAN" }, "cmdstanr": { "Package": "cmdstanr", - "Version": "0.8.1.9000", + "Version": "0.9.0.9000", "Source": "GitHub", + "Title": "R Interface to 'CmdStan'", + "Date": "2025-03-30", + "Authors@R": "c(person(given = \"Jonah\", family = \"Gabry\", role = \"aut\", email = \"jgabry@gmail.com\"), person(given = \"Rok\", family = \"Češnovar\", role = \"aut\", email = \"rok.cesnovar@fri.uni-lj.si\"), person(given = \"Andrew\", family = \"Johnson\", role = c(\"aut\", \"cre\"), email = \"andrew.johnson@arjohnsonau.com\", comment = c(ORCID = \"0000-0001-7000-8065\")), person(given = \"Steve\", family = \"Bronder\", role = \"aut\"), person(given = \"Ben\", family = \"Bales\", role = \"ctb\"), person(given = \"Mitzi\", family = \"Morris\", role = \"ctb\"), person(given = \"Mikhail\", family = \"Popov\", role = \"ctb\"), person(given = \"Mike\", family = \"Lawrence\", role = \"ctb\"), person(given = c(\"William\", \"Michael\"), family = \"Landau\", role = \"ctb\", email = \"will.landau@gmail.com\", comment = c(ORCID = \"0000-0003-1878-3253\")), person(given = \"Jacob\", family = \"Socolar\", role = \"ctb\"), person(given = \"Martin\", family = \"Modrák\", role = \"ctb\"), person(given = \"Ven\", family = \"Popov\", role = \"ctb\") )", + "Description": "A lightweight interface to 'Stan' . The 'CmdStanR' interface is an alternative to 'RStan' that calls the command line interface for compilation and running algorithms instead of interfacing with C++ via 'Rcpp'. This has many benefits including always being compatible with the latest version of Stan, fewer installation errors, fewer unexpected crashes in RStudio, and a more permissive license.", + "License": "BSD_3_clause + file LICENSE", + "URL": "https://mc-stan.org/cmdstanr/, https://discourse.mc-stan.org", + "BugReports": "https://github.com/stan-dev/cmdstanr/issues", + "Encoding": "UTF-8", + "LazyData": "true", + "RoxygenNote": "7.3.3", + "Roxygen": "list(markdown = TRUE, r6 = FALSE)", + "SystemRequirements": "CmdStan (https://mc-stan.org/users/interfaces/cmdstan)", + "Depends": [ + "R (>= 3.5.0)" + ], + "Imports": [ + "checkmate", + "data.table", + "jsonlite (>= 1.2.0)", + "posterior (>= 1.4.1)", + "processx (>= 3.5.0)", + "R6 (>= 2.4.0)", + "withr (>= 2.5.0)", + "rlang (>= 0.4.7)" + ], + "Suggests": [ + "bayesplot", + "fs", + "ggplot2", + "knitr (>= 1.37)", + "loo (>= 2.0.0)", + "qs2", + "rmarkdown", + "testthat (>= 2.1.0)", + "Rcpp" + ], + "VignetteBuilder": "knitr", + "Author": "Jonah Gabry [aut], Rok Češnovar [aut], Andrew Johnson [aut, cre] (ORCID: ), Steve Bronder [aut], Ben Bales [ctb], Mitzi Morris [ctb], Mikhail Popov [ctb], Mike Lawrence [ctb], William Michael Landau [ctb] (ORCID: ), Jacob Socolar [ctb], Martin Modrák [ctb], Ven Popov [ctb]", + "Maintainer": "Andrew Johnson ", "RemoteType": "github", "RemoteHost": "api.github.com", "RemoteUsername": "stan-dev", "RemoteRepo": "cmdstanr", "RemoteRef": "master", - "RemoteSha": "8710b1f77c083067116cc4c55e1c2d5743129c40", - "Requirements": [ - "R", - "R6", - "checkmate", - "data.table", - "jsonlite", - "posterior", - "processx", - "rlang", - "withr" - ], - "Hash": "0b2bafbe04a9d6144fa20818c54196bc" + "RemoteSha": "f34e00fac1ca0aeccb00733ace331936edbde382" }, "colorspace": { "Package": "colorspace", - "Version": "2.1-1", + "Version": "2.1-2", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "grDevices", + "Date": "2025-09-22", + "Title": "A Toolbox for Manipulating and Assessing Colors and Palettes", + "Authors@R": "c(person(given = \"Ross\", family = \"Ihaka\", role = \"aut\", email = \"ihaka@stat.auckland.ac.nz\"), person(given = \"Paul\", family = \"Murrell\", role = \"aut\", email = \"paul@stat.auckland.ac.nz\", comment = c(ORCID = \"0000-0002-3224-8858\")), person(given = \"Kurt\", family = \"Hornik\", role = \"aut\", email = \"Kurt.Hornik@R-project.org\", comment = c(ORCID = \"0000-0003-4198-9911\")), person(given = c(\"Jason\", \"C.\"), family = \"Fisher\", role = \"aut\", email = \"jfisher@usgs.gov\", comment = c(ORCID = \"0000-0001-9032-8912\")), person(given = \"Reto\", family = \"Stauffer\", role = \"aut\", email = \"Reto.Stauffer@uibk.ac.at\", comment = c(ORCID = \"0000-0002-3798-5507\")), person(given = c(\"Claus\", \"O.\"), family = \"Wilke\", role = \"aut\", email = \"wilke@austin.utexas.edu\", comment = c(ORCID = \"0000-0002-7470-9261\")), person(given = c(\"Claire\", \"D.\"), family = \"McWhite\", role = \"aut\", email = \"claire.mcwhite@utmail.utexas.edu\", comment = c(ORCID = \"0000-0001-7346-3047\")), person(given = \"Achim\", family = \"Zeileis\", role = c(\"aut\", \"cre\"), email = \"Achim.Zeileis@R-project.org\", comment = c(ORCID = \"0000-0003-0918-3766\")))", + "Description": "Carries out mapping between assorted color spaces including RGB, HSV, HLS, CIEXYZ, CIELUV, HCL (polar CIELUV), CIELAB, and polar CIELAB. Qualitative, sequential, and diverging color palettes based on HCL colors are provided along with corresponding ggplot2 color scales. Color palette choice is aided by an interactive app (with either a Tcl/Tk or a shiny graphical user interface) and shiny apps with an HCL color picker and a color vision deficiency emulator. Plotting functions for displaying and assessing palettes include color swatches, visualizations of the HCL space, and trajectories in HCL and/or RGB spectrum. Color manipulation functions include: desaturation, lightening/darkening, mixing, and simulation of color vision deficiencies (deutanomaly, protanomaly, tritanomaly). Details can be found on the project web page at and in the accompanying scientific paper: Zeileis et al. (2020, Journal of Statistical Software, ).", + "Depends": [ + "R (>= 3.0.0)", + "methods" + ], + "Imports": [ "graphics", - "methods", + "grDevices", "stats" ], - "Hash": "d954cb1c57e8d8b756165d7ba18aa55a" + "Suggests": [ + "datasets", + "utils", + "KernSmooth", + "MASS", + "kernlab", + "mvtnorm", + "vcd", + "tcltk", + "shiny", + "shinyjs", + "ggplot2", + "dplyr", + "scales", + "grid", + "png", + "jpeg", + "knitr", + "rmarkdown", + "RColorBrewer", + "rcartocolor", + "scico", + "viridis", + "wesanderson" + ], + "VignetteBuilder": "knitr", + "License": "BSD_3_clause + file LICENSE", + "URL": "https://colorspace.R-Forge.R-project.org/, https://hclwizard.org/", + "BugReports": "https://colorspace.R-Forge.R-project.org/contact.html", + "LazyData": "yes", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "NeedsCompilation": "yes", + "Author": "Ross Ihaka [aut], Paul Murrell [aut] (ORCID: ), Kurt Hornik [aut] (ORCID: ), Jason C. Fisher [aut] (ORCID: ), Reto Stauffer [aut] (ORCID: ), Claus O. Wilke [aut] (ORCID: ), Claire D. McWhite [aut] (ORCID: ), Achim Zeileis [aut, cre] (ORCID: )", + "Maintainer": "Achim Zeileis ", + "Repository": "CRAN" }, "compositions": { "Package": "compositions", - "Version": "2.0-8", + "Version": "2.0-9", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "MASS", - "R", - "bayesm", - "grDevices", - "graphics", + "Date": "2025-08-20", + "Title": "Compositional Data Analysis", + "Authors@R": "c(person(given = c(\"K.\", \"Gerald\"), family = \"van den Boogaart\", role = c(\"aut\", \"cre\"), email = \"support@boogaart.de\"), person(given = \"Raimon\", family = \"Tolosana-Delgado\", role = \"aut\"), person(given = \"Matevz\", family = \"Bren\", role = \"aut\"))", + "Depends": [ + "R (>= 3.6)" + ], + "Imports": [ "methods", - "robustbase", + "utils", + "grDevices", "stats", "tensorA", - "utils" + "robustbase", + "bayesm", + "graphics", + "MASS" ], - "Hash": "3b211bb5b96b6920a112ba26260dbe16" + "Suggests": [ + "rgl (>= 1.0.1)", + "combinat", + "energy", + "knitr", + "rmarkdown" + ], + "Description": "Provides functions for the consistent analysis of compositional data (e.g. portions of substances) and positive numbers (e.g. concentrations) in the way proposed by J. Aitchison and V. Pawlowsky-Glahn.", + "License": "GPL (>= 2)", + "URL": "http://www.stat.boogaart.de/compositions/", + "VignetteBuilder": "knitr", + "RoxygenNote": "7.1.1", + "NeedsCompilation": "yes", + "Author": "K. Gerald van den Boogaart [aut, cre], Raimon Tolosana-Delgado [aut], Matevz Bren [aut]", + "Maintainer": "K. Gerald van den Boogaart ", + "Repository": "CRAN" }, "corrplot": { "Package": "corrplot", "Version": "0.95", "Source": "Repository", - "Repository": "CRAN", - "Hash": "f52d5babd10d348f9c0771386b61ea4a" + "Type": "Package", + "Title": "Visualization of a Correlation Matrix", + "Date": "2024-10-14", + "Authors@R": "c( person('Taiyun', 'Wei', email = 'weitaiyun@gmail.com', role = c('cre', 'aut')), person('Viliam', 'Simko', email = 'viliam.simko@gmail.com', role = 'aut'), person('Michael', 'Levy', email = 'michael.levy@healthcatalyst.com', role = 'ctb'), person('Yihui', 'Xie', email = 'xie@yihui.name', role = 'ctb'), person('Yan', 'Jin', email = 'jyfeather@gmail.com', role = 'ctb'), person('Jeff', 'Zemla', email = 'zemla@wisc.edu', role = 'ctb'), person('Moritz', 'Freidank', email = 'freidankm@googlemail.com', role = 'ctb'), person('Jun', 'Cai', email = 'cai-j12@mails.tsinghua.edu.cn', role = 'ctb'), person('Tomas', 'Protivinsky', email = 'tomas.protivinsky@gmail.com', role = 'ctb') )", + "Maintainer": "Taiyun Wei ", + "Suggests": [ + "seriation", + "knitr", + "RColorBrewer", + "rmarkdown", + "magrittr", + "prettydoc", + "testthat" + ], + "Description": "Provides a visual exploratory tool on correlation matrix that supports automatic variable reordering to help detect hidden patterns among variables.", + "License": "MIT + file LICENSE", + "URL": "https://github.com/taiyun/corrplot", + "BugReports": "https://github.com/taiyun/corrplot/issues", + "VignetteBuilder": "knitr", + "RoxygenNote": "7.2.1", + "NeedsCompilation": "no", + "Author": "Taiyun Wei [cre, aut], Viliam Simko [aut], Michael Levy [ctb], Yihui Xie [ctb], Yan Jin [ctb], Jeff Zemla [ctb], Moritz Freidank [ctb], Jun Cai [ctb], Tomas Protivinsky [ctb]", + "Repository": "CRAN" }, "cowplot": { "Package": "cowplot", - "Version": "1.1.3", + "Version": "1.2.0", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "ggplot2", - "grDevices", + "Title": "Streamlined Plot Theme and Plot Annotations for 'ggplot2'", + "Authors@R": "person( given = \"Claus O.\", family = \"Wilke\", role = c(\"aut\", \"cre\"), email = \"wilke@austin.utexas.edu\", comment = c(ORCID = \"0000-0002-7470-9261\") )", + "Description": "Provides various features that help with creating publication-quality figures with 'ggplot2', such as a set of themes, functions to align plots and arrange them into complex compound figures, and functions that make it easy to annotate plots and or mix plots with images. The package was originally written for internal use in the Wilke lab, hence the name (Claus O. Wilke's plot package). It has also been used extensively in the book Fundamentals of Data Visualization.", + "URL": "https://wilkelab.org/cowplot/", + "BugReports": "https://github.com/wilkelab/cowplot/issues", + "Depends": [ + "R (>= 3.5.0)" + ], + "Imports": [ + "ggplot2 (>= 3.5.2)", "grid", "gtable", + "grDevices", "methods", "rlang", "scales" ], - "Hash": "8ef2084dd7d28847b374e55440e4f8cb" + "License": "GPL-2", + "Suggests": [ + "Cairo", + "covr", + "dplyr", + "forcats", + "gridGraphics (>= 0.4-0)", + "knitr", + "lattice", + "magick", + "maps", + "PASWR", + "patchwork", + "rmarkdown", + "ragg", + "testthat (>= 1.0.0)", + "tidyr", + "vdiffr (>= 0.3.0)", + "VennDiagram" + ], + "VignetteBuilder": "knitr", + "Collate": "'add_sub.R' 'align_plots.R' 'as_grob.R' 'as_gtable.R' 'axis_canvas.R' 'cowplot.R' 'draw.R' 'get_plot_component.R' 'get_axes.R' 'get_titles.R' 'get_legend.R' 'get_panel.R' 'gtable.R' 'key_glyph.R' 'plot_grid.R' 'save.R' 'set_null_device.R' 'setup.R' 'stamp.R' 'themes.R' 'utils_ggplot2.R'", + "RoxygenNote": "7.3.2", + "Encoding": "UTF-8", + "NeedsCompilation": "no", + "Author": "Claus O. Wilke [aut, cre] (ORCID: )", + "Maintainer": "Claus O. Wilke ", + "Repository": "CRAN" }, "cpp11": { "Package": "cpp11", - "Version": "0.5.1", + "Version": "0.5.3", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" + "Title": "A C++11 Interface for R's C Interface", + "Authors@R": "c( person(\"Davis\", \"Vaughan\", email = \"davis@posit.co\", role = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0003-4777-038X\")), person(\"Jim\",\"Hester\", role = \"aut\", comment = c(ORCID = \"0000-0002-2739-7082\")), person(\"Romain\", \"François\", role = \"aut\", comment = c(ORCID = \"0000-0002-2444-4226\")), person(\"Benjamin\", \"Kietzman\", role = \"ctb\"), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")) )", + "Description": "Provides a header only, C++11 interface to R's C interface. Compared to other approaches 'cpp11' strives to be safe against long jumps from the C API as well as C++ exceptions, conform to normal R function semantics and supports interaction with 'ALTREP' vectors.", + "License": "MIT + file LICENSE", + "URL": "https://cpp11.r-lib.org, https://github.com/r-lib/cpp11", + "BugReports": "https://github.com/r-lib/cpp11/issues", + "Depends": [ + "R (>= 4.0.0)" + ], + "Suggests": [ + "bench", + "brio", + "callr", + "cli", + "covr", + "decor", + "desc", + "ggplot2", + "glue", + "knitr", + "lobstr", + "mockery", + "progress", + "rmarkdown", + "scales", + "Rcpp", + "testthat (>= 3.2.0)", + "tibble", + "utils", + "vctrs", + "withr" ], - "Hash": "9df43854f1c84685d095ed6270b52387" + "VignetteBuilder": "knitr", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Config/Needs/cpp11/cpp_register": "brio, cli, decor, desc, glue, tibble, vctrs", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "NeedsCompilation": "no", + "Author": "Davis Vaughan [aut, cre] (ORCID: ), Jim Hester [aut] (ORCID: ), Romain François [aut] (ORCID: ), Benjamin Kietzman [ctb], Posit Software, PBC [cph, fnd]", + "Maintainer": "Davis Vaughan ", + "Repository": "CRAN" }, "crayon": { "Package": "crayon", "Version": "1.5.3", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ + "Title": "Colored Terminal Output", + "Authors@R": "c( person(\"Gábor\", \"Csárdi\", , \"csardi.gabor@gmail.com\", role = c(\"aut\", \"cre\")), person(\"Brodie\", \"Gaslam\", , \"brodie.gaslam@yahoo.com\", role = \"ctb\"), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")) )", + "Description": "The crayon package is now superseded. Please use the 'cli' package for new projects. Colored terminal output on terminals that support 'ANSI' color and highlight codes. It also works in 'Emacs' 'ESS'. 'ANSI' color support is automatically detected. Colors and highlighting can be combined and nested. New styles can also be created easily. This package was inspired by the 'chalk' 'JavaScript' project.", + "License": "MIT + file LICENSE", + "URL": "https://r-lib.github.io/crayon/, https://github.com/r-lib/crayon", + "BugReports": "https://github.com/r-lib/crayon/issues", + "Imports": [ "grDevices", "methods", "utils" ], - "Hash": "859d96e65ef198fd43e82b9628d593ef" - }, + "Suggests": [ + "mockery", + "rstudioapi", + "testthat", + "withr" + ], + "Config/Needs/website": "tidyverse/tidytemplate", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.1", + "Collate": "'aaa-rstudio-detect.R' 'aaaa-rematch2.R' 'aab-num-ansi-colors.R' 'aac-num-ansi-colors.R' 'ansi-256.R' 'ansi-palette.R' 'combine.R' 'string.R' 'utils.R' 'crayon-package.R' 'disposable.R' 'enc-utils.R' 'has_ansi.R' 'has_color.R' 'link.R' 'styles.R' 'machinery.R' 'parts.R' 'print.R' 'style-var.R' 'show.R' 'string_operations.R'", + "NeedsCompilation": "no", + "Author": "Gábor Csárdi [aut, cre], Brodie Gaslam [ctb], Posit Software, PBC [cph, fnd]", + "Maintainer": "Gábor Csárdi ", + "Repository": "CRAN" + }, "data.table": { "Package": "data.table", - "Version": "1.16.4", + "Version": "1.18.2.1", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", + "Title": "Extension of `data.frame`", + "Depends": [ + "R (>= 3.4.0)" + ], + "Imports": [ "methods" ], - "Hash": "38bbf05fc2503143db4c734a7e5cab66" + "Suggests": [ + "bit64 (>= 4.0.0)", + "bit (>= 4.0.4)", + "R.utils (>= 2.13.0)", + "xts", + "zoo (>= 1.8-1)", + "yaml", + "knitr", + "markdown" + ], + "Description": "Fast aggregation of large data (e.g. 100GB in RAM), fast ordered joins, fast add/modify/delete of columns by group using no copies at all, list columns, friendly and fast character-separated-value read/write. Offers a natural and flexible syntax, for faster development.", + "License": "MPL-2.0 | file LICENSE", + "URL": "https://r-datatable.com, https://Rdatatable.gitlab.io/data.table, https://github.com/Rdatatable/data.table", + "BugReports": "https://github.com/Rdatatable/data.table/issues", + "VignetteBuilder": "knitr", + "Encoding": "UTF-8", + "ByteCompile": "TRUE", + "Authors@R": "c( person(\"Tyson\",\"Barrett\", role=c(\"aut\",\"cre\"), email=\"t.barrett88@gmail.com\", comment = c(ORCID=\"0000-0002-2137-1391\")), person(\"Matt\",\"Dowle\", role=\"aut\", email=\"mattjdowle@gmail.com\"), person(\"Arun\",\"Srinivasan\", role=\"aut\", email=\"asrini@pm.me\"), person(\"Jan\",\"Gorecki\", role=\"aut\", email=\"j.gorecki@wit.edu.pl\"), person(\"Michael\",\"Chirico\", role=\"aut\", email=\"michaelchirico4@gmail.com\", comment = c(ORCID=\"0000-0003-0787-087X\")), person(\"Toby\",\"Hocking\", role=\"aut\", email=\"toby.hocking@r-project.org\", comment = c(ORCID=\"0000-0002-3146-0865\")), person(\"Benjamin\",\"Schwendinger\",role=\"aut\", comment = c(ORCID=\"0000-0003-3315-8114\")), person(\"Ivan\", \"Krylov\", role=\"aut\", email=\"ikrylov@disroot.org\", comment = c(ORCID=\"0000-0002-0172-3812\")), person(\"Pasha\",\"Stetsenko\", role=\"ctb\"), person(\"Tom\",\"Short\", role=\"ctb\"), person(\"Steve\",\"Lianoglou\", role=\"ctb\"), person(\"Eduard\",\"Antonyan\", role=\"ctb\"), person(\"Markus\",\"Bonsch\", role=\"ctb\"), person(\"Hugh\",\"Parsonage\", role=\"ctb\"), person(\"Scott\",\"Ritchie\", role=\"ctb\"), person(\"Kun\",\"Ren\", role=\"ctb\"), person(\"Xianying\",\"Tan\", role=\"ctb\"), person(\"Rick\",\"Saporta\", role=\"ctb\"), person(\"Otto\",\"Seiskari\", role=\"ctb\"), person(\"Xianghui\",\"Dong\", role=\"ctb\"), person(\"Michel\",\"Lang\", role=\"ctb\"), person(\"Watal\",\"Iwasaki\", role=\"ctb\"), person(\"Seth\",\"Wenchel\", role=\"ctb\"), person(\"Karl\",\"Broman\", role=\"ctb\"), person(\"Tobias\",\"Schmidt\", role=\"ctb\"), person(\"David\",\"Arenburg\", role=\"ctb\"), person(\"Ethan\",\"Smith\", role=\"ctb\"), person(\"Francois\",\"Cocquemas\", role=\"ctb\"), person(\"Matthieu\",\"Gomez\", role=\"ctb\"), person(\"Philippe\",\"Chataignon\", role=\"ctb\"), person(\"Nello\",\"Blaser\", role=\"ctb\"), person(\"Dmitry\",\"Selivanov\", role=\"ctb\"), person(\"Andrey\",\"Riabushenko\", role=\"ctb\"), person(\"Cheng\",\"Lee\", role=\"ctb\"), person(\"Declan\",\"Groves\", role=\"ctb\"), person(\"Daniel\",\"Possenriede\", role=\"ctb\"), person(\"Felipe\",\"Parages\", role=\"ctb\"), person(\"Denes\",\"Toth\", role=\"ctb\"), person(\"Mus\",\"Yaramaz-David\", role=\"ctb\"), person(\"Ayappan\",\"Perumal\", role=\"ctb\"), person(\"James\",\"Sams\", role=\"ctb\"), person(\"Martin\",\"Morgan\", role=\"ctb\"), person(\"Michael\",\"Quinn\", role=\"ctb\"), person(given=\"@javrucebo\", role=\"ctb\", comment=\"GitHub user\"), person(\"Marc\",\"Halperin\", role=\"ctb\"), person(\"Roy\",\"Storey\", role=\"ctb\"), person(\"Manish\",\"Saraswat\", role=\"ctb\"), person(\"Morgan\",\"Jacob\", role=\"ctb\"), person(\"Michael\",\"Schubmehl\", role=\"ctb\"), person(\"Davis\",\"Vaughan\", role=\"ctb\"), person(\"Leonardo\",\"Silvestri\", role=\"ctb\"), person(\"Jim\",\"Hester\", role=\"ctb\"), person(\"Anthony\",\"Damico\", role=\"ctb\"), person(\"Sebastian\",\"Freundt\", role=\"ctb\"), person(\"David\",\"Simons\", role=\"ctb\"), person(\"Elliott\",\"Sales de Andrade\", role=\"ctb\"), person(\"Cole\",\"Miller\", role=\"ctb\"), person(\"Jens Peder\",\"Meldgaard\", role=\"ctb\"), person(\"Vaclav\",\"Tlapak\", role=\"ctb\"), person(\"Kevin\",\"Ushey\", role=\"ctb\"), person(\"Dirk\",\"Eddelbuettel\", role=\"ctb\"), person(\"Tony\",\"Fischetti\", role=\"ctb\"), person(\"Ofek\",\"Shilon\", role=\"ctb\"), person(\"Vadim\",\"Khotilovich\", role=\"ctb\"), person(\"Hadley\",\"Wickham\", role=\"ctb\"), person(\"Bennet\",\"Becker\", role=\"ctb\"), person(\"Kyle\",\"Haynes\", role=\"ctb\"), person(\"Boniface Christian\",\"Kamgang\", role=\"ctb\"), person(\"Olivier\",\"Delmarcell\", role=\"ctb\"), person(\"Josh\",\"O'Brien\", role=\"ctb\"), person(\"Dereck\",\"de Mezquita\", role=\"ctb\"), person(\"Michael\",\"Czekanski\", role=\"ctb\"), person(\"Dmitry\", \"Shemetov\", role=\"ctb\"), person(\"Nitish\", \"Jha\", role=\"ctb\"), person(\"Joshua\", \"Wu\", role=\"ctb\"), person(\"Iago\", \"Giné-Vázquez\", role=\"ctb\"), person(\"Anirban\", \"Chetia\", role=\"ctb\"), person(\"Doris\", \"Amoakohene\", role=\"ctb\"), person(\"Angel\", \"Feliz\", role=\"ctb\"), person(\"Michael\",\"Young\", role=\"ctb\"), person(\"Mark\", \"Seeto\", role=\"ctb\"), person(\"Philippe\", \"Grosjean\", role=\"ctb\"), person(\"Vincent\", \"Runge\", role=\"ctb\"), person(\"Christian\", \"Wia\", role=\"ctb\"), person(\"Elise\", \"Maigné\", role=\"ctb\"), person(\"Vincent\", \"Rocher\", role=\"ctb\"), person(\"Vijay\", \"Lulla\", role=\"ctb\"), person(\"Aljaž\", \"Sluga\", role=\"ctb\"), person(\"Bill\", \"Evans\", role=\"ctb\"), person(\"Reino\", \"Bruner\", role=\"ctb\"), person(given=\"@badasahog\", role=\"ctb\", comment=\"GitHub user\"), person(\"Vinit\", \"Thakur\", role=\"ctb\"), person(\"Mukul\", \"Kumar\", role=\"ctb\"), person(\"Ildikó\", \"Czeller\", role=\"ctb\"), person(\"Manmita\", \"Das\", role=\"ctb\") )", + "NeedsCompilation": "yes", + "Author": "Tyson Barrett [aut, cre] (ORCID: ), Matt Dowle [aut], Arun Srinivasan [aut], Jan Gorecki [aut], Michael Chirico [aut] (ORCID: ), Toby Hocking [aut] (ORCID: ), Benjamin Schwendinger [aut] (ORCID: ), Ivan Krylov [aut] (ORCID: ), Pasha Stetsenko [ctb], Tom Short [ctb], Steve Lianoglou [ctb], Eduard Antonyan [ctb], Markus Bonsch [ctb], Hugh Parsonage [ctb], Scott Ritchie [ctb], Kun Ren [ctb], Xianying Tan [ctb], Rick Saporta [ctb], Otto Seiskari [ctb], Xianghui Dong [ctb], Michel Lang [ctb], Watal Iwasaki [ctb], Seth Wenchel [ctb], Karl Broman [ctb], Tobias Schmidt [ctb], David Arenburg [ctb], Ethan Smith [ctb], Francois Cocquemas [ctb], Matthieu Gomez [ctb], Philippe Chataignon [ctb], Nello Blaser [ctb], Dmitry Selivanov [ctb], Andrey Riabushenko [ctb], Cheng Lee [ctb], Declan Groves [ctb], Daniel Possenriede [ctb], Felipe Parages [ctb], Denes Toth [ctb], Mus Yaramaz-David [ctb], Ayappan Perumal [ctb], James Sams [ctb], Martin Morgan [ctb], Michael Quinn [ctb], @javrucebo [ctb] (GitHub user), Marc Halperin [ctb], Roy Storey [ctb], Manish Saraswat [ctb], Morgan Jacob [ctb], Michael Schubmehl [ctb], Davis Vaughan [ctb], Leonardo Silvestri [ctb], Jim Hester [ctb], Anthony Damico [ctb], Sebastian Freundt [ctb], David Simons [ctb], Elliott Sales de Andrade [ctb], Cole Miller [ctb], Jens Peder Meldgaard [ctb], Vaclav Tlapak [ctb], Kevin Ushey [ctb], Dirk Eddelbuettel [ctb], Tony Fischetti [ctb], Ofek Shilon [ctb], Vadim Khotilovich [ctb], Hadley Wickham [ctb], Bennet Becker [ctb], Kyle Haynes [ctb], Boniface Christian Kamgang [ctb], Olivier Delmarcell [ctb], Josh O'Brien [ctb], Dereck de Mezquita [ctb], Michael Czekanski [ctb], Dmitry Shemetov [ctb], Nitish Jha [ctb], Joshua Wu [ctb], Iago Giné-Vázquez [ctb], Anirban Chetia [ctb], Doris Amoakohene [ctb], Angel Feliz [ctb], Michael Young [ctb], Mark Seeto [ctb], Philippe Grosjean [ctb], Vincent Runge [ctb], Christian Wia [ctb], Elise Maigné [ctb], Vincent Rocher [ctb], Vijay Lulla [ctb], Aljaž Sluga [ctb], Bill Evans [ctb], Reino Bruner [ctb], @badasahog [ctb] (GitHub user), Vinit Thakur [ctb], Mukul Kumar [ctb], Ildikó Czeller [ctb], Manmita Das [ctb]", + "Maintainer": "Tyson Barrett ", + "Repository": "CRAN" + }, + "desc": { + "Package": "desc", + "Version": "1.4.3", + "Source": "Repository", + "Title": "Manipulate DESCRIPTION Files", + "Authors@R": "c( person(\"Gábor\", \"Csárdi\", , \"csardi.gabor@gmail.com\", role = c(\"aut\", \"cre\")), person(\"Kirill\", \"Müller\", role = \"aut\"), person(\"Jim\", \"Hester\", , \"james.f.hester@gmail.com\", role = \"aut\"), person(\"Maëlle\", \"Salmon\", role = \"ctb\", comment = c(ORCID = \"0000-0002-2815-0399\")), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")) )", + "Maintainer": "Gábor Csárdi ", + "Description": "Tools to read, write, create, and manipulate DESCRIPTION files. It is intended for packages that create or manipulate other packages.", + "License": "MIT + file LICENSE", + "URL": "https://desc.r-lib.org/, https://github.com/r-lib/desc", + "BugReports": "https://github.com/r-lib/desc/issues", + "Depends": [ + "R (>= 3.4)" + ], + "Imports": [ + "cli", + "R6", + "utils" + ], + "Suggests": [ + "callr", + "covr", + "gh", + "spelling", + "testthat", + "whoami", + "withr" + ], + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "Language": "en-US", + "RoxygenNote": "7.2.3", + "Collate": "'assertions.R' 'authors-at-r.R' 'built.R' 'classes.R' 'collate.R' 'constants.R' 'deps.R' 'desc-package.R' 'description.R' 'encoding.R' 'find-package-root.R' 'latex.R' 'non-oo-api.R' 'package-archives.R' 'read.R' 'remotes.R' 'str.R' 'syntax_checks.R' 'urls.R' 'utils.R' 'validate.R' 'version.R'", + "NeedsCompilation": "no", + "Author": "Gábor Csárdi [aut, cre], Kirill Müller [aut], Jim Hester [aut], Maëlle Salmon [ctb] (), Posit Software, PBC [cph, fnd]", + "Repository": "CRAN" + }, + "diffobj": { + "Package": "diffobj", + "Version": "0.3.6", + "Source": "Repository", + "Type": "Package", + "Title": "Diffs for R Objects", + "Description": "Generate a colorized diff of two R objects for an intuitive visualization of their differences.", + "Authors@R": "c( person( \"Brodie\", \"Gaslam\", email=\"brodie.gaslam@yahoo.com\", role=c(\"aut\", \"cre\")), person( \"Michael B.\", \"Allen\", email=\"ioplex@gmail.com\", role=c(\"ctb\", \"cph\"), comment=\"Original C implementation of Myers Diff Algorithm\"))", + "Depends": [ + "R (>= 3.1.0)" + ], + "License": "GPL-2 | GPL-3", + "URL": "https://github.com/brodieG/diffobj", + "BugReports": "https://github.com/brodieG/diffobj/issues", + "RoxygenNote": "7.2.3", + "VignetteBuilder": "knitr", + "Encoding": "UTF-8", + "Suggests": [ + "knitr", + "rmarkdown" + ], + "Collate": "'capt.R' 'options.R' 'pager.R' 'check.R' 'finalizer.R' 'misc.R' 'html.R' 'styles.R' 's4.R' 'core.R' 'diff.R' 'get.R' 'guides.R' 'hunks.R' 'layout.R' 'myerssimple.R' 'rdiff.R' 'rds.R' 'set.R' 'subset.R' 'summmary.R' 'system.R' 'text.R' 'tochar.R' 'trim.R' 'word.R'", + "Imports": [ + "crayon (>= 1.3.2)", + "tools", + "methods", + "utils", + "stats" + ], + "NeedsCompilation": "yes", + "Author": "Brodie Gaslam [aut, cre], Michael B. Allen [ctb, cph] (Original C implementation of Myers Diff Algorithm)", + "Maintainer": "Brodie Gaslam ", + "Repository": "CRAN" }, "distributional": { "Package": "distributional", - "Version": "0.5.0", + "Version": "0.6.0", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ + "Title": "Vectorised Probability Distributions", + "Authors@R": "c(person(given = \"Mitchell\", family = \"O'Hara-Wild\", role = c(\"aut\", \"cre\"), email = \"mail@mitchelloharawild.com\", comment = c(ORCID = \"0000-0001-6729-7695\")), person(given = \"Matthew\", family = \"Kay\", role = c(\"aut\"), comment = c(ORCID = \"0000-0001-9446-0419\")), person(given = \"Alex\", family = \"Hayes\", role = c(\"aut\"), comment = c(ORCID = \"0000-0002-4985-5160\")), person(given = \"Rob\", family = \"Hyndman\", role = c(\"aut\"), comment = c(ORCID = \"0000-0002-2140-5352\")), person(given = \"Earo\", family = \"Wang\", role = c(\"ctb\"), comment = c(ORCID = \"0000-0001-6448-5260\")), person(given = \"Vencislav\", family = \"Popov\", role = c(\"ctb\"), comment = c(ORCID = \"0000-0002-8073-4199\")))", + "Description": "Vectorised distribution objects with tools for manipulating, visualising, and using probability distributions. Designed to allow model prediction outputs to return distributions rather than their parameters, allowing users to directly interact with predictive distributions in a data-oriented workflow. In addition to providing generic replacements for p/d/q/r functions, other useful statistics can be computed including means, variances, intervals, and highest density regions.", + "License": "GPL-3", + "Depends": [ + "R (>= 4.0.0)" + ], + "Imports": [ + "vctrs (>= 0.3.0)", + "rlang (>= 0.4.5)", "generics", - "lifecycle", - "numDeriv", - "pillar", - "rlang", "stats", + "numDeriv", "utils", - "vctrs" + "lifecycle", + "pillar" ], - "Hash": "76e94de462aa18ea966a38956ecf4497" + "Suggests": [ + "testthat (>= 2.1.0)", + "covr", + "mvtnorm", + "actuar (>= 2.0.0)", + "evd", + "ggdist", + "ggplot2", + "gk", + "pkgdown" + ], + "RdMacros": "lifecycle", + "URL": "https://pkg.mitchelloharawild.com/distributional/, https://github.com/mitchelloharawild/distributional", + "BugReports": "https://github.com/mitchelloharawild/distributional/issues", + "Encoding": "UTF-8", + "Language": "en-GB", + "RoxygenNote": "7.3.3", + "NeedsCompilation": "no", + "Author": "Mitchell O'Hara-Wild [aut, cre] (ORCID: ), Matthew Kay [aut] (ORCID: ), Alex Hayes [aut] (ORCID: ), Rob Hyndman [aut] (ORCID: ), Earo Wang [ctb] (ORCID: ), Vencislav Popov [ctb] (ORCID: )", + "Maintainer": "Mitchell O'Hara-Wild ", + "Repository": "CRAN" }, "doBy": { "Package": "doBy", - "Version": "4.6.24", + "Version": "4.7.1", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "Deriv", - "MASS", - "Matrix", - "R", + "Title": "Groupwise Statistics, LSmeans, Linear Estimates, Utilities", + "Authors@R": "c( person(given = \"Ulrich\", family = \"Halekoh\", email = \"uhalekoh@health.sdu.dk\", role = c(\"aut\", \"cph\")), person(given = \"Søren\", family = \"Højsgaard\", email = \"sorenh@math.aau.dk\", role = c(\"aut\", \"cre\", \"cph\")) )", + "Description": "Utility package containing: Main categories: Working with grouped data: 'do' something to data when stratified 'by' some variables. General linear estimates. Data handling utilities. Functional programming, in particular restrict functions to a smaller domain. Miscellaneous functions for data handling. Model stability in connection with model selection. Miscellaneous other tools.", + "Encoding": "UTF-8", + "VignetteBuilder": "knitr", + "LazyData": "true", + "LazyDataCompression": "xz", + "URL": "https://github.com/hojsgaard/doBy", + "License": "GPL (>= 2)", + "Depends": [ + "R (>= 4.2.0)", + "methods" + ], + "Imports": [ "boot", "broom", "cowplot", + "Deriv", "dplyr", + "forecast", "ggplot2", - "methods", - "microbenchmark", + "MASS", + "Matrix", "modelr", + "microbenchmark", "rlang", + "purrr", "tibble", "tidyr" ], - "Hash": "8ddf795104defe53c5392a588888ec68" + "Suggests": [ + "geepack", + "knitr", + "lme4", + "markdown", + "rmarkdown", + "multcomp", + "pbkrtest (>= 0.5.2)", + "survival", + "testthat (>= 2.1.0)" + ], + "RoxygenNote": "7.3.3", + "NeedsCompilation": "no", + "Author": "Ulrich Halekoh [aut, cph], Søren Højsgaard [aut, cre, cph]", + "Maintainer": "Søren Højsgaard ", + "Repository": "CRAN" }, "dplyr": { "Package": "dplyr", - "Version": "1.1.4", + "Version": "1.2.0", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "R6", - "cli", + "Type": "Package", + "Title": "A Grammar of Data Manipulation", + "Authors@R": "c( person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0003-4757-117X\")), person(\"Romain\", \"François\", role = \"aut\", comment = c(ORCID = \"0000-0002-2444-4226\")), person(\"Lionel\", \"Henry\", role = \"aut\"), person(\"Kirill\", \"Müller\", role = \"aut\", comment = c(ORCID = \"0000-0002-1416-3412\")), person(\"Davis\", \"Vaughan\", , \"davis@posit.co\", role = \"aut\", comment = c(ORCID = \"0000-0003-4777-038X\")), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")) )", + "Description": "A fast, consistent tool for working with data frame like objects, both in memory and out of memory.", + "License": "MIT + file LICENSE", + "URL": "https://dplyr.tidyverse.org, https://github.com/tidyverse/dplyr", + "BugReports": "https://github.com/tidyverse/dplyr/issues", + "Depends": [ + "R (>= 4.1.0)" + ], + "Imports": [ + "cli (>= 3.6.2)", "generics", - "glue", - "lifecycle", - "magrittr", + "glue (>= 1.3.2)", + "lifecycle (>= 1.0.5)", + "magrittr (>= 1.5)", "methods", - "pillar", - "rlang", - "tibble", - "tidyselect", + "pillar (>= 1.9.0)", + "R6", + "rlang (>= 1.1.7)", + "tibble (>= 3.2.0)", + "tidyselect (>= 1.2.0)", "utils", - "vctrs" + "vctrs (>= 0.7.1)" + ], + "Suggests": [ + "broom", + "covr", + "DBI", + "dbplyr (>= 2.2.1)", + "ggplot2", + "knitr", + "Lahman", + "lobstr", + "nycflights13", + "purrr", + "rmarkdown", + "RSQLite", + "stringi (>= 1.7.6)", + "testthat (>= 3.1.5)", + "tidyr (>= 1.3.0)", + "withr" ], - "Hash": "fedd9d00c2944ff00a0e2696ccf048ec" + "VignetteBuilder": "knitr", + "Config/build/compilation-database": "true", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "LazyData": "true", + "RoxygenNote": "7.3.3", + "NeedsCompilation": "yes", + "Author": "Hadley Wickham [aut, cre] (ORCID: ), Romain François [aut] (ORCID: ), Lionel Henry [aut], Kirill Müller [aut] (ORCID: ), Davis Vaughan [aut] (ORCID: ), Posit Software, PBC [cph, fnd]", + "Maintainer": "Hadley Wickham ", + "Repository": "CRAN" }, - "fansi": { - "Package": "fansi", - "Version": "1.0.6", + "evaluate": { + "Package": "evaluate", + "Version": "1.0.5", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "grDevices", - "utils" + "Type": "Package", + "Title": "Parsing and Evaluation Tools that Provide More Details than the Default", + "Authors@R": "c( person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = c(\"aut\", \"cre\")), person(\"Yihui\", \"Xie\", role = \"aut\", comment = c(ORCID = \"0000-0003-0645-5666\")), person(\"Michael\", \"Lawrence\", role = \"ctb\"), person(\"Thomas\", \"Kluyver\", role = \"ctb\"), person(\"Jeroen\", \"Ooms\", role = \"ctb\"), person(\"Barret\", \"Schloerke\", role = \"ctb\"), person(\"Adam\", \"Ryczkowski\", role = \"ctb\"), person(\"Hiroaki\", \"Yutani\", role = \"ctb\"), person(\"Michel\", \"Lang\", role = \"ctb\"), person(\"Karolis\", \"Koncevičius\", role = \"ctb\"), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")) )", + "Description": "Parsing and evaluation tools that make it easy to recreate the command line behaviour of R.", + "License": "MIT + file LICENSE", + "URL": "https://evaluate.r-lib.org/, https://github.com/r-lib/evaluate", + "BugReports": "https://github.com/r-lib/evaluate/issues", + "Depends": [ + "R (>= 3.6.0)" + ], + "Suggests": [ + "callr", + "covr", + "ggplot2 (>= 3.3.6)", + "lattice", + "methods", + "pkgload", + "ragg (>= 1.4.0)", + "rlang (>= 1.1.5)", + "knitr", + "testthat (>= 3.0.0)", + "withr" ], - "Hash": "962174cf2aeb5b9eea581522286a911f" + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "NeedsCompilation": "no", + "Author": "Hadley Wickham [aut, cre], Yihui Xie [aut] (ORCID: ), Michael Lawrence [ctb], Thomas Kluyver [ctb], Jeroen Ooms [ctb], Barret Schloerke [ctb], Adam Ryczkowski [ctb], Hiroaki Yutani [ctb], Michel Lang [ctb], Karolis Koncevičius [ctb], Posit Software, PBC [cph, fnd]", + "Maintainer": "Hadley Wickham ", + "Repository": "CRAN" }, "farver": { "Package": "farver", "Version": "2.1.2", "Source": "Repository", - "Repository": "CRAN", - "Hash": "680887028577f3fa2a81e410ed0d6e42" + "Type": "Package", + "Title": "High Performance Colour Space Manipulation", + "Authors@R": "c( person(\"Thomas Lin\", \"Pedersen\", , \"thomas.pedersen@posit.co\", role = c(\"cre\", \"aut\"), comment = c(ORCID = \"0000-0002-5147-4711\")), person(\"Berendea\", \"Nicolae\", role = \"aut\", comment = \"Author of the ColorSpace C++ library\"), person(\"Romain\", \"François\", , \"romain@purrple.cat\", role = \"aut\", comment = c(ORCID = \"0000-0002-2444-4226\")), person(\"Posit, PBC\", role = c(\"cph\", \"fnd\")) )", + "Description": "The encoding of colour can be handled in many different ways, using different colour spaces. As different colour spaces have different uses, efficient conversion between these representations are important. The 'farver' package provides a set of functions that gives access to very fast colour space conversion and comparisons implemented in C++, and offers speed improvements over the 'convertColor' function in the 'grDevices' package.", + "License": "MIT + file LICENSE", + "URL": "https://farver.data-imaginist.com, https://github.com/thomasp85/farver", + "BugReports": "https://github.com/thomasp85/farver/issues", + "Suggests": [ + "covr", + "testthat (>= 3.0.0)" + ], + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.1", + "NeedsCompilation": "yes", + "Author": "Thomas Lin Pedersen [cre, aut] (), Berendea Nicolae [aut] (Author of the ColorSpace C++ library), Romain François [aut] (), Posit, PBC [cph, fnd]", + "Maintainer": "Thomas Lin Pedersen ", + "Repository": "CRAN" + }, + "forecast": { + "Package": "forecast", + "Version": "9.0.1", + "Source": "Repository", + "Title": "Forecasting Functions for Time Series and Linear Models", + "Description": "Methods and tools for displaying and analysing univariate time series forecasts including exponential smoothing via state space models and automatic ARIMA modelling.", + "Depends": [ + "R (>= 4.1.0)" + ], + "Imports": [ + "colorspace", + "fracdiff", + "generics (>= 0.1.2)", + "ggplot2 (>= 3.4.0)", + "graphics", + "lmtest", + "magrittr", + "nnet", + "parallel", + "Rcpp (>= 0.12.4)", + "stats", + "timeDate", + "urca", + "withr", + "zoo" + ], + "Suggests": [ + "forecTheta", + "knitr", + "methods", + "rmarkdown", + "rticles", + "scales", + "seasonal", + "testthat (>= 3.3.0)", + "uroot" + ], + "LinkingTo": [ + "Rcpp (>= 0.12.4)", + "RcppArmadillo (>= 0.2.35)" + ], + "LazyData": "yes", + "ByteCompile": "TRUE", + "Authors@R": "c( person(\"Rob\", \"Hyndman\", email = \"Rob.Hyndman@monash.edu\", role = c(\"aut\", \"cre\", \"cph\"), comment = c(ORCID = \"0000-0002-2140-5352\")), person(\"George\", \"Athanasopoulos\", role = \"aut\", comment = c(ORCID = \"0000-0002-5389-2802\")), person(\"Christoph\", \"Bergmeir\", role = \"aut\", comment = c(ORCID = \"0000-0002-3665-9021\")), person(\"Gabriel\", \"Caceres\", role = \"aut\", comment = c(ORCID = \"0000-0002-2947-2023\")), person(\"Leanne\", \"Chhay\", role = \"aut\"), person(\"Kirill\", \"Kuroptev\", role = \"aut\"), person(\"Maximilian\", \"Mücke\", role = \"aut\", comment = c(ORCID = \"0009-0000-9432-9795\")), person(\"Mitchell\", \"O'Hara-Wild\", role = \"aut\", comment = c(ORCID = \"0000-0001-6729-7695\")), person(\"Fotios\", \"Petropoulos\", role = \"aut\", comment = c(ORCID = \"0000-0003-3039-4955\")), person(\"Slava\", \"Razbash\", role = \"aut\"), person(\"Earo\", \"Wang\", role = \"aut\", comment = c(ORCID = \"0000-0001-6448-5260\")), person(\"Farah\", \"Yasmeen\", role = \"aut\", comment = c(ORCID = \"0000-0002-1479-5401\")), person(\"Federico\", \"Garza\", role = \"ctb\"), person(\"Daniele\", \"Girolimetto\", role = \"ctb\"), person(\"Ross\", \"Ihaka\", role = c(\"ctb\", \"cph\")), person(\"R Core Team\", role = c(\"ctb\", \"cph\")), person(\"Daniel\", \"Reid\", role = \"ctb\"), person(\"David\", \"Shaub\", role = \"ctb\"), person(\"Yuan\", \"Tang\", role = \"ctb\", comment = c(ORCID = \"0000-0001-5243-233X\")), person(\"Xiaoqian\", \"Wang\", role = \"ctb\"), person(\"Zhenyu\", \"Zhou\", role = \"ctb\") )", + "BugReports": "https://github.com/robjhyndman/forecast/issues", + "License": "GPL-3", + "URL": "https://pkg.robjhyndman.com/forecast/, https://github.com/robjhyndman/forecast", + "VignetteBuilder": "knitr", + "RoxygenNote": "7.3.3", + "Encoding": "UTF-8", + "Config/testthat/edition": "3", + "NeedsCompilation": "yes", + "Author": "Rob Hyndman [aut, cre, cph] (ORCID: ), George Athanasopoulos [aut] (ORCID: ), Christoph Bergmeir [aut] (ORCID: ), Gabriel Caceres [aut] (ORCID: ), Leanne Chhay [aut], Kirill Kuroptev [aut], Maximilian Mücke [aut] (ORCID: ), Mitchell O'Hara-Wild [aut] (ORCID: ), Fotios Petropoulos [aut] (ORCID: ), Slava Razbash [aut], Earo Wang [aut] (ORCID: ), Farah Yasmeen [aut] (ORCID: ), Federico Garza [ctb], Daniele Girolimetto [ctb], Ross Ihaka [ctb, cph], R Core Team [ctb, cph], Daniel Reid [ctb], David Shaub [ctb], Yuan Tang [ctb] (ORCID: ), Xiaoqian Wang [ctb], Zhenyu Zhou [ctb]", + "Maintainer": "Rob Hyndman ", + "Repository": "CRAN" + }, + "fracdiff": { + "Package": "fracdiff", + "Version": "1.5-3", + "Source": "Repository", + "VersionNote": "Released 1.5-0 on 2019-12-09, 1.5-1 on 2020-01-20, 1.5-2 on 2022-10-31", + "Date": "2024-02-01", + "Title": "Fractionally Differenced ARIMA aka ARFIMA(P,d,q) Models", + "Authors@R": "c(person(\"Martin\",\"Maechler\", role=c(\"aut\",\"cre\"), email=\"maechler@stat.math.ethz.ch\", comment = c(ORCID = \"0000-0002-8685-9910\")) , person(\"Chris\", \"Fraley\", role=c(\"ctb\",\"cph\"), comment = \"S original; Fortran code\") , person(\"Friedrich\", \"Leisch\", role = \"ctb\", comment = c(\"R port\", ORCID = \"0000-0001-7278-1983\")) , person(\"Valderio\", \"Reisen\", role=\"ctb\", comment = \"fdGPH() & fdSperio()\") , person(\"Artur\", \"Lemonte\", role=\"ctb\", comment = \"fdGPH() & fdSperio()\") , person(\"Rob\", \"Hyndman\", email=\"Rob.Hyndman@monash.edu\", role=\"ctb\", comment = c(\"residuals() & fitted()\", ORCID = \"0000-0002-2140-5352\")) )", + "Description": "Maximum likelihood estimation of the parameters of a fractionally differenced ARIMA(p,d,q) model (Haslett and Raftery, Appl.Statistics, 1989); including inference and basic methods. Some alternative algorithms to estimate \"H\".", + "Imports": [ + "stats" + ], + "Suggests": [ + "longmemo", + "forecast", + "urca" + ], + "License": "GPL (>= 2)", + "URL": "https://github.com/mmaechler/fracdiff", + "BugReports": "https://github.com/mmaechler/fracdiff/issues", + "Encoding": "UTF-8", + "NeedsCompilation": "yes", + "Author": "Martin Maechler [aut, cre] (), Chris Fraley [ctb, cph] (S original; Fortran code), Friedrich Leisch [ctb] (R port, ), Valderio Reisen [ctb] (fdGPH() & fdSperio()), Artur Lemonte [ctb] (fdGPH() & fdSperio()), Rob Hyndman [ctb] (residuals() & fitted(), )", + "Maintainer": "Martin Maechler ", + "Repository": "CRAN" + }, + "fs": { + "Package": "fs", + "Version": "1.6.7", + "Source": "Repository", + "Title": "Cross-Platform File System Operations Based on 'libuv'", + "Authors@R": "c( person(\"Jim\", \"Hester\", role = \"aut\"), person(\"Hadley\", \"Wickham\", role = \"aut\"), person(\"Gábor\", \"Csárdi\", role = \"aut\"), person(\"Jeroen\", \"Ooms\", , \"jeroenooms@gmail.com\", role = \"cre\"), person(\"libuv project contributors\", role = \"cph\", comment = \"libuv library\"), person(\"Joyent, Inc. and other Node contributors\", role = \"cph\", comment = \"libuv library\"), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"), comment = c(ROR = \"03wc8by49\")) )", + "Description": "A cross-platform interface to file system operations, built on top of the 'libuv' C library.", + "License": "MIT + file LICENSE", + "URL": "https://fs.r-lib.org, https://github.com/r-lib/fs", + "BugReports": "https://github.com/r-lib/fs/issues", + "Depends": [ + "R (>= 4.1)" + ], + "Imports": [ + "methods" + ], + "Suggests": [ + "covr", + "crayon", + "knitr", + "pillar (>= 1.0.0)", + "rmarkdown", + "spelling", + "testthat (>= 3.0.0)", + "tibble (>= 1.1.0)", + "vctrs (>= 0.3.0)", + "withr" + ], + "VignetteBuilder": "knitr", + "ByteCompile": "true", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Config/usethis/last-upkeep": "2025-04-23", + "Copyright": "file COPYRIGHTS", + "Encoding": "UTF-8", + "Language": "en-US", + "RoxygenNote": "7.3.3", + "SystemRequirements": "GNU make", + "NeedsCompilation": "yes", + "Author": "Jim Hester [aut], Hadley Wickham [aut], Gábor Csárdi [aut], Jeroen Ooms [cre], libuv project contributors [cph] (libuv library), Joyent, Inc. and other Node contributors [cph] (libuv library), Posit Software, PBC [cph, fnd] (ROR: )", + "Maintainer": "Jeroen Ooms ", + "Repository": "CRAN" }, "generics": { "Package": "generics", - "Version": "0.1.3", + "Version": "0.1.4", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", + "Title": "Common S3 Generics not Provided by Base R Methods Related to Model Fitting", + "Authors@R": "c( person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0003-4757-117X\")), person(\"Max\", \"Kuhn\", , \"max@posit.co\", role = \"aut\"), person(\"Davis\", \"Vaughan\", , \"davis@posit.co\", role = \"aut\"), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"), comment = c(ROR = \"https://ror.org/03wc8by49\")) )", + "Description": "In order to reduce potential package dependencies and conflicts, generics provides a number of commonly used S3 generics.", + "License": "MIT + file LICENSE", + "URL": "https://generics.r-lib.org, https://github.com/r-lib/generics", + "BugReports": "https://github.com/r-lib/generics/issues", + "Depends": [ + "R (>= 3.6)" + ], + "Imports": [ "methods" ], - "Hash": "15e9634c0fcd294799e9b2e929ed1b86" + "Suggests": [ + "covr", + "pkgload", + "testthat (>= 3.0.0)", + "tibble", + "withr" + ], + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "NeedsCompilation": "no", + "Author": "Hadley Wickham [aut, cre] (ORCID: ), Max Kuhn [aut], Davis Vaughan [aut], Posit Software, PBC [cph, fnd] (ROR: )", + "Maintainer": "Hadley Wickham ", + "Repository": "CRAN" }, "ggplot2": { "Package": "ggplot2", - "Version": "3.5.1", + "Version": "4.0.2", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "MASS", - "R", + "Title": "Create Elegant Data Visualisations Using the Grammar of Graphics", + "Authors@R": "c( person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = \"aut\", comment = c(ORCID = \"0000-0003-4757-117X\")), person(\"Winston\", \"Chang\", role = \"aut\", comment = c(ORCID = \"0000-0002-1576-2126\")), person(\"Lionel\", \"Henry\", role = \"aut\"), person(\"Thomas Lin\", \"Pedersen\", , \"thomas.pedersen@posit.co\", role = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0002-5147-4711\")), person(\"Kohske\", \"Takahashi\", role = \"aut\"), person(\"Claus\", \"Wilke\", role = \"aut\", comment = c(ORCID = \"0000-0002-7470-9261\")), person(\"Kara\", \"Woo\", role = \"aut\", comment = c(ORCID = \"0000-0002-5125-4188\")), person(\"Hiroaki\", \"Yutani\", role = \"aut\", comment = c(ORCID = \"0000-0002-3385-7233\")), person(\"Dewey\", \"Dunnington\", role = \"aut\", comment = c(ORCID = \"0000-0002-9415-4582\")), person(\"Teun\", \"van den Brand\", role = \"aut\", comment = c(ORCID = \"0000-0002-9335-7468\")), person(\"Posit, PBC\", role = c(\"cph\", \"fnd\"), comment = c(ROR = \"03wc8by49\")) )", + "Description": "A system for 'declaratively' creating graphics, based on \"The Grammar of Graphics\". You provide the data, tell 'ggplot2' how to map variables to aesthetics, what graphical primitives to use, and it takes care of the details.", + "License": "MIT + file LICENSE", + "URL": "https://ggplot2.tidyverse.org, https://github.com/tidyverse/ggplot2", + "BugReports": "https://github.com/tidyverse/ggplot2/issues", + "Depends": [ + "R (>= 4.1)" + ], + "Imports": [ "cli", - "glue", "grDevices", "grid", - "gtable", + "gtable (>= 0.3.6)", "isoband", - "lifecycle", - "mgcv", - "rlang", - "scales", + "lifecycle (> 1.0.1)", + "rlang (>= 1.1.0)", + "S7", + "scales (>= 1.4.0)", "stats", + "vctrs (>= 0.6.0)", + "withr (>= 2.5.0)" + ], + "Suggests": [ + "broom", + "covr", + "dplyr", + "ggplot2movies", + "hexbin", + "Hmisc", + "hms", + "knitr", + "mapproj", + "maps", + "MASS", + "mgcv", + "multcomp", + "munsell", + "nlme", + "profvis", + "quantreg", + "quarto", + "ragg (>= 1.2.6)", + "RColorBrewer", + "roxygen2", + "rpart", + "sf (>= 0.7-3)", + "svglite (>= 2.1.2)", + "testthat (>= 3.1.5)", "tibble", - "vctrs", - "withr" + "vdiffr (>= 1.0.6)", + "xml2" + ], + "Enhances": [ + "sp" ], - "Hash": "44c6a2f8202d5b7e878ea274b1092426" + "VignetteBuilder": "quarto", + "Config/Needs/website": "ggtext, tidyr, forcats, tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Config/usethis/last-upkeep": "2025-04-23", + "Encoding": "UTF-8", + "LazyData": "true", + "RoxygenNote": "7.3.3", + "Collate": "'ggproto.R' 'ggplot-global.R' 'aaa-.R' 'aes-colour-fill-alpha.R' 'aes-evaluation.R' 'aes-group-order.R' 'aes-linetype-size-shape.R' 'aes-position.R' 'all-classes.R' 'compat-plyr.R' 'utilities.R' 'aes.R' 'annotation-borders.R' 'utilities-checks.R' 'legend-draw.R' 'geom-.R' 'annotation-custom.R' 'annotation-logticks.R' 'scale-type.R' 'layer.R' 'make-constructor.R' 'geom-polygon.R' 'geom-map.R' 'annotation-map.R' 'geom-raster.R' 'annotation-raster.R' 'annotation.R' 'autolayer.R' 'autoplot.R' 'axis-secondary.R' 'backports.R' 'bench.R' 'bin.R' 'coord-.R' 'coord-cartesian-.R' 'coord-fixed.R' 'coord-flip.R' 'coord-map.R' 'coord-munch.R' 'coord-polar.R' 'coord-quickmap.R' 'coord-radial.R' 'coord-sf.R' 'coord-transform.R' 'data.R' 'docs_layer.R' 'facet-.R' 'facet-grid-.R' 'facet-null.R' 'facet-wrap.R' 'fortify-map.R' 'fortify-models.R' 'fortify-spatial.R' 'fortify.R' 'stat-.R' 'geom-abline.R' 'geom-rect.R' 'geom-bar.R' 'geom-tile.R' 'geom-bin2d.R' 'geom-blank.R' 'geom-boxplot.R' 'geom-col.R' 'geom-path.R' 'geom-contour.R' 'geom-point.R' 'geom-count.R' 'geom-crossbar.R' 'geom-segment.R' 'geom-curve.R' 'geom-defaults.R' 'geom-ribbon.R' 'geom-density.R' 'geom-density2d.R' 'geom-dotplot.R' 'geom-errorbar.R' 'geom-freqpoly.R' 'geom-function.R' 'geom-hex.R' 'geom-histogram.R' 'geom-hline.R' 'geom-jitter.R' 'geom-label.R' 'geom-linerange.R' 'geom-pointrange.R' 'geom-quantile.R' 'geom-rug.R' 'geom-sf.R' 'geom-smooth.R' 'geom-spoke.R' 'geom-text.R' 'geom-violin.R' 'geom-vline.R' 'ggplot2-package.R' 'grob-absolute.R' 'grob-dotstack.R' 'grob-null.R' 'grouping.R' 'properties.R' 'margins.R' 'theme-elements.R' 'guide-.R' 'guide-axis.R' 'guide-axis-logticks.R' 'guide-axis-stack.R' 'guide-axis-theta.R' 'guide-legend.R' 'guide-bins.R' 'guide-colorbar.R' 'guide-colorsteps.R' 'guide-custom.R' 'guide-none.R' 'guide-old.R' 'guides-.R' 'guides-grid.R' 'hexbin.R' 'import-standalone-obj-type.R' 'import-standalone-types-check.R' 'labeller.R' 'labels.R' 'layer-sf.R' 'layout.R' 'limits.R' 'performance.R' 'plot-build.R' 'plot-construction.R' 'plot-last.R' 'plot.R' 'position-.R' 'position-collide.R' 'position-dodge.R' 'position-dodge2.R' 'position-identity.R' 'position-jitter.R' 'position-jitterdodge.R' 'position-nudge.R' 'position-stack.R' 'quick-plot.R' 'reshape-add-margins.R' 'save.R' 'scale-.R' 'scale-alpha.R' 'scale-binned.R' 'scale-brewer.R' 'scale-colour.R' 'scale-continuous.R' 'scale-date.R' 'scale-discrete-.R' 'scale-expansion.R' 'scale-gradient.R' 'scale-grey.R' 'scale-hue.R' 'scale-identity.R' 'scale-linetype.R' 'scale-linewidth.R' 'scale-manual.R' 'scale-shape.R' 'scale-size.R' 'scale-steps.R' 'scale-view.R' 'scale-viridis.R' 'scales-.R' 'stat-align.R' 'stat-bin.R' 'stat-summary-2d.R' 'stat-bin2d.R' 'stat-bindot.R' 'stat-binhex.R' 'stat-boxplot.R' 'stat-connect.R' 'stat-contour.R' 'stat-count.R' 'stat-density-2d.R' 'stat-density.R' 'stat-ecdf.R' 'stat-ellipse.R' 'stat-function.R' 'stat-identity.R' 'stat-manual.R' 'stat-qq-line.R' 'stat-qq.R' 'stat-quantilemethods.R' 'stat-sf-coordinates.R' 'stat-sf.R' 'stat-smooth-methods.R' 'stat-smooth.R' 'stat-sum.R' 'stat-summary-bin.R' 'stat-summary-hex.R' 'stat-summary.R' 'stat-unique.R' 'stat-ydensity.R' 'summarise-plot.R' 'summary.R' 'theme.R' 'theme-defaults.R' 'theme-current.R' 'theme-sub.R' 'utilities-break.R' 'utilities-grid.R' 'utilities-help.R' 'utilities-patterns.R' 'utilities-resolution.R' 'utilities-tidy-eval.R' 'zxx.R' 'zzz.R'", + "NeedsCompilation": "no", + "Author": "Hadley Wickham [aut] (ORCID: ), Winston Chang [aut] (ORCID: ), Lionel Henry [aut], Thomas Lin Pedersen [aut, cre] (ORCID: ), Kohske Takahashi [aut], Claus Wilke [aut] (ORCID: ), Kara Woo [aut] (ORCID: ), Hiroaki Yutani [aut] (ORCID: ), Dewey Dunnington [aut] (ORCID: ), Teun van den Brand [aut] (ORCID: ), Posit, PBC [cph, fnd] (ROR: )", + "Maintainer": "Thomas Lin Pedersen ", + "Repository": "CRAN" }, "ggpubr": { "Package": "ggpubr", - "Version": "0.6.0", + "Version": "0.6.3", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cowplot", - "dplyr", - "ggplot2", - "ggrepel", + "Type": "Package", + "Title": "'ggplot2' Based Publication Ready Plots", + "Authors@R": "c( person(\"Alboukadel\", \"Kassambara\", role = c(\"aut\", \"cre\"), email = \"alboukadel.kassambara@gmail.com\"), person(\"Laszlo\", \"Erdey\", role = \"ctb\", email = \"erdey.laszlo@econ.unideb.hu\", comment = \"Faculty of Economics and Business, University of Debrecen, Hungary\"))", + "Description": "The 'ggplot2' package is excellent and flexible for elegant data visualization in R. However the default generated plots requires some formatting before we can send them for publication. Furthermore, to customize a 'ggplot', the syntax is opaque and this raises the level of difficulty for researchers with no advanced R programming skills. 'ggpubr' provides some easy-to-use functions for creating and customizing 'ggplot2'- based publication ready plots.", + "License": "GPL (>= 2)", + "LazyData": "TRUE", + "Encoding": "UTF-8", + "Depends": [ + "R (>= 4.1.0)", + "ggplot2 (>= 3.5.2)" + ], + "Imports": [ + "ggrepel (>= 0.9.2)", + "grid", "ggsci", + "stats", + "utils", + "tidyr (>= 1.3.0)", + "purrr", + "dplyr (>= 1.1.0)", + "cowplot (>= 1.1.1)", "ggsignif", - "glue", - "grid", + "scales", "gridExtra", - "magrittr", + "glue", "polynom", - "purrr", - "rlang", - "rstatix", - "scales", - "stats", + "rlang (>= 0.4.6)", + "rstatix (>= 0.7.2)", "tibble", - "tidyr", - "utils" + "magrittr" + ], + "Suggests": [ + "grDevices", + "knitr", + "RColorBrewer", + "gtable", + "testthat" ], - "Hash": "c957612b8bb1ee9ab7b2450d26663e7e" + "URL": "https://rpkgs.datanovia.com/ggpubr/", + "BugReports": "https://github.com/kassambara/ggpubr/issues", + "RoxygenNote": "7.3.3", + "Collate": "'utilities_color.R' 'utilities_base.R' 'desc_statby.R' 'utilities.R' 'add_summary.R' 'annotate_figure.R' 'as_ggplot.R' 'as_npc.R' 'axis_scale.R' 'background_image.R' 'bgcolor.R' 'border.R' 'compare_means.R' 'create_aes.R' 'diff_express.R' 'facet.R' 'font.R' 'gene_citation.R' 'gene_expression.R' 'geom_bracket.R' 'geom_exec.R' 'utils-aes.R' 'utils_stat_test_label.R' 'geom_pwc.R' 'get_breaks.R' 'get_coord.R' 'get_legend.R' 'get_palette.R' 'ggadd.R' 'ggadjust_pvalue.R' 'ggarrange.R' 'ggballoonplot.R' 'ggpar.R' 'ggbarplot.R' 'ggboxplot.R' 'ggdensity.R' 'ggpie.R' 'ggdonutchart.R' 'stat_conf_ellipse.R' 'stat_chull.R' 'ggdotchart.R' 'ggdotplot.R' 'ggecdf.R' 'ggerrorplot.R' 'ggexport.R' 'gghistogram.R' 'ggline.R' 'ggmaplot.R' 'ggpaired.R' 'ggparagraph.R' 'ggpubr-package.R' 'ggpubr_args.R' 'ggpubr_options.R' 'ggqqplot.R' 'utilities_label.R' 'stat_cor.R' 'stat_stars.R' 'ggscatter.R' 'ggscatterhist.R' 'ggstripchart.R' 'ggsummarystats.R' 'ggtext.R' 'ggtexttable.R' 'ggviolin.R' 'gradient_color.R' 'grids.R' 'npc_to_data_coord.R' 'reexports.R' 'rotate.R' 'rotate_axis_text.R' 'rremove.R' 'set_palette.R' 'shared_docs.R' 'show_line_types.R' 'show_point_shapes.R' 'stat_anova_test.R' 'stat_central_tendency.R' 'stat_compare_means.R' 'stat_friedman_test.R' 'stat_kruskal_test.R' 'stat_mean.R' 'stat_overlay_normal_density.R' 'stat_pvalue_manual.R' 'stat_regline_equation.R' 'stat_welch_anova_test.R' 'text_grob.R' 'theme_pubr.R' 'theme_transparent.R' 'utils-geom-signif.R' 'utils-pipe.R' 'utils-tidyr.R'", + "NeedsCompilation": "no", + "Author": "Alboukadel Kassambara [aut, cre], Laszlo Erdey [ctb] (Faculty of Economics and Business, University of Debrecen, Hungary)", + "Maintainer": "Alboukadel Kassambara ", + "Repository": "CRAN" }, "ggrepel": { "Package": "ggrepel", - "Version": "0.9.6", + "Version": "0.9.7", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "Rcpp", - "ggplot2", + "Authors@R": "c( person(\"Kamil\", \"Slowikowski\", email = \"kslowikowski@gmail.com\", role = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0002-2843-6370\")), person(\"Teun\", \"van den Brand\", role = \"ctb\", comment = c(ORCID = \"0000-0002-9335-7468\")), person(\"Alicia\", \"Schep\", role = \"ctb\", comment = c(ORCID = \"0000-0002-3915-0618\")), person(\"Sean\", \"Hughes\", role = \"ctb\", comment = c(ORCID = \"0000-0002-9409-9405\")), person(\"Trung Kien\", \"Dang\", role = \"ctb\", comment = c(ORCID = \"0000-0001-7562-6495\")), person(\"Saulius\", \"Lukauskas\", role = \"ctb\"), person(\"Jean-Olivier\", \"Irisson\", role = \"ctb\", comment = c(ORCID = \"0000-0003-4920-3880\")), person(\"Zhian N\", \"Kamvar\", role = \"ctb\", comment = c(ORCID = \"0000-0003-1458-7108\")), person(\"Thompson\", \"Ryan\", role = \"ctb\", comment = c(ORCID = \"0000-0002-0450-8181\")), person(\"Dervieux\", \"Christophe\", role = \"ctb\", comment = c(ORCID = \"0000-0003-4474-2498\")), person(\"Yutani\", \"Hiroaki\", role = \"ctb\"), person(\"Pierre\", \"Gramme\", role = \"ctb\"), person(\"Amir Masoud\", \"Abdol\", role = \"ctb\"), person(\"Malcolm\", \"Barrett\", role = \"ctb\", comment = c(ORCID = \"0000-0003-0299-5825\")), person(\"Robrecht\", \"Cannoodt\", role = \"ctb\", comment = c(ORCID = \"0000-0003-3641-729X\")), person(\"Michał\", \"Krassowski\", role = \"ctb\", comment = c(ORCID = \"0000-0002-9638-7785\")), person(\"Michael\", \"Chirico\", role = \"ctb\", comment = c(ORCID = \"0000-0003-0787-087X\")), person(\"Pedro\", \"Aphalo\", role = \"ctb\", comment = c(ORCID = \"0000-0003-3385-972X\")), person(\"Francis\", \"Barton\", role = \"ctb\") )", + "Title": "Automatically Position Non-Overlapping Text Labels with 'ggplot2'", + "Description": "Provides text and label geoms for 'ggplot2' that help to avoid overlapping text labels. Labels repel away from each other and away from the data points.", + "Depends": [ + "R (>= 4.5.0)", + "ggplot2 (>= 3.5.2)" + ], + "Imports": [ "grid", - "rlang", - "scales", - "withr" + "Rcpp", + "rlang (>= 1.1.6)", + "S7", + "scales (>= 1.4.0)", + "withr (>= 3.0.2)" + ], + "Suggests": [ + "knitr", + "rmarkdown", + "testthat", + "svglite", + "vdiffr", + "gridExtra", + "ggpp", + "patchwork", + "devtools", + "prettydoc", + "ggbeeswarm", + "dplyr", + "magrittr", + "readr", + "stringr", + "marquee", + "rsvg", + "sf" + ], + "VignetteBuilder": "knitr", + "License": "GPL-3 | file LICENSE", + "URL": "https://ggrepel.slowkow.com/, https://github.com/slowkow/ggrepel", + "BugReports": "https://github.com/slowkow/ggrepel/issues", + "RoxygenNote": "7.3.3", + "LinkingTo": [ + "Rcpp" ], - "Hash": "3d4156850acc1161f2f24bc61c9217c1" + "Encoding": "UTF-8", + "NeedsCompilation": "yes", + "Author": "Kamil Slowikowski [aut, cre] (ORCID: ), Teun van den Brand [ctb] (ORCID: ), Alicia Schep [ctb] (ORCID: ), Sean Hughes [ctb] (ORCID: ), Trung Kien Dang [ctb] (ORCID: ), Saulius Lukauskas [ctb], Jean-Olivier Irisson [ctb] (ORCID: ), Zhian N Kamvar [ctb] (ORCID: ), Thompson Ryan [ctb] (ORCID: ), Dervieux Christophe [ctb] (ORCID: ), Yutani Hiroaki [ctb], Pierre Gramme [ctb], Amir Masoud Abdol [ctb], Malcolm Barrett [ctb] (ORCID: ), Robrecht Cannoodt [ctb] (ORCID: ), Michał Krassowski [ctb] (ORCID: ), Michael Chirico [ctb] (ORCID: ), Pedro Aphalo [ctb] (ORCID: ), Francis Barton [ctb]", + "Maintainer": "Kamil Slowikowski ", + "Repository": "CRAN" }, "ggsci": { "Package": "ggsci", - "Version": "3.2.0", + "Version": "4.2.0", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "ggplot2", + "Type": "Package", + "Title": "Scientific Journal and Sci-Fi Themed Color Palettes for 'ggplot2'", + "Authors@R": "c( person(\"Nan\", \"Xiao\", email = \"me@nanx.me\", role = c(\"aut\", \"cre\", \"cph\"), comment = c(ORCID = \"0000-0002-0250-5673\")), person(\"Joshua\", \"Cook\", email = \"joshuacook0023@gmail.com\", role = \"ctb\"), person(\"Clara\", \"Jégousse\", email = \"cat3@hi.is\", role = \"ctb\"), person(\"Hui\", \"Chen\", email = \"huichen@zju.edu.cn\", role = \"ctb\"), person(\"Miaozhu\", \"Li\", email = \"miaozhu.li@duke.edu\", role = \"ctb\"), person(\"iTerm2-Color-Schemes contributors\", role = c(\"ctb\", \"cph\"), comment = \"iTerm2-Color-Schemes project\"), person(\"Winston\", \"Chang\", role = c(\"ctb\", \"cph\"), comment = \"staticimports.R\") )", + "Maintainer": "Nan Xiao ", + "Description": "A collection of 'ggplot2' color palettes inspired by plots in scientific journals, data visualization libraries, science fiction movies, and TV shows.", + "License": "GPL (>= 3)", + "URL": "https://nanx.me/ggsci/, https://github.com/nanxstats/ggsci", + "BugReports": "https://github.com/nanxstats/ggsci/issues", + "Depends": [ + "R (>= 3.5.0)" + ], + "Imports": [ + "ggplot2 (>= 2.0.0)", "grDevices", + "rlang", "scales" ], - "Hash": "0c3268cddf4d3a3ce4e7e6330f8e92c8" + "Suggests": [ + "gridExtra", + "knitr", + "ragg", + "rmarkdown" + ], + "VignetteBuilder": "knitr", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.3", + "NeedsCompilation": "no", + "Author": "Nan Xiao [aut, cre, cph] (ORCID: ), Joshua Cook [ctb], Clara Jégousse [ctb], Hui Chen [ctb], Miaozhu Li [ctb], iTerm2-Color-Schemes contributors [ctb, cph] (iTerm2-Color-Schemes project), Winston Chang [ctb, cph] (staticimports.R)", + "Repository": "CRAN" }, "ggsignif": { "Package": "ggsignif", "Version": "0.6.4", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "ggplot2" + "Type": "Package", + "Title": "Significance Brackets for 'ggplot2'", + "Authors@R": "c( person(given = \"Constantin\", family = \"Ahlmann-Eltze\", role = c(\"aut\", \"cre\", \"ctb\"), email = \"artjom31415@googlemail.com\", comment = c(ORCID = \"0000-0002-3762-068X\", Twitter = \"@const_ae\")), person(given = \"Indrajeet\", family = \"Patil\", role = c(\"aut\", \"ctb\"), email = \"patilindrajeet.science@gmail.com\", comment = c(ORCID = \"0000-0003-1995-6531\", Twitter = \"@patilindrajeets\")) )", + "Description": "Enrich your 'ggplots' with group-wise comparisons. This package provides an easy way to indicate if two groups are significantly different. Commonly this is shown by a bracket on top connecting the groups of interest which itself is annotated with the level of significance (NS, *, **, ***). The package provides a single layer (geom_signif()) that takes the groups for comparison and the test (t.test(), wilcox.text() etc.) as arguments and adds the annotation to the plot.", + "License": "GPL-3 | file LICENSE", + "URL": "https://const-ae.github.io/ggsignif/, https://github.com/const-ae/ggsignif", + "VignetteBuilder": "knitr", + "Encoding": "UTF-8", + "Language": "en-US", + "Imports": [ + "ggplot2 (>= 3.3.5)" ], - "Hash": "a57f0f5dbcfd0d77ad4ff33032f5dc79" + "Suggests": [ + "knitr", + "rmarkdown", + "testthat", + "vdiffr (>= 1.0.2)" + ], + "RoxygenNote": "7.2.1", + "Config/testthat/edition": "3", + "Config/testthat/parallel": "true", + "NeedsCompilation": "no", + "Author": "Constantin Ahlmann-Eltze [aut, cre, ctb] (, @const_ae), Indrajeet Patil [aut, ctb] (, @patilindrajeets)", + "Maintainer": "Constantin Ahlmann-Eltze ", + "Repository": "CRAN" }, "glue": { "Package": "glue", "Version": "1.8.0", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", + "Title": "Interpreted String Literals", + "Authors@R": "c( person(\"Jim\", \"Hester\", role = \"aut\", comment = c(ORCID = \"0000-0002-2739-7082\")), person(\"Jennifer\", \"Bryan\", , \"jenny@posit.co\", role = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0002-6983-2759\")), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")) )", + "Description": "An implementation of interpreted string literals, inspired by Python's Literal String Interpolation and Docstrings and Julia's Triple-Quoted String Literals .", + "License": "MIT + file LICENSE", + "URL": "https://glue.tidyverse.org/, https://github.com/tidyverse/glue", + "BugReports": "https://github.com/tidyverse/glue/issues", + "Depends": [ + "R (>= 3.6)" + ], + "Imports": [ "methods" ], - "Hash": "5899f1eaa825580172bb56c08266f37c" + "Suggests": [ + "crayon", + "DBI (>= 1.2.0)", + "dplyr", + "knitr", + "magrittr", + "rlang", + "rmarkdown", + "RSQLite", + "testthat (>= 3.2.0)", + "vctrs (>= 0.3.0)", + "waldo (>= 0.5.3)", + "withr" + ], + "VignetteBuilder": "knitr", + "ByteCompile": "true", + "Config/Needs/website": "bench, forcats, ggbeeswarm, ggplot2, R.utils, rprintf, tidyr, tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "NeedsCompilation": "yes", + "Author": "Jim Hester [aut] (), Jennifer Bryan [aut, cre] (), Posit Software, PBC [cph, fnd]", + "Maintainer": "Jennifer Bryan ", + "Repository": "CRAN" }, "gridExtra": { "Package": "gridExtra", "Version": "2.3", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ + "Authors@R": "c(person(\"Baptiste\", \"Auguie\", email = \"baptiste.auguie@gmail.com\", role = c(\"aut\", \"cre\")), person(\"Anton\", \"Antonov\", email = \"tonytonov@gmail.com\", role = c(\"ctb\")))", + "License": "GPL (>= 2)", + "Title": "Miscellaneous Functions for \"Grid\" Graphics", + "Type": "Package", + "Description": "Provides a number of user-level functions to work with \"grid\" graphics, notably to arrange multiple grid-based plots on a page, and draw tables.", + "VignetteBuilder": "knitr", + "Imports": [ + "gtable", + "grid", "grDevices", "graphics", - "grid", - "gtable", "utils" ], - "Hash": "7d7f283939f563670a697165b2cf5560" + "Suggests": [ + "ggplot2", + "egg", + "lattice", + "knitr", + "testthat" + ], + "RoxygenNote": "6.0.1", + "NeedsCompilation": "no", + "Author": "Baptiste Auguie [aut, cre], Anton Antonov [ctb]", + "Maintainer": "Baptiste Auguie ", + "Repository": "CRAN" }, "gtable": { "Package": "gtable", "Version": "0.3.6", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", + "Title": "Arrange 'Grobs' in Tables", + "Authors@R": "c( person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = \"aut\"), person(\"Thomas Lin\", \"Pedersen\", , \"thomas.pedersen@posit.co\", role = c(\"aut\", \"cre\")), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")) )", + "Description": "Tools to make it easier to work with \"tables\" of 'grobs'. The 'gtable' package defines a 'gtable' grob class that specifies a grid along with a list of grobs and their placement in the grid. Further the package makes it easy to manipulate and combine 'gtable' objects so that complex compositions can be built up sequentially.", + "License": "MIT + file LICENSE", + "URL": "https://gtable.r-lib.org, https://github.com/r-lib/gtable", + "BugReports": "https://github.com/r-lib/gtable/issues", + "Depends": [ + "R (>= 4.0)" + ], + "Imports": [ "cli", "glue", "grid", "lifecycle", - "rlang", + "rlang (>= 1.1.0)", "stats" ], - "Hash": "de949855009e2d4d0e52a844e30617ae" + "Suggests": [ + "covr", + "ggplot2", + "knitr", + "profvis", + "rmarkdown", + "testthat (>= 3.0.0)" + ], + "VignetteBuilder": "knitr", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Config/usethis/last-upkeep": "2024-10-25", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "NeedsCompilation": "no", + "Author": "Hadley Wickham [aut], Thomas Lin Pedersen [aut, cre], Posit Software, PBC [cph, fnd]", + "Maintainer": "Thomas Lin Pedersen ", + "Repository": "CRAN" }, "hms": { "Package": "hms", - "Version": "1.1.3", + "Version": "1.1.4", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ + "Title": "Pretty Time of Day", + "Date": "2025-10-11", + "Authors@R": "c( person(\"Kirill\", \"Müller\", , \"kirill@cynkra.com\", role = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0002-1416-3412\")), person(\"R Consortium\", role = \"fnd\"), person(\"Posit Software, PBC\", role = \"fnd\", comment = c(ROR = \"03wc8by49\")) )", + "Description": "Implements an S3 class for storing and formatting time-of-day values, based on the 'difftime' class.", + "License": "MIT + file LICENSE", + "URL": "https://hms.tidyverse.org/, https://github.com/tidyverse/hms", + "BugReports": "https://github.com/tidyverse/hms/issues", + "Imports": [ + "cli", "lifecycle", "methods", "pkgconfig", - "rlang", - "vctrs" + "rlang (>= 1.0.2)", + "vctrs (>= 0.3.8)" + ], + "Suggests": [ + "crayon", + "lubridate", + "pillar (>= 1.1.0)", + "testthat (>= 3.0.0)" ], - "Hash": "b59377caa7ed00fa41808342002138f9" + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.3.9000", + "NeedsCompilation": "no", + "Author": "Kirill Müller [aut, cre] (ORCID: ), R Consortium [fnd], Posit Software, PBC [fnd] (ROR: )", + "Maintainer": "Kirill Müller ", + "Repository": "CRAN" }, "impute": { "Package": "impute", - "Version": "1.80.0", + "Version": "1.84.0", "Source": "Bioconductor", - "Repository": "Bioconductor 3.20", - "Requirements": [ - "R" + "Title": "impute: Imputation for microarray data", + "Author": "Trevor Hastie, Robert Tibshirani, Balasubramanian Narasimhan, Gilbert Chu", + "Description": "Imputation for microarray data (currently KNN only)", + "Maintainer": "Balasubramanian Narasimhan ", + "Depends": [ + "R (>= 2.10)" ], - "Hash": "29d374397f11092b3ff6d9c038141f21" + "License": "GPL-2", + "biocViews": "Microarray", + "Repository": "https://bioc-release.r-universe.dev", + "RemoteUrl": "https://github.com/bioc/impute", + "RemoteRef": "RELEASE_3_22", + "RemoteSha": "987333765032b156b0b3bb09a5defb85043d9520", + "NeedsCompilation": "yes" }, "isoband": { "Package": "isoband", - "Version": "0.2.7", + "Version": "0.3.0", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ + "Title": "Generate Isolines and Isobands from Regularly Spaced Elevation Grids", + "Authors@R": "c( person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = \"aut\", comment = c(ORCID = \"0000-0003-4757-117X\")), person(\"Claus O.\", \"Wilke\", , \"wilke@austin.utexas.edu\", role = \"aut\", comment = c(\"Original author\", ORCID = \"0000-0002-7470-9261\")), person(\"Thomas Lin\", \"Pedersen\", , \"thomas.pedersen@posit.co\", role = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0002-5147-4711\")), person(\"Posit, PBC\", role = c(\"cph\", \"fnd\"), comment = c(ROR = \"03wc8by49\")) )", + "Description": "A fast C++ implementation to generate contour lines (isolines) and contour polygons (isobands) from regularly spaced grids containing elevation data.", + "License": "MIT + file LICENSE", + "URL": "https://isoband.r-lib.org, https://github.com/r-lib/isoband", + "BugReports": "https://github.com/r-lib/isoband/issues", + "Imports": [ + "cli", "grid", + "rlang", "utils" ], - "Hash": "0080607b4a1a7b28979aecef976d8bc2" + "Suggests": [ + "covr", + "ggplot2", + "knitr", + "magick", + "bench", + "rmarkdown", + "sf", + "testthat (>= 3.0.0)", + "xml2" + ], + "VignetteBuilder": "knitr", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Config/usethis/last-upkeep": "2025-12-05", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.3", + "Config/build/compilation-database": "true", + "LinkingTo": [ + "cpp11" + ], + "NeedsCompilation": "yes", + "Author": "Hadley Wickham [aut] (ORCID: ), Claus O. Wilke [aut] (Original author, ORCID: ), Thomas Lin Pedersen [aut, cre] (ORCID: ), Posit, PBC [cph, fnd] (ROR: )", + "Maintainer": "Thomas Lin Pedersen ", + "Repository": "CRAN" }, "jsonlite": { "Package": "jsonlite", - "Version": "1.8.9", + "Version": "2.0.0", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ + "Title": "A Simple and Robust JSON Parser and Generator for R", + "License": "MIT + file LICENSE", + "Depends": [ "methods" ], - "Hash": "4e993b65c2c3ffbffce7bb3e2c6f832b" + "Authors@R": "c( person(\"Jeroen\", \"Ooms\", role = c(\"aut\", \"cre\"), email = \"jeroenooms@gmail.com\", comment = c(ORCID = \"0000-0002-4035-0289\")), person(\"Duncan\", \"Temple Lang\", role = \"ctb\"), person(\"Lloyd\", \"Hilaiel\", role = \"cph\", comment=\"author of bundled libyajl\"))", + "URL": "https://jeroen.r-universe.dev/jsonlite https://arxiv.org/abs/1403.2805", + "BugReports": "https://github.com/jeroen/jsonlite/issues", + "Maintainer": "Jeroen Ooms ", + "VignetteBuilder": "knitr, R.rsp", + "Description": "A reasonably fast JSON parser and generator, optimized for statistical data and the web. Offers simple, flexible tools for working with JSON in R, and is particularly powerful for building pipelines and interacting with a web API. The implementation is based on the mapping described in the vignette (Ooms, 2014). In addition to converting JSON data from/to R objects, 'jsonlite' contains functions to stream, validate, and prettify JSON data. The unit tests included with the package verify that all edge cases are encoded and decoded consistently for use with dynamic data in systems and applications.", + "Suggests": [ + "httr", + "vctrs", + "testthat", + "knitr", + "rmarkdown", + "R.rsp", + "sf" + ], + "RoxygenNote": "7.3.2", + "Encoding": "UTF-8", + "NeedsCompilation": "yes", + "Author": "Jeroen Ooms [aut, cre] (), Duncan Temple Lang [ctb], Lloyd Hilaiel [cph] (author of bundled libyajl)", + "Repository": "CRAN" }, "labeling": { "Package": "labeling", "Version": "0.4.3", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "graphics", - "stats" + "Type": "Package", + "Title": "Axis Labeling", + "Date": "2023-08-29", + "Author": "Justin Talbot,", + "Maintainer": "Nuno Sempere ", + "Description": "Functions which provide a range of axis labeling algorithms.", + "License": "MIT + file LICENSE | Unlimited", + "Collate": "'labeling.R'", + "NeedsCompilation": "no", + "Imports": [ + "stats", + "graphics" ], - "Hash": "b64ec208ac5bc1852b285f665d6368b3" + "Repository": "CRAN" }, "lattice": { "Package": "lattice", - "Version": "0.22-6", + "Version": "0.22-9", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", + "Date": "2026-02-03", + "Priority": "recommended", + "Title": "Trellis Graphics for R", + "Authors@R": "c(person(\"Deepayan\", \"Sarkar\", role = c(\"aut\", \"cre\"), email = \"deepayan.sarkar@r-project.org\", comment = c(ORCID = \"0000-0003-4107-1553\")), person(\"Felix\", \"Andrews\", role = \"ctb\"), person(\"Kevin\", \"Wright\", role = \"ctb\", comment = \"documentation\"), person(\"Neil\", \"Klepeis\", role = \"ctb\"), person(\"Johan\", \"Larsson\", role = \"ctb\", comment = \"miscellaneous improvements\"), person(\"Zhijian (Jason)\", \"Wen\", role = \"cph\", comment = \"filled contour code\"), person(\"Paul\", \"Murrell\", role = \"ctb\", email = \"paul@stat.auckland.ac.nz\"), person(\"Stefan\", \"Eng\", role = \"ctb\", comment = \"violin plot improvements\"), person(\"Achim\", \"Zeileis\", role = \"ctb\", comment = \"modern colors\"), person(\"Alexandre\", \"Courtiol\", role = \"ctb\", comment = \"generics for larrows, lpolygon, lrect and lsegments\") )", + "Description": "A powerful and elegant high-level data visualization system inspired by Trellis graphics, with an emphasis on multivariate data. Lattice is sufficient for typical graphics needs, and is also flexible enough to handle most nonstandard requirements. See ?Lattice for an introduction.", + "Depends": [ + "R (>= 4.0.0)" + ], + "Suggests": [ + "KernSmooth", + "MASS", + "latticeExtra", + "colorspace" + ], + "Imports": [ + "grid", "grDevices", "graphics", - "grid", "stats", "utils" ], - "Hash": "cc5ac1ba4c238c7ca9fa6a87ca11a7e2" + "Enhances": [ + "chron", + "zoo" + ], + "LazyLoad": "yes", + "LazyData": "yes", + "License": "GPL (>= 2)", + "URL": "https://lattice.r-forge.r-project.org/", + "BugReports": "https://github.com/deepayan/lattice/issues", + "NeedsCompilation": "yes", + "Author": "Deepayan Sarkar [aut, cre] (ORCID: ), Felix Andrews [ctb], Kevin Wright [ctb] (documentation), Neil Klepeis [ctb], Johan Larsson [ctb] (miscellaneous improvements), Zhijian (Jason) Wen [cph] (filled contour code), Paul Murrell [ctb], Stefan Eng [ctb] (violin plot improvements), Achim Zeileis [ctb] (modern colors), Alexandre Courtiol [ctb] (generics for larrows, lpolygon, lrect and lsegments)", + "Maintainer": "Deepayan Sarkar ", + "Repository": "CRAN" }, "lifecycle": { "Package": "lifecycle", - "Version": "1.0.4", + "Version": "1.0.5", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "glue", - "rlang" + "Title": "Manage the Life Cycle of your Package Functions", + "Authors@R": "c( person(\"Lionel\", \"Henry\", , \"lionel@posit.co\", role = c(\"aut\", \"cre\")), person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = \"aut\", comment = c(ORCID = \"0000-0003-4757-117X\")), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")) )", + "Description": "Manage the life cycle of your exported functions with shared conventions, documentation badges, and user-friendly deprecation warnings.", + "License": "MIT + file LICENSE", + "URL": "https://lifecycle.r-lib.org/, https://github.com/r-lib/lifecycle", + "BugReports": "https://github.com/r-lib/lifecycle/issues", + "Depends": [ + "R (>= 3.6)" ], - "Hash": "b8552d117e1b808b09a832f589b79035" + "Imports": [ + "cli (>= 3.4.0)", + "rlang (>= 1.1.0)" + ], + "Suggests": [ + "covr", + "knitr", + "lintr (>= 3.1.0)", + "rmarkdown", + "testthat (>= 3.0.1)", + "tibble", + "tidyverse", + "tools", + "vctrs", + "withr", + "xml2" + ], + "VignetteBuilder": "knitr", + "Config/Needs/website": "tidyverse/tidytemplate, usethis", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.3", + "NeedsCompilation": "no", + "Author": "Lionel Henry [aut, cre], Hadley Wickham [aut] (ORCID: ), Posit Software, PBC [cph, fnd]", + "Maintainer": "Lionel Henry ", + "Repository": "CRAN" }, "lme4": { "Package": "lme4", - "Version": "1.1-35.5", + "Version": "2.0-1", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "MASS", + "Title": "Linear Mixed-Effects Models using 'Eigen' and S4", + "Authors@R": "c(person(\"Douglas\", \"Bates\", role = \"aut\", comment = c(ORCID = \"0000-0001-8316-9503\")), person(\"Martin\", \"Maechler\", role = \"aut\", comment = c(ORCID = \"0000-0002-8685-9910\")), person(\"Ben\", \"Bolker\", role = c(\"cre\", \"aut\"), email = \"bbolker+lme4@gmail.com\", comment = c(ORCID = \"0000-0002-2127-0443\")), person(\"Steven\", \"Walker\", role = \"aut\", comment = c(ORCID = \"0000-0002-4394-9078\")), person(\"Rune Haubo Bojesen\", \"Christensen\", role = \"ctb\", comment = c(ORCID = \"0000-0002-4494-3399\")), person(\"Henrik\", \"Singmann\", role = \"ctb\", comment = c(ORCID = \"0000-0002-4842-3657\")), person(\"Bin\", \"Dai\", role = \"ctb\"), person(\"Fabian\", \"Scheipl\", role = \"ctb\", comment = c(ORCID = \"0000-0001-8172-3603\")), person(\"Gabor\", \"Grothendieck\", role = \"ctb\"), person(\"Peter\", \"Green\", role = \"ctb\", comment = c(ORCID = \"0000-0002-0238-9852\")), person(\"John\", \"Fox\", role = \"ctb\"), person(\"Alexander\", \"Bauer\", role = \"ctb\"), person(\"Pavel N.\", \"Krivitsky\", role = c(\"ctb\", \"cph\"), comment = c(ORCID = \"0000-0002-9101-3362\", \"shared copyright on simulate.formula\")), person(\"Emi\", \"Tanaka\", role = \"ctb\", comment = c(ORCID = \"0000-0002-1455-259X\")), person(\"Mikael\", \"Jagan\", role = \"aut\", comment = c(ORCID = \"0000-0002-3542-2938\")), person(\"Ross D.\", \"Boylan\", role = \"ctb\", comment = c(ORCID = \"0009-0003-4123-8090\")), person(\"Anna\", \"Ly\", role = \"aut\", comment = c(ORCID = \"0000-0002-0210-0342\")))", + "Description": "Fit linear and generalized linear mixed-effects models. The models and their components are represented using S4 classes and methods. The core computational algorithms are implemented using the 'Eigen' C++ library for numerical linear algebra and 'RcppEigen' \"glue\".", + "Depends": [ + "R (>= 3.6)", "Matrix", - "R", - "Rcpp", - "RcppEigen", + "methods", + "stats" + ], + "LinkingTo": [ + "Matrix (>= 1.5-0)", + "Rcpp (>= 0.10.5)", + "RcppEigen (>= 0.3.3.9.4)" + ], + "Imports": [ + "MASS", + "Rdpack", "boot", "graphics", "grid", "lattice", - "methods", - "minqa", - "nlme", - "nloptr", + "minqa (>= 1.1.15)", + "nlme (>= 3.1-123)", + "nloptr (>= 1.0.4)", "parallel", + "reformulas (>= 0.4.3.1)", + "rlang", "splines", - "stats", "utils" ], - "Hash": "16a08fc75007da0d08e0c0388c7c33e6" + "Suggests": [ + "HSAUR3", + "MEMSS", + "car", + "dfoptim", + "gamm4", + "ggplot2", + "glmmTMB", + "knitr", + "merDeriv", + "mgcv", + "mlmRev", + "numDeriv", + "optimx (>= 2013.8.6)", + "pbkrtest", + "rmarkdown", + "rr2", + "semEff", + "statmod", + "testthat (>= 0.8.1)", + "tibble" + ], + "Enhances": [ + "DHARMa", + "performance" + ], + "RdMacros": "Rdpack", + "VignetteBuilder": "knitr", + "LazyData": "yes", + "License": "GPL (>= 2)", + "URL": "https://github.com/lme4/lme4/", + "BugReports": "https://github.com/lme4/lme4/issues", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.3", + "NeedsCompilation": "yes", + "Author": "Douglas Bates [aut] (ORCID: ), Martin Maechler [aut] (ORCID: ), Ben Bolker [cre, aut] (ORCID: ), Steven Walker [aut] (ORCID: ), Rune Haubo Bojesen Christensen [ctb] (ORCID: ), Henrik Singmann [ctb] (ORCID: ), Bin Dai [ctb], Fabian Scheipl [ctb] (ORCID: ), Gabor Grothendieck [ctb], Peter Green [ctb] (ORCID: ), John Fox [ctb], Alexander Bauer [ctb], Pavel N. Krivitsky [ctb, cph] (ORCID: , shared copyright on simulate.formula), Emi Tanaka [ctb] (ORCID: ), Mikael Jagan [aut] (ORCID: ), Ross D. Boylan [ctb] (ORCID: ), Anna Ly [aut] (ORCID: )", + "Maintainer": "Ben Bolker ", + "Repository": "CRAN" + }, + "lmtest": { + "Package": "lmtest", + "Version": "0.9-40", + "Source": "Repository", + "Title": "Testing Linear Regression Models", + "Date": "2022-03-21", + "Authors@R": "c(person(given = \"Torsten\", family = \"Hothorn\", role = \"aut\", email = \"Torsten.Hothorn@R-project.org\", comment = c(ORCID = \"0000-0001-8301-0471\")), person(given = \"Achim\", family = \"Zeileis\", role = c(\"aut\", \"cre\"), email = \"Achim.Zeileis@R-project.org\", comment = c(ORCID = \"0000-0003-0918-3766\")), person(given = c(\"Richard\", \"W.\"), family = \"Farebrother\", role = \"aut\", comment = \"pan.f\"), person(given = \"Clint\", family = \"Cummins\", role = \"aut\", comment = \"pan.f\"), person(given = \"Giovanni\", family = \"Millo\", role = \"ctb\"), person(given = \"David\", family = \"Mitchell\", role = \"ctb\"))", + "Description": "A collection of tests, data sets, and examples for diagnostic checking in linear regression models. Furthermore, some generic tools for inference in parametric models are provided.", + "LazyData": "yes", + "Depends": [ + "R (>= 3.0.0)", + "stats", + "zoo" + ], + "Suggests": [ + "car", + "strucchange", + "sandwich", + "dynlm", + "stats4", + "survival", + "AER" + ], + "Imports": [ + "graphics" + ], + "License": "GPL-2 | GPL-3", + "NeedsCompilation": "yes", + "Author": "Torsten Hothorn [aut] (), Achim Zeileis [aut, cre] (), Richard W. Farebrother [aut] (pan.f), Clint Cummins [aut] (pan.f), Giovanni Millo [ctb], David Mitchell [ctb]", + "Maintainer": "Achim Zeileis ", + "Repository": "CRAN" }, "magrittr": { "Package": "magrittr", - "Version": "2.0.3", + "Version": "2.0.4", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" + "Type": "Package", + "Title": "A Forward-Pipe Operator for R", + "Authors@R": "c( person(\"Stefan Milton\", \"Bache\", , \"stefan@stefanbache.dk\", role = c(\"aut\", \"cph\"), comment = \"Original author and creator of magrittr\"), person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = \"aut\"), person(\"Lionel\", \"Henry\", , \"lionel@posit.co\", role = \"cre\"), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"), comment = c(ROR = \"03wc8by49\")) )", + "Description": "Provides a mechanism for chaining commands with a new forward-pipe operator, %>%. This operator will forward a value, or the result of an expression, into the next function call/expression. There is flexible support for the type of right-hand side expressions. For more information, see package vignette. To quote Rene Magritte, \"Ceci n'est pas un pipe.\"", + "License": "MIT + file LICENSE", + "URL": "https://magrittr.tidyverse.org, https://github.com/tidyverse/magrittr", + "BugReports": "https://github.com/tidyverse/magrittr/issues", + "Depends": [ + "R (>= 3.4.0)" + ], + "Suggests": [ + "covr", + "knitr", + "rlang", + "rmarkdown", + "testthat" ], - "Hash": "7ce2733a9826b3aeb1775d56fd305472" + "VignetteBuilder": "knitr", + "ByteCompile": "Yes", + "Config/Needs/website": "tidyverse/tidytemplate", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.3", + "NeedsCompilation": "yes", + "Author": "Stefan Milton Bache [aut, cph] (Original author and creator of magrittr), Hadley Wickham [aut], Lionel Henry [cre], Posit Software, PBC [cph, fnd] (ROR: )", + "Maintainer": "Lionel Henry ", + "Repository": "CRAN" }, "matrixStats": { "Package": "matrixStats", - "Version": "1.4.1", + "Version": "1.5.0", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" + "Depends": [ + "R (>= 3.4.0)" ], - "Hash": "8885ffb1f46e820dede6b2ca9442abca" + "Suggests": [ + "utils", + "base64enc", + "ggplot2", + "knitr", + "markdown", + "microbenchmark", + "R.devices", + "R.rsp" + ], + "VignetteBuilder": "R.rsp", + "Title": "Functions that Apply to Rows and Columns of Matrices (and to Vectors)", + "Authors@R": "c( person(\"Henrik\", \"Bengtsson\", role=c(\"aut\", \"cre\", \"cph\"), email=\"henrikb@braju.com\"), person(\"Constantin\", \"Ahlmann-Eltze\", role = \"ctb\"), person(\"Hector\", \"Corrada Bravo\", role=\"ctb\"), person(\"Robert\", \"Gentleman\", role=\"ctb\"), person(\"Jan\", \"Gleixner\", role=\"ctb\"), person(\"Peter\", \"Hickey\", role=\"ctb\"), person(\"Ola\", \"Hossjer\", role=\"ctb\"), person(\"Harris\", \"Jaffee\", role=\"ctb\"), person(\"Dongcan\", \"Jiang\", role=\"ctb\"), person(\"Peter\", \"Langfelder\", role=\"ctb\"), person(\"Brian\", \"Montgomery\", role=\"ctb\"), person(\"Angelina\", \"Panagopoulou\", role=\"ctb\"), person(\"Hugh\", \"Parsonage\", role=\"ctb\"), person(\"Jakob Peder\", \"Pettersen\", role=\"ctb\"))", + "Author": "Henrik Bengtsson [aut, cre, cph], Constantin Ahlmann-Eltze [ctb], Hector Corrada Bravo [ctb], Robert Gentleman [ctb], Jan Gleixner [ctb], Peter Hickey [ctb], Ola Hossjer [ctb], Harris Jaffee [ctb], Dongcan Jiang [ctb], Peter Langfelder [ctb], Brian Montgomery [ctb], Angelina Panagopoulou [ctb], Hugh Parsonage [ctb], Jakob Peder Pettersen [ctb]", + "Maintainer": "Henrik Bengtsson ", + "Description": "High-performing functions operating on rows and columns of matrices, e.g. col / rowMedians(), col / rowRanks(), and col / rowSds(). Functions optimized per data type and for subsetted calculations such that both memory usage and processing time is minimized. There are also optimized vector-based methods, e.g. binMeans(), madDiff() and weightedMedian().", + "License": "Artistic-2.0", + "LazyLoad": "TRUE", + "NeedsCompilation": "yes", + "ByteCompile": "TRUE", + "URL": "https://github.com/HenrikBengtsson/matrixStats", + "BugReports": "https://github.com/HenrikBengtsson/matrixStats/issues", + "RoxygenNote": "7.3.2", + "Repository": "CRAN" }, "mclust": { "Package": "mclust", - "Version": "6.1.1", + "Version": "6.1.2", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "grDevices", - "graphics", + "Date": "2025-10-30", + "Title": "Gaussian Mixture Modelling for Model-Based Clustering, Classification, and Density Estimation", + "Description": "Gaussian finite mixture models fitted via EM algorithm for model-based clustering, classification, and density estimation, including Bayesian regularization, dimension reduction for visualisation, and resampling-based inference.", + "Authors@R": "c(person(\"Chris\", \"Fraley\", role = \"aut\"), person(\"Adrian E.\", \"Raftery\", role = \"aut\", comment = c(ORCID = \"0000-0002-6589-301X\")), person(\"Luca\", \"Scrucca\", role = c(\"aut\", \"cre\"), email = \"luca.scrucca@unibo.it\", comment = c(ORCID = \"0000-0003-3826-0484\")), person(\"Thomas Brendan\", \"Murphy\", role = \"ctb\", comment = c(ORCID = \"0000-0002-5668-7046\")), person(\"Michael\", \"Fop\", role = \"ctb\", comment = c(ORCID = \"0000-0003-3936-2757\")))", + "Depends": [ + "R (>= 3.0)" + ], + "Imports": [ "stats", - "utils" + "utils", + "graphics", + "grDevices" + ], + "Suggests": [ + "knitr (>= 1.4)", + "rmarkdown (>= 2.10)", + "mix (>= 1.0)", + "geometry (>= 0.4)", + "MASS" ], - "Hash": "aa9cfd45e2c3297213e270d000d80655" + "License": "GPL (>= 2)", + "URL": "https://mclust-org.github.io/mclust/", + "VignetteBuilder": "knitr", + "Repository": "CRAN", + "ByteCompile": "true", + "NeedsCompilation": "yes", + "LazyData": "yes", + "Encoding": "UTF-8", + "Author": "Chris Fraley [aut], Adrian E. Raftery [aut] (ORCID: ), Luca Scrucca [aut, cre] (ORCID: ), Thomas Brendan Murphy [ctb] (ORCID: ), Michael Fop [ctb] (ORCID: )", + "Maintainer": "Luca Scrucca " }, "mgcv": { "Package": "mgcv", - "Version": "1.9-1", + "Version": "1.9-4", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "Matrix", - "R", - "graphics", + "Authors@R": "person(given = \"Simon\", family = \"Wood\", role = c(\"aut\", \"cre\"), email = \"simon.wood@r-project.org\")", + "Title": "Mixed GAM Computation Vehicle with Automatic Smoothness Estimation", + "Description": "Generalized additive (mixed) models, some of their extensions and other generalized ridge regression with multiple smoothing parameter estimation by (Restricted) Marginal Likelihood, Cross Validation and similar, or using iterated nested Laplace approximation for fully Bayesian inference. See Wood (2025) for an overview. Includes a gam() function, a wide variety of smoothers, 'JAGS' support and distributions beyond the exponential family.", + "Priority": "recommended", + "Depends": [ + "R (>= 4.4.0)", + "nlme (>= 3.1-64)" + ], + "Imports": [ "methods", - "nlme", - "splines", "stats", + "graphics", + "Matrix", + "splines", "utils" ], - "Hash": "110ee9d83b496279960e162ac97764ce" + "Suggests": [ + "parallel", + "survival", + "MASS" + ], + "LazyLoad": "yes", + "ByteCompile": "yes", + "License": "GPL (>= 2)", + "NeedsCompilation": "yes", + "Author": "Simon Wood [aut, cre]", + "Maintainer": "Simon Wood ", + "Repository": "CRAN" }, "microbenchmark": { "Package": "microbenchmark", "Version": "1.5.0", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", + "Title": "Accurate Timing Functions", + "Description": "Provides infrastructure to accurately measure and compare the execution time of R expressions.", + "Authors@R": "c(person(\"Olaf\", \"Mersmann\", role=c(\"aut\")), person(\"Claudia\", \"Beleites\", role=c(\"ctb\")), person(\"Rainer\", \"Hurling\", role=c(\"ctb\")), person(\"Ari\", \"Friedman\", role=c(\"ctb\")), person(given=c(\"Joshua\",\"M.\"), family=\"Ulrich\", role=\"cre\", email=\"josh.m.ulrich@gmail.com\"))", + "URL": "https://github.com/joshuaulrich/microbenchmark/", + "BugReports": "https://github.com/joshuaulrich/microbenchmark/issues/", + "License": "BSD_2_clause + file LICENSE", + "Depends": [ + "R (>= 3.2.0)" + ], + "Imports": [ "graphics", "stats" ], - "Hash": "f9d226d88d4087d817d4e616626ce8e5" + "Suggests": [ + "ggplot2", + "multcomp", + "RUnit" + ], + "SystemRequirements": "On a Unix-alike, one of the C functions mach_absolute_time (macOS), clock_gettime or gethrtime. If none of these is found, the obsolescent POSIX function gettimeofday will be tried.", + "ByteCompile": "yes", + "NeedsCompilation": "yes", + "Author": "Olaf Mersmann [aut], Claudia Beleites [ctb], Rainer Hurling [ctb], Ari Friedman [ctb], Joshua M. Ulrich [cre]", + "Maintainer": "Joshua M. Ulrich ", + "Repository": "CRAN" }, "minqa": { "Package": "minqa", "Version": "1.2.8", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ + "Type": "Package", + "Title": "Derivative-Free Optimization Algorithms by Quadratic Approximation", + "Authors@R": "c(person(given = \"Douglas\", family = \"Bates\", role = \"aut\"), person(given = c(\"Katharine\", \"M.\"), family = \"Mullen\", role = c(\"aut\", \"cre\"), email = \"katharine.mullen@stat.ucla.edu\"), person(given = c(\"John\", \"C.\"), family = \"Nash\", role = \"aut\"), person(given = \"Ravi\", family = \"Varadhan\", role = \"aut\"))", + "Maintainer": "Katharine M. Mullen ", + "Description": "Derivative-free optimization by quadratic approximation based on an interface to Fortran implementations by M. J. D. Powell.", + "License": "GPL-2", + "URL": "http://optimizer.r-forge.r-project.org", + "Imports": [ + "Rcpp (>= 0.9.10)" + ], + "LinkingTo": [ "Rcpp" ], - "Hash": "785ef8e22389d4a7634c6c944f2dc07d" + "SystemRequirements": "GNU make", + "NeedsCompilation": "yes", + "Repository": "CRAN", + "Author": "Douglas Bates [aut], Katharine M. Mullen [aut, cre], John C. Nash [aut], Ravi Varadhan [aut]" }, "modelr": { "Package": "modelr", "Version": "0.1.11", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", + "Title": "Modelling Functions that Work with the Pipe", + "Authors@R": "c( person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = c(\"aut\", \"cre\")), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")) )", + "Description": "Functions for modelling that help you seamlessly integrate modelling into a pipeline of data manipulation and visualisation.", + "License": "GPL-3", + "URL": "https://modelr.tidyverse.org, https://github.com/tidyverse/modelr", + "BugReports": "https://github.com/tidyverse/modelr/issues", + "Depends": [ + "R (>= 3.2)" + ], + "Imports": [ "broom", "magrittr", - "purrr", - "rlang", + "purrr (>= 0.2.2)", + "rlang (>= 1.0.6)", "tibble", - "tidyr", + "tidyr (>= 0.8.0)", "tidyselect", "vctrs" ], - "Hash": "4f50122dc256b1b6996a4703fecea821" - }, - "munsell": { - "Package": "munsell", - "Version": "0.5.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "colorspace", - "methods" + "Suggests": [ + "compiler", + "covr", + "ggplot2", + "testthat (>= 3.0.0)" ], - "Hash": "4fd8900853b746af55b81fda99da7695" + "Config/Needs/website": "tidyverse/tidytemplate", + "Encoding": "UTF-8", + "LazyData": "true", + "RoxygenNote": "7.2.3", + "Config/testthat/edition": "3", + "NeedsCompilation": "no", + "Author": "Hadley Wickham [aut, cre], Posit Software, PBC [cph, fnd]", + "Maintainer": "Hadley Wickham ", + "Repository": "CRAN" }, "nlme": { "Package": "nlme", - "Version": "3.1-166", + "Version": "3.1-168", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", + "Date": "2025-03-31", + "Priority": "recommended", + "Title": "Linear and Nonlinear Mixed Effects Models", + "Authors@R": "c(person(\"José\", \"Pinheiro\", role = \"aut\", comment = \"S version\"), person(\"Douglas\", \"Bates\", role = \"aut\", comment = \"up to 2007\"), person(\"Saikat\", \"DebRoy\", role = \"ctb\", comment = \"up to 2002\"), person(\"Deepayan\", \"Sarkar\", role = \"ctb\", comment = \"up to 2005\"), person(\"EISPACK authors\", role = \"ctb\", comment = \"src/rs.f\"), person(\"Siem\", \"Heisterkamp\", role = \"ctb\", comment = \"Author fixed sigma\"), person(\"Bert\", \"Van Willigen\",role = \"ctb\", comment = \"Programmer fixed sigma\"), person(\"Johannes\", \"Ranke\", role = \"ctb\", comment = \"varConstProp()\"), person(\"R Core Team\", email = \"R-core@R-project.org\", role = c(\"aut\", \"cre\"), comment = c(ROR = \"02zz1nj61\")))", + "Contact": "see 'MailingList'", + "Description": "Fit and compare Gaussian linear and nonlinear mixed-effects models.", + "Depends": [ + "R (>= 3.6.0)" + ], + "Imports": [ "graphics", - "lattice", "stats", - "utils" + "utils", + "lattice" + ], + "Suggests": [ + "MASS", + "SASmixed" ], - "Hash": "ccbb8846be320b627e6aa2b4616a2ded" + "LazyData": "yes", + "Encoding": "UTF-8", + "License": "GPL (>= 2)", + "BugReports": "https://bugs.r-project.org", + "MailingList": "R-help@r-project.org", + "URL": "https://svn.r-project.org/R-packages/trunk/nlme/", + "NeedsCompilation": "yes", + "Author": "José Pinheiro [aut] (S version), Douglas Bates [aut] (up to 2007), Saikat DebRoy [ctb] (up to 2002), Deepayan Sarkar [ctb] (up to 2005), EISPACK authors [ctb] (src/rs.f), Siem Heisterkamp [ctb] (Author fixed sigma), Bert Van Willigen [ctb] (Programmer fixed sigma), Johannes Ranke [ctb] (varConstProp()), R Core Team [aut, cre] (02zz1nj61)", + "Maintainer": "R Core Team ", + "Repository": "CRAN" }, "nloptr": { "Package": "nloptr", - "Version": "2.1.1", + "Version": "2.2.1", "Source": "Repository", - "Repository": "CRAN", - "Hash": "27550641889a3abf3aec4d91186311ec" + "Type": "Package", + "Title": "R Interface to NLopt", + "Authors@R": "c(person(\"Jelmer\", \"Ypma\", role = \"aut\", email = \"uctpjyy@ucl.ac.uk\"), person(c(\"Steven\", \"G.\"), \"Johnson\", role = \"aut\", comment = \"author of the NLopt C library\"), person(\"Aymeric\", \"Stamm\", role = c(\"ctb\", \"cre\"), email = \"aymeric.stamm@cnrs.fr\", comment = c(ORCID = \"0000-0002-8725-3654\")), person(c(\"Hans\", \"W.\"), \"Borchers\", role = \"ctb\", email = \"hwborchers@googlemail.com\"), person(\"Dirk\", \"Eddelbuettel\", role = \"ctb\", email = \"edd@debian.org\"), person(\"Brian\", \"Ripley\", role = \"ctb\", comment = \"build process on multiple OS\"), person(\"Kurt\", \"Hornik\", role = \"ctb\", comment = \"build process on multiple OS\"), person(\"Julien\", \"Chiquet\", role = \"ctb\"), person(\"Avraham\", \"Adler\", role = \"ctb\", email = \"Avraham.Adler@gmail.com\", comment = c(ORCID = \"0000-0002-3039-0703\")), person(\"Xiongtao\", \"Dai\", role = \"ctb\"), person(\"Jeroen\", \"Ooms\", role = \"ctb\", email = \"jeroen@berkeley.edu\"), person(\"Tomas\", \"Kalibera\", role = \"ctb\"), person(\"Mikael\", \"Jagan\", role = \"ctb\"))", + "Description": "Solve optimization problems using an R interface to NLopt. NLopt is a free/open-source library for nonlinear optimization, providing a common interface for a number of different free optimization routines available online as well as original implementations of various other algorithms. See for more information on the available algorithms. Building from included sources requires 'CMake'. On Linux and 'macOS', if a suitable system build of NLopt (2.7.0 or later) is found, it is used; otherwise, it is built from included sources via 'CMake'. On Windows, NLopt is obtained through 'rwinlib' for 'R <= 4.1.x' or grabbed from the appropriate toolchain for 'R >= 4.2.0'.", + "License": "LGPL (>= 3)", + "SystemRequirements": "cmake (>= 3.2.0) which is used only on Linux or macOS systems when no system build of nlopt (>= 2.7.0) can be found.", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "Suggests": [ + "knitr", + "rmarkdown", + "covr", + "tinytest" + ], + "VignetteBuilder": "knitr", + "URL": "https://github.com/astamm/nloptr, https://astamm.github.io/nloptr/", + "BugReports": "https://github.com/astamm/nloptr/issues", + "NeedsCompilation": "yes", + "UseLTO": "yes", + "Author": "Jelmer Ypma [aut], Steven G. Johnson [aut] (author of the NLopt C library), Aymeric Stamm [ctb, cre] (), Hans W. Borchers [ctb], Dirk Eddelbuettel [ctb], Brian Ripley [ctb] (build process on multiple OS), Kurt Hornik [ctb] (build process on multiple OS), Julien Chiquet [ctb], Avraham Adler [ctb] (), Xiongtao Dai [ctb], Jeroen Ooms [ctb], Tomas Kalibera [ctb], Mikael Jagan [ctb]", + "Maintainer": "Aymeric Stamm ", + "Repository": "CRAN" }, "nnet": { "Package": "nnet", - "Version": "7.3-19", + "Version": "7.3-20", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", + "Priority": "recommended", + "Date": "2025-01-01", + "Depends": [ + "R (>= 3.0.0)", "stats", "utils" ], - "Hash": "2c797b46eea7fb58ede195bc0b1f1138" + "Suggests": [ + "MASS" + ], + "Authors@R": "c(person(\"Brian\", \"Ripley\", role = c(\"aut\", \"cre\", \"cph\"), email = \"Brian.Ripley@R-project.org\"), person(\"William\", \"Venables\", role = \"cph\"))", + "Description": "Software for feed-forward neural networks with a single hidden layer, and for multinomial log-linear models.", + "Title": "Feed-Forward Neural Networks and Multinomial Log-Linear Models", + "ByteCompile": "yes", + "License": "GPL-2 | GPL-3", + "URL": "http://www.stats.ox.ac.uk/pub/MASS4/", + "NeedsCompilation": "yes", + "Author": "Brian Ripley [aut, cre, cph], William Venables [cph]", + "Maintainer": "Brian Ripley ", + "Repository": "CRAN" }, "numDeriv": { "Package": "numDeriv", "Version": "2016.8-1.1", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" + "Title": "Accurate Numerical Derivatives", + "Description": "Methods for calculating (usually) accurate numerical first and second order derivatives. Accurate calculations are done using 'Richardson''s' extrapolation or, when applicable, a complex step derivative is available. A simple difference method is also provided. Simple difference is (usually) less accurate but is much quicker than 'Richardson''s' extrapolation and provides a useful cross-check. Methods are provided for real scalar and vector valued functions.", + "Depends": [ + "R (>= 2.11.1)" ], - "Hash": "df58958f293b166e4ab885ebcad90e02" + "LazyLoad": "yes", + "ByteCompile": "yes", + "License": "GPL-2", + "Copyright": "2006-2011, Bank of Canada. 2012-2016, Paul Gilbert", + "Author": "Paul Gilbert and Ravi Varadhan", + "Maintainer": "Paul Gilbert ", + "URL": "http://optimizer.r-forge.r-project.org/", + "NeedsCompilation": "no", + "Repository": "CRAN" }, "pbkrtest": { "Package": "pbkrtest", - "Version": "0.5.3", + "Version": "0.5.5", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "MASS", - "Matrix", - "R", + "Title": "Parametric Bootstrap, Kenward-Roger and Satterthwaite Based Methods for Test in Mixed Models", + "Authors@R": "c( person(given = \"Ulrich\", family = \"Halekoh\", email = \"uhalekoh@health.sdu.dk\", role = c(\"aut\", \"cph\")), person(given = \"Søren\", family = \"Højsgaard\", email = \"sorenh@math.aau.dk\", role = c(\"aut\", \"cre\", \"cph\")) )", + "Maintainer": "Søren Højsgaard ", + "Description": "Computes p-values based on (a) Satterthwaite or Kenward-Rogers degree of freedom methods and (b) parametric bootstrap for mixed effects models as implemented in the 'lme4' package. Implements parametric bootstrap test for generalized linear mixed models as implemented in 'lme4' and generalized linear models. The package is documented in the paper by Halekoh and Højsgaard, (2012, ). Please see 'citation(\"pbkrtest\")' for citation details.", + "URL": "https://people.math.aau.dk/~sorenh/software/pbkrtest/", + "Depends": [ + "R (>= 4.2.0)", + "lme4 (>= 1.1.31)" + ], + "Imports": [ "broom", - "doBy", "dplyr", - "lme4", + "MASS", "methods", - "numDeriv" + "numDeriv", + "Matrix (>= 1.2.3)", + "doBy (>= 4.6.22)" + ], + "Suggests": [ + "nlme", + "markdown", + "knitr" ], - "Hash": "938e6bbc4ac57534f8b43224506a8966" + "Encoding": "UTF-8", + "VignetteBuilder": "knitr", + "License": "GPL (>= 2)", + "ByteCompile": "Yes", + "RoxygenNote": "7.3.2", + "LazyData": "true", + "NeedsCompilation": "no", + "Author": "Ulrich Halekoh [aut, cph], Søren Højsgaard [aut, cre, cph]", + "Repository": "CRAN" }, "philentropy": { "Package": "philentropy", - "Version": "0.9.0", + "Version": "0.10.0", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "KernSmooth", - "R", + "Type": "Package", + "Title": "Similarity and Distance Quantification Between Probability Functions", + "Authors@R": "c(person(\"Hajk-Georg\", \"Drost\", role = c(\"aut\", \"cre\"), email = \"hajk-georg.drost@tuebingen.mpg.de\", comment = c(ORCID = \"0000-0002-1567-306X\")), person(\"Jakub\", \"Nowosad\", role = c(\"ctb\"), email = \"nowosad.jakub@gmail.com\", comment = c(ORCID = \"0000-0002-1057-3721\")), person(\"Andrew\", \"Brown\", role = c(\"ctb\"), email = \"brown.andrewg@gmail.com\", comment = c(ORCID = \"0000-0002-4565-533X\")) )", + "Maintainer": "Hajk-Georg Drost ", + "Description": "Computes 46 optimized distance and similarity measures for comparing probability functions (Drost (2018) ). These comparisons between probability functions have their foundations in a broad range of scientific disciplines from mathematics to ecology. The aim of this package is to provide a core framework for clustering, classification, statistical inference, goodness-of-fit, non-parametric statistics, information theory, and machine learning tasks that are based on comparing univariate or multivariate probability functions.", + "Depends": [ + "R (>= 3.1.2)" + ], + "Imports": [ "Rcpp", + "RcppParallel", + "KernSmooth", "poorman" ], - "Hash": "e83d804e72aa8c81a8d4575e727b6c7b" + "License": "GPL-2", + "LinkingTo": [ + "Rcpp", + "RcppParallel" + ], + "URL": "https://drostlab.github.io/philentropy/, https://github.com/drostlab/philentropy", + "Suggests": [ + "testthat", + "knitr", + "rmarkdown", + "microbenchmark" + ], + "VignetteBuilder": "knitr", + "BugReports": "https://github.com/drostlab/philentropy/issues", + "RoxygenNote": "7.3.3", + "Encoding": "UTF-8", + "NeedsCompilation": "yes", + "Author": "Hajk-Georg Drost [aut, cre] (ORCID: ), Jakub Nowosad [ctb] (ORCID: ), Andrew Brown [ctb] (ORCID: )", + "Repository": "CRAN" }, "pillar": { "Package": "pillar", - "Version": "1.9.0", + "Version": "1.11.1", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "cli", - "fansi", + "Title": "Coloured Formatting for Columns", + "Authors@R": "c(person(given = \"Kirill\", family = \"M\\u00fcller\", role = c(\"aut\", \"cre\"), email = \"kirill@cynkra.com\", comment = c(ORCID = \"0000-0002-1416-3412\")), person(given = \"Hadley\", family = \"Wickham\", role = \"aut\"), person(given = \"RStudio\", role = \"cph\"))", + "Description": "Provides 'pillar' and 'colonnade' generics designed for formatting columns of data using the full range of colours provided by modern terminals.", + "License": "MIT + file LICENSE", + "URL": "https://pillar.r-lib.org/, https://github.com/r-lib/pillar", + "BugReports": "https://github.com/r-lib/pillar/issues", + "Imports": [ + "cli (>= 2.3.0)", "glue", "lifecycle", - "rlang", - "utf8", + "rlang (>= 1.0.2)", + "utf8 (>= 1.1.0)", "utils", - "vctrs" + "vctrs (>= 0.5.0)" + ], + "Suggests": [ + "bit64", + "DBI", + "debugme", + "DiagrammeR", + "dplyr", + "formattable", + "ggplot2", + "knitr", + "lubridate", + "nanotime", + "nycflights13", + "palmerpenguins", + "rmarkdown", + "scales", + "stringi", + "survival", + "testthat (>= 3.1.1)", + "tibble", + "units (>= 0.7.2)", + "vdiffr", + "withr" ], - "Hash": "15da5a8412f317beeee6175fbc76f4bb" + "VignetteBuilder": "knitr", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.3.9000", + "Config/testthat/edition": "3", + "Config/testthat/parallel": "true", + "Config/testthat/start-first": "format_multi_fuzz, format_multi_fuzz_2, format_multi, ctl_colonnade, ctl_colonnade_1, ctl_colonnade_2", + "Config/autostyle/scope": "line_breaks", + "Config/autostyle/strict": "true", + "Config/gha/extra-packages": "units=?ignore-before-r=4.3.0", + "Config/Needs/website": "tidyverse/tidytemplate", + "NeedsCompilation": "no", + "Author": "Kirill Müller [aut, cre] (ORCID: ), Hadley Wickham [aut], RStudio [cph]", + "Maintainer": "Kirill Müller ", + "Repository": "CRAN" + }, + "pkgbuild": { + "Package": "pkgbuild", + "Version": "1.4.8", + "Source": "Repository", + "Title": "Find Tools Needed to Build R Packages", + "Authors@R": "c( person(\"Hadley\", \"Wickham\", role = \"aut\"), person(\"Jim\", \"Hester\", role = \"aut\"), person(\"Gábor\", \"Csárdi\", , \"csardi.gabor@gmail.com\", role = c(\"aut\", \"cre\")), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"), comment = c(ROR = \"03wc8by49\")) )", + "Description": "Provides functions used to build R packages. Locates compilers needed to build R packages on various platforms and ensures the PATH is configured appropriately so R can use them.", + "License": "MIT + file LICENSE", + "URL": "https://github.com/r-lib/pkgbuild, https://pkgbuild.r-lib.org", + "BugReports": "https://github.com/r-lib/pkgbuild/issues", + "Depends": [ + "R (>= 3.5)" + ], + "Imports": [ + "callr (>= 3.2.0)", + "cli (>= 3.4.0)", + "desc", + "processx", + "R6" + ], + "Suggests": [ + "covr", + "cpp11", + "knitr", + "Rcpp", + "rmarkdown", + "testthat (>= 3.2.0)", + "withr (>= 2.3.0)" + ], + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Config/usethis/last-upkeep": "2025-04-30", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "NeedsCompilation": "no", + "Author": "Hadley Wickham [aut], Jim Hester [aut], Gábor Csárdi [aut, cre], Posit Software, PBC [cph, fnd] (ROR: )", + "Maintainer": "Gábor Csárdi ", + "Repository": "CRAN" }, "pkgconfig": { "Package": "pkgconfig", "Version": "2.0.3", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ + "Title": "Private Configuration for 'R' Packages", + "Author": "Gábor Csárdi", + "Maintainer": "Gábor Csárdi ", + "Description": "Set configuration options on a per-package basis. Options set by a given package only apply to that package, other packages are unaffected.", + "License": "MIT + file LICENSE", + "LazyData": "true", + "Imports": [ "utils" ], - "Hash": "01f28d4278f15c76cddbea05899c5d6f" + "Suggests": [ + "covr", + "testthat", + "disposables (>= 1.0.3)" + ], + "URL": "https://github.com/r-lib/pkgconfig#readme", + "BugReports": "https://github.com/r-lib/pkgconfig/issues", + "Encoding": "UTF-8", + "NeedsCompilation": "no", + "Repository": "CRAN" + }, + "pkgload": { + "Package": "pkgload", + "Version": "1.5.0", + "Source": "Repository", + "Title": "Simulate Package Installation and Attach", + "Authors@R": "c( person(\"Hadley\", \"Wickham\", role = \"aut\"), person(\"Winston\", \"Chang\", role = \"aut\"), person(\"Jim\", \"Hester\", role = \"aut\"), person(\"Lionel\", \"Henry\", , \"lionel@posit.co\", role = c(\"aut\", \"cre\")), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")), person(\"R Core team\", role = \"ctb\", comment = \"Some namespace and vignette code extracted from base R\") )", + "Description": "Simulates the process of installing a package and then attaching it. This is a key part of the 'devtools' package as it allows you to rapidly iterate while developing a package.", + "License": "MIT + file LICENSE", + "URL": "https://github.com/r-lib/pkgload, https://pkgload.r-lib.org", + "BugReports": "https://github.com/r-lib/pkgload/issues", + "Depends": [ + "R (>= 3.4.0)" + ], + "Imports": [ + "cli (>= 3.3.0)", + "desc", + "fs", + "glue", + "lifecycle", + "methods", + "pkgbuild", + "processx", + "rlang (>= 1.1.1)", + "rprojroot", + "utils" + ], + "Suggests": [ + "bitops", + "jsonlite", + "mathjaxr", + "pak", + "Rcpp", + "remotes", + "rstudioapi", + "testthat (>= 3.2.1.1)", + "usethis", + "withr" + ], + "Config/Needs/website": "tidyverse/tidytemplate, ggplot2", + "Config/testthat/edition": "3", + "Config/testthat/parallel": "TRUE", + "Config/testthat/start-first": "dll", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "NeedsCompilation": "no", + "Author": "Hadley Wickham [aut], Winston Chang [aut], Jim Hester [aut], Lionel Henry [aut, cre], Posit Software, PBC [cph, fnd], R Core team [ctb] (Some namespace and vignette code extracted from base R)", + "Maintainer": "Lionel Henry ", + "Repository": "CRAN" }, "polynom": { "Package": "polynom", "Version": "1.4-1", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "graphics", - "stats" + "Title": "A Collection of Functions to Implement a Class for Univariate Polynomial Manipulations", + "Authors@R": "c(person(\"Bill\", \"Venables\", role = c(\"aut\", \"cre\"), email = \"Bill.Venables@gmail.com\", comment = \"S original\"), person(\"Kurt\", \"Hornik\", role = \"aut\", email = \"Kurt.Hornik@R-project.org\", comment = \"R port\"), person(\"Martin\", \"Maechler\", role = \"aut\", email = \"maechler@stat.math.ethz.ch\", comment = \"R port\"))", + "Description": "A collection of functions to implement a class for univariate polynomial manipulations.", + "Imports": [ + "stats", + "graphics" ], - "Hash": "ceb5c2a59ba33d42d051285a3e8a5118" + "License": "GPL-2", + "NeedsCompilation": "no", + "Author": "Bill Venables [aut, cre] (S original), Kurt Hornik [aut] (R port), Martin Maechler [aut] (R port)", + "Maintainer": "Bill Venables ", + "Suggests": [ + "knitr", + "rmarkdown" + ], + "VignetteBuilder": "knitr", + "Repository": "CRAN" }, "poorman": { "Package": "poorman", "Version": "0.2.7", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" + "Type": "Package", + "Title": "A Poor Man's Dependency Free Recreation of 'dplyr'", + "Authors@R": "c( person(\"Nathan\", \"Eastwood\", \"\", \"nathan.eastwood@icloud.com\", role = c(\"aut\", \"cre\")), person(\"Etienne\", \"Bacher\", , \"etienne.bacher@protonmail.com\", role = \"ctb\", comment = c(ORCID = \"0000-0002-9271-5075\")))", + "Maintainer": "Nathan Eastwood ", + "Description": "A replication of key functionality from 'dplyr' and the wider 'tidyverse' using only 'base'.", + "URL": "https://nathaneastwood.github.io/poorman/, https://github.com/nathaneastwood/poorman", + "BugReports": "https://github.com/nathaneastwood/poorman/issues", + "Depends": [ + "R (>= 3.3)" ], - "Hash": "d0bb8a425a213bc38f2cf8f14ded8941" + "Suggests": [ + "knitr", + "rmarkdown", + "roxygen2", + "tinytest" + ], + "License": "MIT + file LICENSE", + "Encoding": "UTF-8", + "RoxygenNote": "7.2.1", + "VignetteBuilder": "knitr", + "Language": "en-GB", + "NeedsCompilation": "no", + "Author": "Nathan Eastwood [aut, cre], Etienne Bacher [ctb] ()", + "Repository": "CRAN" }, "posterior": { "Package": "posterior", - "Version": "1.6.0", + "Version": "1.6.1", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", + "Title": "Tools for Working with Posterior Distributions", + "Date": "2025-02-27", + "Authors@R": "c(person(\"Paul-Christian\", \"Bürkner\", email = \"paul.buerkner@gmail.com\", role = c(\"aut\", \"cre\")), person(\"Jonah\", \"Gabry\", email = \"jsg2201@columbia.edu\", role = c(\"aut\")), person(\"Matthew\", \"Kay\", email = \"mjskay@northwestern.edu\", role = c(\"aut\")), person(\"Aki\", \"Vehtari\", email = \"Aki.Vehtari@aalto.fi\", role = c(\"aut\")), person(\"Måns\", \"Magnusson\", role = c(\"ctb\")), person(\"Rok\", \"Češnovar\", role = c(\"ctb\")), person(\"Ben\", \"Lambert\", role = c(\"ctb\")), person(\"Ozan\", \"Adıgüzel\", role = c(\"ctb\")), person(\"Jacob\", \"Socolar\", role = c(\"ctb\")), person(\"Noa\", \"Kallioinen\", role = c(\"ctb\")))", + "Description": "Provides useful tools for both users and developers of packages for fitting Bayesian models or working with output from Bayesian models. The primary goals of the package are to: (a) Efficiently convert between many different useful formats of draws (samples) from posterior or prior distributions. (b) Provide consistent methods for operations commonly performed on draws, for example, subsetting, binding, or mutating draws. (c) Provide various summaries of draws in convenient formats. (d) Provide lightweight implementations of state of the art posterior inference diagnostics. References: Vehtari et al. (2021) .", + "Depends": [ + "R (>= 3.2.0)" + ], + "Imports": [ + "methods", "abind", "checkmate", - "distributional", - "matrixStats", - "methods", - "parallel", - "pillar", - "rlang", + "rlang (>= 1.0.6)", "stats", + "tibble (>= 3.1.0)", + "vctrs (>= 0.5.0)", "tensorA", - "tibble", - "vctrs" + "pillar", + "distributional", + "parallel", + "matrixStats" + ], + "Suggests": [ + "testthat (>= 2.1.0)", + "caret (>= 6.0-84)", + "gbm (>= 2.1.8)", + "randomForest (>= 4.6.14)", + "e1071 (>= 1.7-3)", + "dplyr", + "tidyr", + "knitr", + "ggplot2", + "ggdist", + "rmarkdown" ], - "Hash": "fc1213566f2ed9f0b15bef656ed1000b" + "License": "BSD_3_clause + file LICENSE", + "Encoding": "UTF-8", + "URL": "https://mc-stan.org/posterior/, https://discourse.mc-stan.org/", + "BugReports": "https://github.com/stan-dev/posterior/issues", + "RoxygenNote": "7.3.2", + "VignetteBuilder": "knitr", + "NeedsCompilation": "no", + "Author": "Paul-Christian Bürkner [aut, cre], Jonah Gabry [aut], Matthew Kay [aut], Aki Vehtari [aut], Måns Magnusson [ctb], Rok Češnovar [ctb], Ben Lambert [ctb], Ozan Adıgüzel [ctb], Jacob Socolar [ctb], Noa Kallioinen [ctb]", + "Maintainer": "Paul-Christian Bürkner ", + "Repository": "CRAN" + }, + "praise": { + "Package": "praise", + "Version": "1.0.0", + "Source": "Repository", + "Title": "Praise Users", + "Author": "Gabor Csardi, Sindre Sorhus", + "Maintainer": "Gabor Csardi ", + "Description": "Build friendly R packages that praise their users if they have done something good, or they just need it to feel better.", + "License": "MIT + file LICENSE", + "LazyData": "true", + "URL": "https://github.com/gaborcsardi/praise", + "BugReports": "https://github.com/gaborcsardi/praise/issues", + "Suggests": [ + "testthat" + ], + "Collate": "'adjective.R' 'adverb.R' 'exclamation.R' 'verb.R' 'rpackage.R' 'package.R'", + "NeedsCompilation": "no", + "Repository": "CRAN" }, "prettyunits": { "Package": "prettyunits", "Version": "1.2.0", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" + "Title": "Pretty, Human Readable Formatting of Quantities", + "Authors@R": "c( person(\"Gabor\", \"Csardi\", email=\"csardi.gabor@gmail.com\", role=c(\"aut\", \"cre\")), person(\"Bill\", \"Denney\", email=\"wdenney@humanpredictions.com\", role=c(\"ctb\"), comment=c(ORCID=\"0000-0002-5759-428X\")), person(\"Christophe\", \"Regouby\", email=\"christophe.regouby@free.fr\", role=c(\"ctb\")) )", + "Description": "Pretty, human readable formatting of quantities. Time intervals: '1337000' -> '15d 11h 23m 20s'. Vague time intervals: '2674000' -> 'about a month ago'. Bytes: '1337' -> '1.34 kB'. Rounding: '99' with 3 significant digits -> '99.0' p-values: '0.00001' -> '<0.0001'. Colors: '#FF0000' -> 'red'. Quantities: '1239437' -> '1.24 M'.", + "License": "MIT + file LICENSE", + "URL": "https://github.com/r-lib/prettyunits", + "BugReports": "https://github.com/r-lib/prettyunits/issues", + "Depends": [ + "R(>= 2.10)" + ], + "Suggests": [ + "codetools", + "covr", + "testthat" ], - "Hash": "6b01fc98b1e86c4f705ce9dcfd2f57c7" + "RoxygenNote": "7.2.3", + "Encoding": "UTF-8", + "NeedsCompilation": "no", + "Author": "Gabor Csardi [aut, cre], Bill Denney [ctb] (), Christophe Regouby [ctb]", + "Maintainer": "Gabor Csardi ", + "Repository": "CRAN" }, "processx": { "Package": "processx", - "Version": "3.8.4", + "Version": "3.8.6", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", + "Title": "Execute and Control System Processes", + "Authors@R": "c( person(\"Gábor\", \"Csárdi\", , \"csardi.gabor@gmail.com\", role = c(\"aut\", \"cre\", \"cph\"), comment = c(ORCID = \"0000-0001-7098-9676\")), person(\"Winston\", \"Chang\", role = \"aut\"), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")), person(\"Ascent Digital Services\", role = c(\"cph\", \"fnd\")) )", + "Description": "Tools to run system processes in the background. It can check if a background process is running; wait on a background process to finish; get the exit status of finished processes; kill background processes. It can read the standard output and error of the processes, using non-blocking connections. 'processx' can poll a process for standard output or error, with a timeout. It can also poll several processes at once.", + "License": "MIT + file LICENSE", + "URL": "https://processx.r-lib.org, https://github.com/r-lib/processx", + "BugReports": "https://github.com/r-lib/processx/issues", + "Depends": [ + "R (>= 3.4.0)" + ], + "Imports": [ + "ps (>= 1.2.0)", "R6", - "ps", "utils" ], - "Hash": "0c90a7d71988856bad2a2a45dd871bb9" + "Suggests": [ + "callr (>= 3.7.3)", + "cli (>= 3.3.0)", + "codetools", + "covr", + "curl", + "debugme", + "parallel", + "rlang (>= 1.0.2)", + "testthat (>= 3.0.0)", + "webfakes", + "withr" + ], + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.1.9000", + "NeedsCompilation": "yes", + "Author": "Gábor Csárdi [aut, cre, cph] (), Winston Chang [aut], Posit Software, PBC [cph, fnd], Ascent Digital Services [cph, fnd]", + "Maintainer": "Gábor Csárdi ", + "Repository": "CRAN" }, "progress": { "Package": "progress", "Version": "1.2.3", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "R6", + "Title": "Terminal Progress Bars", + "Authors@R": "c( person(\"Gábor\", \"Csárdi\", , \"csardi.gabor@gmail.com\", role = c(\"aut\", \"cre\")), person(\"Rich\", \"FitzJohn\", role = \"aut\"), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")) )", + "Description": "Configurable Progress bars, they may include percentage, elapsed time, and/or the estimated completion time. They work in terminals, in 'Emacs' 'ESS', 'RStudio', 'Windows' 'Rgui' and the 'macOS' 'R.app'. The package also provides a 'C++' 'API', that works with or without 'Rcpp'.", + "License": "MIT + file LICENSE", + "URL": "https://github.com/r-lib/progress#readme, http://r-lib.github.io/progress/", + "BugReports": "https://github.com/r-lib/progress/issues", + "Depends": [ + "R (>= 3.6)" + ], + "Imports": [ "crayon", "hms", - "prettyunits" + "prettyunits", + "R6" ], - "Hash": "f4625e061cb2865f111b47ff163a5ca6" + "Suggests": [ + "Rcpp", + "testthat (>= 3.0.0)", + "withr" + ], + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.2.3", + "NeedsCompilation": "no", + "Author": "Gábor Csárdi [aut, cre], Rich FitzJohn [aut], Posit Software, PBC [cph, fnd]", + "Maintainer": "Gábor Csárdi ", + "Repository": "CRAN" }, "ps": { "Package": "ps", - "Version": "1.8.1", + "Version": "1.9.1", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", + "Title": "List, Query, Manipulate System Processes", + "Authors@R": "c( person(\"Jay\", \"Loden\", role = \"aut\"), person(\"Dave\", \"Daeschler\", role = \"aut\"), person(\"Giampaolo\", \"Rodola'\", role = \"aut\"), person(\"Gábor\", \"Csárdi\", , \"csardi.gabor@gmail.com\", role = c(\"aut\", \"cre\")), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")) )", + "Description": "List, query and manipulate all system processes, on 'Windows', 'Linux' and 'macOS'.", + "License": "MIT + file LICENSE", + "URL": "https://github.com/r-lib/ps, https://ps.r-lib.org/", + "BugReports": "https://github.com/r-lib/ps/issues", + "Depends": [ + "R (>= 3.4)" + ], + "Imports": [ "utils" ], - "Hash": "b4404b1de13758dea1c0484ad0d48563" + "Suggests": [ + "callr", + "covr", + "curl", + "pillar", + "pingr", + "processx (>= 3.1.0)", + "R6", + "rlang", + "testthat (>= 3.0.0)", + "webfakes", + "withr" + ], + "Biarch": "true", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "NeedsCompilation": "yes", + "Author": "Jay Loden [aut], Dave Daeschler [aut], Giampaolo Rodola' [aut], Gábor Csárdi [aut, cre], Posit Software, PBC [cph, fnd]", + "Maintainer": "Gábor Csárdi ", + "Repository": "CRAN" }, "purrr": { "Package": "purrr", - "Version": "1.0.2", + "Version": "1.2.1", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "lifecycle", - "magrittr", - "rlang", - "vctrs" + "Title": "Functional Programming Tools", + "Authors@R": "c( person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0003-4757-117X\")), person(\"Lionel\", \"Henry\", , \"lionel@posit.co\", role = \"aut\"), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"), comment = c(ROR = \"https://ror.org/03wc8by49\")) )", + "Description": "A complete and consistent functional programming toolkit for R.", + "License": "MIT + file LICENSE", + "URL": "https://purrr.tidyverse.org/, https://github.com/tidyverse/purrr", + "BugReports": "https://github.com/tidyverse/purrr/issues", + "Depends": [ + "R (>= 4.1)" ], - "Hash": "1cba04a4e9414bdefc9dcaa99649a8dc" + "Imports": [ + "cli (>= 3.6.1)", + "lifecycle (>= 1.0.3)", + "magrittr (>= 1.5.0)", + "rlang (>= 1.1.1)", + "vctrs (>= 0.6.3)" + ], + "Suggests": [ + "carrier (>= 0.3.0)", + "covr", + "dplyr (>= 0.7.8)", + "httr", + "knitr", + "lubridate", + "mirai (>= 2.5.1)", + "rmarkdown", + "testthat (>= 3.0.0)", + "tibble", + "tidyselect" + ], + "LinkingTo": [ + "cli" + ], + "VignetteBuilder": "knitr", + "Biarch": "true", + "Config/build/compilation-database": "true", + "Config/Needs/website": "tidyverse/tidytemplate, tidyr", + "Config/testthat/edition": "3", + "Config/testthat/parallel": "TRUE", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.3", + "NeedsCompilation": "yes", + "Author": "Hadley Wickham [aut, cre] (ORCID: ), Lionel Henry [aut], Posit Software, PBC [cph, fnd] (ROR: )", + "Maintainer": "Hadley Wickham ", + "Repository": "CRAN" }, "quantreg": { "Package": "quantreg", - "Version": "5.99.1", + "Version": "6.1", "Source": "Repository", + "Title": "Quantile Regression", + "Description": "Estimation and inference methods for models for conditional quantile functions: Linear and nonlinear parametric and non-parametric (total variation penalized) models for conditional quantiles of a univariate response and several methods for handling censored survival data. Portfolio selection methods based on expected shortfall risk are also now included. See Koenker, R. (2005) Quantile Regression, Cambridge U. Press, and Koenker, R. et al. (2017) Handbook of Quantile Regression, CRC Press, .", + "Authors@R": "c( person(\"Roger\", \"Koenker\", role = c(\"cre\",\"aut\"), email = \"rkoenker@illinois.edu\"), person(\"Stephen\", \"Portnoy\", role = c(\"ctb\"), comment = \"Contributions to Censored QR code\", email = \"sportnoy@illinois.edu\"), person(c(\"Pin\", \"Tian\"), \"Ng\", role = c(\"ctb\"), comment = \"Contributions to Sparse QR code\", email = \"pin.ng@nau.edu\"), person(\"Blaise\", \"Melly\", role = c(\"ctb\"), comment = \"Contributions to preprocessing code\", email = \"mellyblaise@gmail.com\"), person(\"Achim\", \"Zeileis\", role = c(\"ctb\"), comment = \"Contributions to dynrq code essentially identical to his dynlm code\", email = \"Achim.Zeileis@uibk.ac.at\"), person(\"Philip\", \"Grosjean\", role = c(\"ctb\"), comment = \"Contributions to nlrq code\", email = \"phgrosjean@sciviews.org\"), person(\"Cleve\", \"Moler\", role = c(\"ctb\"), comment = \"author of several linpack routines\"), person(\"Yousef\", \"Saad\", role = c(\"ctb\"), comment = \"author of sparskit2\"), person(\"Victor\", \"Chernozhukov\", role = c(\"ctb\"), comment = \"contributions to extreme value inference code\"), person(\"Ivan\", \"Fernandez-Val\", role = c(\"ctb\"), comment = \"contributions to extreme value inference code\"), person(\"Martin\", \"Maechler\", role = \"ctb\", comment = c(\"tweaks (src/chlfct.f, 'tiny','Large')\", ORCID = \"0000-0002-8685-9910\")), person(c(\"Brian\", \"D\"), \"Ripley\", role = c(\"trl\",\"ctb\"), comment = \"Initial (2001) R port from S (to my everlasting shame -- how could I have been so slow to adopt R!) and for numerous other suggestions and useful advice\", email = \"ripley@stats.ox.ac.uk\"))", + "Maintainer": "Roger Koenker ", "Repository": "CRAN", - "Requirements": [ - "MASS", + "Depends": [ + "R (>= 3.5)", + "stats", + "SparseM" + ], + "Imports": [ + "methods", + "graphics", "Matrix", "MatrixModels", - "R", - "SparseM", - "graphics", - "methods", - "stats", - "survival" + "survival", + "MASS" + ], + "Suggests": [ + "interp", + "rgl", + "logspline", + "nor1mix", + "Formula", + "zoo", + "R.rsp", + "conquer" + ], + "License": "GPL (>= 2)", + "URL": "https://www.r-project.org", + "NeedsCompilation": "yes", + "VignetteBuilder": "R.rsp", + "Author": "Roger Koenker [cre, aut], Stephen Portnoy [ctb] (Contributions to Censored QR code), Pin Tian Ng [ctb] (Contributions to Sparse QR code), Blaise Melly [ctb] (Contributions to preprocessing code), Achim Zeileis [ctb] (Contributions to dynrq code essentially identical to his dynlm code), Philip Grosjean [ctb] (Contributions to nlrq code), Cleve Moler [ctb] (author of several linpack routines), Yousef Saad [ctb] (author of sparskit2), Victor Chernozhukov [ctb] (contributions to extreme value inference code), Ivan Fernandez-Val [ctb] (contributions to extreme value inference code), Martin Maechler [ctb] (tweaks (src/chlfct.f, 'tiny','Large'), ), Brian D Ripley [trl, ctb] (Initial (2001) R port from S (to my everlasting shame -- how could I have been so slow to adopt R!) and for numerous other suggestions and useful advice)" + }, + "rbibutils": { + "Package": "rbibutils", + "Version": "2.4.1", + "Source": "Repository", + "Type": "Package", + "Title": "Read 'Bibtex' Files and Convert Between Bibliography Formats", + "Authors@R": "c( person(given = c(\"Georgi\", \"N.\"), family = \"Boshnakov\", role = c(\"aut\", \"cre\"), \t email = \"georgi.boshnakov@manchester.ac.uk\", comment = c(ORCID = \"0000-0003-2839-346X\", \"R port, R code, new C code and modifications to bibutils' C code, conversion to Bibentry (R and C code)\") ), person(given = \"Chris\", family = \"Putman\", role = \"aut\", comment = \"src/*, author of the bibutils libraries, https://sourceforge.net/projects/bibutils/\"), person(given = \"Richard\", family = \"Mathar\", role = \"ctb\", comment = \"src/addsout.c\"), person(given = \"Johannes\", family = \"Wilm\", role = \"ctb\", comment = \"src/biblatexin.c, src/bltypes.c\"), person(\"R Core Team\", role = \"ctb\", comment = \"base R's bibentry and bibstyle implementation\") )", + "Description": "Read and write 'Bibtex' files. Convert between bibliography formats, including 'Bibtex', 'Biblatex', 'PubMed', 'Endnote', and 'Bibentry'. Includes a port of the 'bibutils' utilities by Chris Putnam . Supports all bibliography formats and character encodings implemented in 'bibutils'.", + "License": "GPL-2", + "URL": "https://geobosh.github.io/rbibutils/ (doc), https://CRAN.R-project.org/package=rbibutils", + "BugReports": "https://github.com/GeoBosh/rbibutils/issues", + "Depends": [ + "R (>= 2.10)" + ], + "Imports": [ + "utils", + "tools" + ], + "Suggests": [ + "testthat" ], - "Hash": "c48844cd7961de506a1b4d22b2e082c7" + "Encoding": "UTF-8", + "NeedsCompilation": "yes", + "Config/Needs/memcheck": "devtools, rcmdcheck", + "Author": "Georgi N. Boshnakov [aut, cre] (ORCID: , R port, R code, new C code and modifications to bibutils' C code, conversion to Bibentry (R and C code)), Chris Putman [aut] (src/*, author of the bibutils libraries, https://sourceforge.net/projects/bibutils/), Richard Mathar [ctb] (src/addsout.c), Johannes Wilm [ctb] (src/biblatexin.c, src/bltypes.c), R Core Team [ctb] (base R's bibentry and bibstyle implementation)", + "Maintainer": "Georgi N. Boshnakov ", + "Repository": "CRAN" }, "readr": { "Package": "readr", - "Version": "2.1.5", + "Version": "2.2.0", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "R6", + "Title": "Read Rectangular Text Data", + "Authors@R": "c( person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = \"aut\"), person(\"Jim\", \"Hester\", role = \"aut\"), person(\"Romain\", \"Francois\", role = \"ctb\"), person(\"Jennifer\", \"Bryan\", , \"jenny@posit.co\", role = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0002-6983-2759\")), person(\"Shelby\", \"Bearrows\", role = \"ctb\"), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"), comment = c(ROR = \"03wc8by49\")), person(\"https://github.com/mandreyel/\", role = \"cph\", comment = \"mio library\"), person(\"Jukka\", \"Jylänki\", role = c(\"ctb\", \"cph\"), comment = \"grisu3 implementation\"), person(\"Mikkel\", \"Jørgensen\", role = c(\"ctb\", \"cph\"), comment = \"grisu3 implementation\") )", + "Description": "The goal of 'readr' is to provide a fast and friendly way to read rectangular data (like 'csv', 'tsv', and 'fwf'). It is designed to flexibly parse many types of data found in the wild, while still cleanly failing when data unexpectedly changes.", + "License": "MIT + file LICENSE", + "URL": "https://readr.tidyverse.org, https://github.com/tidyverse/readr", + "BugReports": "https://github.com/tidyverse/readr/issues", + "Depends": [ + "R (>= 4.1)" + ], + "Imports": [ "cli", "clipr", - "cpp11", "crayon", - "hms", + "glue", + "hms (>= 0.4.1)", "lifecycle", "methods", + "R6", "rlang", "tibble", - "tzdb", "utils", - "vroom" + "vroom (>= 1.7.0)", + "withr" ], - "Hash": "9de96463d2117f6ac49980577939dfb3" + "Suggests": [ + "covr", + "curl", + "datasets", + "knitr", + "rmarkdown", + "spelling", + "stringi", + "testthat (>= 3.2.0)", + "tzdb (>= 0.1.1)", + "waldo", + "xml2" + ], + "LinkingTo": [ + "cpp11", + "tzdb (>= 0.1.1)" + ], + "VignetteBuilder": "knitr", + "Config/Needs/website": "tidyverse, tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Config/testthat/parallel": "false", + "Config/usethis/last-upkeep": "2025-11-14", + "Encoding": "UTF-8", + "Language": "en-US", + "RoxygenNote": "7.3.3", + "NeedsCompilation": "yes", + "Author": "Hadley Wickham [aut], Jim Hester [aut], Romain Francois [ctb], Jennifer Bryan [aut, cre] (ORCID: ), Shelby Bearrows [ctb], Posit Software, PBC [cph, fnd] (ROR: ), https://github.com/mandreyel/ [cph] (mio library), Jukka Jylänki [ctb, cph] (grisu3 implementation), Mikkel Jørgensen [ctb, cph] (grisu3 implementation)", + "Maintainer": "Jennifer Bryan ", + "Repository": "CRAN" + }, + "reformulas": { + "Package": "reformulas", + "Version": "0.4.4", + "Source": "Repository", + "Title": "Machinery for Processing Random Effect Formulas", + "Authors@R": "c( person(given = \"Ben\", family = \"Bolker\", role = c(\"aut\", \"cre\"), email = \"bolker@mcmaster.ca\", comment=c(ORCID=\"0000-0002-2127-0443\")), person(\"Anna\", \"Ly\", role = \"ctb\", comment = c(ORCID = \"0000-0002-0210-0342\")) )", + "Description": "Takes formulas including random-effects components (formatted as in 'lme4', 'glmmTMB', etc.) and processes them. Includes various helper functions.", + "URL": "https://github.com/bbolker/reformulas", + "License": "GPL-3", + "Encoding": "UTF-8", + "Imports": [ + "stats", + "methods", + "Matrix", + "Rdpack" + ], + "RdMacros": "Rdpack", + "Suggests": [ + "lme4", + "tinytest", + "glmmTMB", + "Formula" + ], + "RoxygenNote": "7.3.3", + "Config/testthat/edition": "3", + "NeedsCompilation": "no", + "Author": "Ben Bolker [aut, cre] (ORCID: ), Anna Ly [ctb] (ORCID: )", + "Maintainer": "Ben Bolker ", + "Repository": "CRAN" }, "renv": { "Package": "renv", - "Version": "1.0.11", + "Version": "1.1.8", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ + "Type": "Package", + "Title": "Project Environments", + "Authors@R": "c( person(\"Kevin\", \"Ushey\", role = c(\"aut\", \"cre\"), email = \"kevin@rstudio.com\", comment = c(ORCID = \"0000-0003-2880-7407\")), person(\"Hadley\", \"Wickham\", role = c(\"aut\"), email = \"hadley@rstudio.com\", comment = c(ORCID = \"0000-0003-4757-117X\")), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")) )", + "Description": "A dependency management toolkit for R. Using 'renv', you can create and manage project-local R libraries, save the state of these libraries to a 'lockfile', and later restore your library as required. Together, these tools can help make your projects more isolated, portable, and reproducible.", + "License": "MIT + file LICENSE", + "URL": "https://rstudio.github.io/renv/, https://github.com/rstudio/renv", + "BugReports": "https://github.com/rstudio/renv/issues", + "Imports": [ "utils" ], - "Hash": "47623f66b4e80b3b0587bc5d7b309888" + "Suggests": [ + "BiocManager", + "cli", + "compiler", + "covr", + "cpp11", + "curl", + "devtools", + "generics", + "gitcreds", + "jsonlite", + "jsonvalidate", + "knitr", + "miniUI", + "modules", + "packrat", + "pak", + "R6", + "remotes", + "reticulate", + "rmarkdown", + "rstudioapi", + "shiny", + "testthat", + "uuid", + "waldo", + "yaml", + "webfakes" + ], + "Encoding": "UTF-8", + "RoxygenNote": "7.3.3", + "VignetteBuilder": "knitr", + "NeedsCompilation": "yes", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Config/testthat/parallel": "true", + "Config/testthat/start-first": "bioconductor,python,install,restore,snapshot,retrieve,remotes", + "Author": "Kevin Ushey [aut, cre] (ORCID: ), Hadley Wickham [aut] (ORCID: ), Posit Software, PBC [cph, fnd]", + "Maintainer": "Kevin Ushey ", + "Repository": "CRAN" }, "rjson": { "Package": "rjson", "Version": "0.2.23", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" + "Title": "JSON for R", + "Author": "Alex Couture-Beil [aut, cre]", + "Authors@R": "person(given = \"Alex\", family = \"Couture-Beil\", role = c(\"aut\", \"cre\"), email = \"rjson_pkg@mofo.ca\")", + "Maintainer": "Alex Couture-Beil ", + "Depends": [ + "R (>= 4.0.0)" ], - "Hash": "7a04e9eff95857dbf557b4e5f0b3d1a8" + "Description": "Converts R object into JSON objects and vice-versa.", + "URL": "https://github.com/alexcb/rjson", + "License": "GPL-2", + "Repository": "CRAN", + "NeedsCompilation": "yes" }, "rlang": { "Package": "rlang", - "Version": "1.1.4", + "Version": "1.1.7", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", + "Title": "Functions for Base Types and Core R and 'Tidyverse' Features", + "Description": "A toolbox for working with base types, core R features like the condition system, and core 'Tidyverse' features like tidy evaluation.", + "Authors@R": "c( person(\"Lionel\", \"Henry\", ,\"lionel@posit.co\", c(\"aut\", \"cre\")), person(\"Hadley\", \"Wickham\", ,\"hadley@posit.co\", \"aut\"), person(given = \"mikefc\", email = \"mikefc@coolbutuseless.com\", role = \"cph\", comment = \"Hash implementation based on Mike's xxhashlite\"), person(given = \"Yann\", family = \"Collet\", role = \"cph\", comment = \"Author of the embedded xxHash library\"), person(given = \"Posit, PBC\", role = c(\"cph\", \"fnd\")) )", + "License": "MIT + file LICENSE", + "ByteCompile": "true", + "Biarch": "true", + "Depends": [ + "R (>= 4.0.0)" + ], + "Imports": [ "utils" ], - "Hash": "3eec01f8b1dee337674b2e34ab1f9bc1" + "Suggests": [ + "cli (>= 3.1.0)", + "covr", + "crayon", + "desc", + "fs", + "glue", + "knitr", + "magrittr", + "methods", + "pillar", + "pkgload", + "rmarkdown", + "stats", + "testthat (>= 3.2.0)", + "tibble", + "usethis", + "vctrs (>= 0.2.3)", + "withr" + ], + "Enhances": [ + "winch" + ], + "Encoding": "UTF-8", + "RoxygenNote": "7.3.3", + "URL": "https://rlang.r-lib.org, https://github.com/r-lib/rlang", + "BugReports": "https://github.com/r-lib/rlang/issues", + "Config/build/compilation-database": "true", + "Config/testthat/edition": "3", + "Config/Needs/website": "dplyr, tidyverse/tidytemplate", + "NeedsCompilation": "yes", + "Author": "Lionel Henry [aut, cre], Hadley Wickham [aut], mikefc [cph] (Hash implementation based on Mike's xxhashlite), Yann Collet [cph] (Author of the embedded xxHash library), Posit, PBC [cph, fnd]", + "Maintainer": "Lionel Henry ", + "Repository": "CRAN" }, "robustbase": { "Package": "robustbase", - "Version": "0.99-4-1", + "Version": "0.99-7", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "DEoptimR", - "R", + "VersionNote": "Released 0.99-6 on 2025-09-03, 0.99-5 on 2024-11-01, 0.99-4-1 on 2024-09-24, 0.99-4 on 2024-08-19 to CRAN", + "Date": "2026-02-03", + "Title": "Basic Robust Statistics", + "Authors@R": "c(person(\"Martin\",\"Maechler\", role=c(\"aut\",\"cre\"), email=\"maechler@stat.math.ethz.ch\", comment = c(ORCID = \"0000-0002-8685-9910\")) , person(\"Peter\", \"Rousseeuw\", role=\"ctb\", comment = \"Qn and Sn\") , person(\"Christophe\", \"Croux\", role=\"ctb\", comment = \"Qn and Sn\") , person(\"Valentin\", \"Todorov\", role = \"aut\", email = \"valentin.todorov@chello.at\", comment = \"most robust Cov\") , person(\"Andreas\", \"Ruckstuhl\", role = \"aut\", email = \"andreas.ruckstuhl@zhaw.ch\", comment = \"nlrob, anova, glmrob\") , person(\"Matias\", \"Salibian-Barrera\", role = \"aut\", email = \"matias@stat.ubc.ca\", comment = \"lmrob orig.\") , person(\"Tobias\", \"Verbeke\", role = c(\"ctb\",\"fnd\"), email = \"tobias.verbeke@openanalytics.eu\", comment = \"mc, adjbox\") , person(\"Manuel\", \"Koller\", role = \"aut\", email = \"koller.manuel@gmail.com\", comment = \"mc, lmrob, psi-func.\") , person(c(\"Eduardo\", \"L. T.\"), \"Conceicao\", role = \"aut\", email = \"mail@eduardoconceicao.org\", comment = \"MM-, tau-, CM-, and MTL- nlrob\") , person(\"Maria\", \"Anna di Palma\", role = \"ctb\", comment = \"initial version of Comedian\") )", + "URL": "https://robustbase.R-forge.R-project.org/, https://R-forge.R-project.org/R/?group_id=59, https://R-forge.R-project.org/scm/viewvc.php/pkg/robustbase/?root=robustbase, svn://svn.r-forge.r-project.org/svnroot/robustbase/pkg/robustbase", + "BugReports": "https://R-forge.R-project.org/tracker/?atid=302&group_id=59", + "Description": "\"Essential\" Robust Statistics. Tools allowing to analyze data with robust methods. This includes regression methodology including model selections and multivariate statistics where we strive to cover the book \"Robust Statistics, Theory and Methods\" by 'Maronna, Martin and Yohai'; Wiley 2006.", + "Depends": [ + "R (>= 3.5.0)" + ], + "Imports": [ + "stats", "graphics", + "utils", "methods", - "stats", - "utils" + "DEoptimR" + ], + "Suggests": [ + "grid", + "MASS", + "lattice", + "boot", + "cluster", + "Matrix", + "robust", + "fit.models", + "MPV", + "xtable", + "ggplot2", + "GGally", + "RColorBrewer", + "reshape2", + "sfsmisc", + "catdata", + "doParallel", + "foreach", + "skewt" + ], + "SuggestsNote": "mostly only because of vignette graphics and simulation", + "Enhances": [ + "robustX", + "rrcov", + "matrixStats", + "quantreg", + "Hmisc" ], - "Hash": "c4aa31d38787b63bddb050b175f52e3d" + "EnhancesNote": "linked to in man/*.Rd", + "LazyData": "yes", + "NeedsCompilation": "yes", + "License": "GPL (>= 2)", + "Author": "Martin Maechler [aut, cre] (ORCID: ), Peter Rousseeuw [ctb] (Qn and Sn), Christophe Croux [ctb] (Qn and Sn), Valentin Todorov [aut] (most robust Cov), Andreas Ruckstuhl [aut] (nlrob, anova, glmrob), Matias Salibian-Barrera [aut] (lmrob orig.), Tobias Verbeke [ctb, fnd] (mc, adjbox), Manuel Koller [aut] (mc, lmrob, psi-func.), Eduardo L. T. Conceicao [aut] (MM-, tau-, CM-, and MTL- nlrob), Maria Anna di Palma [ctb] (initial version of Comedian)", + "Maintainer": "Martin Maechler ", + "Repository": "CRAN" }, "rosace": { "Package": "rosace", "Version": "1.1.0", "Source": "GitHub", - "RemoteType": "github", - "RemoteHost": "api.github.com", - "RemoteUsername": "odcambc", - "RemoteRepo": "rosace", - "RemoteRef": "main", - "RemoteSha": "581aa328d505e01d997788062a26018462ecac5b", - "Requirements": [ - "MASS", - "R", - "cmdstanr", + "Title": "statistical inference of growth-based deep mutational scanning (DMS) screens", + "Authors@R": "person(\"Jingyou\", \"Rao\", , \"roserao@ucla.edu\", role = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0002-4331-8786\"))", + "Description": "A robust deep mutational scanning analysis framework employing position and mean-variance shrinkage.", + "License": "MIT + file LICENSE", + "Encoding": "UTF-8", + "Roxygen": "list(markdown = TRUE)", + "RoxygenNote": "7.2.3", + "Suggests": [ + "knitr", + "rmarkdown", + "testthat (>= 3.0.0)" + ], + "Config/testthat/edition": "3", + "Imports": [ + "cmdstanr (>= 0.8.0)", "colorspace", "compositions", "dplyr", @@ -1242,6 +3818,7 @@ "grDevices", "impute", "jsonlite", + "MASS", "mclust", "methods", "philentropy", @@ -1253,248 +3830,870 @@ "tidyr", "utils" ], - "Hash": "f9e3a7830f26f2478f69273341489d5a" + "VignetteBuilder": "knitr", + "Depends": [ + "R (>= 2.10)" + ], + "LazyData": "true", + "LazyDataCompression": "xz", + "Author": "Jingyou Rao [aut, cre] (ORCID: )", + "Maintainer": "Jingyou Rao ", + "RemoteType": "github", + "RemoteHost": "api.github.com", + "RemoteUsername": "pimentellab", + "RemoteRepo": "rosace", + "RemoteRef": "main", + "RemoteSha": "a9b64007a609f1b01ce7a12eb2c305025a04084d", + "Remotes": "bioc::release/impute" + }, + "rprojroot": { + "Package": "rprojroot", + "Version": "2.1.1", + "Source": "Repository", + "Title": "Finding Files in Project Subdirectories", + "Authors@R": "person(given = \"Kirill\", family = \"M\\u00fcller\", role = c(\"aut\", \"cre\"), email = \"kirill@cynkra.com\", comment = c(ORCID = \"0000-0002-1416-3412\"))", + "Description": "Robust, reliable and flexible paths to files below a project root. The 'root' of a project is defined as a directory that matches a certain criterion, e.g., it contains a certain regular file.", + "License": "MIT + file LICENSE", + "URL": "https://rprojroot.r-lib.org/, https://github.com/r-lib/rprojroot", + "BugReports": "https://github.com/r-lib/rprojroot/issues", + "Depends": [ + "R (>= 3.0.0)" + ], + "Suggests": [ + "covr", + "knitr", + "lifecycle", + "rlang", + "rmarkdown", + "testthat (>= 3.2.0)", + "withr" + ], + "VignetteBuilder": "knitr", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2.9000", + "Config/autostyle/scope": "line_breaks", + "Config/autostyle/strict": "true", + "Config/Needs/website": "tidyverse/tidytemplate", + "NeedsCompilation": "no", + "Author": "Kirill Müller [aut, cre] (ORCID: )", + "Maintainer": "Kirill Müller ", + "Repository": "CRAN" }, "rstatix": { "Package": "rstatix", - "Version": "0.7.2", + "Version": "0.7.3", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "broom", - "car", - "corrplot", - "dplyr", - "generics", - "magrittr", - "purrr", - "rlang", + "Type": "Package", + "Title": "Pipe-Friendly Framework for Basic Statistical Tests", + "Authors@R": "c( person(\"Alboukadel\", \"Kassambara\", role = c(\"aut\", \"cre\"), email = \"alboukadel.kassambara@gmail.com\"))", + "Description": "Provides a simple and intuitive pipe-friendly framework, coherent with the 'tidyverse' design philosophy, for performing basic statistical tests, including t-test, Wilcoxon test, ANOVA, Kruskal-Wallis and correlation analyses. The output of each test is automatically transformed into a tidy data frame to facilitate visualization. Additional functions are available for reshaping, reordering, manipulating and visualizing correlation matrix. Functions are also included to facilitate the analysis of factorial experiments, including purely 'within-Ss' designs (repeated measures), purely 'between-Ss' designs, and mixed 'within-and-between-Ss' designs. It's also possible to compute several effect size metrics, including \"eta squared\" for ANOVA, \"Cohen's d\" for t-test and 'Cramer V' for the association between categorical variables. The package contains helper functions for identifying univariate and multivariate outliers, assessing normality and homogeneity of variances.", + "License": "GPL-2", + "Encoding": "UTF-8", + "Depends": [ + "R (>= 3.3.0)" + ], + "Imports": [ "stats", - "tibble", - "tidyr", - "tidyselect", - "utils" + "utils", + "tidyr (>= 1.0.0)", + "purrr", + "broom (>= 0.7.4)", + "rlang (>= 0.3.1)", + "tibble (>= 2.1.3)", + "dplyr (>= 0.7.1)", + "magrittr", + "corrplot", + "tidyselect (>= 1.2.0)", + "car", + "generics (>= 0.0.2)" ], - "Hash": "5045fbb71b143878d8c51975d1d7d56d" + "Suggests": [ + "knitr", + "rmarkdown", + "ggpubr", + "graphics", + "emmeans", + "coin", + "boot", + "testthat", + "spelling" + ], + "URL": "https://rpkgs.datanovia.com/rstatix/", + "BugReports": "https://github.com/kassambara/rstatix/issues", + "RoxygenNote": "7.3.3", + "Collate": "'utilities.R' 'add_significance.R' 'adjust_pvalue.R' 'factorial_design.R' 'utilities_two_sample_test.R' 'anova_summary.R' 'anova_test.R' 'as_cor_mat.R' 'binom_test.R' 'box_m.R' 'chisq_test.R' 'cochran_qtest.R' 'cohens_d.R' 'cor_as_symbols.R' 'replace_triangle.R' 'pull_triangle.R' 'cor_mark_significant.R' 'cor_mat.R' 'cor_plot.R' 'cor_reorder.R' 'cor_reshape.R' 'cor_select.R' 'cor_test.R' 'counts_to_cases.R' 'cramer_v.R' 'df.R' 'doo.R' 't_test.R' 'dunn_test.R' 'emmeans_test.R' 'eta_squared.R' 'factors.R' 'fisher_test.R' 'freq_table.R' 'friedman_test.R' 'friedman_effsize.R' 'games_howell_test.R' 'get_comparisons.R' 'get_manova_table.R' 'get_mode.R' 'get_pvalue_position.R' 'get_summary_stats.R' 'get_test_label.R' 'kruskal_effesize.R' 'kruskal_test.R' 'levene_test.R' 'mahalanobis_distance.R' 'make_clean_names.R' 'mcnemar_test.R' 'multinom_test.R' 'outliers.R' 'p_value.R' 'prop_test.R' 'prop_trend_test.R' 'reexports.R' 'remove_ns.R' 'sample_n_by.R' 'shapiro_test.R' 'sign_test.R' 'tukey_hsd.R' 'utils-manova.R' 'utils-pipe.R' 'welch_anova_test.R' 'wilcox_effsize.R' 'wilcox_test.R'", + "Language": "en-US", + "NeedsCompilation": "no", + "Author": "Alboukadel Kassambara [aut, cre]", + "Maintainer": "Alboukadel Kassambara ", + "Repository": "CRAN" }, "scales": { "Package": "scales", - "Version": "1.3.0", + "Version": "1.4.0", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "R6", - "RColorBrewer", + "Title": "Scale Functions for Visualization", + "Authors@R": "c( person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = \"aut\"), person(\"Thomas Lin\", \"Pedersen\", , \"thomas.pedersen@posit.co\", role = c(\"cre\", \"aut\"), comment = c(ORCID = \"0000-0002-5147-4711\")), person(\"Dana\", \"Seidel\", role = \"aut\"), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"), comment = c(ROR = \"03wc8by49\")) )", + "Description": "Graphical scales map data to aesthetics, and provide methods for automatically determining breaks and labels for axes and legends.", + "License": "MIT + file LICENSE", + "URL": "https://scales.r-lib.org, https://github.com/r-lib/scales", + "BugReports": "https://github.com/r-lib/scales/issues", + "Depends": [ + "R (>= 4.1)" + ], + "Imports": [ "cli", - "farver", + "farver (>= 2.0.3)", "glue", "labeling", "lifecycle", - "munsell", - "rlang", + "R6", + "RColorBrewer", + "rlang (>= 1.1.0)", "viridisLite" ], - "Hash": "c19df082ba346b0ffa6f833e92de34d1" + "Suggests": [ + "bit64", + "covr", + "dichromat", + "ggplot2", + "hms (>= 0.5.0)", + "stringi", + "testthat (>= 3.0.0)" + ], + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Config/usethis/last-upkeep": "2025-04-23", + "Encoding": "UTF-8", + "LazyLoad": "yes", + "RoxygenNote": "7.3.2", + "NeedsCompilation": "no", + "Author": "Hadley Wickham [aut], Thomas Lin Pedersen [cre, aut] (), Dana Seidel [aut], Posit Software, PBC [cph, fnd] (03wc8by49)", + "Maintainer": "Thomas Lin Pedersen ", + "Repository": "CRAN" }, "stringi": { "Package": "stringi", - "Version": "1.8.4", + "Version": "1.8.7", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "stats", + "Date": "2025-03-27", + "Title": "Fast and Portable Character String Processing Facilities", + "Description": "A collection of character string/text/natural language processing tools for pattern searching (e.g., with 'Java'-like regular expressions or the 'Unicode' collation algorithm), random string generation, case mapping, string transliteration, concatenation, sorting, padding, wrapping, Unicode normalisation, date-time formatting and parsing, and many more. They are fast, consistent, convenient, and - thanks to 'ICU' (International Components for Unicode) - portable across all locales and platforms. Documentation about 'stringi' is provided via its website at and the paper by Gagolewski (2022, ).", + "URL": "https://stringi.gagolewski.com/, https://github.com/gagolews/stringi, https://icu.unicode.org/", + "BugReports": "https://github.com/gagolews/stringi/issues", + "SystemRequirements": "ICU4C (>= 61, optional)", + "Type": "Package", + "Depends": [ + "R (>= 3.4)" + ], + "Imports": [ "tools", - "utils" + "utils", + "stats" ], - "Hash": "39e1144fd75428983dc3f63aa53dfa91" + "Biarch": "TRUE", + "License": "file LICENSE", + "Authors@R": "c(person(given = \"Marek\", family = \"Gagolewski\", role = c(\"aut\", \"cre\", \"cph\"), email = \"marek@gagolewski.com\", comment = c(ORCID = \"0000-0003-0637-6028\")), person(given = \"Bartek\", family = \"Tartanus\", role = \"ctb\"), person(\"Unicode, Inc. and others\", role=\"ctb\", comment = \"ICU4C source code, Unicode Character Database\") )", + "RoxygenNote": "7.3.2", + "Encoding": "UTF-8", + "NeedsCompilation": "yes", + "Author": "Marek Gagolewski [aut, cre, cph] (), Bartek Tartanus [ctb], Unicode, Inc. and others [ctb] (ICU4C source code, Unicode Character Database)", + "Maintainer": "Marek Gagolewski ", + "License_is_FOSS": "yes", + "Repository": "CRAN" }, "stringr": { "Package": "stringr", - "Version": "1.5.1", + "Version": "1.6.0", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", + "Title": "Simple, Consistent Wrappers for Common String Operations", + "Authors@R": "c( person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = c(\"aut\", \"cre\", \"cph\")), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")) )", + "Description": "A consistent, simple and easy to use set of wrappers around the fantastic 'stringi' package. All function and argument names (and positions) are consistent, all functions deal with \"NA\"'s and zero length vectors in the same way, and the output from one function is easy to feed into the input of another.", + "License": "MIT + file LICENSE", + "URL": "https://stringr.tidyverse.org, https://github.com/tidyverse/stringr", + "BugReports": "https://github.com/tidyverse/stringr/issues", + "Depends": [ + "R (>= 4.1.0)" + ], + "Imports": [ "cli", - "glue", - "lifecycle", + "glue (>= 1.6.1)", + "lifecycle (>= 1.0.3)", "magrittr", - "rlang", - "stringi", - "vctrs" + "rlang (>= 1.0.0)", + "stringi (>= 1.5.3)", + "vctrs (>= 0.4.0)" + ], + "Suggests": [ + "covr", + "dplyr", + "gt", + "htmltools", + "htmlwidgets", + "knitr", + "rmarkdown", + "testthat (>= 3.0.0)", + "tibble" ], - "Hash": "960e2ae9e09656611e0b8214ad543207" + "VignetteBuilder": "knitr", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/potools/style": "explicit", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "LazyData": "true", + "RoxygenNote": "7.3.3", + "NeedsCompilation": "no", + "Author": "Hadley Wickham [aut, cre, cph], Posit Software, PBC [cph, fnd]", + "Maintainer": "Hadley Wickham ", + "Repository": "CRAN" }, "survival": { "Package": "survival", - "Version": "3.7-0", + "Version": "3.8-6", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "Matrix", - "R", + "Title": "Survival Analysis", + "Priority": "recommended", + "Date": "2026-01-09", + "Depends": [ + "R (>= 3.5.0)" + ], + "Imports": [ "graphics", + "Matrix", "methods", "splines", "stats", "utils" ], - "Hash": "5aaa9cbaf4aba20f8e06fdea1850a398" + "LazyData": "Yes", + "LazyDataCompression": "xz", + "ByteCompile": "Yes", + "Authors@R": "c(person(c(\"Terry\", \"M\"), \"Therneau\", email=\"therneau.terry@mayo.edu\", role=c(\"aut\", \"cre\")), person(\"Thomas\", \"Lumley\", role=c(\"ctb\", \"trl\"), comment=\"original S->R port and R maintainer until 2009\"), person(\"Atkinson\", \"Elizabeth\", role=\"ctb\"), person(\"Crowson\", \"Cynthia\", role=\"ctb\"))", + "Description": "Contains the core survival analysis routines, including definition of Surv objects, Kaplan-Meier and Aalen-Johansen (multi-state) curves, Cox models, and parametric accelerated failure time models.", + "License": "LGPL (>= 2)", + "URL": "https://github.com/therneau/survival", + "NeedsCompilation": "yes", + "Author": "Terry M Therneau [aut, cre], Thomas Lumley [ctb, trl] (original S->R port and R maintainer until 2009), Atkinson Elizabeth [ctb], Crowson Cynthia [ctb]", + "Maintainer": "Terry M Therneau ", + "Repository": "CRAN" }, "tensorA": { "Package": "tensorA", "Version": "0.36.2.1", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", + "Date": "2020-11-13", + "Title": "Advanced Tensor Arithmetic with Named Indices", + "Author": "K. Gerald van den Boogaart ", + "Maintainer": "K. Gerald van den Boogaart ", + "Depends": [ + "R (>= 2.2.0)", "stats" ], - "Hash": "0d587599172f2ffda2c09cb6b854e0e5" + "Description": "Provides convenience functions for advanced linear algebra with tensors and computation with data sets of tensors on a higher level abstraction. It includes Einstein and Riemann summing conventions, dragging, co- and contravariate indices, parallel computations on sequences of tensors.", + "License": "GPL (>= 2)", + "URL": "http://www.stat.boogaart.de/tensorA/", + "NeedsCompilation": "yes", + "Repository": "CRAN" + }, + "testthat": { + "Package": "testthat", + "Version": "3.3.2", + "Source": "Repository", + "Title": "Unit Testing for R", + "Authors@R": "c( person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = c(\"aut\", \"cre\")), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")), person(\"R Core team\", role = \"ctb\", comment = \"Implementation of utils::recover()\") )", + "Description": "Software testing is important, but, in part because it is frustrating and boring, many of us avoid it. 'testthat' is a testing framework for R that is easy to learn and use, and integrates with your existing 'workflow'.", + "License": "MIT + file LICENSE", + "URL": "https://testthat.r-lib.org, https://github.com/r-lib/testthat", + "BugReports": "https://github.com/r-lib/testthat/issues", + "Depends": [ + "R (>= 4.1.0)" + ], + "Imports": [ + "brio (>= 1.1.5)", + "callr (>= 3.7.6)", + "cli (>= 3.6.5)", + "desc (>= 1.4.3)", + "evaluate (>= 1.0.4)", + "jsonlite (>= 2.0.0)", + "lifecycle (>= 1.0.4)", + "magrittr (>= 2.0.3)", + "methods", + "pkgload (>= 1.4.0)", + "praise (>= 1.0.0)", + "processx (>= 3.8.6)", + "ps (>= 1.9.1)", + "R6 (>= 2.6.1)", + "rlang (>= 1.1.6)", + "utils", + "waldo (>= 0.6.2)", + "withr (>= 3.0.2)" + ], + "Suggests": [ + "covr", + "curl (>= 0.9.5)", + "diffviewer (>= 0.1.0)", + "digest (>= 0.6.33)", + "gh", + "knitr", + "otel", + "otelsdk", + "rmarkdown", + "rstudioapi", + "S7", + "shiny", + "usethis", + "vctrs (>= 0.1.0)", + "xml2" + ], + "VignetteBuilder": "knitr", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Config/testthat/parallel": "true", + "Config/testthat/start-first": "watcher, parallel*", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.3", + "NeedsCompilation": "yes", + "Author": "Hadley Wickham [aut, cre], Posit Software, PBC [cph, fnd], R Core team [ctb] (Implementation of utils::recover())", + "Maintainer": "Hadley Wickham ", + "Repository": "CRAN" }, "tibble": { "Package": "tibble", - "Version": "3.2.1", + "Version": "3.3.1", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "fansi", - "lifecycle", + "Title": "Simple Data Frames", + "Authors@R": "c( person(\"Kirill\", \"Müller\", , \"kirill@cynkra.com\", role = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0002-1416-3412\")), person(\"Hadley\", \"Wickham\", , \"hadley@rstudio.com\", role = \"aut\"), person(\"Romain\", \"Francois\", , \"romain@r-enthusiasts.com\", role = \"ctb\"), person(\"Jennifer\", \"Bryan\", , \"jenny@rstudio.com\", role = \"ctb\"), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"), comment = c(ROR = \"03wc8by49\")) )", + "Description": "Provides a 'tbl_df' class (the 'tibble') with stricter checking and better formatting than the traditional data frame.", + "License": "MIT + file LICENSE", + "URL": "https://tibble.tidyverse.org/, https://github.com/tidyverse/tibble", + "BugReports": "https://github.com/tidyverse/tibble/issues", + "Depends": [ + "R (>= 3.4.0)" + ], + "Imports": [ + "cli", + "lifecycle (>= 1.0.0)", "magrittr", "methods", - "pillar", + "pillar (>= 1.8.1)", "pkgconfig", - "rlang", + "rlang (>= 1.0.2)", "utils", - "vctrs" + "vctrs (>= 0.5.0)" ], - "Hash": "a84e2cc86d07289b3b6f5069df7a004c" + "Suggests": [ + "bench", + "bit64", + "blob", + "brio", + "callr", + "DiagrammeR", + "dplyr", + "evaluate", + "formattable", + "ggplot2", + "here", + "hms", + "htmltools", + "knitr", + "lubridate", + "nycflights13", + "pkgload", + "purrr", + "rmarkdown", + "stringi", + "testthat (>= 3.0.2)", + "tidyr", + "withr" + ], + "VignetteBuilder": "knitr", + "Config/autostyle/rmd": "false", + "Config/autostyle/scope": "line_breaks", + "Config/autostyle/strict": "true", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Config/testthat/parallel": "true", + "Config/testthat/start-first": "vignette-formats, as_tibble, add, invariants", + "Config/usethis/last-upkeep": "2025-06-07", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.3.9000", + "NeedsCompilation": "yes", + "Author": "Kirill Müller [aut, cre] (ORCID: ), Hadley Wickham [aut], Romain Francois [ctb], Jennifer Bryan [ctb], Posit Software, PBC [cph, fnd] (ROR: )", + "Maintainer": "Kirill Müller ", + "Repository": "CRAN" }, "tidyr": { "Package": "tidyr", - "Version": "1.3.1", + "Version": "1.3.2", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "cpp11", - "dplyr", + "Title": "Tidy Messy Data", + "Authors@R": "c( person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = c(\"aut\", \"cre\")), person(\"Davis\", \"Vaughan\", , \"davis@posit.co\", role = \"aut\"), person(\"Maximilian\", \"Girlich\", role = \"aut\"), person(\"Kevin\", \"Ushey\", , \"kevin@posit.co\", role = \"ctb\"), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")) )", + "Description": "Tools to help to create tidy data, where each column is a variable, each row is an observation, and each cell contains a single value. 'tidyr' contains tools for changing the shape (pivoting) and hierarchy (nesting and 'unnesting') of a dataset, turning deeply nested lists into rectangular data frames ('rectangling'), and extracting values out of string columns. It also includes tools for working with missing values (both implicit and explicit).", + "License": "MIT + file LICENSE", + "URL": "https://tidyr.tidyverse.org, https://github.com/tidyverse/tidyr", + "BugReports": "https://github.com/tidyverse/tidyr/issues", + "Depends": [ + "R (>= 4.1.0)" + ], + "Imports": [ + "cli (>= 3.4.1)", + "dplyr (>= 1.1.0)", "glue", - "lifecycle", + "lifecycle (>= 1.0.3)", "magrittr", - "purrr", - "rlang", - "stringr", - "tibble", - "tidyselect", + "purrr (>= 1.0.1)", + "rlang (>= 1.1.1)", + "stringr (>= 1.5.0)", + "tibble (>= 2.1.1)", + "tidyselect (>= 1.2.1)", "utils", - "vctrs" + "vctrs (>= 0.5.2)" ], - "Hash": "915fb7ce036c22a6a33b5a8adb712eb1" + "Suggests": [ + "covr", + "data.table", + "knitr", + "readr", + "repurrrsive (>= 1.1.0)", + "rmarkdown", + "testthat (>= 3.0.0)" + ], + "LinkingTo": [ + "cpp11 (>= 0.4.0)" + ], + "VignetteBuilder": "knitr", + "Config/build/compilation-database": "true", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "LazyData": "true", + "RoxygenNote": "7.3.3", + "NeedsCompilation": "yes", + "Author": "Hadley Wickham [aut, cre], Davis Vaughan [aut], Maximilian Girlich [aut], Kevin Ushey [ctb], Posit Software, PBC [cph, fnd]", + "Maintainer": "Hadley Wickham ", + "Repository": "CRAN" }, "tidyselect": { "Package": "tidyselect", "Version": "1.2.1", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "glue", - "lifecycle", - "rlang", - "vctrs", + "Title": "Select from a Set of Strings", + "Authors@R": "c( person(\"Lionel\", \"Henry\", , \"lionel@posit.co\", role = c(\"aut\", \"cre\")), person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = \"aut\"), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")) )", + "Description": "A backend for the selecting functions of the 'tidyverse'. It makes it easy to implement select-like functions in your own packages in a way that is consistent with other 'tidyverse' interfaces for selection.", + "License": "MIT + file LICENSE", + "URL": "https://tidyselect.r-lib.org, https://github.com/r-lib/tidyselect", + "BugReports": "https://github.com/r-lib/tidyselect/issues", + "Depends": [ + "R (>= 3.4)" + ], + "Imports": [ + "cli (>= 3.3.0)", + "glue (>= 1.3.0)", + "lifecycle (>= 1.0.3)", + "rlang (>= 1.0.4)", + "vctrs (>= 0.5.2)", "withr" ], - "Hash": "829f27b9c4919c16b593794a6344d6c0" + "Suggests": [ + "covr", + "crayon", + "dplyr", + "knitr", + "magrittr", + "rmarkdown", + "stringr", + "testthat (>= 3.1.1)", + "tibble (>= 2.1.3)" + ], + "VignetteBuilder": "knitr", + "ByteCompile": "true", + "Config/testthat/edition": "3", + "Config/Needs/website": "tidyverse/tidytemplate", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.0.9000", + "NeedsCompilation": "yes", + "Author": "Lionel Henry [aut, cre], Hadley Wickham [aut], Posit Software, PBC [cph, fnd]", + "Maintainer": "Lionel Henry ", + "Repository": "CRAN" + }, + "timeDate": { + "Package": "timeDate", + "Version": "4052.112", + "Source": "Repository", + "Title": "Rmetrics - Chronological and Calendar Objects", + "Authors@R": "c(person(\"Diethelm\", \"Wuertz\", role=\"aut\", comment = \"original code\") , person(\"Tobias\", \"Setz\", role = c(\"aut\"), email = \"tobias.setz@live.com\") , person(\"Yohan\", \"Chalabi\", role = \"aut\") , person(\"Martin\",\"Maechler\", role = \"ctb\", email = \"maechler@stat.math.ethz.ch\", comment = c(ORCID = \"0000-0002-8685-9910\")) , person(given = c(\"Joe\", \"W.\"), family = \"Byers\", role = \"ctb\") , person(given = c(\"Georgi\", \"N.\"), family = \"Boshnakov\", role = c(\"cre\", \"aut\"), email = \"georgi.boshnakov@manchester.ac.uk\", comment = c(ORCID = \"0000-0003-2839-346X\")) )", + "Description": "The 'timeDate' class fulfils the conventions of the ISO 8601 standard as well as of the ANSI C and POSIX standards. Beyond these standards it provides the \"Financial Center\" concept which allows to handle data records collected in different time zones and mix them up to have always the proper time stamps with respect to your personal financial center, or alternatively to the GMT reference time. It can thus also handle time stamps from historical data records from the same time zone, even if the financial centers changed day light saving times at different calendar dates.", + "Depends": [ + "R (>= 3.6.0)", + "methods" + ], + "Imports": [ + "graphics", + "utils", + "stats" + ], + "Suggests": [ + "RUnit" + ], + "License": "GPL (>= 2)", + "Encoding": "UTF-8", + "URL": "https://geobosh.github.io/timeDateDoc/ (doc), https://CRAN.R-project.org/package=timeDate, https://www.rmetrics.org", + "BugReports": "https://r-forge.r-project.org/tracker/?atid=633&group_id=156&func=browse", + "NeedsCompilation": "no", + "Author": "Diethelm Wuertz [aut] (original code), Tobias Setz [aut], Yohan Chalabi [aut], Martin Maechler [ctb] (ORCID: ), Joe W. Byers [ctb], Georgi N. Boshnakov [cre, aut] (ORCID: )", + "Maintainer": "Georgi N. Boshnakov ", + "Repository": "CRAN" }, "tzdb": { "Package": "tzdb", - "Version": "0.4.0", + "Version": "0.5.0", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cpp11" + "Title": "Time Zone Database Information", + "Authors@R": "c( person(\"Davis\", \"Vaughan\", , \"davis@posit.co\", role = c(\"aut\", \"cre\")), person(\"Howard\", \"Hinnant\", role = \"cph\", comment = \"Author of the included date library\"), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")) )", + "Description": "Provides an up-to-date copy of the Internet Assigned Numbers Authority (IANA) Time Zone Database. It is updated periodically to reflect changes made by political bodies to time zone boundaries, UTC offsets, and daylight saving time rules. Additionally, this package provides a C++ interface for working with the 'date' library. 'date' provides comprehensive support for working with dates and date-times, which this package exposes to make it easier for other R packages to utilize. Headers are provided for calendar specific calculations, along with a limited interface for time zone manipulations.", + "License": "MIT + file LICENSE", + "URL": "https://tzdb.r-lib.org, https://github.com/r-lib/tzdb", + "BugReports": "https://github.com/r-lib/tzdb/issues", + "Depends": [ + "R (>= 4.0.0)" + ], + "Suggests": [ + "covr", + "testthat (>= 3.0.0)" + ], + "LinkingTo": [ + "cpp11 (>= 0.5.2)" + ], + "Biarch": "yes", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "NeedsCompilation": "yes", + "Author": "Davis Vaughan [aut, cre], Howard Hinnant [cph] (Author of the included date library), Posit Software, PBC [cph, fnd]", + "Maintainer": "Davis Vaughan ", + "Repository": "CRAN" + }, + "urca": { + "Package": "urca", + "Version": "1.3-4", + "Source": "Repository", + "Date": "2024-05-25", + "Title": "Unit Root and Cointegration Tests for Time Series Data", + "Authors@R": "c(person(\"Bernhard\", \"Pfaff\", email = \"bernhard@pfaffikus.de\", role = c(\"aut\", \"cre\")), person(\"Eric\", \"Zivot\",email = \"ezivot@u.washington.edu\", role = \"ctb\"), person(\"Matthieu\", \"Stigler\", role = \"ctb\"))", + "Depends": [ + "R (>= 2.0.0)", + "methods" + ], + "Imports": [ + "nlme", + "graphics", + "stats" ], - "Hash": "f561504ec2897f4d46f0c7657e488ae1" + "LazyLoad": "yes", + "Description": "Unit root and cointegration tests encountered in applied econometric analysis are implemented.", + "License": "GPL (>= 2)", + "NeedsCompilation": "yes", + "Author": "Bernhard Pfaff [aut, cre], Eric Zivot [ctb], Matthieu Stigler [ctb]", + "Maintainer": "Bernhard Pfaff ", + "Repository": "CRAN" }, "utf8": { "Package": "utf8", - "Version": "1.2.4", + "Version": "1.2.6", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" + "Title": "Unicode Text Processing", + "Authors@R": "c(person(given = c(\"Patrick\", \"O.\"), family = \"Perry\", role = c(\"aut\", \"cph\")), person(given = \"Kirill\", family = \"M\\u00fcller\", role = \"cre\", email = \"kirill@cynkra.com\", comment = c(ORCID = \"0000-0002-1416-3412\")), person(given = \"Unicode, Inc.\", role = c(\"cph\", \"dtc\"), comment = \"Unicode Character Database\"))", + "Description": "Process and print 'UTF-8' encoded international text (Unicode). Input, validate, normalize, encode, format, and display.", + "License": "Apache License (== 2.0) | file LICENSE", + "URL": "https://krlmlr.github.io/utf8/, https://github.com/krlmlr/utf8", + "BugReports": "https://github.com/krlmlr/utf8/issues", + "Depends": [ + "R (>= 2.10)" + ], + "Suggests": [ + "cli", + "covr", + "knitr", + "rlang", + "rmarkdown", + "testthat (>= 3.0.0)", + "withr" ], - "Hash": "62b65c52671e6665f803ff02954446e9" + "VignetteBuilder": "knitr, rmarkdown", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2.9000", + "NeedsCompilation": "yes", + "Author": "Patrick O. Perry [aut, cph], Kirill Müller [cre] (ORCID: ), Unicode, Inc. [cph, dtc] (Unicode Character Database)", + "Maintainer": "Kirill Müller ", + "Repository": "CRAN" }, "vctrs": { "Package": "vctrs", - "Version": "0.6.5", + "Version": "0.7.1", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", + "Title": "Vector Helpers", + "Authors@R": "c( person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = \"aut\"), person(\"Lionel\", \"Henry\", , \"lionel@posit.co\", role = \"aut\"), person(\"Davis\", \"Vaughan\", , \"davis@posit.co\", role = c(\"aut\", \"cre\")), person(\"data.table team\", role = \"cph\", comment = \"Radix sort based on data.table's forder() and their contribution to R's order()\"), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")) )", + "Description": "Defines new notions of prototype and size that are used to provide tools for consistent and well-founded type-coercion and size-recycling, and are in turn connected to ideas of type- and size-stability useful for analysing function interfaces.", + "License": "MIT + file LICENSE", + "URL": "https://vctrs.r-lib.org/, https://github.com/r-lib/vctrs", + "BugReports": "https://github.com/r-lib/vctrs/issues", + "Depends": [ + "R (>= 4.0.0)" + ], + "Imports": [ + "cli (>= 3.4.0)", "glue", - "lifecycle", - "rlang" + "lifecycle (>= 1.0.3)", + "rlang (>= 1.1.7)" ], - "Hash": "c03fa420630029418f7e6da3667aac4a" + "Suggests": [ + "bit64", + "covr", + "crayon", + "dplyr (>= 0.8.5)", + "generics", + "knitr", + "pillar (>= 1.4.4)", + "pkgdown (>= 2.0.1)", + "rmarkdown", + "testthat (>= 3.0.0)", + "tibble (>= 3.1.3)", + "waldo (>= 0.2.0)", + "withr", + "xml2", + "zeallot" + ], + "VignetteBuilder": "knitr", + "Config/build/compilation-database": "true", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Config/testthat/parallel": "true", + "Encoding": "UTF-8", + "Language": "en-GB", + "RoxygenNote": "7.3.3", + "NeedsCompilation": "yes", + "Author": "Hadley Wickham [aut], Lionel Henry [aut], Davis Vaughan [aut, cre], data.table team [cph] (Radix sort based on data.table's forder() and their contribution to R's order()), Posit Software, PBC [cph, fnd]", + "Maintainer": "Davis Vaughan ", + "Repository": "CRAN" }, "viridisLite": { "Package": "viridisLite", - "Version": "0.4.2", + "Version": "0.4.3", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" + "Type": "Package", + "Title": "Colorblind-Friendly Color Maps (Lite Version)", + "Date": "2026-02-03", + "Authors@R": "c( person(\"Simon\", \"Garnier\", email = \"garnier@njit.edu\", role = c(\"aut\", \"cre\")), person(\"Noam\", \"Ross\", email = \"noam.ross@gmail.com\", role = c(\"ctb\", \"cph\")), person(\"Bob\", \"Rudis\", email = \"bob@rud.is\", role = c(\"ctb\", \"cph\")), person(\"Marco\", \"Sciaini\", email = \"sciaini.marco@gmail.com\", role = c(\"ctb\", \"cph\")), person(\"Antônio Pedro\", \"Camargo\", role = c(\"ctb\", \"cph\")), person(\"Cédric\", \"Scherer\", email = \"scherer@izw-berlin.de\", role = c(\"ctb\", \"cph\")) )", + "Maintainer": "Simon Garnier ", + "Description": "Color maps designed to improve graph readability for readers with common forms of color blindness and/or color vision deficiency. The color maps are also perceptually-uniform, both in regular form and also when converted to black-and-white for printing. This is the 'lite' version of the 'viridis' package that also contains 'ggplot2' bindings for discrete and continuous color and fill scales and can be found at .", + "License": "MIT + file LICENSE", + "Encoding": "UTF-8", + "Depends": [ + "R (>= 2.10)" ], - "Hash": "c826c7c4241b6fc89ff55aaea3fa7491" + "Suggests": [ + "hexbin (>= 1.27.0)", + "ggplot2 (>= 1.0.1)", + "testthat", + "covr" + ], + "URL": "https://sjmgarnier.github.io/viridisLite/, https://github.com/sjmgarnier/viridisLite/", + "BugReports": "https://github.com/sjmgarnier/viridisLite/issues/", + "RoxygenNote": "7.3.3", + "NeedsCompilation": "no", + "Author": "Simon Garnier [aut, cre], Noam Ross [ctb, cph], Bob Rudis [ctb, cph], Marco Sciaini [ctb, cph], Antônio Pedro Camargo [ctb, cph], Cédric Scherer [ctb, cph]", + "Repository": "CRAN" }, "vroom": { "Package": "vroom", - "Version": "1.6.5", + "Version": "1.7.0", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", + "Title": "Read and Write Rectangular Text Data Quickly", + "Authors@R": "c( person(\"Jim\", \"Hester\", role = \"aut\", comment = c(ORCID = \"0000-0002-2739-7082\")), person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = \"aut\", comment = c(ORCID = \"0000-0003-4757-117X\")), person(\"Jennifer\", \"Bryan\", , \"jenny@posit.co\", role = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0002-6983-2759\")), person(\"Shelby\", \"Bearrows\", role = \"ctb\"), person(\"https://github.com/mandreyel/\", role = \"cph\", comment = \"mio library\"), person(\"Jukka\", \"Jylänki\", role = \"cph\", comment = \"grisu3 implementation\"), person(\"Mikkel\", \"Jørgensen\", role = \"cph\", comment = \"grisu3 implementation\"), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"), comment = c(ROR = \"03wc8by49\")) )", + "Description": "The goal of 'vroom' is to read and write data (like 'csv', 'tsv' and 'fwf') quickly. When reading it uses a quick initial indexing step, then reads the values lazily , so only the data you actually use needs to be read. The writer formats the data in parallel and writes to disk asynchronously from formatting.", + "License": "MIT + file LICENSE", + "URL": "https://vroom.tidyverse.org, https://github.com/tidyverse/vroom", + "BugReports": "https://github.com/tidyverse/vroom/issues", + "Depends": [ + "R (>= 4.1)" + ], + "Imports": [ "bit64", - "cli", - "cpp11", + "cli (>= 3.2.0)", "crayon", "glue", "hms", - "lifecycle", + "lifecycle (>= 1.0.3)", "methods", - "progress", - "rlang", + "rlang (>= 1.1.0)", "stats", - "tibble", + "tibble (>= 2.0.0)", "tidyselect", - "tzdb", - "vctrs", + "tzdb (>= 0.1.1)", + "vctrs (>= 0.2.0)", "withr" ], - "Hash": "390f9315bc0025be03012054103d227c" + "Suggests": [ + "archive", + "bench (>= 1.1.0)", + "covr", + "curl", + "dplyr", + "forcats", + "fs", + "ggplot2", + "knitr", + "patchwork", + "prettyunits", + "purrr", + "rmarkdown", + "rstudioapi", + "scales", + "spelling", + "testthat (>= 2.1.0)", + "tidyr", + "utils", + "waldo", + "xml2" + ], + "LinkingTo": [ + "cpp11 (>= 0.2.0)", + "progress (>= 1.2.3)", + "tzdb (>= 0.1.1)" + ], + "VignetteBuilder": "knitr", + "Config/Needs/website": "nycflights13, tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Config/testthat/parallel": "false", + "Config/usethis/last-upkeep": "2025-11-25", + "Copyright": "file COPYRIGHTS", + "Encoding": "UTF-8", + "Language": "en-US", + "RoxygenNote": "7.3.3", + "Config/build/compilation-database": "true", + "NeedsCompilation": "yes", + "Author": "Jim Hester [aut] (ORCID: ), Hadley Wickham [aut] (ORCID: ), Jennifer Bryan [aut, cre] (ORCID: ), Shelby Bearrows [ctb], https://github.com/mandreyel/ [cph] (mio library), Jukka Jylänki [cph] (grisu3 implementation), Mikkel Jørgensen [cph] (grisu3 implementation), Posit Software, PBC [cph, fnd] (ROR: )", + "Maintainer": "Jennifer Bryan ", + "Repository": "CRAN" + }, + "waldo": { + "Package": "waldo", + "Version": "0.6.2", + "Source": "Repository", + "Title": "Find Differences Between R Objects", + "Authors@R": "c( person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = c(\"aut\", \"cre\")), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")) )", + "Description": "Compare complex R objects and reveal the key differences. Designed particularly for use in testing packages where being able to quickly isolate key differences makes understanding test failures much easier.", + "License": "MIT + file LICENSE", + "URL": "https://waldo.r-lib.org, https://github.com/r-lib/waldo", + "BugReports": "https://github.com/r-lib/waldo/issues", + "Depends": [ + "R (>= 4.0)" + ], + "Imports": [ + "cli", + "diffobj (>= 0.3.4)", + "glue", + "methods", + "rlang (>= 1.1.0)" + ], + "Suggests": [ + "bit64", + "R6", + "S7", + "testthat (>= 3.0.0)", + "withr", + "xml2" + ], + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "NeedsCompilation": "no", + "Author": "Hadley Wickham [aut, cre], Posit Software, PBC [cph, fnd]", + "Maintainer": "Hadley Wickham ", + "Repository": "CRAN" }, "withr": { "Package": "withr", "Version": "3.0.2", "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", + "Title": "Run Code 'With' Temporarily Modified Global State", + "Authors@R": "c( person(\"Jim\", \"Hester\", role = \"aut\"), person(\"Lionel\", \"Henry\", , \"lionel@posit.co\", role = c(\"aut\", \"cre\")), person(\"Kirill\", \"Müller\", , \"krlmlr+r@mailbox.org\", role = \"aut\"), person(\"Kevin\", \"Ushey\", , \"kevinushey@gmail.com\", role = \"aut\"), person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = \"aut\"), person(\"Winston\", \"Chang\", role = \"aut\"), person(\"Jennifer\", \"Bryan\", role = \"ctb\"), person(\"Richard\", \"Cotton\", role = \"ctb\"), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")) )", + "Description": "A set of functions to run code 'with' safely and temporarily modified global state. Many of these functions were originally a part of the 'devtools' package, this provides a simple package with limited dependencies to provide access to these functions.", + "License": "MIT + file LICENSE", + "URL": "https://withr.r-lib.org, https://github.com/r-lib/withr#readme", + "BugReports": "https://github.com/r-lib/withr/issues", + "Depends": [ + "R (>= 3.6.0)" + ], + "Imports": [ + "graphics", + "grDevices" + ], + "Suggests": [ + "callr", + "DBI", + "knitr", + "methods", + "rlang", + "rmarkdown (>= 2.12)", + "RSQLite", + "testthat (>= 3.0.0)" + ], + "VignetteBuilder": "knitr", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "Collate": "'aaa.R' 'collate.R' 'connection.R' 'db.R' 'defer-exit.R' 'standalone-defer.R' 'defer.R' 'devices.R' 'local_.R' 'with_.R' 'dir.R' 'env.R' 'file.R' 'language.R' 'libpaths.R' 'locale.R' 'makevars.R' 'namespace.R' 'options.R' 'par.R' 'path.R' 'rng.R' 'seed.R' 'wrap.R' 'sink.R' 'tempfile.R' 'timezone.R' 'torture.R' 'utils.R' 'with.R'", + "NeedsCompilation": "no", + "Author": "Jim Hester [aut], Lionel Henry [aut, cre], Kirill Müller [aut], Kevin Ushey [aut], Hadley Wickham [aut], Winston Chang [aut], Jennifer Bryan [ctb], Richard Cotton [ctb], Posit Software, PBC [cph, fnd]", + "Maintainer": "Lionel Henry ", + "Repository": "CRAN" + }, + "zoo": { + "Package": "zoo", + "Version": "1.8-15", + "Source": "Repository", + "Date": "2025-12-15", + "Title": "S3 Infrastructure for Regular and Irregular Time Series (Z's Ordered Observations)", + "Authors@R": "c(person(given = \"Achim\", family = \"Zeileis\", role = c(\"aut\", \"cre\"), email = \"Achim.Zeileis@R-project.org\", comment = c(ORCID = \"0000-0003-0918-3766\")), person(given = \"Gabor\", family = \"Grothendieck\", role = \"aut\", email = \"ggrothendieck@gmail.com\"), person(given = c(\"Jeffrey\", \"A.\"), family = \"Ryan\", role = \"aut\", email = \"jeff.a.ryan@gmail.com\"), person(given = c(\"Joshua\", \"M.\"), family = \"Ulrich\", role = \"ctb\", email = \"josh.m.ulrich@gmail.com\"), person(given = \"Felix\", family = \"Andrews\", role = \"ctb\", email = \"felix@nfrac.org\"))", + "Description": "An S3 class with methods for totally ordered indexed observations. It is particularly aimed at irregular time series of numeric vectors/matrices and factors. zoo's key design goals are independence of a particular index/date/time class and consistency with ts and base R by providing methods to extend standard generics.", + "Depends": [ + "R (>= 3.1.0)", + "stats" + ], + "Suggests": [ + "AER", + "coda", + "chron", + "ggplot2 (>= 3.5.0)", + "mondate", + "scales", + "stinepack", + "strucchange", + "timeDate", + "timeSeries", + "tinyplot", + "tis", + "tseries", + "xts" + ], + "Imports": [ + "utils", + "graphics", "grDevices", - "graphics" + "lattice (>= 0.20-27)" ], - "Hash": "cc2d62c76458d425210d1eb1478b30b4" + "License": "GPL-2 | GPL-3", + "URL": "https://zoo.R-Forge.R-project.org/", + "NeedsCompilation": "yes", + "Author": "Achim Zeileis [aut, cre] (ORCID: ), Gabor Grothendieck [aut], Jeffrey A. Ryan [aut], Joshua M. Ulrich [ctb], Felix Andrews [ctb]", + "Maintainer": "Achim Zeileis ", + "Repository": "CRAN" } } } diff --git a/renv/activate.R b/renv/activate.R index 0eb5108..6e94798 100644 --- a/renv/activate.R +++ b/renv/activate.R @@ -2,7 +2,8 @@ local({ # the requested version of renv - version <- "1.0.11" + version <- "1.1.8" + attr(version, "md5") <- "cbffd086c66739a0fdaac7a30b4aa65c" attr(version, "sha") <- NULL # the project directory @@ -42,7 +43,7 @@ local({ return(FALSE) # next, check environment variables - # TODO: prefer using the configuration one in the future + # prefer using the configuration one in the future envvars <- c( "RENV_CONFIG_AUTOLOADER_ENABLED", "RENV_AUTOLOADER_ENABLED", @@ -135,12 +136,12 @@ local({ # R help links pattern <- "`\\?(renv::(?:[^`])+)`" - replacement <- "`\033]8;;ide:help:\\1\a?\\1\033]8;;\a`" + replacement <- "`\033]8;;x-r-help:\\1\a?\\1\033]8;;\a`" text <- gsub(pattern, replacement, text, perl = TRUE) # runnable code pattern <- "`(renv::(?:[^`])+)`" - replacement <- "`\033]8;;ide:run:\\1\a\\1\033]8;;\a`" + replacement <- "`\033]8;;x-r-run:\\1\a\\1\033]8;;\a`" text <- gsub(pattern, replacement, text, perl = TRUE) # return ansified text @@ -168,6 +169,16 @@ local({ if (quiet) return(invisible()) + # also check for config environment variables that should suppress messages + # https://github.com/rstudio/renv/issues/2214 + enabled <- Sys.getenv("RENV_CONFIG_STARTUP_QUIET", unset = NA) + if (!is.na(enabled) && tolower(enabled) %in% c("true", "1")) + return(invisible()) + + enabled <- Sys.getenv("RENV_CONFIG_SYNCHRONIZED_CHECK", unset = NA) + if (!is.na(enabled) && tolower(enabled) %in% c("false", "0")) + return(invisible()) + msg <- sprintf(fmt, ...) cat(msg, file = stdout(), sep = if (appendLF) "\n" else "") @@ -209,16 +220,22 @@ local({ } - startswith <- function(string, prefix) { - substring(string, 1, nchar(prefix)) == prefix - } - bootstrap <- function(version, library) { friendly <- renv_bootstrap_version_friendly(version) section <- header(sprintf("Bootstrapping renv %s", friendly)) catf(section) + # try to install renv from cache + md5 <- attr(version, "md5", exact = TRUE) + if (length(md5)) { + pkgpath <- renv_bootstrap_find(version) + if (length(pkgpath) && file.exists(pkgpath)) { + file.copy(pkgpath, library, recursive = TRUE) + return(invisible()) + } + } + # attempt to download renv catf("- Downloading renv ... ", appendLF = FALSE) withCallingHandlers( @@ -244,7 +261,6 @@ local({ # add empty line to break up bootstrapping from normal output catf("") - return(invisible()) } @@ -261,12 +277,20 @@ local({ repos <- Sys.getenv("RENV_CONFIG_REPOS_OVERRIDE", unset = NA) if (!is.na(repos)) { - # check for RSPM; if set, use a fallback repository for renv - rspm <- Sys.getenv("RSPM", unset = NA) - if (identical(rspm, repos)) - repos <- c(RSPM = rspm, CRAN = cran) + # split on ';' if present + parts <- strsplit(repos, ";", fixed = TRUE)[[1L]] - return(repos) + # split into named repositories if present + idx <- regexpr("=", parts, fixed = TRUE) + keys <- substring(parts, 1L, idx - 1L) + vals <- substring(parts, idx + 1L) + names(vals) <- keys + + # if we have a single unnamed repository, call it CRAN + if (length(vals) == 1L && identical(keys, "")) + names(vals) <- "CRAN" + + return(vals) } @@ -515,6 +539,51 @@ local({ } + renv_bootstrap_find <- function(version) { + + path <- renv_bootstrap_find_cache(version) + if (length(path) && file.exists(path)) { + catf("- Using renv %s from global package cache", version) + return(path) + } + + } + + renv_bootstrap_find_cache <- function(version) { + + md5 <- attr(version, "md5", exact = TRUE) + if (is.null(md5)) + return() + + # infer path to renv cache + cache <- Sys.getenv("RENV_PATHS_CACHE", unset = "") + if (!nzchar(cache)) { + root <- Sys.getenv("RENV_PATHS_ROOT", unset = NA) + if (!is.na(root)) + cache <- file.path(root, "cache") + } + + if (!nzchar(cache)) { + tools <- asNamespace("tools") + if (is.function(tools$R_user_dir)) { + root <- tools$R_user_dir("renv", "cache") + cache <- file.path(root, "cache") + } + } + + # start completing path to cache + file.path( + cache, + renv_bootstrap_cache_version(), + renv_bootstrap_platform_prefix(), + "renv", + version, + md5, + "renv" + ) + + } + renv_bootstrap_download_tarball <- function(version) { # if the user has provided the path to a tarball via @@ -563,6 +632,9 @@ local({ # prepare download options token <- renv_bootstrap_github_token() + if (is.null(token)) + token <- "" + if (nzchar(Sys.which("curl")) && nzchar(token)) { fmt <- "--location --fail --header \"Authorization: token %s\"" extra <- sprintf(fmt, token) @@ -696,11 +768,19 @@ local({ } - renv_bootstrap_platform_prefix <- function() { + renv_bootstrap_platform_prefix_default <- function() { - # construct version prefix - version <- paste(R.version$major, R.version$minor, sep = ".") - prefix <- paste("R", numeric_version(version)[1, 1:2], sep = "-") + # read version component + version <- Sys.getenv("RENV_PATHS_VERSION", unset = "R-%v") + + # expand placeholders + placeholders <- list( + list("%v", format(getRversion()[1, 1:2])), + list("%V", format(getRversion()[1, 1:3])) + ) + + for (placeholder in placeholders) + version <- gsub(placeholder[[1L]], placeholder[[2L]], version, fixed = TRUE) # include SVN revision for development versions of R # (to avoid sharing platform-specific artefacts with released versions of R) @@ -709,10 +789,19 @@ local({ identical(R.version[["nickname"]], "Unsuffered Consequences") if (devel) - prefix <- paste(prefix, R.version[["svn rev"]], sep = "-r") + version <- paste(version, R.version[["svn rev"]], sep = "-r") + + version + + } + + renv_bootstrap_platform_prefix <- function() { + + # construct version prefix + version <- renv_bootstrap_platform_prefix_default() # build list of path components - components <- c(prefix, R.version$platform) + components <- c(version, R.version$platform) # include prefix if provided by user prefix <- renv_bootstrap_platform_prefix_impl() @@ -951,13 +1040,19 @@ local({ } renv_bootstrap_validate_version_dev <- function(version, description) { + expected <- description[["RemoteSha"]] - is.character(expected) && startswith(expected, version) + if (!is.character(expected)) + return(FALSE) + + pattern <- sprintf("^\\Q%s\\E", version) + grepl(pattern, expected, perl = TRUE) + } renv_bootstrap_validate_version_release <- function(version, description) { expected <- description[["Version"]] - is.character(expected) && identical(expected, version) + is.character(expected) && identical(c(expected), c(version)) } renv_bootstrap_hash_text <- function(text) { @@ -1132,10 +1227,10 @@ local({ renv_bootstrap_exec <- function(project, libpath, version) { if (!renv_bootstrap_load(project, libpath, version)) - renv_bootstrap_run(version, libpath) + renv_bootstrap_run(project, libpath, version) } - renv_bootstrap_run <- function(version, libpath) { + renv_bootstrap_run <- function(project, libpath, version) { # perform bootstrap bootstrap(version, libpath) @@ -1146,7 +1241,7 @@ local({ # try again to load if (requireNamespace("renv", lib.loc = libpath, quietly = TRUE)) { - return(renv::load(project = getwd())) + return(renv::load(project = project)) } # failed to download or load renv; warn the user @@ -1159,6 +1254,18 @@ local({ } + renv_bootstrap_cache_version <- function() { + # NOTE: users should normally not override the cache version; + # this is provided just to make testing easier + Sys.getenv("RENV_CACHE_VERSION", unset = "v5") + } + + renv_bootstrap_cache_version_previous <- function() { + version <- renv_bootstrap_cache_version() + number <- as.integer(substring(version, 2L)) + paste("v", number - 1L, sep = "") + } + renv_json_read <- function(file = NULL, text = NULL) { jlerr <- NULL @@ -1192,98 +1299,105 @@ local({ jsonlite::fromJSON(txt = text, simplifyVector = FALSE) } - renv_json_read_default <- function(file = NULL, text = NULL) { + renv_json_read_patterns <- function() { - # find strings in the JSON - text <- paste(text %||% readLines(file, warn = FALSE), collapse = "\n") - pattern <- '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]' - locs <- gregexpr(pattern, text, perl = TRUE)[[1]] + list( - # if any are found, replace them with placeholders - replaced <- text - strings <- character() - replacements <- character() + # objects + list("{", "\t\n\tobject(\t\n\t", TRUE), + list("}", "\t\n\t)\t\n\t", TRUE), - if (!identical(c(locs), -1L)) { + # arrays + list("[", "\t\n\tarray(\t\n\t", TRUE), + list("]", "\n\t\n)\n\t\n", TRUE), - # get the string values - starts <- locs - ends <- locs + attr(locs, "match.length") - 1L - strings <- substring(text, starts, ends) + # maps + list(":", "\t\n\t=\t\n\t", TRUE), - # only keep those requiring escaping - strings <- grep("[[\\]{}:]", strings, perl = TRUE, value = TRUE) + # newlines + list("\\u000a", "\n", FALSE) - # compute replacements - replacements <- sprintf('"\032%i\032"', seq_along(strings)) + ) - # replace the strings - mapply(function(string, replacement) { - replaced <<- sub(string, replacement, replaced, fixed = TRUE) - }, strings, replacements) + } - } + renv_json_read_envir <- function() { - # transform the JSON into something the R parser understands - transformed <- replaced - transformed <- gsub("{}", "`names<-`(list(), character())", transformed, fixed = TRUE) - transformed <- gsub("[[{]", "list(", transformed, perl = TRUE) - transformed <- gsub("[]}]", ")", transformed, perl = TRUE) - transformed <- gsub(":", "=", transformed, fixed = TRUE) - text <- paste(transformed, collapse = "\n") + envir <- new.env(parent = emptyenv()) - # parse it - json <- parse(text = text, keep.source = FALSE, srcfile = NULL)[[1L]] + envir[["+"]] <- `+` + envir[["-"]] <- `-` - # construct map between source strings, replaced strings - map <- as.character(parse(text = strings)) - names(map) <- as.character(parse(text = replacements)) + envir[["object"]] <- function(...) { + result <- list(...) + names(result) <- as.character(names(result)) + result + } - # convert to list - map <- as.list(map) + envir[["array"]] <- list - # remap strings in object - remapped <- renv_json_read_remap(json, map) + envir[["true"]] <- TRUE + envir[["false"]] <- FALSE + envir[["null"]] <- NULL - # evaluate - eval(remapped, envir = baseenv()) + envir } - renv_json_read_remap <- function(json, map) { + renv_json_read_remap <- function(object, patterns) { - # fix names - if (!is.null(names(json))) { - lhs <- match(names(json), names(map), nomatch = 0L) - rhs <- match(names(map), names(json), nomatch = 0L) - names(json)[rhs] <- map[lhs] - } + # repair names if necessary + if (!is.null(names(object))) { + + nms <- names(object) + for (pattern in patterns) + nms <- gsub(pattern[[2L]], pattern[[1L]], nms, fixed = TRUE) + names(object) <- nms - # fix values - if (is.character(json)) - return(map[[json]] %||% json) - - # handle true, false, null - if (is.name(json)) { - text <- as.character(json) - if (text == "true") - return(TRUE) - else if (text == "false") - return(FALSE) - else if (text == "null") - return(NULL) } - # recurse - if (is.recursive(json)) { - for (i in seq_along(json)) { - json[i] <- list(renv_json_read_remap(json[[i]], map)) - } + # repair strings if necessary + if (is.character(object)) { + for (pattern in patterns) + object <- gsub(pattern[[2L]], pattern[[1L]], object, fixed = TRUE) } - json + # recurse for other objects + if (is.recursive(object)) + for (i in seq_along(object)) + object[i] <- list(renv_json_read_remap(object[[i]], patterns)) + + # return remapped object + object + + } + + renv_json_read_default <- function(file = NULL, text = NULL) { + + # read json text + text <- paste(text %||% readLines(file, warn = FALSE), collapse = "\n") + + # convert into something the R parser will understand + patterns <- renv_json_read_patterns() + transformed <- text + for (pattern in patterns) + transformed <- gsub(pattern[[1L]], pattern[[2L]], transformed, fixed = TRUE) + + # parse it + rfile <- tempfile("renv-json-", fileext = ".R") + on.exit(unlink(rfile), add = TRUE) + writeLines(transformed, con = rfile) + json <- parse(rfile, keep.source = FALSE, srcfile = NULL)[[1L]] + + # evaluate in safe environment + result <- eval(json, envir = renv_json_read_envir()) + + # fix up strings if necessary -- do so only with reversible patterns + patterns <- Filter(function(pattern) pattern[[3L]], patterns) + renv_json_read_remap(result, patterns) } + # load the renv profile, if any renv_bootstrap_profile_load(project) diff --git a/renv/settings.json b/renv/settings.json index 0715690..42fe642 100644 --- a/renv/settings.json +++ b/renv/settings.json @@ -1,5 +1,5 @@ { - "bioconductor.version": "3.20", + "bioconductor.version": "3.22", "external.libraries": [], "ignored.packages": [], "package.dependency.fields": [ @@ -10,6 +10,7 @@ "ppm.enabled": null, "ppm.ignored.urls": [], "r.version": null, + "snapshot.dev": false, "snapshot.type": "implicit", "use.cache": true, "vcs.ignore.cellar": true, diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 0000000..5f365fd --- /dev/null +++ b/tests/__init__.py @@ -0,0 +1 @@ +# Dumpling pipeline test suite diff --git a/tests/conftest.py b/tests/conftest.py new file mode 100644 index 0000000..67da1e0 --- /dev/null +++ b/tests/conftest.py @@ -0,0 +1,424 @@ +""" +Shared pytest fixtures for Dumpling pipeline tests. + +This module provides common fixtures for unit and integration tests including: +- Mock Snakemake objects +- Sample DataFrames (designed variants, experiments) +- Reference sequences and GATK outputs +- Temporary directory management +""" + +import os +import sys +import pytest +import numpy +import pandas as pd +from pathlib import Path +from types import ModuleType +from unittest.mock import MagicMock + +# Add workflow scripts to path for imports +REPO_ROOT = Path(__file__).parent.parent +sys.path.insert(0, str(REPO_ROOT / "workflow" / "rules" / "scripts")) + + +def _make_bootstrap_snakemake(): + """Create a minimal snakemake-like object for module import time.""" + fixtures_dir = REPO_ROOT / "tests" / "fixtures" + bootstrap_ref = REPO_ROOT / "references" / "cftr_d508_frag1.fasta" + bootstrap_oligos = REPO_ROOT / "config" / "oligos" / "CFTR_1_d508_oligos.csv" + return MagicMock( + config={ + "experiment": "mock_experiment", + "experiment_file": str(fixtures_dir / "mock_experiment.csv"), + "baseline_condition": "baseline", + "variants_file": str(fixtures_dir / "mock_variants.csv"), + "orf": "229-2817", + }, + input={ + "oligo_file": str(bootstrap_oligos), + "ref_fasta": str(bootstrap_ref), + }, + output=[os.devnull], + params={}, + log=[os.devnull], + ) + + +def _install_snakemake_import_shim(): + """Ensure ``from snakemake.script import snakemake`` works during pytest imports.""" + bootstrap = _make_bootstrap_snakemake() + + try: + import snakemake.script as snakemake_script + + if not hasattr(snakemake_script, "snakemake"): + snakemake_script.snakemake = bootstrap + return + except ModuleNotFoundError: + pass + + snakemake_module = ModuleType("snakemake") + script_module = ModuleType("snakemake.script") + script_module.snakemake = bootstrap + snakemake_module.script = script_module + sys.modules.setdefault("snakemake", snakemake_module) + sys.modules["snakemake.script"] = script_module + + +_install_snakemake_import_shim() + + +# ============================================================================= +# Mock Snakemake Object +# ============================================================================= + + +class MockSnakemake: + """ + Mock Snakemake object for testing scripts that depend on snakemake context. + + Usage: + snakemake = MockSnakemake( + config={'experiment': 'test'}, + input={'ref': 'path/to/ref.fasta'}, + output=['output.csv'], + log=['/dev/null'] + ) + """ + + def __init__( + self, + config=None, + input=None, + output=None, + params=None, + log=None, + wildcards=None, + threads=1, + resources=None, + ): + self.config = config or {} + self.input = self._to_namespace(input or {}) + self.output = output or [] + self.params = self._to_namespace(params or {}) + self.log = log or ["/dev/null"] + self.wildcards = self._to_namespace(wildcards or {}) + self.threads = threads + self.resources = self._to_namespace(resources or {}) + + def _to_namespace(self, d): + """Convert dict to object with attribute access.""" + if isinstance(d, dict): + ns = MagicMock() + for k, v in d.items(): + setattr(ns, k, v) + # Allow dict-style access too + ns.__getitem__ = lambda self, key: getattr(self, key) + ns.get = lambda key, default=None: getattr(ns, key, default) + return ns + return d + + +@pytest.fixture +def mock_snakemake(): + """Factory fixture for creating mock Snakemake objects.""" + return MockSnakemake + + +# ============================================================================= +# Path Fixtures +# ============================================================================= + + +@pytest.fixture +def fixtures_dir(): + """Path to the test fixtures directory.""" + return Path(__file__).parent / "fixtures" + + +@pytest.fixture +def repo_root(): + """Path to the repository root.""" + return REPO_ROOT + + +# ============================================================================= +# Reference Sequence Fixtures +# ============================================================================= + + +@pytest.fixture +def mock_reference_sequence(): + """ + A synthetic 500bp DNA reference sequence for testing. + Contains a clear ORF from position 1-300 (100 codons). + """ + # Start with ATG, end with TAA, varied codons in between + sequence = ( + "ATGGCTAAGGTCGCTTTCTGGCTGCTGCTGTCGAAGCGTGACAACCTGACC" # 50bp + "TACGAGTACAAGAACGGCTACCTGAACGCTCGTGACGTCAACAAGCTGTAC" # 100bp + "GACTTCAAGAACGCTGACCTGAACGGTCGTAACAAGCTGAACGACTTCAAG" # 150bp + "AACGCTGACCTGAACGGTCGTAACAAGCTGAACGACTTCAAGAACGCTGAC" # 200bp + "CTGAACGGTCGTAACAAGCTGAACGACTTCAAGAACGCTGACCTGAACGGT" # 250bp + "CGTAACAAGCTGAACGACTTCAAGAACGCTGACCTGAACGGTCGTAACTAA" # 300bp (stop) + "GCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCT" # 350bp (UTR) + "AGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGC" # 400bp + "TAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAG" # 450bp + "CTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTA" # 500bp + ) + return sequence + + +@pytest.fixture +def mock_aa_sequence(): + """ + Amino acid sequence corresponding to mock_reference_sequence ORF (codons 1-99). + """ + return "MAKVAFWLLLLSKRDNLTYEYKNGYLAARDVNKLYDKFNADLNGRNNKLNDFKNADLNGRNNKLNDFKNADLNGRNNKLNDFKNADLNGRNNKLNDFKNADLNGR" + + +@pytest.fixture +def short_ref_aa_sequence(): + """Short reference AA sequence for simple tests.""" + return "MKVAFWLLLS" + + +# ============================================================================= +# Designed Variants Fixtures +# ============================================================================= + + +@pytest.fixture +def designed_variants_df(): + """ + Small mock DataFrame representing designed variants. + Each row corresponds to a single variant the pipeline expects. + """ + data = { + "count": [0, 0, 0, 0, 0], + "pos": [10, 11, 12, 13, 14], + "mutation_type": ["M", "S", "D", "I", "X"], + "name": ["G10A", "R11R", "P12del", "L13_K14insA", "W14X"], + "codon": ["GCT", "CGT", "", "GCT", "TGA"], + "mutation": ["A", "R", "D_1", "I_1", "X"], + "length": [1, 1, 1, 1, 1], + "hgvs": ["p.(G10A)", "p.(R11R)", "p.(P12del)", "p.(L13_K14insA)", "p.(W14X)"], + } + return pd.DataFrame(data) + + +@pytest.fixture +def full_designed_variants_df(): + """ + Larger mock DataFrame with multiple mutation types at each position. + More realistic for integration testing. + """ + variants = [] + for pos in range(1, 21): + # Missense variants + for aa in ["A", "C", "D", "E", "F"]: + variants.append({ + "count": 0, + "pos": pos, + "mutation_type": "M", + "name": f"X{pos}{aa}", + "codon": "GCT", + "mutation": aa, + "length": 1, + "hgvs": f"p.(X{pos}{aa})", + }) + # Synonymous + variants.append({ + "count": 0, + "pos": pos, + "mutation_type": "S", + "name": f"X{pos}X", + "codon": "XXX", + "mutation": "S", + "length": 1, + "hgvs": f"p.(X{pos}=)", + }) + # Deletion + variants.append({ + "count": 0, + "pos": pos, + "mutation_type": "D", + "name": f"X{pos}del", + "codon": "", + "mutation": "D_1", + "length": 1, + "hgvs": f"p.(X{pos}del)", + }) + return pd.DataFrame(variants) + + +# ============================================================================= +# GATK Output Fixtures +# ============================================================================= + + +@pytest.fixture +def mock_gatk_list(): + """ + Mock GATK ASM output as a list of lists (parsed variantCounts format). + Columns: counts, coverage, mean_length, length_NT, NT, length_codon, codon, AA, mutations + """ + return [ + ["5", "100", "0.1", "1", "1774:A>C", "1", "10:CAA>GCT", "M:G>A", "G10A"], + ["2", "100", "1.2", "2", "1774:A>C,1823:G>A", "1", "11:CGC>CGT", "S:R>R", ""], + ["10", "100", "0", "3", "1774:A>-,1775:A>-,1776:A>-", "1", "12:AAA>---", "D:P>-", "P12del"], + ["3", "100", "0.5", "1", "1780:G>A", "1", "14:TGG>TGA", "N:W>*", "W14X"], + ] + + +@pytest.fixture +def mock_gatk_file(tmp_path): + """Create a temporary GATK variantCounts file.""" + gatk_content = """5 100 0.1 1 1774:A>C 1 10:CAA>GCT M:G>A G10A +2 100 1.2 2 1774:A>C,1823:G>A 1 11:CGC>CGT S:R>R +10 100 0 3 1774:A>-,1775:A>-,1776:A>- 1 12:AAA>--- D:P>- P12del +3 100 0.5 1 1780:G>A 1 14:TGG>TGA N:W>* W14X +7 100 0.3 1 1785:C>T 1 15:AAA>AAG M:K>K +""" + gatk_file = tmp_path / "test.variantCounts" + gatk_file.write_text(gatk_content) + return gatk_file + + +# ============================================================================= +# Experiment Configuration Fixtures +# ============================================================================= + + +@pytest.fixture +def mock_experiment_df(): + """ + Mock experiment DataFrame matching the experiments.schema.yaml format. + """ + data = { + "sample": ["sample_A_T0", "sample_A_T1", "sample_B_T0", "sample_B_T1"], + "condition": ["cond_A", "cond_A", "baseline", "baseline"], + "replicate": [1, 1, 1, 1], + "time": [0, 1, 0, 1], + "tile": [1, 1, 1, 1], + "file": ["mock_reads", "mock_reads", "mock_reads", "mock_reads"], + } + return pd.DataFrame(data) + + +@pytest.fixture +def mock_config(): + """ + Mock configuration dictionary matching config.schema.yaml. + """ + return { + "experiment": "test_experiment", + "experiment_file": "config/mock_experiment.csv", + "data_dir": "tests/fixtures", + "ref_dir": "tests/fixtures", + "reference": "mock_reference.fasta", + "variants_file": "tests/fixtures/mock_variants.csv", + "oligo_file": "tests/fixtures/mock_oligos.csv", + "orf": "1-300", + "enrich2": True, + "remove_zeros": True, + "regenerate_variants": False, + "noprocess": False, + "run_qc": False, + "baseline_condition": "baseline", + "max_deletion_length": 3, + "kmers": 15, + "sam": "1.3", + "mem": 16, + "min_q": 30, + "min_variant_obs": 3, + "samtools_local": False, + "rosace_local": False, + "adapters": "resources/adapters.fa", + "contaminants": [ + "resources/sequencing_artifacts.fa.gz", + "resources/phix174_ill.ref.fa.gz", + ], + } + + +# ============================================================================= +# Enrich Format Fixtures +# ============================================================================= + + +@pytest.fixture +def mock_enrich_files(tmp_path): + """ + Create mock Enrich2 format TSV files for testing remove_zeros. + """ + data_dir = tmp_path / "enrich_format" + data_dir.mkdir() + + # Sample 1: varA=10, varB=0, varC=5 + sample1 = data_dir / "sample1.tsv" + sample1.write_text("hgvs\tcount\nvarA\t10\nvarB\t0\nvarC\t5\n") + + # Sample 2: varA=0, varB=0, varC=5, varD=0 + sample2 = data_dir / "sample2.tsv" + sample2.write_text("hgvs\tcount\nvarA\t0\nvarB\t0\nvarC\t5\nvarD\t0\n") + + return data_dir + + +# ============================================================================= +# File System Fixtures +# ============================================================================= + + +@pytest.fixture +def mock_reference_fasta(tmp_path, mock_reference_sequence): + """Create a temporary FASTA reference file.""" + fasta_file = tmp_path / "mock_reference.fasta" + fasta_file.write_text(f">mock_reference\n{mock_reference_sequence}\n") + return fasta_file + + +@pytest.fixture +def mock_variants_csv(tmp_path, designed_variants_df): + """Create a temporary designed variants CSV file.""" + csv_file = tmp_path / "mock_variants.csv" + designed_variants_df.to_csv(csv_file, index=False) + return csv_file + + +@pytest.fixture +def mock_experiment_csv(tmp_path, mock_experiment_df): + """Create a temporary experiment CSV file.""" + csv_file = tmp_path / "mock_experiment.csv" + mock_experiment_df.to_csv(csv_file, index=False) + return csv_file + + +# ============================================================================= +# Integration Test Fixtures +# ============================================================================= + + +@pytest.fixture +def mock_config_file(tmp_path, mock_config, mock_reference_fasta, mock_variants_csv, mock_experiment_csv): + """ + Create a complete mock configuration file with all referenced files. + Returns path to the config YAML file. + """ + import yaml + + # Update config paths to point to temp files + config = mock_config.copy() + config["ref_dir"] = str(tmp_path) + config["reference"] = mock_reference_fasta.name + config["variants_file"] = str(mock_variants_csv) + config["experiment_file"] = str(mock_experiment_csv) + config["data_dir"] = str(tmp_path) + + config_file = tmp_path / "mock_config.yaml" + with open(config_file, "w") as f: + yaml.dump(config, f) + + return config_file diff --git a/tests/fixtures/mock_config.yaml b/tests/fixtures/mock_config.yaml new file mode 100644 index 0000000..2d67ea0 --- /dev/null +++ b/tests/fixtures/mock_config.yaml @@ -0,0 +1,39 @@ +# Mock configuration for testing +# This configuration uses minimal test fixtures + +experiment: 'mock_experiment' +data_dir: 'tests/fixtures' +ref_dir: 'tests/fixtures' +experiment_file: 'tests/fixtures/mock_experiment.csv' + +# Reference and variants +reference: 'mock_reference.fasta' +variants_file: 'tests/fixtures/mock_variants.csv' +oligo_file: 'tests/fixtures/mock_oligos.csv' +orf: "1-300" + +# Analysis flags +enrich2: true +noprocess: false +run_qc: false +baseline_condition: 'baseline' +remove_zeros: true +regenerate_variants: false + +# Tool parameters +kmers: 15 +sam: "1.3" +mem: 4 +min_q: 30 +min_variant_obs: 3 +max_deletion_length: 3 + +# Environment flags +samtools_local: false +rosace_local: false + +# Resources (minimal for testing) +adapters: 'resources/adapters.fa' +contaminants: + - 'resources/sequencing_artifacts.fa.gz' + - 'resources/phix174_ill.ref.fa.gz' diff --git a/tests/fixtures/mock_experiment.csv b/tests/fixtures/mock_experiment.csv new file mode 100644 index 0000000..3354e09 --- /dev/null +++ b/tests/fixtures/mock_experiment.csv @@ -0,0 +1,13 @@ +sample,condition,replicate,time,tile,file +sample_A_R1_T0,cond_A,1,0,1,mock_reads +sample_A_R1_T1,cond_A,1,1,1,mock_reads +sample_A_R1_T2,cond_A,1,2,1,mock_reads +sample_A_R2_T0,cond_A,2,0,1,mock_reads +sample_A_R2_T1,cond_A,2,1,1,mock_reads +sample_A_R2_T2,cond_A,2,2,1,mock_reads +sample_B_R1_T0,baseline,1,0,1,mock_reads +sample_B_R1_T1,baseline,1,1,1,mock_reads +sample_B_R1_T2,baseline,1,2,1,mock_reads +sample_B_R2_T0,baseline,2,0,1,mock_reads +sample_B_R2_T1,baseline,2,1,1,mock_reads +sample_B_R2_T2,baseline,2,2,1,mock_reads diff --git a/tests/fixtures/mock_gatk_output.variantCounts b/tests/fixtures/mock_gatk_output.variantCounts new file mode 100644 index 0000000..030df79 --- /dev/null +++ b/tests/fixtures/mock_gatk_output.variantCounts @@ -0,0 +1,10 @@ +5 100 0.1 1 1:A>G 1 1:ATG>GCT M:M>A M1A +10 100 0.2 1 1:A>T 1 1:ATG>TGT M:M>C M1C +3 100 0.1 1 4:G>G 1 2:GCT>GCT S:A>A +8 100 0.3 2 7:A>C,8:A>G 1 3:AAG>CGT M:K>R K3R +15 100 0.2 1 10:G>G 1 4:GTC>GTT S:V>V +2 100 0.1 1 16:T>A 1 6:TTT>TAT M:F>Y F6Y +7 100 0.4 1 19:G>A 1 7:TGG>TGA N:W>* W7X +4 100 0.2 3 1:A>-,2:T>-,3:G>- 1 1:ATG>--- D:M>- M1del +6 100 0.3 6 1:A>-,2:T>-,3:G>-,4:G>-,5:C>-,6:T>- 2 1:ATG>---,2:GCT>--- D:MA>-- M1_A2del +1 100 0.1 3 4:G>A,5:C>T,6:T>G 1 2:GCT>GCT,2:+>ATG I:A>AA M1_A2insA diff --git a/tests/fixtures/mock_oligos.csv b/tests/fixtures/mock_oligos.csv new file mode 100644 index 0000000..f169485 --- /dev/null +++ b/tests/fixtures/mock_oligos.csv @@ -0,0 +1,20 @@ +name,sequence +M1A_oligo,ATGGCTAAGGTCGCTTTCTGGCTGCTGCTGTCGAAGCGTGACAACCTGACCGCTGCTAAGGTCGCTTTCTGGCTGCTGCTG +M1C_oligo,ATGGCTAAGGTCGCTTTCTGGCTGCTGCTGTCGAAGCGTGACAACCTGACCTGTGCTAAGGTCGCTTTCTGGCTGCTGCTG +M1D_oligo,ATGGCTAAGGTCGCTTTCTGGCTGCTGCTGTCGAAGCGTGACAACCTGACCGATGCTAAGGTCGCTTTCTGGCTGCTGCTG +A2C_oligo,ATGGCTAAGGTCGCTTTCTGGCTGCTGCTGTCGAAGCGTGACAACCTGACCATGTGTAAGGTCGCTTTCTGGCTGCTGCTG +A2D_oligo,ATGGCTAAGGTCGCTTTCTGGCTGCTGCTGTCGAAGCGTGACAACCTGACCATGGATAAGGTCGCTTTCTGGCTGCTGCTG +K3A_oligo,ATGGCTAAGGTCGCTTTCTGGCTGCTGCTGTCGAAGCGTGACAACCTGACCATGGCTGCTGTCGCTTTCTGGCTGCTGCTG +K3R_oligo,ATGGCTAAGGTCGCTTTCTGGCTGCTGCTGTCGAAGCGTGACAACCTGACCATGGCTCGTGTCGCTTTCTGGCTGCTGCTG +V4A_oligo,ATGGCTAAGGTCGCTTTCTGGCTGCTGCTGTCGAAGCGTGACAACCTGACCATGGCTAAGGCTGCTTTCTGGCTGCTGCTG +V4L_oligo,ATGGCTAAGGTCGCTTTCTGGCTGCTGCTGTCGAAGCGTGACAACCTGACCATGGCTAAGCTGGCTTTCTGGCTGCTGCTG +A5G_oligo,ATGGCTAAGGTCGCTTTCTGGCTGCTGCTGTCGAAGCGTGACAACCTGACCATGGCTAAGGTCGGTTTCTGGCTGCTGCTG +A5S_oligo,ATGGCTAAGGTCGCTTTCTGGCTGCTGCTGTCGAAGCGTGACAACCTGACCATGGCTAAGGTCTCTTTCTGGCTGCTGCTG +F6Y_oligo,ATGGCTAAGGTCGCTTTCTGGCTGCTGCTGTCGAAGCGTGACAACCTGACCATGGCTAAGGTCGCTTATTGGCTGCTGCTG +F6W_oligo,ATGGCTAAGGTCGCTTTCTGGCTGCTGCTGTCGAAGCGTGACAACCTGACCATGGCTAAGGTCGCTTGGTGGCTGCTGCTG +W7A_oligo,ATGGCTAAGGTCGCTTTCTGGCTGCTGCTGTCGAAGCGTGACAACCTGACCATGGCTAAGGTCGCTTTCGCTCTGCTGCTG +W7F_oligo,ATGGCTAAGGTCGCTTTCTGGCTGCTGCTGTCGAAGCGTGACAACCTGACCATGGCTAAGGTCGCTTTCTTTCTGCTGCTG +L8A_oligo,ATGGCTAAGGTCGCTTTCTGGCTGCTGCTGTCGAAGCGTGACAACCTGACCATGGCTAAGGTCGCTTTCTGGGCTCTGCTG +L8V_oligo,ATGGCTAAGGTCGCTTTCTGGCTGCTGCTGTCGAAGCGTGACAACCTGACCATGGCTAAGGTCGCTTTCTGGGTTCTGCTG +M1del_oligo,ATGGCTAAGGTCGCTTTCTGGCTGCTGCTGTCGAAGCGTGACAACCTGACC---GCTAAGGTCGCTTTCTGGCTGCTGCTG +A2del_oligo,ATGGCTAAGGTCGCTTTCTGGCTGCTGCTGTCGAAGCGTGACAACCTGACCATG---AAGGTCGCTTTCTGGCTGCTGCTG diff --git a/tests/fixtures/mock_reference.fasta b/tests/fixtures/mock_reference.fasta new file mode 100644 index 0000000..1b7f2f1 --- /dev/null +++ b/tests/fixtures/mock_reference.fasta @@ -0,0 +1,11 @@ +>mock_reference_orf_1_300 +ATGGCTAAGGTCGCTTTCTGGCTGCTGCTGTCGAAGCGTGACAACCTGACC +TACGAGTACAAGAACGGCTACCTGAACGCTCGTGACGTCAACAAGCTGTAC +GACTTCAAGAACGCTGACCTGAACGGTCGTAACAAGCTGAACGACTTCAAG +AACGCTGACCTGAACGGTCGTAACAAGCTGAACGACTTCAAGAACGCTGAC +CTGAACGGTCGTAACAAGCTGAACGACTTCAAGAACGCTGACCTGAACGGT +CGTAACAAGCTGAACGACTTCAAGAACGCTGACCTGAACGGTCGTAACTAA +GCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCT +AGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGC +TAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAG +CTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTAGCTA diff --git a/tests/fixtures/mock_variants.csv b/tests/fixtures/mock_variants.csv new file mode 100644 index 0000000..4ed7565 --- /dev/null +++ b/tests/fixtures/mock_variants.csv @@ -0,0 +1,49 @@ +count,pos,mutation_type,name,codon,mutation,length,hgvs +0,1,M,M1A,GCT,A,1,p.(M1A) +0,1,M,M1C,TGT,C,1,p.(M1C) +0,1,M,M1D,GAT,D,1,p.(M1D) +0,1,M,M1E,GAA,E,1,p.(M1E) +0,1,M,M1F,TTT,F,1,p.(M1F) +0,1,S,M1M,ATG,M,1,p.(M1=) +0,2,M,A2C,TGT,C,1,p.(A2C) +0,2,M,A2D,GAT,D,1,p.(A2D) +0,2,M,A2E,GAA,E,1,p.(A2E) +0,2,S,A2A,GCT,A,1,p.(A2=) +0,3,M,K3A,GCT,A,1,p.(K3A) +0,3,M,K3R,CGT,R,1,p.(K3R) +0,3,M,K3N,AAT,N,1,p.(K3N) +0,3,S,K3K,AAA,K,1,p.(K3=) +0,4,M,V4A,GCT,A,1,p.(V4A) +0,4,M,V4L,CTG,L,1,p.(V4L) +0,4,M,V4I,ATT,I,1,p.(V4I) +0,4,S,V4V,GTT,V,1,p.(V4=) +0,5,M,A5G,GGT,G,1,p.(A5G) +0,5,M,A5S,TCT,S,1,p.(A5S) +0,5,S,A5A,GCT,A,1,p.(A5=) +0,6,M,F6Y,TAT,Y,1,p.(F6Y) +0,6,M,F6W,TGG,W,1,p.(F6W) +0,6,X,F6X,TGA,X,1,p.(F6*) +0,6,S,F6F,TTT,F,1,p.(F6=) +0,7,M,W7A,GCT,A,1,p.(W7A) +0,7,M,W7F,TTT,F,1,p.(W7F) +0,7,X,W7X,TGA,X,1,p.(W7*) +0,7,S,W7W,TGG,W,1,p.(W7=) +0,8,M,L8A,GCT,A,1,p.(L8A) +0,8,M,L8V,GTT,V,1,p.(L8V) +0,8,S,L8L,CTG,L,1,p.(L8=) +0,9,M,L9A,GCT,A,1,p.(L9A) +0,9,M,L9P,CCT,P,1,p.(L9P) +0,9,S,L9L,CTG,L,1,p.(L9=) +0,10,M,L10A,GCT,A,1,p.(L10A) +0,10,M,L10V,GTT,V,1,p.(L10V) +0,10,S,L10L,CTG,L,1,p.(L10=) +0,1,D,M1del,,D_1,1,p.(M1del) +0,2,D,A2del,,D_1,1,p.(A2del) +0,3,D,K3del,,D_1,1,p.(K3del) +0,1,D,M1_A2del,,D_2,2,p.(M1_A2del) +0,2,D,A2_K3del,,D_2,2,p.(A2_K3del) +0,1,D,M1_K3del,,D_3,3,p.(M1_K3del) +0,1,I,M1_A2insA,GCT,I_1,1,p.(M1_A2insA) +0,2,I,A2_K3insG,GGT,I_1,1,p.(A2_K3insG) +0,1,I,M1_A2insAA,GCTGCT,I_2,2,p.(M1_A2insAA) +0,1,I,M1_A2insAAA,GCTGCTGCT,I_3,3,p.(M1_A2insAAA) diff --git a/tests/integration/__init__.py b/tests/integration/__init__.py new file mode 100644 index 0000000..29c6e97 --- /dev/null +++ b/tests/integration/__init__.py @@ -0,0 +1 @@ +# Integration tests for Dumpling pipeline diff --git a/tests/integration/test_config_validation.py b/tests/integration/test_config_validation.py new file mode 100644 index 0000000..30e6610 --- /dev/null +++ b/tests/integration/test_config_validation.py @@ -0,0 +1,170 @@ +""" +Integration tests for configuration validation. + +Tests that the pipeline's configuration validation correctly accepts valid +configs and rejects invalid ones. +""" + +import pytest +import yaml +from pathlib import Path + + +@pytest.mark.integration +class TestConfigSchema: + """Tests for config schema validation.""" + + def test_valid_config_has_required_fields(self, mock_config): + """Verify that mock_config fixture contains all required fields.""" + required_fields = [ + "experiment", + "experiment_file", + "data_dir", + "ref_dir", + "reference", + "orf", + ] + for field in required_fields: + assert field in mock_config, f"Missing required field: {field}" + + def test_orf_format_valid(self, mock_config): + """Test that ORF format is valid (start-stop).""" + orf = mock_config["orf"] + assert "-" in orf, "ORF should be in format 'start-stop'" + parts = orf.split("-") + assert len(parts) == 2, "ORF should have exactly two parts" + assert parts[0].isdigit(), "ORF start should be numeric" + assert parts[1].isdigit(), "ORF stop should be numeric" + assert int(parts[0]) < int(parts[1]), "ORF start should be less than stop" + + def test_config_boolean_flags(self, mock_config): + """Test that boolean flags are properly typed.""" + boolean_fields = [ + "enrich2", + "remove_zeros", + "regenerate_variants", + "noprocess", + "run_qc", + "samtools_local", + "rosace_local", + ] + for field in boolean_fields: + if field in mock_config: + assert isinstance( + mock_config[field], bool + ), f"{field} should be boolean" + + def test_config_numeric_fields(self, mock_config): + """Test that numeric fields are properly typed.""" + numeric_fields = ["kmers", "mem", "min_q", "min_variant_obs", "max_deletion_length"] + for field in numeric_fields: + if field in mock_config: + assert isinstance( + mock_config[field], (int, float) + ), f"{field} should be numeric" + + +@pytest.mark.integration +class TestConfigFileValidation: + """Tests for validating config files against schema.""" + + def test_mock_config_yaml_is_valid(self, fixtures_dir): + """Test that mock_config.yaml is valid YAML.""" + config_file = fixtures_dir / "mock_config.yaml" + assert config_file.exists(), "mock_config.yaml should exist" + + with open(config_file) as f: + config = yaml.safe_load(f) + + assert isinstance(config, dict), "Config should be a dictionary" + assert "experiment" in config, "Config should have experiment field" + + def test_mock_experiment_csv_structure(self, fixtures_dir): + """Test that mock_experiment.csv has required columns.""" + import pandas as pd + + csv_file = fixtures_dir / "mock_experiment.csv" + assert csv_file.exists(), "mock_experiment.csv should exist" + + df = pd.read_csv(csv_file) + required_columns = ["sample", "condition", "replicate", "time"] + for col in required_columns: + assert col in df.columns, f"Missing required column: {col}" + + def test_mock_variants_csv_structure(self, fixtures_dir): + """Test that mock_variants.csv has required columns.""" + import pandas as pd + + csv_file = fixtures_dir / "mock_variants.csv" + assert csv_file.exists(), "mock_variants.csv should exist" + + df = pd.read_csv(csv_file) + required_columns = ["count", "pos", "mutation_type", "name", "hgvs"] + for col in required_columns: + assert col in df.columns, f"Missing required column: {col}" + + def test_mock_reference_fasta_valid(self, fixtures_dir): + """Test that mock_reference.fasta is valid FASTA.""" + fasta_file = fixtures_dir / "mock_reference.fasta" + assert fasta_file.exists(), "mock_reference.fasta should exist" + + content = fasta_file.read_text() + assert content.startswith(">"), "FASTA should start with >" + lines = content.strip().split("\n") + assert len(lines) >= 2, "FASTA should have header and sequence" + + # Check sequence contains only valid nucleotides + sequence = "".join(lines[1:]) + valid_chars = set("ACGTN") + assert all( + c in valid_chars for c in sequence.upper() + ), "Sequence should contain only valid nucleotides" + + +@pytest.mark.integration +class TestConfigConsistency: + """Tests for configuration consistency checks.""" + + def test_variants_mutation_types_valid(self, fixtures_dir): + """Test that all mutation types in variants file are valid.""" + import pandas as pd + + csv_file = fixtures_dir / "mock_variants.csv" + df = pd.read_csv(csv_file) + + valid_types = {"M", "S", "D", "I", "X", "N", "Z"} + actual_types = set(df["mutation_type"].unique()) + assert actual_types.issubset( + valid_types + ), f"Invalid mutation types: {actual_types - valid_types}" + + def test_experiment_has_baseline(self, fixtures_dir): + """Test that experiment file has baseline condition.""" + import pandas as pd + + csv_file = fixtures_dir / "mock_experiment.csv" + df = pd.read_csv(csv_file) + + assert "baseline" in df["condition"].values, "Experiment should have baseline condition" + + def test_experiment_has_multiple_timepoints(self, fixtures_dir): + """Test that each condition has multiple timepoints.""" + import pandas as pd + + csv_file = fixtures_dir / "mock_experiment.csv" + df = pd.read_csv(csv_file) + + for condition in df["condition"].unique(): + timepoints = df[df["condition"] == condition]["time"].nunique() + assert timepoints >= 2, f"Condition {condition} should have >= 2 timepoints" + + def test_experiment_has_t0(self, fixtures_dir): + """Test that each condition has a T0 timepoint.""" + import pandas as pd + + csv_file = fixtures_dir / "mock_experiment.csv" + df = pd.read_csv(csv_file) + + for condition in df["condition"].unique(): + times = df[df["condition"] == condition]["time"].values + assert 0 in times, f"Condition {condition} should have T0 timepoint" diff --git a/tests/integration/test_dag_construction.py b/tests/integration/test_dag_construction.py new file mode 100644 index 0000000..d95b596 --- /dev/null +++ b/tests/integration/test_dag_construction.py @@ -0,0 +1,242 @@ +""" +Integration tests for Snakemake DAG construction. + +Tests that the pipeline DAG builds correctly with various configurations +using dry-run mode (no actual execution). +""" + +import pytest +import subprocess +import shutil +import os +from pathlib import Path + + +def snakemake_available(): + """Check if snakemake is available.""" + return shutil.which("snakemake") is not None + + +@pytest.mark.integration +@pytest.mark.skipif(not snakemake_available(), reason="Snakemake not installed") +class TestDAGConstruction: + """Tests for Snakemake DAG construction via dry-run.""" + + def test_snakefile_syntax_valid(self, repo_root): + """Test that Snakefile has valid Python/Snakemake syntax.""" + snakefile = repo_root / "workflow" / "Snakefile" + assert snakefile.exists(), "Snakefile should exist" + + # Basic syntax check - try to compile the file + with open(snakefile) as f: + content = f.read() + + # Check for common Snakemake patterns + assert "rule all:" in content or "rule all" in content, "Should have rule all" + assert "include:" in content, "Should include other rule files" + + def test_rule_files_exist(self, repo_root): + """Test that all included rule files exist.""" + rules_dir = repo_root / "workflow" / "rules" + expected_rules = [ + "common.smk", + "ref.smk", + "filter.smk", + "map.smk", + "asm.smk", + "process.smk", + "qc.smk", + "rosace.smk", + "enrich.smk", + ] + + for rule_file in expected_rules: + assert (rules_dir / rule_file).exists(), f"Rule file {rule_file} should exist" + + def test_schema_files_exist(self, repo_root): + """Test that schema files exist for validation.""" + schemas_dir = repo_root / "workflow" / "schemas" + expected_schemas = ["config.schema.yaml", "experiments.schema.yaml"] + + for schema_file in expected_schemas: + assert ( + schemas_dir / schema_file + ).exists(), f"Schema file {schema_file} should exist" + + +@pytest.mark.integration +@pytest.mark.slow +@pytest.mark.skipif(not snakemake_available(), reason="Snakemake not installed") +class TestDryRun: + """Tests using Snakemake dry-run (requires snakemake installed).""" + + def test_dry_run_with_mock_config(self, repo_root, fixtures_dir, tmp_path): + """Test that dry-run succeeds with mock config.""" + # Copy fixtures to tmp_path for isolation + import shutil + + test_dir = tmp_path / "test_run" + test_dir.mkdir() + + # Create a minimal config for dry-run + config_content = f""" +experiment: 'test_experiment' +data_dir: '{fixtures_dir}' +ref_dir: '{fixtures_dir}' +experiment_file: '{fixtures_dir / "mock_experiment.csv"}' +reference: 'mock_reference.fasta' +variants_file: '{fixtures_dir / "mock_variants.csv"}' +oligo_file: '{fixtures_dir / "mock_oligos.csv"}' +orf: "1-300" +enrich2: false +noprocess: true +run_qc: false +baseline_condition: 'baseline' +remove_zeros: false +regenerate_variants: false +kmers: 15 +sam: "1.3" +mem: 4 +min_q: 30 +min_variant_obs: 3 +max_deletion_length: 3 +samtools_local: false +rosace_local: false +adapters: 'resources/adapters.fa' +contaminants: + - 'resources/sequencing_artifacts.fa.gz' +""" + config_file = test_dir / "test_config.yaml" + config_file.write_text(config_content) + + # Run snakemake dry-run + result = subprocess.run( + [ + "snakemake", + "-s", + str(repo_root / "workflow" / "Snakefile"), + "--configfile", + str(config_file), + "--dry-run", + "-q", + "--cores", + "1", + ], + capture_output=True, + text=True, + cwd=str(repo_root), + ) + + # Note: This may fail due to missing data files, but should not have syntax errors + # We're mainly checking that the DAG construction doesn't crash + if result.returncode != 0: + # Check if it's a missing file error (expected) vs syntax error (not expected) + assert "SyntaxError" not in result.stderr, f"Syntax error: {result.stderr}" + assert "NameError" not in result.stderr, f"Name error: {result.stderr}" + + def test_script_rule_executes_with_runtime_injection( + self, repo_root, fixtures_dir, tmp_path + ): + """Execute a lightweight script-backed rule (not dry-run).""" + test_dir = tmp_path / "runtime_smoke" + test_dir.mkdir() + + (test_dir / "config").mkdir() + (test_dir / "config" / "multiqc_config.yaml").write_text( + "extra_fn_clean_exts:\n - \".txt\"\n" + ) + + resources_dir = repo_root / "resources" + config_file = test_dir / "test_config.yaml" + config_content = f""" +experiment: 'smoke' +data_dir: '{fixtures_dir}' +ref_dir: '{fixtures_dir}' +experiment_file: '{fixtures_dir / "mock_experiment.csv"}' +reference: 'mock_reference.fasta' +variants_file: '{fixtures_dir / "mock_variants.csv"}' +oligo_file: '{fixtures_dir / "mock_oligos.csv"}' +orf: "1-300" +enrich2: false +noprocess: true +run_qc: false +baseline_condition: 'baseline' +remove_zeros: false +regenerate_variants: false +kmers: 15 +sam: "1.3" +mem: 4 +mem_fastqc: 1024 +mem_rosace: 16000 +min_q: 30 +min_variant_obs: 3 +max_deletion_length: 3 +samtools_local: false +rosace_local: false +adapters: '{resources_dir / "adapters.fa"}' +contaminants: + - '{resources_dir / "sequencing_artifacts.fa.gz"}' +""" + config_file.write_text(config_content) + + output_target = "config/smoke_multiqc_baseline_config.yaml" + env = os.environ.copy() + env["HOME"] = str(test_dir) + env["XDG_CACHE_HOME"] = str(test_dir / ".cache") + result = subprocess.run( + [ + "snakemake", + "-s", + str(repo_root / "workflow" / "Snakefile"), + "--directory", + str(test_dir), + "--configfile", + str(config_file), + "--cores", + "1", + "--notemp", + output_target, + ], + capture_output=True, + text=True, + cwd=str(repo_root), + env=env, + ) + + assert result.returncode == 0, ( + "Script-backed rule execution failed:\n" + f"STDOUT:\n{result.stdout}\n" + f"STDERR:\n{result.stderr}" + ) + assert (test_dir / output_target).exists(), "Expected script output was not created" + + +@pytest.mark.integration +class TestConditionalRules: + """Tests for conditional rule inclusion based on config flags.""" + + def test_enrich2_rules_conditional(self, repo_root): + """Test that enrich2 rules are conditionally included.""" + enrich_file = repo_root / "workflow" / "rules" / "enrich.smk" + content = enrich_file.read_text() + + # Check for conditional logic + assert "enrich2" in content.lower() or "config" in content.lower() + + def test_qc_rules_conditional(self, repo_root): + """Test that QC rules exist.""" + qc_file = repo_root / "workflow" / "rules" / "qc.smk" + content = qc_file.read_text() + + # Check for fastqc and multiqc rules + assert "fastqc" in content.lower() + assert "multiqc" in content.lower() + + def test_rosace_rules_exist(self, repo_root): + """Test that rosace rules exist.""" + rosace_file = repo_root / "workflow" / "rules" / "rosace.smk" + content = rosace_file.read_text() + + # Check for rosace-related rules + assert "rosace" in content.lower() + assert "rule" in content diff --git a/tests/integration/test_file_resolution.py b/tests/integration/test_file_resolution.py new file mode 100644 index 0000000..998aba7 --- /dev/null +++ b/tests/integration/test_file_resolution.py @@ -0,0 +1,179 @@ +""" +Integration tests for file resolution and path handling. + +Tests that the pipeline correctly resolves file paths, handles wildcards, +and manages input/output relationships. +""" + +import pytest +from pathlib import Path + + +@pytest.mark.integration +class TestFileResolution: + """Tests for file path resolution.""" + + def test_fixtures_directory_exists(self, fixtures_dir): + """Test that fixtures directory exists and is accessible.""" + assert fixtures_dir.exists(), "Fixtures directory should exist" + assert fixtures_dir.is_dir(), "Fixtures should be a directory" + + def test_all_fixture_files_exist(self, fixtures_dir): + """Test that all expected fixture files exist.""" + expected_files = [ + "mock_reference.fasta", + "mock_variants.csv", + "mock_oligos.csv", + "mock_experiment.csv", + "mock_config.yaml", + "mock_gatk_output.variantCounts", + ] + + for filename in expected_files: + filepath = fixtures_dir / filename + assert filepath.exists(), f"Fixture file {filename} should exist" + + def test_fixture_files_not_empty(self, fixtures_dir): + """Test that fixture files are not empty.""" + for filepath in fixtures_dir.glob("*"): + if filepath.is_file(): + assert filepath.stat().st_size > 0, f"{filepath.name} should not be empty" + + +@pytest.mark.integration +class TestPathPatterns: + """Tests for path pattern handling.""" + + def test_sample_file_pattern_matching(self, mock_experiment_df): + """Test that sample names can be extracted from file patterns.""" + samples = mock_experiment_df["sample"].tolist() + + assert len(samples) > 0, "Should have samples" + # Check sample naming convention + for sample in samples: + assert isinstance(sample, str), "Sample names should be strings" + assert len(sample) > 0, "Sample names should not be empty" + + def test_condition_extraction(self, mock_experiment_df): + """Test that conditions can be extracted from experiment file.""" + conditions = mock_experiment_df["condition"].unique().tolist() + + assert len(conditions) >= 1, "Should have at least one condition" + assert all(isinstance(c, str) for c in conditions), "Conditions should be strings" + + def test_replicate_extraction(self, mock_experiment_df): + """Test that replicates can be extracted from experiment file.""" + replicates = mock_experiment_df["replicate"].unique().tolist() + + assert len(replicates) >= 1, "Should have at least one replicate" + assert all(isinstance(r, (int, float)) for r in replicates), "Replicates should be numeric" + + +@pytest.mark.integration +class TestOutputPaths: + """Tests for output path generation.""" + + def test_output_directory_structure(self, tmp_path, mock_config): + """Test generating output directory structure.""" + experiment = mock_config["experiment"] + + # Create expected directory structure + results_dir = tmp_path / "results" / experiment + stats_dir = tmp_path / "stats" / experiment + logs_dir = tmp_path / "logs" / experiment + + results_dir.mkdir(parents=True) + stats_dir.mkdir(parents=True) + logs_dir.mkdir(parents=True) + + # Verify structure + assert results_dir.exists() + assert stats_dir.exists() + assert logs_dir.exists() + + def test_gatk_output_path_pattern(self, mock_config, mock_experiment_df): + """Test GATK output path pattern generation.""" + experiment = mock_config["experiment"] + samples = mock_experiment_df["sample"].tolist() + + for sample in samples: + # Expected path pattern: results/{experiment}/gatk/{sample}.variantCounts + expected_path = f"results/{experiment}/gatk/{sample}.variantCounts" + assert "{experiment}" not in expected_path, "Path should have experiment resolved" + assert "{sample}" not in expected_path, "Path should have sample resolved" + + def test_processed_counts_path_pattern(self, mock_config, mock_experiment_df): + """Test processed counts output path pattern.""" + experiment = mock_config["experiment"] + samples = mock_experiment_df["sample"].tolist() + + for sample in samples: + # Expected patterns + enrich_path = f"results/{experiment}/processed_counts/enrich_format/{sample}.tsv" + csv_path = f"results/{experiment}/processed_counts/{sample}.csv" + + assert sample in enrich_path + assert sample in csv_path + + +@pytest.mark.integration +class TestWildcardExpansion: + """Tests for Snakemake wildcard expansion patterns.""" + + def test_sample_wildcard_values(self, mock_experiment_df): + """Test that sample wildcards expand correctly.""" + samples = mock_experiment_df["sample"].tolist() + + # Simulate wildcard expansion + expanded = [f"results/test/gatk/{s}.variantCounts" for s in samples] + + assert len(expanded) == len(samples) + assert all(".variantCounts" in p for p in expanded) + + def test_condition_wildcard_values(self, mock_experiment_df): + """Test that condition wildcards expand correctly.""" + conditions = mock_experiment_df["condition"].unique().tolist() + + # Simulate wildcard expansion for rosace output + expanded = [f"results/test/rosace/{c}_scores.csv" for c in conditions] + + assert len(expanded) == len(conditions) + assert all("_scores.csv" in p for p in expanded) + + +@pytest.mark.integration +class TestReferenceFiles: + """Tests for reference file handling.""" + + def test_reference_fasta_format(self, fixtures_dir): + """Test that reference FASTA is properly formatted.""" + fasta_file = fixtures_dir / "mock_reference.fasta" + content = fasta_file.read_text() + + lines = content.strip().split("\n") + header = lines[0] + + assert header.startswith(">"), "FASTA should have header starting with >" + assert len(header) > 1, "FASTA header should have content after >" + + # Check sequence + sequence = "".join(lines[1:]) + assert len(sequence) > 0, "FASTA should have sequence" + assert all(c in "ACGTNacgtn" for c in sequence), "Sequence should be nucleotides" + + def test_reference_length_matches_orf(self, fixtures_dir): + """Test that reference length accommodates the ORF.""" + import yaml + + config_file = fixtures_dir / "mock_config.yaml" + with open(config_file) as f: + config = yaml.safe_load(f) + + orf = config["orf"] + start, stop = map(int, orf.split("-")) + + fasta_file = fixtures_dir / "mock_reference.fasta" + content = fasta_file.read_text() + sequence = "".join(content.strip().split("\n")[1:]) + + assert len(sequence) >= stop, f"Reference ({len(sequence)}bp) should be >= ORF stop ({stop})" diff --git a/tests/integration/test_processing_pipeline.py b/tests/integration/test_processing_pipeline.py new file mode 100644 index 0000000..47366c5 --- /dev/null +++ b/tests/integration/test_processing_pipeline.py @@ -0,0 +1,167 @@ +""" +Integration tests for the data processing pipeline. + +Tests the complete flow of variant processing from GATK output through +to Enrich2/Rosace input formats. +""" + +import pytest +import pandas as pd +from pathlib import Path + + +@pytest.mark.integration +class TestVariantProcessingChain: + """Tests for the variant processing chain.""" + + def test_gatk_output_to_dataframe(self, fixtures_dir): + """Test reading GATK output file into processable format.""" + import sys + sys.path.insert(0, str(fixtures_dir.parent.parent / "workflow" / "rules" / "scripts")) + + from process_variants import read_gatk_csv + + gatk_file = fixtures_dir / "mock_gatk_output.variantCounts" + result = read_gatk_csv(gatk_file) + + assert isinstance(result, list), "Should return list of lists" + assert len(result) > 0, "Should have parsed rows" + assert all(len(row) == 9 for row in result), "All rows should have 9 columns" + + def test_designed_variants_loading(self, fixtures_dir): + """Test loading designed variants CSV.""" + variants_file = fixtures_dir / "mock_variants.csv" + df = pd.read_csv(variants_file) + + # Check structure + assert "hgvs" in df.columns + assert "mutation_type" in df.columns + assert "pos" in df.columns + assert "count" in df.columns + + # Check mutation type distribution + mutation_types = df["mutation_type"].unique() + assert "M" in mutation_types, "Should have missense variants" + assert "S" in mutation_types, "Should have synonymous variants" + assert "D" in mutation_types, "Should have deletion variants" + + def test_variants_cover_positions(self, fixtures_dir): + """Test that variants cover multiple positions.""" + variants_file = fixtures_dir / "mock_variants.csv" + df = pd.read_csv(variants_file) + + positions = df["pos"].unique() + assert len(positions) >= 5, "Should have variants at multiple positions" + + def test_hgvs_format_consistency(self, fixtures_dir): + """Test that HGVS names follow expected format.""" + variants_file = fixtures_dir / "mock_variants.csv" + df = pd.read_csv(variants_file) + + for hgvs in df["hgvs"]: + assert hgvs.startswith("p.("), f"HGVS should start with 'p.(': {hgvs}" + assert hgvs.endswith(")"), f"HGVS should end with ')': {hgvs}" + + +@pytest.mark.integration +class TestExperimentProcessing: + """Tests for experiment configuration processing.""" + + def test_experiment_sample_count(self, fixtures_dir): + """Test experiment file has expected sample count.""" + exp_file = fixtures_dir / "mock_experiment.csv" + df = pd.read_csv(exp_file) + + assert len(df) >= 4, "Should have at least 4 samples" + + def test_experiment_conditions(self, fixtures_dir): + """Test experiment has expected conditions.""" + exp_file = fixtures_dir / "mock_experiment.csv" + df = pd.read_csv(exp_file) + + conditions = df["condition"].unique() + assert len(conditions) >= 2, "Should have at least 2 conditions" + assert "baseline" in conditions, "Should have baseline condition" + + def test_experiment_replicates(self, fixtures_dir): + """Test experiment has replicates.""" + exp_file = fixtures_dir / "mock_experiment.csv" + df = pd.read_csv(exp_file) + + # Check if any condition has multiple replicates + for condition in df["condition"].unique(): + replicates = df[df["condition"] == condition]["replicate"].nunique() + # At least one condition should have multiple replicates for a real experiment + if replicates >= 2: + return # Test passes + + # For mock data, just ensure replicate column exists and is valid + assert "replicate" in df.columns + assert df["replicate"].min() >= 1 + + +@pytest.mark.integration +class TestOutputFormats: + """Tests for output format generation.""" + + def test_enrich_format_structure(self, tmp_path): + """Test generating Enrich2-format output.""" + # Create mock processed data + data = { + "hgvs": ["p.(M1A)", "p.(M1C)", "p.(A2D)"], + "count": [10, 5, 3], + } + df = pd.DataFrame(data) + + # Write in Enrich2 format (TSV with hgvs index) + output_file = tmp_path / "test_enrich.tsv" + df.to_csv(output_file, sep="\t", index=False) + + # Read back and verify + result = pd.read_csv(output_file, sep="\t") + assert "hgvs" in result.columns + assert "count" in result.columns + assert len(result) == 3 + + def test_csv_output_structure(self, tmp_path): + """Test generating CSV output.""" + data = { + "pos": [1, 1, 2], + "mutation_type": ["M", "M", "M"], + "name": ["M1A", "M1C", "A2D"], + "count": [10, 5, 3], + "hgvs": ["p.(M1A)", "p.(M1C)", "p.(A2D)"], + } + df = pd.DataFrame(data) + + output_file = tmp_path / "test_output.csv" + df.to_csv(output_file, index=False) + + result = pd.read_csv(output_file) + assert all(col in result.columns for col in ["pos", "mutation_type", "name", "count"]) + + +@pytest.mark.integration +class TestZeroRemoval: + """Tests for zero-count variant removal.""" + + def test_identify_unobserved_variants(self, tmp_path): + """Test identifying variants with zero counts across all samples.""" + # Create mock sample files + sample1_data = {"hgvs": ["varA", "varB", "varC"], "count": [10, 0, 5]} + sample2_data = {"hgvs": ["varA", "varB", "varC"], "count": [0, 0, 3]} + + pd.DataFrame(sample1_data).to_csv(tmp_path / "sample1.tsv", sep="\t", index=False) + pd.DataFrame(sample2_data).to_csv(tmp_path / "sample2.tsv", sep="\t", index=False) + + # Load and identify zeros + df1 = pd.read_csv(tmp_path / "sample1.tsv", sep="\t") + df2 = pd.read_csv(tmp_path / "sample2.tsv", sep="\t") + + # Merge and find variants that are zero in all samples + merged = df1.merge(df2, on="hgvs", suffixes=("_1", "_2")) + unobserved = merged[(merged["count_1"] == 0) & (merged["count_2"] == 0)]["hgvs"].tolist() + + assert "varB" in unobserved, "varB should be identified as unobserved" + assert "varA" not in unobserved, "varA has counts in sample1" + assert "varC" not in unobserved, "varC has counts in both samples" diff --git a/tests/r/testthat.R b/tests/r/testthat.R new file mode 100644 index 0000000..c5d6878 --- /dev/null +++ b/tests/r/testthat.R @@ -0,0 +1,49 @@ +#!/usr/bin/env Rscript +# testthat.R - Main test runner for R unit tests +# +# Run from repository root: +# Rscript tests/r/testthat.R +# +# Or run specific test file: +# Rscript -e "testthat::test_file('tests/r/testthat/test-parse_hgvs.R')" + +library(testthat) + +# Load required libraries +suppressPackageStartupMessages({ + library(stringr) + library(dplyr) + library(readr) +}) + +# Determine the directory of this script robustly +# commandArgs() works with Rscript; sys.frame(1)$ofile works with source() +this_script <- tryCatch( + normalizePath(sys.frame(1)$ofile), + error = function(e) { + args <- commandArgs(trailingOnly = FALSE) + file_arg <- grep("^--file=", args, value = TRUE) + if (length(file_arg) > 0) { + normalizePath(sub("^--file=", "", file_arg[1])) + } else { + # Fallback: assume running from repo root + normalizePath("tests/r/testthat.R") + } + } +) +this_dir <- dirname(this_script) + +# Source helper functions that define the functions we want to test +source(file.path(this_dir, "testthat/helper-functions.R")) + +# Run all tests +cat("Running R unit tests for Dumpling pipeline...\n") +cat("==============================================\n\n") + +test_results <- test_dir( + file.path(this_dir, "testthat"), + reporter = "summary" +) + +# Exit with appropriate code +quit(status = as.integer(any(as.data.frame(test_results)$failed > 0))) diff --git a/tests/r/testthat/helper-functions.R b/tests/r/testthat/helper-functions.R new file mode 100644 index 0000000..eb1dc25 --- /dev/null +++ b/tests/r/testthat/helper-functions.R @@ -0,0 +1,266 @@ +# helper-functions.R +# Extracted pure functions from run_rosace.R for testing +# These functions don't depend on snakemake and can be tested in isolation + +library(stringr) +library(dplyr) +library(readr) + +#' Parse HGVS string (stripped of p.() wrapper) +#' +#' @param hgvs_string HGVS string without the p.() wrapper +#' @return Named vector with: variant, pos, len, mutation_type, WT +#' +#' @examples +#' parse_stripped_hgvs("A1=") # Synonymous +#' parse_stripped_hgvs("A1B") # Missense +#' parse_stripped_hgvs("A1*") # Nonsense +#' parse_stripped_hgvs("A1del") # Single deletion +#' parse_stripped_hgvs("A1_A3del") # Multi deletion +#' parse_stripped_hgvs("A1_A2insGGG") # Insertion +parse_stripped_hgvs <- function(hgvs_string) { + variant <- "" + pos <- -1 + len <- -1 + mutation_type <- "" + WT <- "" + + WT <- substr(hgvs_string, 1, 1) + + # WT case, as in enrich2 format + if (hgvs_string == "_wt") { + variant <- "WT" + pos <- 0 + len <- 0 + mutation_type <- "X" + return(c( + variant = variant, pos = as.character(pos), len = as.character(len), + mutation_type = mutation_type, WT = WT + )) + } + + # S (synonymous) - format: X1= + if (str_detect(hgvs_string, ".*=$")) { + mutation_type <- "synonymous" + match <- str_match(hgvs_string, "([A-Z])([0-9]+)=") + if (!is.na(match[1])) { + WT <- match[2] + pos <- match[3] + len <- 1 + variant <- "S" + } + } + + # M (missense) or S (synonymous via GATK/dimple format: X1X where letters match) + if (str_detect(hgvs_string, "^[A-Z][0-9]+[A-Z]$")) { + match <- str_match(hgvs_string, "([A-Z])([0-9]+)([A-Z])") + if (!is.na(match[1])) { + WT <- match[2] + pos <- match[3] + len <- 1 + if (match[2] == match[4]) { + # Same amino acid = synonymous (GATK/dimple notation, e.g. A10A) + mutation_type <- "synonymous" + variant <- "S" + } else { + mutation_type <- "missense" + variant <- match[4] + } + } + } + + # N (nonsense) - format: X1* + if (str_detect(hgvs_string, ".*\\*$")) { + mutation_type <- "nonsense" + match <- str_match(hgvs_string, "([A-Z])([0-9]+)\\*") + if (!is.na(match[1])) { + WT <- match[2] + pos <- match[3] + len <- 1 + variant <- "X" + } + } + + # D (deletions) + if (str_detect(hgvs_string, ".*del$")) { + mutation_type <- "deletion" + if (str_detect(hgvs_string, "[A-Z][0-9]+_[A-Z][0-9]+del")) { + # Multi-codon deletion: e.g., A1_A3del + match <- str_match(hgvs_string, "([A-Z])([0-9]+)_[A-Z]([0-9]+)del") + if (!is.na(match[1])) { + WT <- match[2] + pos <- match[3] + len <- as.integer(match[4]) - as.integer(match[3]) + 1 + variant <- paste0("D_", as.character(len)) + } + } else { + # Single-codon deletion: e.g., A1del + len <- 1 + match <- str_match(hgvs_string, "([A-Z])([0-9]+)del") + if (!is.na(match[1])) { + WT <- match[2] + pos <- match[3] + variant <- "D_1" + } + } + } + + # I (insertions) + if (str_detect(hgvs_string, ".*ins[A-Z]+$")) { + mutation_type <- "insertion" + match <- str_match(hgvs_string, "([A-Z])([0-9]+)_[A-Z]([0-9]+)ins([A-Z]+)") + if (!is.na(match[1])) { + WT <- match[2] + pos <- match[3] + inserted <- match[5] + len <- nchar(inserted) + variant <- paste0("I_", as.character(len)) + } + } + + return(c( + variant = variant, pos = as.character(pos), len = as.character(len), + mutation_type = mutation_type, WT = WT + )) +} + + +#' Load experiment definition from CSV +#' +#' @param experiment_file Path to experiment CSV file +#' @return Data frame with experiment metadata +load_experiment_definition <- function(experiment_file) { + experiment_definition <- readr::read_csv(experiment_file, show_col_types = FALSE) + return(experiment_definition) +} + + +#' Get unique conditions from experiment definition +#' +#' @param experiment_df Experiment data frame +#' @param baseline_condition Name of baseline condition to exclude +#' @return Vector of condition names +get_conditions <- function(experiment_df, baseline_condition = "baseline") { + conditions <- unique(experiment_df$condition) + conditions <- conditions[conditions != baseline_condition] + return(conditions) +} + + +#' Get samples for a specific condition +#' +#' @param experiment_df Experiment data frame +#' @param condition Condition name +#' @return Vector of sample names +get_samples_for_condition <- function(experiment_df, condition) { + samples <- experiment_df$sample[experiment_df$condition == condition] + return(samples) +} + + +#' Validate experiment structure +#' +#' @param experiment_df Experiment data frame +#' @return TRUE if valid, error message otherwise +validate_experiment <- function(experiment_df) { + required_cols <- c("sample", "condition", "replicate", "time") + + missing_cols <- setdiff(required_cols, names(experiment_df)) + if (length(missing_cols) > 0) { + return(paste("Missing required columns:", paste(missing_cols, collapse = ", "))) + } + + # Check for T0 in each condition + for (cond in unique(experiment_df$condition)) { + times <- experiment_df$time[experiment_df$condition == cond] + if (!0 %in% times) { + return(paste("Condition", cond, "missing T0 timepoint")) + } + } + + return(TRUE) +} + + +#' Build count matrix for a single replicate +#' +#' Reads per-sample TSV files (hgvs + count columns) from the pipeline's +#' enrich_format output directory and joins them into a wide tibble with one +#' column per time point (c_0, c_1, ...). Rows are the union of all HGVS +#' variants observed across time points (NA where absent). +#' +#' @param df_subset Rows of the experiment definition for one condition/replicate +#' @param experiment_name Experiment name (used to build the file path) +#' @return Tibble with columns: hgvs, c_