From f999d9270fa63ff82cc53f026beaf48332f3400f Mon Sep 17 00:00:00 2001 From: jdawang Date: Fri, 24 Apr 2026 00:48:10 +0000 Subject: [PATCH 1/5] save work --- blog/2026/alberta-daylight-time/.Rprofile | 1 + blog/2026/alberta-daylight-time/index.qmd | 135 + blog/2026/alberta-daylight-time/renv.lock | 5202 +++++++++++++++++ .../alberta-daylight-time/renv/.gitignore | 7 + .../alberta-daylight-time/renv/activate.R | 1438 +++++ .../alberta-daylight-time/renv/settings.json | 19 + 6 files changed, 6802 insertions(+) create mode 100644 blog/2026/alberta-daylight-time/.Rprofile create mode 100644 blog/2026/alberta-daylight-time/index.qmd create mode 100644 blog/2026/alberta-daylight-time/renv.lock create mode 100644 blog/2026/alberta-daylight-time/renv/.gitignore create mode 100644 blog/2026/alberta-daylight-time/renv/activate.R create mode 100644 blog/2026/alberta-daylight-time/renv/settings.json diff --git a/blog/2026/alberta-daylight-time/.Rprofile b/blog/2026/alberta-daylight-time/.Rprofile new file mode 100644 index 0000000..81b960f --- /dev/null +++ b/blog/2026/alberta-daylight-time/.Rprofile @@ -0,0 +1 @@ +source("renv/activate.R") diff --git a/blog/2026/alberta-daylight-time/index.qmd b/blog/2026/alberta-daylight-time/index.qmd new file mode 100644 index 0000000..e0e7eae --- /dev/null +++ b/blog/2026/alberta-daylight-time/index.qmd @@ -0,0 +1,135 @@ +--- +title: "Alberta daylight time" +date: "2026-04-21" +author: "Jacob Dawang" +categories: [map, time, alberta] +description: "When will sun rise and set when Alberta will switch to daylight time?" +link-external-newwindow: true +link-external-icon: false +execute: + cache: false +--- + +```{r} +#| label: imports +options( + cancensus.api_key = Sys.getenv("CM_API_KEY"), + cancensus.cache_path = Sys.getenv("CM_CACHE_PATH"), + tongfen.cache_path = Sys.getenv("TONGFEN_CACHE_PATH"), + nextzen_API_key = Sys.getenv("NEXTZEN_API_KEY") +) + +library(cancensus) +library(tidyverse) +library(jdawangHelpers) +library(sf) +library(ggplot2) +library(lubridate) +library(suntools) +library(mountainmathHelpers) +library(hms) +``` + +```{r} +#| label: load-data +alberta_geos <- get_census( + dataset = "CA21", + regions = list(PR = "48"), + level = "PR", + geo_format = "sf" +) + +crs <- lambert_conformal_conic_at(alberta_geos) +alberta_geos <- st_transform(alberta_geos, crs) + +alberta_grid <- st_make_grid(alberta_geos, square = FALSE, n = c(100, 50)) %>% + st_intersection(alberta_geos) %>% + st_as_sf() %>% + mutate(id = row_number()) +alberta_points <- st_centroid(alberta_grid) %>% + st_as_sf() + +edmonton_point <- read_sf( + "../../../data/City of Edmonton Ward Boundary and Council Composition_Current_20250618.geojson" +) %>% + st_union() %>% + st_centroid() %>% + st_transform(crs) + +calgary_point <- tibble( + name = "Calgary", + geometry = st_sfc(st_point(c(-114.0708, 51.0486)), crs = 4326) +) %>% + st_as_sf() %>% + st_transform(crs) +``` + +```{r} +#| label: enhance-data-with-time +times <- map( + seq(ymd("2026-11-21"), ymd("2027-10-21"), by = "1 month"), + function(date) { + sunrises <- sunriset( + st_transform(alberta_points, 4326), + date = as.POSIXct(date), + direction = "sunrise", + POSIXct.out = TRUE + ) %>% + pull(time) + + sunsets <- sunriset( + st_transform(alberta_points, 4326), + date = as.POSIXct(date), + direction = "sunset", + POSIXct.out = TRUE + ) %>% + pull(time) + + alberta_points %>% + mutate( + date = date, + sunrise = sunrises, + sunset = sunsets + ) + } +) %>% + bind_rows() +``` + +```{r} +#| label: plot +times %>% + filter(date == ymd("2026-12-21")) %>% + mutate( + sunrise = sunrise %>% with_tz("GMT+6") %>% as_hms() %>% as.POSIXct() + ) %>% + mutate( + sunrise_bucket = case_when( + sunrise < parse_hms("07:00:00") ~ "Before 7am", + sunrise < parse_hms("08:00:00") ~ "7am-8am", + sunrise < parse_hms("09:00:00") ~ "8am-9am", + sunrise < parse_hms("10:00:00") ~ "9am-10am", + .default = "After 10am" + ) + ) %>% + st_drop_geometry() %>% + left_join(alberta_grid, by = "id") %>% + ggplot() + + geom_sf(aes(fill = sunrise, geometry = x), color = NA) + + scale_fill_viridis_b( + option = "magma", + direction = -1, + trans = "time", + n.breaks = 7, + guide = guide_colorbar() + ) + + geom_sf(data = edmonton_point, size = 2, colour = "black") + + geom_sf(data = calgary_point, size = 2, colour = "black") + + theme_map(mode = "light") + + labs( + title = "Sunrise time in Alberta", + subtitle = "On December 21", + fill = "Sunrise time", + caption = "Jacob Dawang", + ) +``` \ No newline at end of file diff --git a/blog/2026/alberta-daylight-time/renv.lock b/blog/2026/alberta-daylight-time/renv.lock new file mode 100644 index 0000000..937c16f --- /dev/null +++ b/blog/2026/alberta-daylight-time/renv.lock @@ -0,0 +1,5202 @@ +{ + "R": { + "Version": "4.5.3", + "Repositories": [ + { + "Name": "P3M", + "URL": "https://packagemanager.posit.co/cran/latest" + }, + { + "Name": "CRAN", + "URL": "https://cloud.r-project.org" + } + ] + }, + "Packages": { + "DBI": { + "Package": "DBI", + "Version": "1.3.0", + "Source": "Repository", + "Title": "R Database Interface", + "Date": "2026-02-11", + "Authors@R": "c( person(\"R Special Interest Group on Databases (R-SIG-DB)\", role = \"aut\"), person(\"Hadley\", \"Wickham\", role = \"aut\"), person(\"Kirill\", \"Müller\", , \"kirill@cynkra.com\", role = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0002-1416-3412\")), person(\"R Consortium\", role = \"fnd\") )", + "Description": "A database interface definition for communication between R and relational database management systems. All classes in this package are virtual and need to be extended by the various R/DBMS implementations.", + "License": "LGPL (>= 2.1)", + "URL": "https://dbi.r-dbi.org, https://github.com/r-dbi/DBI", + "BugReports": "https://github.com/r-dbi/DBI/issues", + "Depends": [ + "methods", + "R (>= 3.0.0)" + ], + "Suggests": [ + "arrow", + "blob", + "callr", + "covr", + "DBItest (>= 1.8.2)", + "dbplyr", + "downlit", + "dplyr", + "glue", + "hms", + "knitr", + "magrittr", + "nanoarrow (>= 0.3.0.1)", + "otel", + "otelsdk", + "RMariaDB", + "rmarkdown", + "rprojroot", + "RSQLite (>= 1.1-2)", + "testthat (>= 3.0.0)", + "vctrs", + "xml2" + ], + "VignetteBuilder": "knitr", + "Config/autostyle/scope": "line_breaks", + "Config/autostyle/strict": "false", + "Config/Needs/check": "r-dbi/DBItest", + "Config/Needs/website": "r-dbi/DBItest, r-dbi/dbitemplate, adbi, AzureKusto, bigrquery, DatabaseConnector, dittodb, duckdb, implyr, lazysf, odbc, pool, RAthena, IMSMWU/RClickhouse, RH2, RJDBC, RMariaDB, RMySQL, RPostgres, RPostgreSQL, RPresto, RSQLite, sergeant, sparklyr, withr", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.3.9000", + "NeedsCompilation": "no", + "Author": "R Special Interest Group on Databases (R-SIG-DB) [aut], Hadley Wickham [aut], Kirill Müller [aut, cre] (ORCID: ), R Consortium [fnd]", + "Maintainer": "Kirill Müller ", + "Repository": "P3M" + }, + "KernSmooth": { + "Package": "KernSmooth", + "Version": "2.23-26", + "Source": "Repository", + "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" + ], + "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-65", + "Source": "Repository", + "Priority": "recommended", + "Date": "2025-02-19", + "Revision": "$Rev: 3681 $", + "Depends": [ + "R (>= 4.4.0)", + "grDevices", + "graphics", + "stats", + "utils" + ], + "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" + }, + "R6": { + "Package": "R6", + "Version": "2.6.1", + "Source": "Repository", + "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)" + ], + "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": "P3M" + }, + "RColorBrewer": { + "Package": "RColorBrewer", + "Version": "1.1-3", + "Source": "Repository", + "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)" + ], + "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": "P3M", + "Encoding": "UTF-8" + }, + "Rcpp": { + "Package": "Rcpp", + "Version": "1.1.1-1", + "Source": "Repository", + "Title": "Seamless R and C++ Integration", + "Date": "2026-04-02", + "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" + ], + "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": "P3M" + }, + "S7": { + "Package": "S7", + "Version": "0.2.1-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": "P3M" + }, + "V8": { + "Package": "V8", + "Version": "8.1.0", + "Source": "Repository", + "Type": "Package", + "Title": "Embedded JavaScript and WebAssembly Engine for R", + "Authors@R": "c( person(\"Jeroen\", \"Ooms\", role = c(\"aut\", \"cre\"), email = \"jeroenooms@gmail.com\", comment = c(ORCID = \"0000-0002-4035-0289\")), person(\"George\", \"Stagg\", role = \"ctb\", comment = c(ORCID = \"0009-0006-3173-9846\")), person(\"Jan Marvin\", \"Garbuszus\", role = \"ctb\"))", + "Description": "An R interface to V8 : Google's open source JavaScript and WebAssembly engine. This package can be compiled either with V8 or NodeJS when built as a shared library.", + "License": "MIT + file LICENSE", + "URL": "https://jeroen.r-universe.dev/V8", + "BugReports": "https://github.com/jeroen/v8/issues", + "SystemRequirements": "On Linux you can build against libv8-dev (Debian) or v8-devel (Fedora). We also provide static libv8 binaries for most platforms, see the README for details.", + "NeedsCompilation": "yes", + "VignetteBuilder": "knitr", + "Imports": [ + "Rcpp (>= 0.12.12)", + "jsonlite (>= 1.0)", + "curl (>= 1.0)", + "utils" + ], + "LinkingTo": [ + "Rcpp" + ], + "Suggests": [ + "testthat", + "knitr", + "rmarkdown" + ], + "RoxygenNote": "7.3.1", + "Language": "en-US", + "Encoding": "UTF-8", + "Biarch": "true", + "Author": "Jeroen Ooms [aut, cre] (ORCID: ), George Stagg [ctb] (ORCID: ), Jan Marvin Garbuszus [ctb]", + "Maintainer": "Jeroen Ooms ", + "Repository": "P3M" + }, + "askpass": { + "Package": "askpass", + "Version": "1.2.1", + "Source": "Repository", + "Type": "Package", + "Title": "Password Entry Utilities for R, Git, and SSH", + "Authors@R": "person(\"Jeroen\", \"Ooms\", role = c(\"aut\", \"cre\"), email = \"jeroenooms@gmail.com\", comment = c(ORCID = \"0000-0002-4035-0289\"))", + "Description": "Cross-platform utilities for prompting the user for credentials or a passphrase, for example to authenticate with a server or read a protected key. Includes native programs for MacOS and Windows, hence no 'tcltk' is required. Password entry can be invoked in two different ways: directly from R via the askpass() function, or indirectly as password-entry back-end for 'ssh-agent' or 'git-credential' via the SSH_ASKPASS and GIT_ASKPASS environment variables. Thereby the user can be prompted for credentials or a passphrase if needed when R calls out to git or ssh.", + "License": "MIT + file LICENSE", + "URL": "https://r-lib.r-universe.dev/askpass", + "BugReports": "https://github.com/r-lib/askpass/issues", + "Encoding": "UTF-8", + "Imports": [ + "sys (>= 2.1)" + ], + "RoxygenNote": "7.2.3", + "Suggests": [ + "testthat" + ], + "Language": "en-US", + "NeedsCompilation": "yes", + "Author": "Jeroen Ooms [aut, cre] ()", + "Maintainer": "Jeroen Ooms ", + "Repository": "P3M" + }, + "backports": { + "Package": "backports", + "Version": "1.5.1", + "Source": "Repository", + "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)" + ], + "Encoding": "UTF-8", + "RoxygenNote": "7.3.3", + "Author": "Michel Lang [cre, aut] (ORCID: ), Duncan Murdoch [aut], R Core Team [aut]", + "Repository": "P3M" + }, + "base64enc": { + "Package": "base64enc", + "Version": "0.1-6", + "Source": "Repository", + "Title": "Tools for 'base64' Encoding", + "Author": "Simon Urbanek [aut, cre, cph] (https://urbanek.nz, ORCID: )", + "Authors@R": "person(\"Simon\", \"Urbanek\", role=c(\"aut\",\"cre\",\"cph\"), email=\"Simon.Urbanek@r-project.org\", comment=c(\"https://urbanek.nz\", ORCID=\"0000-0003-2297-1732\"))", + "Maintainer": "Simon Urbanek ", + "Depends": [ + "R (>= 2.9.0)" + ], + "Enhances": [ + "png" + ], + "Description": "Tools for handling 'base64' encoding. It is more flexible than the orphaned 'base64' package.", + "License": "GPL-2 | GPL-3", + "URL": "https://www.rforge.net/base64enc", + "BugReports": "https://github.com/s-u/base64enc/issues", + "NeedsCompilation": "yes", + "Repository": "P3M", + "Encoding": "UTF-8" + }, + "bigD": { + "Package": "bigD", + "Version": "0.3.1", + "Source": "Repository", + "Type": "Package", + "Title": "Flexibly Format Dates and Times to a Given Locale", + "Description": "Format dates and times flexibly and to whichever locales make sense. Parses dates, times, and date-times in various formats (including string-based ISO 8601 constructions). The formatting syntax gives the user many options for formatting the date and time output in a precise manner. Time zones in the input can be expressed in multiple ways and there are many options for formatting time zones in the output as well. Several of the provided helper functions allow for automatic generation of locale-aware formatting patterns based on date/time skeleton formats and standardized date/time formats with varying specificity.", + "Authors@R": "c( person(\"Richard\", \"Iannone\", , \"rich@posit.co\", role = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0003-3925-190X\")), person(\"Olivier\", \"Roy\", role = \"ctb\"), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")) )", + "License": "MIT + file LICENSE", + "URL": "https://rstudio.github.io/bigD/, https://github.com/rstudio/bigD", + "BugReports": "https://github.com/rstudio/bigD/issues", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "Depends": [ + "R (>= 3.6.0)" + ], + "Suggests": [ + "testthat (>= 3.0.0)", + "vctrs (>= 0.5.0)" + ], + "Config/testthat/edition": "3", + "Config/testthat/parallel": "true", + "NeedsCompilation": "no", + "Author": "Richard Iannone [aut, cre] (), Olivier Roy [ctb], Posit Software, PBC [cph, fnd]", + "Maintainer": "Richard Iannone ", + "Repository": "CRAN" + }, + "bit": { + "Package": "bit", + "Version": "4.6.0", + "Source": "Repository", + "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)" + ], + "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": "P3M" + }, + "bit64": { + "Package": "bit64", + "Version": "4.6.0-1", + "Source": "Repository", + "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" + ], + "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": "P3M" + }, + "bitops": { + "Package": "bitops", + "Version": "1.0-9", + "Source": "Repository", + "Date": "2024-10-03", + "Authors@R": "c( person(\"Steve\", \"Dutky\", role = \"aut\", email = \"sdutky@terpalum.umd.edu\", comment = \"S original; then (after MM's port) revised and modified\"), person(\"Martin\", \"Maechler\", role = c(\"cre\", \"aut\"), email = \"maechler@stat.math.ethz.ch\", comment = c(\"Initial R port; tweaks\", ORCID = \"0000-0002-8685-9910\")))", + "Title": "Bitwise Operations", + "Description": "Functions for bitwise operations on integer vectors.", + "License": "GPL (>= 2)", + "URL": "https://github.com/mmaechler/R-bitops", + "BugReports": "https://github.com/mmaechler/R-bitops/issues", + "NeedsCompilation": "yes", + "Author": "Steve Dutky [aut] (S original; then (after MM's port) revised and modified), Martin Maechler [cre, aut] (Initial R port; tweaks, )", + "Maintainer": "Martin Maechler ", + "Repository": "CRAN", + "Encoding": "UTF-8" + }, + "blob": { + "Package": "blob", + "Version": "1.3.0", + "Source": "Repository", + "Title": "A Simple S3 Class for Representing Vectors of Binary Data ('BLOBS')", + "Authors@R": "c( person(\"Hadley\", \"Wickham\", role = \"aut\"), person(\"Kirill\", \"Müller\", , \"kirill@cynkra.com\", role = \"cre\"), person(\"RStudio\", role = c(\"cph\", \"fnd\")) )", + "Description": "R's raw vector is useful for storing a single binary object. What if you want to put a vector of them in a data frame? The 'blob' package provides the blob object, a list of raw vectors, suitable for use as a column in data frame.", + "License": "MIT + file LICENSE", + "URL": "https://blob.tidyverse.org, https://github.com/tidyverse/blob", + "BugReports": "https://github.com/tidyverse/blob/issues", + "Imports": [ + "methods", + "rlang", + "vctrs (>= 0.2.1)" + ], + "Suggests": [ + "covr", + "crayon", + "pillar (>= 1.2.1)", + "testthat (>= 3.0.0)" + ], + "Config/autostyle/scope": "line_breaks", + "Config/autostyle/strict": "false", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.3.9000", + "NeedsCompilation": "no", + "Author": "Hadley Wickham [aut], Kirill Müller [cre], RStudio [cph, fnd]", + "Maintainer": "Kirill Müller ", + "Repository": "CRAN" + }, + "broom": { + "Package": "broom", + "Version": "1.0.12", + "Source": "Repository", + "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", + "cli", + "dplyr (>= 1.0.0)", + "generics (>= 0.0.2)", + "glue", + "lifecycle", + "purrr", + "rlang (>= 1.1.0)", + "stringr", + "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" + }, + "bslib": { + "Package": "bslib", + "Version": "0.10.0", + "Source": "Repository", + "Title": "Custom 'Bootstrap' 'Sass' Themes for 'shiny' and 'rmarkdown'", + "Authors@R": "c( person(\"Carson\", \"Sievert\", , \"carson@posit.co\", role = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0002-4958-2844\")), person(\"Joe\", \"Cheng\", , \"joe@posit.co\", role = \"aut\"), person(\"Garrick\", \"Aden-Buie\", , \"garrick@posit.co\", role = \"aut\", comment = c(ORCID = \"0000-0002-7111-0077\")), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")), person(, \"Bootstrap contributors\", role = \"ctb\", comment = \"Bootstrap library\"), person(, \"Twitter, Inc\", role = \"cph\", comment = \"Bootstrap library\"), person(\"Javi\", \"Aguilar\", role = c(\"ctb\", \"cph\"), comment = \"Bootstrap colorpicker library\"), person(\"Thomas\", \"Park\", role = c(\"ctb\", \"cph\"), comment = \"Bootswatch library\"), person(, \"PayPal\", role = c(\"ctb\", \"cph\"), comment = \"Bootstrap accessibility plugin\") )", + "Description": "Simplifies custom 'CSS' styling of both 'shiny' and 'rmarkdown' via 'Bootstrap' 'Sass'. Supports 'Bootstrap' 3, 4 and 5 as well as their various 'Bootswatch' themes. An interactive widget is also provided for previewing themes in real time.", + "License": "MIT + file LICENSE", + "URL": "https://rstudio.github.io/bslib/, https://github.com/rstudio/bslib", + "BugReports": "https://github.com/rstudio/bslib/issues", + "Depends": [ + "R (>= 2.10)" + ], + "Imports": [ + "base64enc", + "cachem", + "fastmap (>= 1.1.1)", + "grDevices", + "htmltools (>= 0.5.8)", + "jquerylib (>= 0.1.3)", + "jsonlite", + "lifecycle", + "memoise (>= 2.0.1)", + "mime", + "rlang", + "sass (>= 0.4.9)" + ], + "Suggests": [ + "brand.yml", + "bsicons", + "curl", + "fontawesome", + "future", + "ggplot2", + "knitr", + "lattice", + "magrittr", + "rappdirs", + "rmarkdown (>= 2.7)", + "shiny (>= 1.11.1)", + "testthat", + "thematic", + "tools", + "utils", + "withr", + "yaml" + ], + "Config/Needs/deploy": "BH, chiflights22, colourpicker, commonmark, cpp11, cpsievert/chiflights22, cpsievert/histoslider, dplyr, DT, ggplot2, ggridges, gt, hexbin, histoslider, htmlwidgets, lattice, leaflet, lubridate, markdown, modelr, plotly, reactable, reshape2, rprojroot, rsconnect, rstudio/shiny, scales, styler, tibble", + "Config/Needs/routine": "chromote, desc, renv", + "Config/Needs/website": "brio, crosstalk, dplyr, DT, ggplot2, glue, htmlwidgets, leaflet, lorem, palmerpenguins, plotly, purrr, rprojroot, rstudio/htmltools, scales, stringr, tidyr, webshot2", + "Config/testthat/edition": "3", + "Config/testthat/parallel": "true", + "Config/testthat/start-first": "zzzz-bs-sass, fonts, zzz-precompile, theme-*, rmd-*", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.3", + "Collate": "'accordion.R' 'breakpoints.R' 'bs-current-theme.R' 'bs-dependencies.R' 'bs-global.R' 'bs-remove.R' 'bs-theme-layers.R' 'bs-theme-preset-bootswatch.R' 'bs-theme-preset-brand.R' 'bs-theme-preset-builtin.R' 'bs-theme-preset.R' 'utils.R' 'bs-theme-preview.R' 'bs-theme-update.R' 'bs-theme.R' 'bslib-package.R' 'buttons.R' 'card.R' 'deprecated.R' 'files.R' 'fill.R' 'imports.R' 'input-code-editor.R' 'input-dark-mode.R' 'input-submit.R' 'input-switch.R' 'layout.R' 'nav-items.R' 'nav-update.R' 'navbar_options.R' 'navs-legacy.R' 'navs.R' 'onLoad.R' 'page.R' 'popover.R' 'precompiled.R' 'print.R' 'shiny-devmode.R' 'sidebar.R' 'staticimports.R' 'toast.R' 'tooltip.R' 'utils-deps.R' 'utils-shiny.R' 'utils-tags.R' 'value-box.R' 'version-default.R' 'versions.R'", + "NeedsCompilation": "no", + "Author": "Carson Sievert [aut, cre] (ORCID: ), Joe Cheng [aut], Garrick Aden-Buie [aut] (ORCID: ), Posit Software, PBC [cph, fnd], Bootstrap contributors [ctb] (Bootstrap library), Twitter, Inc [cph] (Bootstrap library), Javi Aguilar [ctb, cph] (Bootstrap colorpicker library), Thomas Park [ctb, cph] (Bootswatch library), PayPal [ctb, cph] (Bootstrap accessibility plugin)", + "Maintainer": "Carson Sievert ", + "Repository": "CRAN" + }, + "cachem": { + "Package": "cachem", + "Version": "1.1.0", + "Source": "Repository", + "Title": "Cache R Objects with Automatic Pruning", + "Description": "Key-value stores with automatic pruning. Caches can limit either their total size or the age of the oldest object (or both), automatically pruning objects to maintain the constraints.", + "Authors@R": "c( person(\"Winston\", \"Chang\", , \"winston@posit.co\", c(\"aut\", \"cre\")), person(family = \"Posit Software, PBC\", role = c(\"cph\", \"fnd\")))", + "License": "MIT + file LICENSE", + "Encoding": "UTF-8", + "ByteCompile": "true", + "URL": "https://cachem.r-lib.org/, https://github.com/r-lib/cachem", + "Imports": [ + "rlang", + "fastmap (>= 1.2.0)" + ], + "Suggests": [ + "testthat" + ], + "RoxygenNote": "7.2.3", + "Config/Needs/routine": "lobstr", + "Config/Needs/website": "pkgdown", + "NeedsCompilation": "yes", + "Author": "Winston Chang [aut, cre], Posit Software, PBC [cph, fnd]", + "Maintainer": "Winston Chang ", + "Repository": "P3M" + }, + "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)" + ], + "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": "P3M" + }, + "cancensus": { + "Package": "cancensus", + "Version": "0.6.0", + "Source": "Repository", + "Type": "Package", + "Title": "Access, Retrieve, and Work with Canadian Census Data and Geography", + "Authors@R": "c( person(\"Jens\", \"von Bergmann\", email = \"jens@mountainmath.ca\", role = c(\"aut\"), comment = \"API creator and maintainer\"), person(\"Dmitry\", \"Shkolnik\", email = \"shkolnikd@gmail.com\", role = c(\"aut\", \"cre\"), comment = \"Package maintainer, responsible for correspondence\"), person(\"Aaron\", \"Jacobs\", email = \"atheriel@gmail.com\", role = \"aut\"))", + "Description": "Integrated, convenient, and uniform access to Canadian Census data and geography retrieved using the 'CensusMapper' API. This package produces analysis-ready tidy data frames and spatial data in multiple formats, as well as convenience functions for working with Census variables, variable hierarchies, and region selection. API keys are freely available with free registration at . Census data and boundary geometries are reproduced and distributed on an \"as is\" basis with the permission of Statistics Canada (Statistics Canada 1996; 2001; 2006; 2011; 2016; 2021).", + "License": "MIT + file LICENSE", + "Encoding": "UTF-8", + "LazyData": "yes", + "ByteCompile": "yes", + "NeedsCompilation": "no", + "Imports": [ + "digest (>= 0.1)", + "dplyr (>= 1.0)", + "httr (>= 1.0.0)", + "jsonlite (>= 1.0)", + "sf", + "geojsonsf", + "rlang", + "readr" + ], + "RoxygenNote": "7.3.3", + "Suggests": [ + "knitr", + "ggplot2", + "leaflet", + "mapdeck", + "rmarkdown", + "scales", + "sp", + "tidyr", + "lwgeom", + "xml2", + "testthat (>= 3.0.0)", + "microbenchmark" + ], + "VignetteBuilder": "knitr", + "URL": "https://github.com/mountainMath/cancensus, https://mountainmath.github.io/cancensus/, https://censusmapper.ca/api", + "BugReports": "https://github.com/mountainMath/cancensus/issues", + "Depends": [ + "R (>= 4.1)" + ], + "Author": "Jens von Bergmann [aut] (API creator and maintainer), Dmitry Shkolnik [aut, cre] (Package maintainer, responsible for correspondence), Aaron Jacobs [aut]", + "Maintainer": "Dmitry Shkolnik ", + "Repository": "P3M" + }, + "cellranger": { + "Package": "cellranger", + "Version": "1.1.0", + "Source": "Repository", + "Title": "Translate Spreadsheet Cell Ranges to Rows and Columns", + "Authors@R": "c( person(\"Jennifer\", \"Bryan\", , \"jenny@stat.ubc.ca\", c(\"cre\", \"aut\")), person(\"Hadley\", \"Wickham\", , \"hadley@rstudio.com\", \"ctb\") )", + "Description": "Helper functions to work with spreadsheets and the \"A1:D10\" style of cell range specification.", + "Depends": [ + "R (>= 3.0.0)" + ], + "License": "MIT + file LICENSE", + "LazyData": "true", + "URL": "https://github.com/rsheets/cellranger", + "BugReports": "https://github.com/rsheets/cellranger/issues", + "Suggests": [ + "covr", + "testthat (>= 1.0.0)", + "knitr", + "rmarkdown" + ], + "RoxygenNote": "5.0.1.9000", + "VignetteBuilder": "knitr", + "Imports": [ + "rematch", + "tibble" + ], + "NeedsCompilation": "no", + "Author": "Jennifer Bryan [cre, aut], Hadley Wickham [ctb]", + "Maintainer": "Jennifer Bryan ", + "Repository": "P3M", + "Encoding": "UTF-8" + }, + "class": { + "Package": "class", + "Version": "7.3-23", + "Source": "Repository", + "Priority": "recommended", + "Date": "2025-01-01", + "Depends": [ + "R (>= 3.0.0)", + "stats", + "utils" + ], + "Imports": [ + "MASS" + ], + "Authors@R": "c(person(\"Brian\", \"Ripley\", role = c(\"aut\", \"cre\", \"cph\"), email = \"Brian.Ripley@R-project.org\"), person(\"William\", \"Venables\", role = \"cph\"))", + "Description": "Various functions for classification, including k-nearest neighbour, Learning Vector Quantization and Self-Organizing Maps.", + "Title": "Functions for Classification", + "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" + }, + "classInt": { + "Package": "classInt", + "Version": "0.4-11", + "Source": "Repository", + "Date": "2025-01-06", + "Title": "Choose Univariate Class Intervals", + "Authors@R": "c( person(\"Roger\", \"Bivand\", role=c(\"aut\", \"cre\"), email=\"Roger.Bivand@nhh.no\", comment=c(ORCID=\"0000-0003-2392-6140\")), person(\"Bill\", \"Denney\", role=\"ctb\", comment=c(ORCID=\"0000-0002-5759-428X\")), person(\"Richard\", \"Dunlap\", role=\"ctb\"), person(\"Diego\", \"Hernangómez\", role=\"ctb\", comment=c(ORCID=\"0000-0001-8457-4658\")), person(\"Hisaji\", \"Ono\", role=\"ctb\"), person(\"Josiah\", \"Parry\", role = \"ctb\", comment = c(ORCID = \"0000-0001-9910-865X\")), person(\"Matthieu\", \"Stigler\", role=\"ctb\", comment =c(ORCID=\"0000-0002-6802-4290\")))", + "Depends": [ + "R (>= 2.2)" + ], + "Imports": [ + "grDevices", + "stats", + "graphics", + "e1071", + "class", + "KernSmooth" + ], + "Suggests": [ + "spData (>= 0.2.6.2)", + "units", + "knitr", + "rmarkdown", + "tinytest" + ], + "NeedsCompilation": "yes", + "Description": "Selected commonly used methods for choosing univariate class intervals for mapping or other graphics purposes.", + "License": "GPL (>= 2)", + "URL": "https://r-spatial.github.io/classInt/, https://github.com/r-spatial/classInt/", + "BugReports": "https://github.com/r-spatial/classInt/issues/", + "RoxygenNote": "6.1.1", + "Encoding": "UTF-8", + "VignetteBuilder": "knitr", + "Author": "Roger Bivand [aut, cre] (), Bill Denney [ctb] (), Richard Dunlap [ctb], Diego Hernangómez [ctb] (), Hisaji Ono [ctb], Josiah Parry [ctb] (), Matthieu Stigler [ctb] ()", + "Maintainer": "Roger Bivand ", + "Repository": "P3M" + }, + "cli": { + "Package": "cli", + "Version": "3.6.6", + "Source": "Repository", + "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\"), comment = c(ROR = \"03wc8by49\")) )", + "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" + ], + "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", + "Config/usethis/last-upkeep": "2025-04-25", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2.9000", + "NeedsCompilation": "yes", + "Author": "Gábor Csárdi [aut, cre], Hadley Wickham [ctb], Kirill Müller [ctb], Salim Brüggemann [ctb] (ORCID: ), Posit Software, PBC [cph, fnd] (ROR: )", + "Maintainer": "Gábor Csárdi ", + "Repository": "P3M" + }, + "clipr": { + "Package": "clipr", + "Version": "0.8.0", + "Source": "Repository", + "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" + ], + "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": "P3M" + }, + "commonmark": { + "Package": "commonmark", + "Version": "2.0.0", + "Source": "Repository", + "Type": "Package", + "Title": "High Performance CommonMark and Github Markdown Rendering in R", + "Authors@R": "c( person(\"Jeroen\", \"Ooms\", ,\"jeroenooms@gmail.com\", role = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0002-4035-0289\")), person(\"John MacFarlane\", role = \"cph\", comment = \"Author of cmark\"))", + "Description": "The CommonMark specification defines a rationalized version of markdown syntax. This package uses the 'cmark' reference implementation for converting markdown text into various formats including html, latex and groff man. In addition it exposes the markdown parse tree in xml format. Also includes opt-in support for GFM extensions including tables, autolinks, and strikethrough text.", + "License": "BSD_2_clause + file LICENSE", + "URL": "https://docs.ropensci.org/commonmark/ https://ropensci.r-universe.dev/commonmark", + "BugReports": "https://github.com/r-lib/commonmark/issues", + "Suggests": [ + "curl", + "testthat", + "xml2" + ], + "RoxygenNote": "7.3.2", + "Language": "en-US", + "Encoding": "UTF-8", + "NeedsCompilation": "yes", + "Author": "Jeroen Ooms [aut, cre] (ORCID: ), John MacFarlane [cph] (Author of cmark)", + "Maintainer": "Jeroen Ooms ", + "Repository": "CRAN" + }, + "conflicted": { + "Package": "conflicted", + "Version": "1.2.0", + "Source": "Repository", + "Title": "An Alternative Conflict Resolution Strategy", + "Authors@R": "c( person(\"Hadley\", \"Wickham\", , \"hadley@rstudio.com\", role = c(\"aut\", \"cre\")), person(\"RStudio\", role = c(\"cph\", \"fnd\")) )", + "Description": "R's default conflict management system gives the most recently loaded package precedence. This can make it hard to detect conflicts, particularly when they arise because a package update creates ambiguity that did not previously exist. 'conflicted' takes a different approach, making every conflict an error and forcing you to choose which function to use.", + "License": "MIT + file LICENSE", + "URL": "https://conflicted.r-lib.org/, https://github.com/r-lib/conflicted", + "BugReports": "https://github.com/r-lib/conflicted/issues", + "Depends": [ + "R (>= 3.2)" + ], + "Imports": [ + "cli (>= 3.4.0)", + "memoise", + "rlang (>= 1.0.0)" + ], + "Suggests": [ + "callr", + "covr", + "dplyr", + "Matrix", + "methods", + "pkgload", + "testthat (>= 3.0.0)", + "withr" + ], + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.2.3", + "NeedsCompilation": "no", + "Author": "Hadley Wickham [aut, cre], RStudio [cph, fnd]", + "Maintainer": "Hadley Wickham ", + "Repository": "P3M" + }, + "cpp11": { + "Package": "cpp11", + "Version": "0.5.4", + "Source": "Repository", + "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" + ], + "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.3", + "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": "P3M" + }, + "crayon": { + "Package": "crayon", + "Version": "1.5.3", + "Source": "Repository", + "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" + ], + "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": "P3M" + }, + "curl": { + "Package": "curl", + "Version": "7.0.0", + "Source": "Repository", + "Type": "Package", + "Title": "A Modern and Flexible Web Client for R", + "Authors@R": "c( person(\"Jeroen\", \"Ooms\", role = c(\"aut\", \"cre\"), email = \"jeroenooms@gmail.com\", comment = c(ORCID = \"0000-0002-4035-0289\")), person(\"Hadley\", \"Wickham\", role = \"ctb\"), person(\"Posit Software, PBC\", role = \"cph\"))", + "Description": "Bindings to 'libcurl' for performing fully configurable HTTP/FTP requests where responses can be processed in memory, on disk, or streaming via the callback or connection interfaces. Some knowledge of 'libcurl' is recommended; for a more-user-friendly web client see the 'httr2' package which builds on this package with http specific tools and logic.", + "License": "MIT + file LICENSE", + "SystemRequirements": "libcurl (>= 7.73): libcurl-devel (rpm) or libcurl4-openssl-dev (deb)", + "URL": "https://jeroen.r-universe.dev/curl", + "BugReports": "https://github.com/jeroen/curl/issues", + "Suggests": [ + "spelling", + "testthat (>= 1.0.0)", + "knitr", + "jsonlite", + "later", + "rmarkdown", + "httpuv (>= 1.4.4)", + "webutils" + ], + "VignetteBuilder": "knitr", + "Depends": [ + "R (>= 3.0.0)" + ], + "RoxygenNote": "7.3.2", + "Encoding": "UTF-8", + "Language": "en-US", + "NeedsCompilation": "yes", + "Author": "Jeroen Ooms [aut, cre] (ORCID: ), Hadley Wickham [ctb], Posit Software, PBC [cph]", + "Maintainer": "Jeroen Ooms ", + "Repository": "P3M" + }, + "data.table": { + "Package": "data.table", + "Version": "1.18.2.1", + "Source": "Repository", + "Title": "Extension of `data.frame`", + "Depends": [ + "R (>= 3.4.0)" + ], + "Imports": [ + "methods" + ], + "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" + }, + "dbplyr": { + "Package": "dbplyr", + "Version": "2.5.2", + "Source": "Repository", + "Type": "Package", + "Title": "A 'dplyr' Back End for Databases", + "Authors@R": "c( person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = c(\"aut\", \"cre\")), person(\"Maximilian\", \"Girlich\", role = \"aut\"), person(\"Edgar\", \"Ruiz\", role = \"aut\"), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")) )", + "Description": "A 'dplyr' back end for databases that allows you to work with remote database tables as if they are in-memory data frames. Basic features works with any database that has a 'DBI' back end; more advanced features require 'SQL' translation to be provided by the package author.", + "License": "MIT + file LICENSE", + "URL": "https://dbplyr.tidyverse.org/, https://github.com/tidyverse/dbplyr", + "BugReports": "https://github.com/tidyverse/dbplyr/issues", + "Depends": [ + "R (>= 3.6)" + ], + "Imports": [ + "blob (>= 1.2.0)", + "cli (>= 3.6.1)", + "DBI (>= 1.1.3)", + "dplyr (>= 1.1.2)", + "glue (>= 1.6.2)", + "lifecycle (>= 1.0.3)", + "magrittr", + "methods", + "pillar (>= 1.9.0)", + "purrr (>= 1.0.1)", + "R6 (>= 2.2.2)", + "rlang (>= 1.1.1)", + "tibble (>= 3.2.1)", + "tidyr (>= 1.3.0)", + "tidyselect (>= 1.2.1)", + "utils", + "vctrs (>= 0.6.3)", + "withr (>= 2.5.0)" + ], + "Suggests": [ + "bit64", + "covr", + "knitr", + "Lahman", + "nycflights13", + "odbc (>= 1.4.2)", + "RMariaDB (>= 1.2.2)", + "rmarkdown", + "RPostgres (>= 1.4.5)", + "RPostgreSQL", + "RSQLite (>= 2.3.8)", + "testthat (>= 3.1.10)" + ], + "VignetteBuilder": "knitr", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Config/testthat/parallel": "TRUE", + "Encoding": "UTF-8", + "Language": "en-gb", + "RoxygenNote": "7.3.3", + "Collate": "'db-sql.R' 'utils-check.R' 'import-standalone-types-check.R' 'import-standalone-obj-type.R' 'utils.R' 'sql.R' 'escape.R' 'translate-sql-cut.R' 'translate-sql-quantile.R' 'translate-sql-string.R' 'translate-sql-paste.R' 'translate-sql-helpers.R' 'translate-sql-window.R' 'translate-sql-conditional.R' 'backend-.R' 'backend-access.R' 'backend-hana.R' 'backend-hive.R' 'backend-impala.R' 'verb-copy-to.R' 'backend-mssql.R' 'backend-mysql.R' 'backend-odbc.R' 'backend-oracle.R' 'backend-postgres.R' 'backend-postgres-old.R' 'backend-redshift.R' 'backend-snowflake.R' 'backend-spark-sql.R' 'backend-sqlite.R' 'backend-teradata.R' 'build-sql.R' 'data-cache.R' 'data-lahman.R' 'data-nycflights13.R' 'db-escape.R' 'db-io.R' 'db.R' 'dbplyr.R' 'explain.R' 'ident.R' 'import-standalone-s3-register.R' 'join-by-compat.R' 'join-cols-compat.R' 'lazy-join-query.R' 'lazy-ops.R' 'lazy-query.R' 'lazy-select-query.R' 'lazy-set-op-query.R' 'memdb.R' 'optimise-utils.R' 'pillar.R' 'progress.R' 'sql-build.R' 'query-join.R' 'query-select.R' 'query-semi-join.R' 'query-set-op.R' 'query.R' 'reexport.R' 'remote.R' 'rows.R' 'schema.R' 'simulate.R' 'sql-clause.R' 'sql-expr.R' 'src-sql.R' 'src_dbi.R' 'table-name.R' 'tbl-lazy.R' 'tbl-sql.R' 'test-frame.R' 'testthat.R' 'tidyeval-across.R' 'tidyeval.R' 'translate-sql.R' 'utils-format.R' 'verb-arrange.R' 'verb-compute.R' 'verb-count.R' 'verb-distinct.R' 'verb-do-query.R' 'verb-do.R' 'verb-expand.R' 'verb-fill.R' 'verb-filter.R' 'verb-group_by.R' 'verb-head.R' 'verb-joins.R' 'verb-mutate.R' 'verb-pivot-longer.R' 'verb-pivot-wider.R' 'verb-pull.R' 'verb-select.R' 'verb-set-ops.R' 'verb-slice.R' 'verb-summarise.R' 'verb-uncount.R' 'verb-window.R' 'zzz.R'", + "NeedsCompilation": "no", + "Author": "Hadley Wickham [aut, cre], Maximilian Girlich [aut], Edgar Ruiz [aut], Posit Software, PBC [cph, fnd]", + "Maintainer": "Hadley Wickham ", + "Repository": "P3M" + }, + "digest": { + "Package": "digest", + "Version": "0.6.39", + "Source": "Repository", + "Authors@R": "c(person(\"Dirk\", \"Eddelbuettel\", role = c(\"aut\", \"cre\"), email = \"edd@debian.org\", comment = c(ORCID = \"0000-0001-6419-907X\")), person(\"Antoine\", \"Lucas\", role=\"ctb\", comment = c(ORCID = \"0000-0002-8059-9767\")), person(\"Jarek\", \"Tuszynski\", role=\"ctb\"), person(\"Henrik\", \"Bengtsson\", role=\"ctb\", comment = c(ORCID = \"0000-0002-7579-5165\")), person(\"Simon\", \"Urbanek\", role=\"ctb\", comment = c(ORCID = \"0000-0003-2297-1732\")), person(\"Mario\", \"Frasca\", role=\"ctb\"), person(\"Bryan\", \"Lewis\", role=\"ctb\"), person(\"Murray\", \"Stokely\", role=\"ctb\"), person(\"Hannes\", \"Muehleisen\", role=\"ctb\", comment = c(ORCID = \"0000-0001-8552-0029\")), person(\"Duncan\", \"Murdoch\", role=\"ctb\"), person(\"Jim\", \"Hester\", role=\"ctb\", comment = c(ORCID = \"0000-0002-2739-7082\")), person(\"Wush\", \"Wu\", role=\"ctb\", comment = c(ORCID = \"0000-0001-5180-0567\")), person(\"Qiang\", \"Kou\", role=\"ctb\", comment = c(ORCID = \"0000-0001-6786-5453\")), person(\"Thierry\", \"Onkelinx\", role=\"ctb\", comment = c(ORCID = \"0000-0001-8804-4216\")), person(\"Michel\", \"Lang\", role=\"ctb\", comment = c(ORCID = \"0000-0001-9754-0393\")), person(\"Viliam\", \"Simko\", role=\"ctb\"), person(\"Kurt\", \"Hornik\", role=\"ctb\", comment = c(ORCID = \"0000-0003-4198-9911\")), person(\"Radford\", \"Neal\", role=\"ctb\", comment = c(ORCID = \"0000-0002-2473-3407\")), person(\"Kendon\", \"Bell\", role=\"ctb\", comment = c(ORCID = \"0000-0002-9093-8312\")), person(\"Matthew\", \"de Queljoe\", role=\"ctb\"), person(\"Dmitry\", \"Selivanov\", role=\"ctb\", comment = c(ORCID = \"0000-0003-0492-6647\")), person(\"Ion\", \"Suruceanu\", role=\"ctb\", comment = c(ORCID = \"0009-0005-6446-4909\")), person(\"Bill\", \"Denney\", role=\"ctb\", comment = c(ORCID = \"0000-0002-5759-428X\")), person(\"Dirk\", \"Schumacher\", role=\"ctb\"), person(\"András\", \"Svraka\", role=\"ctb\", comment = c(ORCID = \"0009-0008-8480-1329\")), person(\"Sergey\", \"Fedorov\", role=\"ctb\", comment = c(ORCID = \"0000-0002-5970-7233\")), person(\"Will\", \"Landau\", role=\"ctb\", comment = c(ORCID = \"0000-0003-1878-3253\")), person(\"Floris\", \"Vanderhaeghe\", role=\"ctb\", comment = c(ORCID = \"0000-0002-6378-6229\")), person(\"Kevin\", \"Tappe\", role=\"ctb\"), person(\"Harris\", \"McGehee\", role=\"ctb\"), person(\"Tim\", \"Mastny\", role=\"ctb\"), person(\"Aaron\", \"Peikert\", role=\"ctb\", comment = c(ORCID = \"0000-0001-7813-818X\")), person(\"Mark\", \"van der Loo\", role=\"ctb\", comment = c(ORCID = \"0000-0002-9807-4686\")), person(\"Chris\", \"Muir\", role=\"ctb\", comment = c(ORCID = \"0000-0003-2555-3878\")), person(\"Moritz\", \"Beller\", role=\"ctb\", comment = c(ORCID = \"0000-0003-4852-0526\")), person(\"Sebastian\", \"Campbell\", role=\"ctb\", comment = c(ORCID = \"0009-0000-5948-4503\")), person(\"Winston\", \"Chang\", role=\"ctb\", comment = c(ORCID = \"0000-0002-1576-2126\")), person(\"Dean\", \"Attali\", role=\"ctb\", comment = c(ORCID = \"0000-0002-5645-3493\")), person(\"Michael\", \"Chirico\", role=\"ctb\", comment = c(ORCID = \"0000-0003-0787-087X\")), person(\"Kevin\", \"Ushey\", role=\"ctb\", comment = c(ORCID = \"0000-0003-2880-7407\")), person(\"Carl\", \"Pearson\", role=\"ctb\", comment = c(ORCID = \"0000-0003-0701-7860\")))", + "Date": "2025-11-19", + "Title": "Create Compact Hash Digests of R Objects", + "Description": "Implementation of a function 'digest()' for the creation of hash digests of arbitrary R objects (using the 'md5', 'sha-1', 'sha-256', 'crc32', 'xxhash', 'murmurhash', 'spookyhash', 'blake3', 'crc32c', 'xxh3_64', and 'xxh3_128' algorithms) permitting easy comparison of R language objects, as well as functions such as 'hmac()' to create hash-based message authentication code. Please note that this package is not meant to be deployed for cryptographic purposes for which more comprehensive (and widely tested) libraries such as 'OpenSSL' should be used.", + "URL": "https://github.com/eddelbuettel/digest, https://eddelbuettel.github.io/digest/, https://dirk.eddelbuettel.com/code/digest.html", + "BugReports": "https://github.com/eddelbuettel/digest/issues", + "Depends": [ + "R (>= 3.3.0)" + ], + "Imports": [ + "utils" + ], + "License": "GPL (>= 2)", + "Suggests": [ + "tinytest", + "simplermarkdown", + "rbenchmark" + ], + "VignetteBuilder": "simplermarkdown", + "Encoding": "UTF-8", + "NeedsCompilation": "yes", + "Author": "Dirk Eddelbuettel [aut, cre] (ORCID: ), Antoine Lucas [ctb] (ORCID: ), Jarek Tuszynski [ctb], Henrik Bengtsson [ctb] (ORCID: ), Simon Urbanek [ctb] (ORCID: ), Mario Frasca [ctb], Bryan Lewis [ctb], Murray Stokely [ctb], Hannes Muehleisen [ctb] (ORCID: ), Duncan Murdoch [ctb], Jim Hester [ctb] (ORCID: ), Wush Wu [ctb] (ORCID: ), Qiang Kou [ctb] (ORCID: ), Thierry Onkelinx [ctb] (ORCID: ), Michel Lang [ctb] (ORCID: ), Viliam Simko [ctb], Kurt Hornik [ctb] (ORCID: ), Radford Neal [ctb] (ORCID: ), Kendon Bell [ctb] (ORCID: ), Matthew de Queljoe [ctb], Dmitry Selivanov [ctb] (ORCID: ), Ion Suruceanu [ctb] (ORCID: ), Bill Denney [ctb] (ORCID: ), Dirk Schumacher [ctb], András Svraka [ctb] (ORCID: ), Sergey Fedorov [ctb] (ORCID: ), Will Landau [ctb] (ORCID: ), Floris Vanderhaeghe [ctb] (ORCID: ), Kevin Tappe [ctb], Harris McGehee [ctb], Tim Mastny [ctb], Aaron Peikert [ctb] (ORCID: ), Mark van der Loo [ctb] (ORCID: ), Chris Muir [ctb] (ORCID: ), Moritz Beller [ctb] (ORCID: ), Sebastian Campbell [ctb] (ORCID: ), Winston Chang [ctb] (ORCID: ), Dean Attali [ctb] (ORCID: ), Michael Chirico [ctb] (ORCID: ), Kevin Ushey [ctb] (ORCID: ), Carl Pearson [ctb] (ORCID: )", + "Maintainer": "Dirk Eddelbuettel ", + "Repository": "P3M" + }, + "dplyr": { + "Package": "dplyr", + "Version": "1.2.1", + "Source": "Repository", + "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 (>= 1.3.2)", + "lifecycle (>= 1.0.5)", + "magrittr (>= 1.5)", + "methods", + "pillar (>= 1.9.0)", + "R6", + "rlang (>= 1.1.7)", + "tibble (>= 3.2.0)", + "tidyselect (>= 1.2.0)", + "utils", + "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" + ], + "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": "P3M" + }, + "dtplyr": { + "Package": "dtplyr", + "Version": "1.3.3", + "Source": "Repository", + "Title": "Data Table Back-End for 'dplyr'", + "Authors@R": "c( person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = c(\"cre\", \"aut\")), person(\"Maximilian\", \"Girlich\", role = \"aut\"), person(\"Mark\", \"Fairbanks\", role = \"aut\"), person(\"Ryan\", \"Dickerson\", role = \"aut\"), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")) )", + "Description": "Provides a data.table backend for 'dplyr'. The goal of 'dtplyr' is to allow you to write 'dplyr' code that is automatically translated to the equivalent, but usually much faster, data.table code.", + "License": "MIT + file LICENSE", + "URL": "https://dtplyr.tidyverse.org, https://github.com/tidyverse/dtplyr", + "BugReports": "https://github.com/tidyverse/dtplyr/issues", + "Depends": [ + "R (>= 4.0)" + ], + "Imports": [ + "cli (>= 3.4.0)", + "data.table (>= 1.13.0)", + "dplyr (>= 1.1.0)", + "glue", + "lifecycle", + "rlang (>= 1.0.4)", + "tibble", + "tidyselect (>= 1.2.0)", + "vctrs (>= 0.4.1)" + ], + "Suggests": [ + "bench", + "covr", + "knitr", + "rmarkdown", + "testthat (>= 3.1.2)", + "tidyr (>= 1.1.0)", + "waldo (>= 0.3.1)" + ], + "VignetteBuilder": "knitr", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.3", + "NeedsCompilation": "no", + "Author": "Hadley Wickham [cre, aut], Maximilian Girlich [aut], Mark Fairbanks [aut], Ryan Dickerson [aut], Posit Software, PBC [cph, fnd]", + "Maintainer": "Hadley Wickham ", + "Repository": "P3M" + }, + "e1071": { + "Package": "e1071", + "Version": "1.7-17", + "Source": "Repository", + "Title": "Misc Functions of the Department of Statistics, Probability Theory Group (Formerly: E1071), TU Wien", + "Imports": [ + "graphics", + "grDevices", + "class", + "stats", + "methods", + "utils", + "proxy" + ], + "Suggests": [ + "cluster", + "mlbench", + "nnet", + "randomForest", + "rpart", + "SparseM", + "xtable", + "Matrix", + "MASS", + "slam" + ], + "Authors@R": "c(person(given = \"David\", family = \"Meyer\", role = c(\"aut\", \"cre\"), email = \"David.Meyer@R-project.org\", comment = c(ORCID = \"0000-0002-5196-3048\")), person(given = \"Evgenia\", family = \"Dimitriadou\", role = c(\"aut\",\"cph\")), person(given = \"Kurt\", family = \"Hornik\", role = \"aut\", email = \"Kurt.Hornik@R-project.org\", comment = c(ORCID = \"0000-0003-4198-9911\")), person(given = \"Andreas\", family = \"Weingessel\", role = \"aut\"), person(given = \"Friedrich\", family = \"Leisch\", role = \"aut\"), person(given = \"Chih-Chung\", family = \"Chang\", role = c(\"ctb\",\"cph\"), comment = \"libsvm C++-code\"), person(given = \"Chih-Chen\", family = \"Lin\", role = c(\"ctb\",\"cph\"), comment = \"libsvm C++-code\"))", + "Description": "Functions for latent class analysis, short time Fourier transform, fuzzy clustering, support vector machines, shortest path computation, bagged clustering, naive Bayes classifier, generalized k-nearest neighbour ...", + "License": "GPL-2 | GPL-3", + "LazyLoad": "yes", + "NeedsCompilation": "yes", + "Author": "David Meyer [aut, cre] (ORCID: ), Evgenia Dimitriadou [aut, cph], Kurt Hornik [aut] (ORCID: ), Andreas Weingessel [aut], Friedrich Leisch [aut], Chih-Chung Chang [ctb, cph] (libsvm C++-code), Chih-Chen Lin [ctb, cph] (libsvm C++-code)", + "Maintainer": "David Meyer ", + "Repository": "P3M", + "Encoding": "UTF-8" + }, + "evaluate": { + "Package": "evaluate", + "Version": "1.0.5", + "Source": "Repository", + "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" + ], + "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": "P3M" + }, + "farver": { + "Package": "farver", + "Version": "2.1.2", + "Source": "Repository", + "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": "P3M" + }, + "fastmap": { + "Package": "fastmap", + "Version": "1.2.0", + "Source": "Repository", + "Title": "Fast Data Structures", + "Authors@R": "c( person(\"Winston\", \"Chang\", email = \"winston@posit.co\", role = c(\"aut\", \"cre\")), person(given = \"Posit Software, PBC\", role = c(\"cph\", \"fnd\")), person(given = \"Tessil\", role = \"cph\", comment = \"hopscotch_map library\") )", + "Description": "Fast implementation of data structures, including a key-value store, stack, and queue. Environments are commonly used as key-value stores in R, but every time a new key is used, it is added to R's global symbol table, causing a small amount of memory leakage. This can be problematic in cases where many different keys are used. Fastmap avoids this memory leak issue by implementing the map using data structures in C++.", + "License": "MIT + file LICENSE", + "Encoding": "UTF-8", + "RoxygenNote": "7.2.3", + "Suggests": [ + "testthat (>= 2.1.1)" + ], + "URL": "https://r-lib.github.io/fastmap/, https://github.com/r-lib/fastmap", + "BugReports": "https://github.com/r-lib/fastmap/issues", + "NeedsCompilation": "yes", + "Author": "Winston Chang [aut, cre], Posit Software, PBC [cph, fnd], Tessil [cph] (hopscotch_map library)", + "Maintainer": "Winston Chang ", + "Repository": "P3M" + }, + "fontawesome": { + "Package": "fontawesome", + "Version": "0.5.3", + "Source": "Repository", + "Type": "Package", + "Title": "Easily Work with 'Font Awesome' Icons", + "Description": "Easily and flexibly insert 'Font Awesome' icons into 'R Markdown' documents and 'Shiny' apps. These icons can be inserted into HTML content through inline 'SVG' tags or 'i' tags. There is also a utility function for exporting 'Font Awesome' icons as 'PNG' images for those situations where raster graphics are needed.", + "Authors@R": "c( person(\"Richard\", \"Iannone\", , \"rich@posit.co\", c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0003-3925-190X\")), person(\"Christophe\", \"Dervieux\", , \"cderv@posit.co\", role = \"ctb\", comment = c(ORCID = \"0000-0003-4474-2498\")), person(\"Winston\", \"Chang\", , \"winston@posit.co\", role = \"ctb\"), person(\"Dave\", \"Gandy\", role = c(\"ctb\", \"cph\"), comment = \"Font-Awesome font\"), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")) )", + "License": "MIT + file LICENSE", + "URL": "https://github.com/rstudio/fontawesome, https://rstudio.github.io/fontawesome/", + "BugReports": "https://github.com/rstudio/fontawesome/issues", + "Encoding": "UTF-8", + "ByteCompile": "true", + "RoxygenNote": "7.3.2", + "Depends": [ + "R (>= 3.3.0)" + ], + "Imports": [ + "rlang (>= 1.0.6)", + "htmltools (>= 0.5.1.1)" + ], + "Suggests": [ + "covr", + "dplyr (>= 1.0.8)", + "gt (>= 0.9.0)", + "knitr (>= 1.31)", + "testthat (>= 3.0.0)", + "rsvg" + ], + "Config/testthat/edition": "3", + "NeedsCompilation": "no", + "Author": "Richard Iannone [aut, cre] (), Christophe Dervieux [ctb] (), Winston Chang [ctb], Dave Gandy [ctb, cph] (Font-Awesome font), Posit Software, PBC [cph, fnd]", + "Maintainer": "Richard Iannone ", + "Repository": "P3M" + }, + "forcats": { + "Package": "forcats", + "Version": "1.0.1", + "Source": "Repository", + "Title": "Tools for Working with Categorical Variables (Factors)", + "Authors@R": "c( person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = c(\"aut\", \"cre\")), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"), comment = c(ROR = \"03wc8by49\")) )", + "Description": "Helpers for reordering factor levels (including moving specified levels to front, ordering by first appearance, reversing, and randomly shuffling), and tools for modifying factor levels (including collapsing rare levels into other, 'anonymising', and manually 'recoding').", + "License": "MIT + file LICENSE", + "URL": "https://forcats.tidyverse.org/, https://github.com/tidyverse/forcats", + "BugReports": "https://github.com/tidyverse/forcats/issues", + "Depends": [ + "R (>= 4.1)" + ], + "Imports": [ + "cli (>= 3.4.0)", + "glue", + "lifecycle", + "magrittr", + "rlang (>= 1.0.0)", + "tibble" + ], + "Suggests": [ + "covr", + "dplyr", + "ggplot2", + "knitr", + "readr", + "rmarkdown", + "testthat (>= 3.0.0)", + "withr" + ], + "VignetteBuilder": "knitr", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "LazyData": "true", + "RoxygenNote": "7.3.3", + "NeedsCompilation": "no", + "Author": "Hadley Wickham [aut, cre], Posit Software, PBC [cph, fnd] (ROR: )", + "Maintainer": "Hadley Wickham ", + "Repository": "P3M" + }, + "fs": { + "Package": "fs", + "Version": "2.1.0", + "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", + "SystemRequirements": "libuv: libuv-devel (rpm) or libuv1-dev (deb). Alternatively to build the vendored libuv 'cmake' is required. GNU make.", + "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", + "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": "P3M" + }, + "gargle": { + "Package": "gargle", + "Version": "1.6.1", + "Source": "Repository", + "Title": "Utilities for Working with Google APIs", + "Authors@R": "c( person(\"Jennifer\", \"Bryan\", , \"jenny@posit.co\", role = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0002-6983-2759\")), person(\"Craig\", \"Citro\", , \"craigcitro@google.com\", role = \"aut\"), person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = \"aut\", comment = c(ORCID = \"0000-0003-4757-117X\")), person(\"Google Inc\", role = \"cph\"), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")) )", + "Description": "Provides utilities for working with Google APIs . This includes functions and classes for handling common credential types and for preparing, executing, and processing HTTP requests.", + "License": "MIT + file LICENSE", + "URL": "https://gargle.r-lib.org, https://github.com/r-lib/gargle", + "BugReports": "https://github.com/r-lib/gargle/issues", + "Depends": [ + "R (>= 4.1)" + ], + "Imports": [ + "cli (>= 3.0.1)", + "fs (>= 1.3.1)", + "glue (>= 1.3.0)", + "httr (>= 1.4.5)", + "jsonlite", + "lifecycle (>= 0.2.0)", + "openssl", + "rappdirs", + "rlang (>= 1.1.0)", + "stats", + "utils", + "withr" + ], + "Suggests": [ + "aws.ec2metadata", + "aws.signature", + "covr", + "httpuv", + "knitr", + "rmarkdown", + "sodium", + "spelling", + "testthat (>= 3.1.7)" + ], + "VignetteBuilder": "knitr", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "Language": "en-US", + "RoxygenNote": "7.3.3", + "NeedsCompilation": "no", + "Author": "Jennifer Bryan [aut, cre] (ORCID: ), Craig Citro [aut], Hadley Wickham [aut] (ORCID: ), Google Inc [cph], Posit Software, PBC [cph, fnd]", + "Maintainer": "Jennifer Bryan ", + "Repository": "CRAN" + }, + "generics": { + "Package": "generics", + "Version": "0.1.4", + "Source": "Repository", + "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" + ], + "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": "P3M" + }, + "geodist": { + "Package": "geodist", + "Version": "0.1.1", + "Source": "Repository", + "Title": "Fast, Dependency-Free Geodesic Distance Calculations", + "Authors@R": "c( person(\"Mark\", \"Padgham\", , \"mark.padgham@email.com\", role = c(\"aut\", \"cre\")), person(\"Michael D.\", \"Sumner\", role = \"aut\"), person(\"Charles F.F\", \"Karney\", role = \"cph\", comment = \"Original author of included code for geodesic distances\") )", + "Description": "Dependency-free, ultra fast calculation of geodesic distances. Includes the reference nanometre-accuracy geodesic distances of Karney (2013) , as used by the 'sf' package, as well as Haversine and Vincenty distances. Default distance measure is the \"Mapbox cheap ruler\" which is generally more accurate than Haversine or Vincenty for distances out to a few hundred kilometres, and is considerably faster. The main function accepts one or two inputs in almost any generic rectangular form, and returns either matrices of pairwise distances, or vectors of sequential distances.", + "License": "MIT + file LICENSE", + "URL": "https://github.com/hypertidy/geodist, https://hypertidy.github.io/geodist/", + "BugReports": "https://github.com/hypertidy/geodist/issues", + "Suggests": [ + "knitr", + "rmarkdown", + "testthat" + ], + "VignetteBuilder": "knitr", + "Encoding": "UTF-8", + "NeedsCompilation": "yes", + "RoxygenNote": "7.3.2", + "Config/testthat/edition": "3", + "Config/testthat/parallel": "true", + "Author": "Mark Padgham [aut, cre], Michael D. Sumner [aut], Charles F.F Karney [cph] (Original author of included code for geodesic distances)", + "Maintainer": "Mark Padgham ", + "Repository": "P3M" + }, + "geojsonsf": { + "Package": "geojsonsf", + "Version": "2.0.5", + "Source": "Repository", + "Type": "Package", + "Title": "GeoJSON to Simple Feature Converter", + "Date": "2025-11-25", + "Authors@R": "c( person(\"David\", \"Cooley\", ,\"dcooley@symbolix.com.au\", role = c(\"aut\", \"cre\")), person(\"Andy\", \"Teucher\", ,\"andy.teucher@gmail.com\", role = \"ctb\") )", + "Description": "Converts Between GeoJSON and simple feature objects.", + "License": "MIT + file LICENSE", + "URL": "https://github.com/SymbolixAU/geojsonsf", + "BugReports": "https://github.com/SymbolixAU/geojsonsf/issues", + "Encoding": "UTF-8", + "LazyData": "true", + "Depends": [ + "R (>= 4.0.0)" + ], + "Imports": [ + "Rcpp (>= 1.1.0)" + ], + "LinkingTo": [ + "geometries (>= 0.2.5)", + "jsonify (>= 1.2.3)", + "rapidjsonr (>= 1.2.1)", + "Rcpp", + "sfheaders (>= 0.4.5)" + ], + "RoxygenNote": "7.3.3", + "Suggests": [ + "covr", + "jsonify", + "knitr", + "rmarkdown", + "tinytest" + ], + "VignetteBuilder": "knitr", + "NeedsCompilation": "yes", + "Author": "David Cooley [aut, cre], Andy Teucher [ctb]", + "Maintainer": "David Cooley ", + "Repository": "P3M" + }, + "geometries": { + "Package": "geometries", + "Version": "0.2.5", + "Source": "Repository", + "Type": "Package", + "Title": "Convert Between R Objects and Geometric Structures", + "Date": "2025-11-23", + "Authors@R": "c( person(\"David\", \"Cooley\", ,\"david.cooley.au@gmail.com\", role = c(\"aut\", \"cre\")) )", + "Description": "Geometry shapes in 'R' are typically represented by matrices (points, lines), with more complex shapes being lists of matrices (polygons). 'Geometries' will convert various 'R' objects into these shapes. Conversion functions are available at both the 'R' level, and through 'Rcpp'.", + "License": "MIT + file LICENSE", + "URL": "https://dcooley.github.io/geometries/", + "BugReports": "https://github.com/dcooley/geometries/issues", + "Encoding": "UTF-8", + "RoxygenNote": "7.2.3", + "LinkingTo": [ + "Rcpp" + ], + "Imports": [ + "Rcpp (>= 1.1.0)" + ], + "Suggests": [ + "covr", + "knitr", + "rmarkdown", + "tinytest" + ], + "VignetteBuilder": "knitr", + "NeedsCompilation": "yes", + "Author": "David Cooley [aut, cre]", + "Maintainer": "David Cooley ", + "Repository": "P3M" + }, + "ggplot2": { + "Package": "ggplot2", + "Version": "4.0.2", + "Source": "Repository", + "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", + "grDevices", + "grid", + "gtable (>= 0.3.6)", + "isoband", + "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", + "vdiffr (>= 1.0.6)", + "xml2" + ], + "Enhances": [ + "sp" + ], + "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": "P3M" + }, + "glue": { + "Package": "glue", + "Version": "1.8.1", + "Source": "Repository", + "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\"), comment = c(ROR = \"03wc8by49\")) )", + "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 (>= 4.1)" + ], + "Imports": [ + "methods" + ], + "Suggests": [ + "crayon", + "DBI (>= 1.2.0)", + "dplyr", + "knitr", + "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", + "Config/usethis/last-upkeep": "2026-04-16", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.3", + "NeedsCompilation": "yes", + "Author": "Jim Hester [aut] (ORCID: ), Jennifer Bryan [aut, cre] (ORCID: ), Posit Software, PBC [cph, fnd] (ROR: )", + "Maintainer": "Jennifer Bryan ", + "Repository": "P3M" + }, + "googledrive": { + "Package": "googledrive", + "Version": "2.1.2", + "Source": "Repository", + "Title": "An Interface to Google Drive", + "Authors@R": "c( person(\"Lucy\", \"D'Agostino McGowan\", , role = \"aut\"), 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": "Manage Google Drive files from R.", + "License": "MIT + file LICENSE", + "URL": "https://googledrive.tidyverse.org, https://github.com/tidyverse/googledrive", + "BugReports": "https://github.com/tidyverse/googledrive/issues", + "Depends": [ + "R (>= 4.1)" + ], + "Imports": [ + "cli (>= 3.0.0)", + "gargle (>= 1.6.0)", + "glue (>= 1.4.2)", + "httr", + "jsonlite", + "lifecycle", + "magrittr", + "pillar (>= 1.9.0)", + "purrr (>= 1.0.1)", + "rlang (>= 1.0.2)", + "tibble (>= 2.0.0)", + "utils", + "uuid", + "vctrs (>= 0.3.0)", + "withr" + ], + "Suggests": [ + "curl", + "dplyr (>= 1.0.0)", + "knitr", + "rmarkdown", + "spelling", + "testthat (>= 3.1.5)" + ], + "VignetteBuilder": "knitr", + "Config/Needs/website": "tidyverse, tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "Language": "en-US", + "RoxygenNote": "7.3.3", + "NeedsCompilation": "no", + "Author": "Lucy D'Agostino McGowan [aut], Jennifer Bryan [aut, cre] (ORCID: ), Posit Software, PBC [cph, fnd]", + "Maintainer": "Jennifer Bryan ", + "Repository": "P3M" + }, + "googlesheets4": { + "Package": "googlesheets4", + "Version": "1.1.2", + "Source": "Repository", + "Title": "Access Google Sheets using the Sheets API V4", + "Authors@R": "c( person(\"Jennifer\", \"Bryan\", , \"jenny@posit.co\", role = c(\"cre\", \"aut\"), comment = c(ORCID = \"0000-0002-6983-2759\")), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")) )", + "Description": "Interact with Google Sheets through the Sheets API v4 . \"API\" is an acronym for \"application programming interface\"; the Sheets API allows users to interact with Google Sheets programmatically, instead of via a web browser. The \"v4\" refers to the fact that the Sheets API is currently at version 4. This package can read and write both the metadata and the cell data in a Sheet.", + "License": "MIT + file LICENSE", + "URL": "https://googlesheets4.tidyverse.org, https://github.com/tidyverse/googlesheets4", + "BugReports": "https://github.com/tidyverse/googlesheets4/issues", + "Depends": [ + "R (>= 3.6)" + ], + "Imports": [ + "cellranger", + "cli (>= 3.0.0)", + "curl", + "gargle (>= 1.6.0)", + "glue (>= 1.3.0)", + "googledrive (>= 2.1.0)", + "httr", + "ids", + "lifecycle", + "magrittr", + "methods", + "purrr", + "rematch2", + "rlang (>= 1.0.2)", + "tibble (>= 2.1.1)", + "utils", + "vctrs (>= 0.2.3)", + "withr" + ], + "Suggests": [ + "readr", + "rmarkdown", + "spelling", + "testthat (>= 3.1.7)" + ], + "ByteCompile": "true", + "Config/Needs/website": "tidyverse, tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "Language": "en-US", + "RoxygenNote": "7.3.2.9000", + "NeedsCompilation": "no", + "Author": "Jennifer Bryan [cre, aut] (ORCID: ), Posit Software, PBC [cph, fnd]", + "Maintainer": "Jennifer Bryan ", + "Repository": "P3M" + }, + "gridExtra": { + "Package": "gridExtra", + "Version": "2.3", + "Source": "Repository", + "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", + "utils" + ], + "Suggests": [ + "ggplot2", + "egg", + "lattice", + "knitr", + "testthat" + ], + "RoxygenNote": "6.0.1", + "NeedsCompilation": "no", + "Author": "Baptiste Auguie [aut, cre], Anton Antonov [ctb]", + "Maintainer": "Baptiste Auguie ", + "Repository": "P3M", + "Encoding": "UTF-8" + }, + "gt": { + "Package": "gt", + "Version": "1.3.0", + "Source": "Repository", + "Type": "Package", + "Title": "Easily Create Presentation-Ready Display Tables", + "Authors@R": "c( person(\"Richard\", \"Iannone\", , \"rich@posit.co\", role = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0003-3925-190X\")), person(\"Joe\", \"Cheng\", , \"joe@posit.co\", role = \"aut\"), person(\"Barret\", \"Schloerke\", , \"barret@posit.co\", role = \"aut\", comment = c(ORCID = \"0000-0001-9986-114X\")), person(\"Shannon\", \"Haughton\", , \"shannon.l.haughton@gsk.com\", role = \"aut\"), person(\"Ellis\", \"Hughes\", , \"ellis.h.hughes@gsk.com\", role = \"aut\", comment = c(ORCID = \"0000-0003-0637-4436\")), person(\"Alexandra\", \"Lauer\", , \"alexandralauer1@gmail.com\", role = \"aut\", comment = c(ORCID = \"0000-0002-4191-6301\")), person(\"Romain\", \"François\", , \"romain@tada.science\", role = \"aut\"), person(\"JooYoung\", \"Seo\", , \"jseo1005@illinois.edu\", role = \"aut\", comment = c(ORCID = \"0000-0002-4064-6012\")), person(\"Ken\", \"Brevoort\", , \"ken@brevoort.com\", role = \"aut\", comment = c(ORCID = \"0000-0002-4001-8358\")), person(\"Olivier\", \"Roy\", role = \"aut\"), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")) )", + "Description": "Build display tables from tabular data with an easy-to-use set of functions. With its progressive approach, we can construct display tables with a cohesive set of table parts. Table values can be formatted using any of the included formatting functions. Footnotes and cell styles can be precisely added through a location targeting system. The way in which 'gt' handles things for you means that you don't often have to worry about the fine details.", + "License": "MIT + file LICENSE", + "URL": "https://gt.rstudio.com, https://github.com/rstudio/gt", + "BugReports": "https://github.com/rstudio/gt/issues", + "Depends": [ + "R (>= 4.1.0)" + ], + "Imports": [ + "base64enc (>= 0.1-3)", + "bigD (>= 0.2)", + "bitops (>= 1.0-7)", + "cli (>= 3.6.3)", + "commonmark (>= 1.9.1)", + "dplyr (>= 1.1.4)", + "fs (>= 1.6.4)", + "glue (>= 1.8.0)", + "htmltools (>= 0.5.8.1)", + "htmlwidgets (>= 1.6.4)", + "juicyjuice (>= 0.1.0)", + "magrittr (>= 2.0.3)", + "markdown (>= 1.13)", + "reactable (>= 0.4.4)", + "rlang (>= 1.1.4)", + "sass (>= 0.4.9)", + "scales (>= 1.3.0)", + "tidyselect (>= 1.2.1)", + "vctrs", + "xml2 (>= 1.3.6)" + ], + "Suggests": [ + "bit64", + "farver", + "fontawesome (>= 0.5.2)", + "ggplot2", + "grid", + "gtable (>= 0.3.6)", + "katex (>= 1.4.1)", + "knitr", + "lubridate", + "magick", + "paletteer", + "RColorBrewer", + "rmarkdown (>= 2.20)", + "rsvg", + "rvest", + "shiny (>= 1.9.1)", + "testthat (>= 3.1.9)", + "tidyr (>= 1.0.0)", + "webshot2 (>= 0.1.0)", + "withr" + ], + "Config/Needs/coverage": "officer", + "Config/Needs/website": "quarto", + "ByteCompile": "true", + "Config/testthat/edition": "3", + "Config/testthat/parallel": "true", + "Encoding": "UTF-8", + "LazyData": "true", + "RoxygenNote": "7.3.3", + "NeedsCompilation": "no", + "Author": "Richard Iannone [aut, cre] (ORCID: ), Joe Cheng [aut], Barret Schloerke [aut] (ORCID: ), Shannon Haughton [aut], Ellis Hughes [aut] (ORCID: ), Alexandra Lauer [aut] (ORCID: ), Romain François [aut], JooYoung Seo [aut] (ORCID: ), Ken Brevoort [aut] (ORCID: ), Olivier Roy [aut], Posit Software, PBC [cph, fnd]", + "Maintainer": "Richard Iannone ", + "Repository": "CRAN" + }, + "gtable": { + "Package": "gtable", + "Version": "0.3.6", + "Source": "Repository", + "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 (>= 1.1.0)", + "stats" + ], + "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": "P3M" + }, + "gtfsio": { + "Package": "gtfsio", + "Version": "1.2.0", + "Source": "Repository", + "Type": "Package", + "Title": "Read and Write General Transit Feed Specification (GTFS) Files", + "Authors@R": "c(person(given = \"Daniel\", family = \"Herszenhut\", role = c(\"aut\", \"cre\"), email = \"dhersz@gmail.com\", comment = c(ORCID = \"0000-0001-8066-1105\")), person(given = \"Flavio\", family = \"Poletti\", role = \"aut\", email = \"flavio.poletti@hotmail.ch\"), person(given = \"Mark\", family = \"Padgham\", role = \"aut\", email = \"mark.padgham@email.com\"), person(given = \"Rafael H. M.\", family = \"Pereira\", role = \"rev\", email = \"rafa.pereira.br@gmail.com\", comment = c(ORCID = \"0000-0003-2125-7465\")), person(given = \"Tom\", family = \"Buckley\", role = \"rev\", email = \"tom@tbuckl.com\"), person(given = \"Ipea - Institute for Applied Economic Research\", role = c(\"cph\", \"fnd\")))", + "Description": "Tools for the development of packages related to General Transit Feed Specification (GTFS) files. Establishes a standard for representing GTFS feeds using R data types. Provides fast and flexible functions to read and write GTFS feeds while sticking to this standard. Defines a basic 'gtfs' class which is meant to be extended by packages that depend on it. And offers utility functions that support checking the structure of GTFS objects.", + "License": "MIT + file LICENSE", + "URL": "https://r-transit.github.io/gtfsio/, https://github.com/r-transit/gtfsio", + "BugReports": "https://github.com/r-transit/gtfsio/issues", + "Imports": [ + "data.table", + "fs", + "utils", + "zip", + "jsonlite" + ], + "Suggests": [ + "knitr", + "rmarkdown", + "tinytest" + ], + "VignetteBuilder": "knitr", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "Collate": "'gtfsio_error.R' 'assert_gtfs.R' 'assert_inputs.R' 'checks.R' 'data.R' 'export_gtfs.R' 'get_gtfs_standards.R' 'gtfs_methods.R' 'gtfs_subset.R' 'gtfsio.R' 'import_gtfs.R' 'new_gtfs.R' 'utils.R'", + "LazyData": "true", + "Depends": [ + "R (>= 3.1.0)" + ], + "NeedsCompilation": "no", + "Author": "Daniel Herszenhut [aut, cre] (), Flavio Poletti [aut], Mark Padgham [aut], Rafael H. M. Pereira [rev] (), Tom Buckley [rev], Ipea - Institute for Applied Economic Research [cph, fnd]", + "Maintainer": "Daniel Herszenhut ", + "Repository": "P3M" + }, + "haven": { + "Package": "haven", + "Version": "2.5.5", + "Source": "Repository", + "Title": "Import and Export 'SPSS', 'Stata' and 'SAS' Files", + "Authors@R": "c( person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = c(\"aut\", \"cre\")), person(\"Evan\", \"Miller\", role = c(\"aut\", \"cph\"), comment = \"Author of included ReadStat code\"), person(\"Danny\", \"Smith\", role = \"aut\"), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")) )", + "Description": "Import foreign statistical formats into R via the embedded 'ReadStat' C library, .", + "License": "MIT + file LICENSE", + "URL": "https://haven.tidyverse.org, https://github.com/tidyverse/haven, https://github.com/WizardMac/ReadStat", + "BugReports": "https://github.com/tidyverse/haven/issues", + "Depends": [ + "R (>= 3.6)" + ], + "Imports": [ + "cli (>= 3.0.0)", + "forcats (>= 0.2.0)", + "hms", + "lifecycle", + "methods", + "readr (>= 0.1.0)", + "rlang (>= 0.4.0)", + "tibble", + "tidyselect", + "vctrs (>= 0.3.0)" + ], + "Suggests": [ + "covr", + "crayon", + "fs", + "knitr", + "pillar (>= 1.4.0)", + "rmarkdown", + "testthat (>= 3.0.0)", + "utf8" + ], + "LinkingTo": [ + "cpp11" + ], + "VignetteBuilder": "knitr", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "SystemRequirements": "GNU make, zlib: zlib1g-dev (deb), zlib-devel (rpm)", + "NeedsCompilation": "yes", + "Author": "Hadley Wickham [aut, cre], Evan Miller [aut, cph] (Author of included ReadStat code), Danny Smith [aut], Posit Software, PBC [cph, fnd]", + "Maintainer": "Hadley Wickham ", + "Repository": "P3M" + }, + "highr": { + "Package": "highr", + "Version": "0.12", + "Source": "Repository", + "Type": "Package", + "Title": "Syntax Highlighting for R Source Code", + "Authors@R": "c( person(\"Yihui\", \"Xie\", role = c(\"aut\", \"cre\"), email = \"xie@yihui.name\", comment = c(ORCID = \"0000-0003-0645-5666\")), person(\"Yixuan\", \"Qiu\", role = \"aut\"), person(\"Christopher\", \"Gandrud\", role = \"ctb\"), person(\"Qiang\", \"Li\", role = \"ctb\") )", + "Description": "Provides syntax highlighting for R source code. Currently it supports LaTeX and HTML output. Source code of other languages is supported via Andre Simon's highlight package ().", + "Depends": [ + "R (>= 3.3.0)" + ], + "Imports": [ + "xfun (>= 0.18)" + ], + "Suggests": [ + "knitr", + "markdown", + "testit" + ], + "License": "GPL", + "URL": "https://github.com/yihui/highr", + "BugReports": "https://github.com/yihui/highr/issues", + "VignetteBuilder": "knitr", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.3", + "NeedsCompilation": "no", + "Author": "Yihui Xie [aut, cre] (ORCID: ), Yixuan Qiu [aut], Christopher Gandrud [ctb], Qiang Li [ctb]", + "Maintainer": "Yihui Xie ", + "Repository": "P3M" + }, + "hms": { + "Package": "hms", + "Version": "1.1.4", + "Source": "Repository", + "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 (>= 1.0.2)", + "vctrs (>= 0.3.8)" + ], + "Suggests": [ + "crayon", + "lubridate", + "pillar (>= 1.1.0)", + "testthat (>= 3.0.0)" + ], + "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": "P3M" + }, + "htmltools": { + "Package": "htmltools", + "Version": "0.5.9", + "Source": "Repository", + "Type": "Package", + "Title": "Tools for HTML", + "Authors@R": "c( person(\"Joe\", \"Cheng\", , \"joe@posit.co\", role = \"aut\"), person(\"Carson\", \"Sievert\", , \"carson@posit.co\", role = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0002-4958-2844\")), person(\"Barret\", \"Schloerke\", , \"barret@posit.co\", role = \"aut\", comment = c(ORCID = \"0000-0001-9986-114X\")), person(\"Winston\", \"Chang\", , \"winston@posit.co\", role = \"aut\", comment = c(ORCID = \"0000-0002-1576-2126\")), person(\"Yihui\", \"Xie\", , \"yihui@posit.co\", role = \"aut\"), person(\"Jeff\", \"Allen\", role = \"aut\"), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")) )", + "Description": "Tools for HTML generation and output.", + "License": "GPL (>= 2)", + "URL": "https://github.com/rstudio/htmltools, https://rstudio.github.io/htmltools/", + "BugReports": "https://github.com/rstudio/htmltools/issues", + "Depends": [ + "R (>= 2.14.1)" + ], + "Imports": [ + "base64enc", + "digest", + "fastmap (>= 1.1.0)", + "grDevices", + "rlang (>= 1.0.0)", + "utils" + ], + "Suggests": [ + "Cairo", + "markdown", + "ragg", + "shiny", + "testthat", + "withr" + ], + "Enhances": [ + "knitr" + ], + "Config/Needs/check": "knitr", + "Config/Needs/website": "rstudio/quillt, bench", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.3", + "Collate": "'colors.R' 'fill.R' 'html_dependency.R' 'html_escape.R' 'html_print.R' 'htmltools-package.R' 'images.R' 'known_tags.R' 'selector.R' 'staticimports.R' 'tag_query.R' 'utils.R' 'tags.R' 'template.R'", + "NeedsCompilation": "yes", + "Author": "Joe Cheng [aut], Carson Sievert [aut, cre] (ORCID: ), Barret Schloerke [aut] (ORCID: ), Winston Chang [aut] (ORCID: ), Yihui Xie [aut], Jeff Allen [aut], Posit Software, PBC [cph, fnd]", + "Maintainer": "Carson Sievert ", + "Repository": "P3M" + }, + "htmlwidgets": { + "Package": "htmlwidgets", + "Version": "1.6.4", + "Source": "Repository", + "Type": "Package", + "Title": "HTML Widgets for R", + "Authors@R": "c( person(\"Ramnath\", \"Vaidyanathan\", role = c(\"aut\", \"cph\")), person(\"Yihui\", \"Xie\", role = \"aut\"), person(\"JJ\", \"Allaire\", role = \"aut\"), person(\"Joe\", \"Cheng\", , \"joe@posit.co\", role = \"aut\"), person(\"Carson\", \"Sievert\", , \"carson@posit.co\", role = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0002-4958-2844\")), person(\"Kenton\", \"Russell\", role = c(\"aut\", \"cph\")), person(\"Ellis\", \"Hughes\", role = \"ctb\"), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")) )", + "Description": "A framework for creating HTML widgets that render in various contexts including the R console, 'R Markdown' documents, and 'Shiny' web applications.", + "License": "MIT + file LICENSE", + "URL": "https://github.com/ramnathv/htmlwidgets", + "BugReports": "https://github.com/ramnathv/htmlwidgets/issues", + "Imports": [ + "grDevices", + "htmltools (>= 0.5.7)", + "jsonlite (>= 0.9.16)", + "knitr (>= 1.8)", + "rmarkdown", + "yaml" + ], + "Suggests": [ + "testthat" + ], + "Enhances": [ + "shiny (>= 1.1)" + ], + "VignetteBuilder": "knitr", + "Encoding": "UTF-8", + "RoxygenNote": "7.2.3", + "NeedsCompilation": "no", + "Author": "Ramnath Vaidyanathan [aut, cph], Yihui Xie [aut], JJ Allaire [aut], Joe Cheng [aut], Carson Sievert [aut, cre] (), Kenton Russell [aut, cph], Ellis Hughes [ctb], Posit Software, PBC [cph, fnd]", + "Maintainer": "Carson Sievert ", + "Repository": "P3M" + }, + "httr": { + "Package": "httr", + "Version": "1.4.8", + "Source": "Repository", + "Title": "Tools for Working with URLs and HTTP", + "Authors@R": "c( person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = c(\"aut\", \"cre\")), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")) )", + "Description": "Useful tools for working with HTTP organised by HTTP verbs (GET(), POST(), etc). Configuration functions make it easy to control additional request components (authenticate(), add_headers() and so on).", + "License": "MIT + file LICENSE", + "URL": "https://httr.r-lib.org/, https://github.com/r-lib/httr", + "BugReports": "https://github.com/r-lib/httr/issues", + "Depends": [ + "R (>= 3.6)" + ], + "Imports": [ + "curl (>= 5.1.0)", + "jsonlite", + "mime", + "openssl (>= 0.8)", + "R6" + ], + "Suggests": [ + "covr", + "httpuv", + "jpeg", + "knitr", + "png", + "readr", + "rmarkdown", + "testthat (>= 0.8.0)", + "xml2" + ], + "VignetteBuilder": "knitr", + "Config/Needs/website": "tidyverse/tidytemplate", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.3", + "NeedsCompilation": "no", + "Author": "Hadley Wickham [aut, cre], Posit Software, PBC [cph, fnd]", + "Maintainer": "Hadley Wickham ", + "Repository": "P3M" + }, + "ids": { + "Package": "ids", + "Version": "1.0.1", + "Source": "Repository", + "Title": "Generate Random Identifiers", + "Authors@R": "person(\"Rich\", \"FitzJohn\", role = c(\"aut\", \"cre\"), email = \"rich.fitzjohn@gmail.com\")", + "Description": "Generate random or human readable and pronounceable identifiers.", + "License": "MIT + file LICENSE", + "URL": "https://github.com/richfitz/ids", + "BugReports": "https://github.com/richfitz/ids/issues", + "Imports": [ + "openssl", + "uuid" + ], + "Suggests": [ + "knitr", + "rcorpora", + "rmarkdown", + "testthat" + ], + "RoxygenNote": "6.0.1", + "VignetteBuilder": "knitr", + "NeedsCompilation": "no", + "Author": "Rich FitzJohn [aut, cre]", + "Maintainer": "Rich FitzJohn ", + "Repository": "P3M", + "Encoding": "UTF-8" + }, + "isoband": { + "Package": "isoband", + "Version": "0.3.0", + "Source": "Repository", + "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" + ], + "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": "P3M" + }, + "jdawangHelpers": { + "Package": "jdawangHelpers", + "Version": "0.0.0.9000", + "Source": "GitHub", + "Title": "Helper Functions for Jacob Dawang's Blog Posts", + "Authors@R": "person(\"Jacob\", \"Dawang\", , \"jacob@jacobdawang.com\", role = c(\"aut\", \"cre\"))", + "Description": "Shared utility functions for data processing and visualization in blog posts at jacobdawang.com. Covers Edmonton building permits, transit distances, neighbourhood classification, ggplot2 themes, and GT tables.", + "License": "MIT + file LICENSE", + "Encoding": "UTF-8", + "Roxygen": "list(markdown = TRUE)", + "RoxygenNote": "7.3.3", + "Imports": [ + "dplyr", + "forcats", + "ggplot2 (>= 4.0.0)", + "gt", + "purrr", + "scales", + "sf", + "stringr", + "tidyr", + "tidytransit", + "units", + "viridis" + ], + "Suggests": [ + "gganimate", + "lintr", + "mountainmathHelpers", + "testthat (>= 3.0.0)", + "devtools (>= 2.5.0)", + "withr" + ], + "Config/testthat/edition": "3", + "Depends": [ + "R (>= 3.5)" + ], + "LazyData": "true", + "Author": "Jacob Dawang [aut, cre]", + "Maintainer": "Jacob Dawang ", + "RemoteType": "github", + "RemoteHost": "api.github.com", + "RemoteUsername": "jdawang", + "RemoteRepo": "jdawangHelpers", + "RemoteRef": "main", + "RemoteSha": "82f1c8d23af93058a270381625b601475e5116f9" + }, + "jquerylib": { + "Package": "jquerylib", + "Version": "0.1.4", + "Source": "Repository", + "Title": "Obtain 'jQuery' as an HTML Dependency Object", + "Authors@R": "c( person(\"Carson\", \"Sievert\", role = c(\"aut\", \"cre\"), email = \"carson@rstudio.com\", comment = c(ORCID = \"0000-0002-4958-2844\")), person(\"Joe\", \"Cheng\", role = \"aut\", email = \"joe@rstudio.com\"), person(family = \"RStudio\", role = \"cph\"), person(family = \"jQuery Foundation\", role = \"cph\", comment = \"jQuery library and jQuery UI library\"), person(family = \"jQuery contributors\", role = c(\"ctb\", \"cph\"), comment = \"jQuery library; authors listed in inst/lib/jquery-AUTHORS.txt\") )", + "Description": "Obtain any major version of 'jQuery' () and use it in any webpage generated by 'htmltools' (e.g. 'shiny', 'htmlwidgets', and 'rmarkdown'). Most R users don't need to use this package directly, but other R packages (e.g. 'shiny', 'rmarkdown', etc.) depend on this package to avoid bundling redundant copies of 'jQuery'.", + "License": "MIT + file LICENSE", + "Encoding": "UTF-8", + "Config/testthat/edition": "3", + "RoxygenNote": "7.0.2", + "Imports": [ + "htmltools" + ], + "Suggests": [ + "testthat" + ], + "NeedsCompilation": "no", + "Author": "Carson Sievert [aut, cre] (), Joe Cheng [aut], RStudio [cph], jQuery Foundation [cph] (jQuery library and jQuery UI library), jQuery contributors [ctb, cph] (jQuery library; authors listed in inst/lib/jquery-AUTHORS.txt)", + "Maintainer": "Carson Sievert ", + "Repository": "P3M" + }, + "jsonify": { + "Package": "jsonify", + "Version": "1.2.3", + "Source": "Repository", + "Type": "Package", + "Title": "Convert Between 'R' Objects and Javascript Object Notation (JSON)", + "Date": "2025-11-24", + "Authors@R": "c( person(\"David\", \"Cooley\", ,\"dcooley@symbolix.com.au\", role = c(\"aut\", \"cre\")), person(\"Chris\", \"Muir\", role = \"ctb\"), person(\"Brendan\", \"Knapp\", role = \"ctb\", comment = c(ORCID = \"0000-0003-3284-4972\")) )", + "Description": "Conversions between 'R' objects and Javascript Object Notation (JSON) using the 'rapidjsonr' library .", + "License": "MIT + file LICENSE", + "Depends": [ + "R (>= 4.0.0)" + ], + "Imports": [ + "Rcpp (>= 1.1.0)" + ], + "LinkingTo": [ + "rapidjsonr (>= 1.2.1)", + "Rcpp" + ], + "RoxygenNote": "7.3.2", + "Suggests": [ + "covr", + "testthat", + "knitr", + "rmarkdown" + ], + "Encoding": "UTF-8", + "URL": "https://symbolixau.github.io/jsonify/, https://github.com/SymbolixAU/jsonify", + "BugReports": "https://github.com/SymbolixAU/jsonify/issues", + "NeedsCompilation": "yes", + "Author": "David Cooley [aut, cre], Chris Muir [ctb], Brendan Knapp [ctb] (ORCID: )", + "Maintainer": "David Cooley ", + "Repository": "P3M" + }, + "jsonlite": { + "Package": "jsonlite", + "Version": "2.0.0", + "Source": "Repository", + "Title": "A Simple and Robust JSON Parser and Generator for R", + "License": "MIT + file LICENSE", + "Depends": [ + "methods" + ], + "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": "P3M" + }, + "juicyjuice": { + "Package": "juicyjuice", + "Version": "0.1.0", + "Source": "Repository", + "Title": "Inline CSS Properties into HTML Tags Using 'juice'", + "Authors@R": "c( person(\"Richard\", \"Iannone\", , \"riannone@me.com\", c(\"aut\", \"cre\", \"cph\"), comment = c(ORCID = \"0000-0003-3925-190X\")), person(\"Automattic\", role = c(\"cph\"), comment = \"juice library\"), person(\"juice contributors\", role = c(\"ctb\"), comment = \"juice library\") )", + "Description": "There are occasions where you need a piece of HTML with integrated styles. A prime example of this is HTML email. This transformation involves moving the CSS and associated formatting instructions from the style block in the head of your document into the body of the HTML. Many prominent email clients require integrated styles in HTML email; otherwise a received HTML email will be displayed without any styling. This package will quickly and precisely perform these CSS transformations when given HTML text and it does so by using the JavaScript 'juice' library.", + "License": "MIT + file LICENSE", + "URL": "https://github.com/rich-iannone/juicyjuice", + "BugReports": "https://github.com/rich-iannone/juicyjuice/issues", + "Encoding": "UTF-8", + "RoxygenNote": "7.2.1", + "Imports": [ + "V8 (>= 4.2.0)" + ], + "Suggests": [ + "testthat (>= 3.0.0)" + ], + "Config/testthat/edition": "3", + "NeedsCompilation": "no", + "Author": "Richard Iannone [aut, cre, cph] (), Automattic [cph] (juice library), juice contributors [ctb] (juice library)", + "Maintainer": "Richard Iannone ", + "Repository": "CRAN" + }, + "knitr": { + "Package": "knitr", + "Version": "1.51", + "Source": "Repository", + "Type": "Package", + "Title": "A General-Purpose Package for Dynamic Report Generation in R", + "Authors@R": "c( person(\"Yihui\", \"Xie\", role = c(\"aut\", \"cre\"), email = \"xie@yihui.name\", comment = c(ORCID = \"0000-0003-0645-5666\", URL = \"https://yihui.org\")), person(\"Abhraneel\", \"Sarma\", role = \"ctb\"), person(\"Adam\", \"Vogt\", role = \"ctb\"), person(\"Alastair\", \"Andrew\", role = \"ctb\"), person(\"Alex\", \"Zvoleff\", role = \"ctb\"), person(\"Amar\", \"Al-Zubaidi\", role = \"ctb\"), person(\"Andre\", \"Simon\", role = \"ctb\", comment = \"the CSS files under inst/themes/ were derived from the Highlight package http://www.andre-simon.de\"), person(\"Aron\", \"Atkins\", role = \"ctb\"), person(\"Aaron\", \"Wolen\", role = \"ctb\"), person(\"Ashley\", \"Manton\", role = \"ctb\"), person(\"Atsushi\", \"Yasumoto\", role = \"ctb\", comment = c(ORCID = \"0000-0002-8335-495X\")), person(\"Ben\", \"Baumer\", role = \"ctb\"), person(\"Brian\", \"Diggs\", role = \"ctb\"), person(\"Brian\", \"Zhang\", role = \"ctb\"), person(\"Bulat\", \"Yapparov\", role = \"ctb\"), person(\"Cassio\", \"Pereira\", role = \"ctb\"), person(\"Christophe\", \"Dervieux\", role = \"ctb\"), person(\"David\", \"Hall\", role = \"ctb\"), person(\"David\", \"Hugh-Jones\", role = \"ctb\"), person(\"David\", \"Robinson\", role = \"ctb\"), person(\"Doug\", \"Hemken\", role = \"ctb\"), person(\"Duncan\", \"Murdoch\", role = \"ctb\"), person(\"Elio\", \"Campitelli\", role = \"ctb\"), person(\"Ellis\", \"Hughes\", role = \"ctb\"), person(\"Emily\", \"Riederer\", role = \"ctb\"), person(\"Fabian\", \"Hirschmann\", role = \"ctb\"), person(\"Fitch\", \"Simeon\", role = \"ctb\"), person(\"Forest\", \"Fang\", role = \"ctb\"), person(c(\"Frank\", \"E\", \"Harrell\", \"Jr\"), role = \"ctb\", comment = \"the Sweavel package at inst/misc/Sweavel.sty\"), person(\"Garrick\", \"Aden-Buie\", role = \"ctb\"), person(\"Gregoire\", \"Detrez\", role = \"ctb\"), person(\"Hadley\", \"Wickham\", role = \"ctb\"), person(\"Hao\", \"Zhu\", role = \"ctb\"), person(\"Heewon\", \"Jeon\", role = \"ctb\"), person(\"Henrik\", \"Bengtsson\", role = \"ctb\"), person(\"Hiroaki\", \"Yutani\", role = \"ctb\"), person(\"Ian\", \"Lyttle\", role = \"ctb\"), person(\"Hodges\", \"Daniel\", role = \"ctb\"), person(\"Jacob\", \"Bien\", role = \"ctb\"), person(\"Jake\", \"Burkhead\", role = \"ctb\"), person(\"James\", \"Manton\", role = \"ctb\"), person(\"Jared\", \"Lander\", role = \"ctb\"), person(\"Jason\", \"Punyon\", role = \"ctb\"), person(\"Javier\", \"Luraschi\", role = \"ctb\"), person(\"Jeff\", \"Arnold\", role = \"ctb\"), person(\"Jenny\", \"Bryan\", role = \"ctb\"), person(\"Jeremy\", \"Ashkenas\", role = c(\"ctb\", \"cph\"), comment = \"the CSS file at inst/misc/docco-classic.css\"), person(\"Jeremy\", \"Stephens\", role = \"ctb\"), person(\"Jim\", \"Hester\", role = \"ctb\"), person(\"Joe\", \"Cheng\", role = \"ctb\"), person(\"Johannes\", \"Ranke\", role = \"ctb\"), person(\"John\", \"Honaker\", role = \"ctb\"), person(\"John\", \"Muschelli\", role = \"ctb\"), person(\"Jonathan\", \"Keane\", role = \"ctb\"), person(\"JJ\", \"Allaire\", role = \"ctb\"), person(\"Johan\", \"Toloe\", role = \"ctb\"), person(\"Jonathan\", \"Sidi\", role = \"ctb\"), person(\"Joseph\", \"Larmarange\", role = \"ctb\"), person(\"Julien\", \"Barnier\", role = \"ctb\"), person(\"Kaiyin\", \"Zhong\", role = \"ctb\"), person(\"Kamil\", \"Slowikowski\", role = \"ctb\"), person(\"Karl\", \"Forner\", role = \"ctb\"), person(c(\"Kevin\", \"K.\"), \"Smith\", role = \"ctb\"), person(\"Kirill\", \"Mueller\", role = \"ctb\"), person(\"Kohske\", \"Takahashi\", role = \"ctb\"), person(\"Lorenz\", \"Walthert\", role = \"ctb\"), person(\"Lucas\", \"Gallindo\", role = \"ctb\"), person(\"Marius\", \"Hofert\", role = \"ctb\"), person(\"Martin\", \"Modrák\", role = \"ctb\"), person(\"Michael\", \"Chirico\", role = \"ctb\"), person(\"Michael\", \"Friendly\", role = \"ctb\"), person(\"Michal\", \"Bojanowski\", role = \"ctb\"), person(\"Michel\", \"Kuhlmann\", role = \"ctb\"), person(\"Miller\", \"Patrick\", role = \"ctb\"), person(\"Nacho\", \"Caballero\", role = \"ctb\"), person(\"Nick\", \"Salkowski\", role = \"ctb\"), person(\"Niels Richard\", \"Hansen\", role = \"ctb\"), person(\"Noam\", \"Ross\", role = \"ctb\"), person(\"Obada\", \"Mahdi\", role = \"ctb\"), person(\"Pavel N.\", \"Krivitsky\", role = \"ctb\", comment=c(ORCID = \"0000-0002-9101-3362\")), person(\"Pedro\", \"Faria\", role = \"ctb\"), person(\"Qiang\", \"Li\", role = \"ctb\"), person(\"Ramnath\", \"Vaidyanathan\", role = \"ctb\"), person(\"Richard\", \"Cotton\", role = \"ctb\"), person(\"Robert\", \"Krzyzanowski\", role = \"ctb\"), person(\"Rodrigo\", \"Copetti\", role = \"ctb\"), person(\"Romain\", \"Francois\", role = \"ctb\"), person(\"Ruaridh\", \"Williamson\", role = \"ctb\"), person(\"Sagiru\", \"Mati\", role = \"ctb\", comment = c(ORCID = \"0000-0003-1413-3974\")), person(\"Scott\", \"Kostyshak\", role = \"ctb\"), person(\"Sebastian\", \"Meyer\", role = \"ctb\"), person(\"Sietse\", \"Brouwer\", role = \"ctb\"), person(c(\"Simon\", \"de\"), \"Bernard\", role = \"ctb\"), person(\"Sylvain\", \"Rousseau\", role = \"ctb\"), person(\"Taiyun\", \"Wei\", role = \"ctb\"), person(\"Thibaut\", \"Assus\", role = \"ctb\"), person(\"Thibaut\", \"Lamadon\", role = \"ctb\"), person(\"Thomas\", \"Leeper\", role = \"ctb\"), person(\"Tim\", \"Mastny\", role = \"ctb\"), person(\"Tom\", \"Torsney-Weir\", role = \"ctb\"), person(\"Trevor\", \"Davis\", role = \"ctb\"), person(\"Viktoras\", \"Veitas\", role = \"ctb\"), person(\"Weicheng\", \"Zhu\", role = \"ctb\"), person(\"Wush\", \"Wu\", role = \"ctb\"), person(\"Zachary\", \"Foster\", role = \"ctb\"), person(\"Zhian N.\", \"Kamvar\", role = \"ctb\", comment = c(ORCID = \"0000-0003-1458-7108\")), person(given = \"Posit Software, PBC\", role = c(\"cph\", \"fnd\")) )", + "Description": "Provides a general-purpose tool for dynamic report generation in R using Literate Programming techniques.", + "Depends": [ + "R (>= 3.6.0)" + ], + "Imports": [ + "evaluate (>= 0.15)", + "highr (>= 0.11)", + "methods", + "tools", + "xfun (>= 0.52)", + "yaml (>= 2.1.19)" + ], + "Suggests": [ + "bslib", + "DBI (>= 0.4-1)", + "digest", + "formatR", + "gifski", + "gridSVG", + "htmlwidgets (>= 0.7)", + "jpeg", + "JuliaCall (>= 0.11.1)", + "magick", + "litedown", + "markdown (>= 1.3)", + "otel", + "otelsdk", + "png", + "ragg", + "reticulate (>= 1.4)", + "rgl (>= 0.95.1201)", + "rlang", + "rmarkdown", + "sass", + "showtext", + "styler (>= 1.2.0)", + "targets (>= 0.6.0)", + "testit", + "tibble", + "tikzDevice (>= 0.10)", + "tinytex (>= 0.56)", + "webshot", + "rstudioapi", + "svglite" + ], + "License": "GPL", + "URL": "https://yihui.org/knitr/", + "BugReports": "https://github.com/yihui/knitr/issues", + "Encoding": "UTF-8", + "VignetteBuilder": "litedown, knitr", + "SystemRequirements": "Package vignettes based on R Markdown v2 or reStructuredText require Pandoc (http://pandoc.org). The function rst2pdf() requires rst2pdf (https://github.com/rst2pdf/rst2pdf).", + "Collate": "'block.R' 'cache.R' 'citation.R' 'hooks-html.R' 'plot.R' 'utils.R' 'defaults.R' 'concordance.R' 'engine.R' 'highlight.R' 'themes.R' 'header.R' 'hooks-asciidoc.R' 'hooks-chunk.R' 'hooks-extra.R' 'hooks-latex.R' 'hooks-md.R' 'hooks-rst.R' 'hooks-textile.R' 'hooks.R' 'otel.R' 'output.R' 'package.R' 'pandoc.R' 'params.R' 'parser.R' 'pattern.R' 'rocco.R' 'spin.R' 'table.R' 'template.R' 'utils-conversion.R' 'utils-rd2html.R' 'utils-string.R' 'utils-sweave.R' 'utils-upload.R' 'utils-vignettes.R' 'zzz.R'", + "RoxygenNote": "7.3.3", + "NeedsCompilation": "no", + "Author": "Yihui Xie [aut, cre] (ORCID: , URL: https://yihui.org), Abhraneel Sarma [ctb], Adam Vogt [ctb], Alastair Andrew [ctb], Alex Zvoleff [ctb], Amar Al-Zubaidi [ctb], Andre Simon [ctb] (the CSS files under inst/themes/ were derived from the Highlight package http://www.andre-simon.de), Aron Atkins [ctb], Aaron Wolen [ctb], Ashley Manton [ctb], Atsushi Yasumoto [ctb] (ORCID: ), Ben Baumer [ctb], Brian Diggs [ctb], Brian Zhang [ctb], Bulat Yapparov [ctb], Cassio Pereira [ctb], Christophe Dervieux [ctb], David Hall [ctb], David Hugh-Jones [ctb], David Robinson [ctb], Doug Hemken [ctb], Duncan Murdoch [ctb], Elio Campitelli [ctb], Ellis Hughes [ctb], Emily Riederer [ctb], Fabian Hirschmann [ctb], Fitch Simeon [ctb], Forest Fang [ctb], Frank E Harrell Jr [ctb] (the Sweavel package at inst/misc/Sweavel.sty), Garrick Aden-Buie [ctb], Gregoire Detrez [ctb], Hadley Wickham [ctb], Hao Zhu [ctb], Heewon Jeon [ctb], Henrik Bengtsson [ctb], Hiroaki Yutani [ctb], Ian Lyttle [ctb], Hodges Daniel [ctb], Jacob Bien [ctb], Jake Burkhead [ctb], James Manton [ctb], Jared Lander [ctb], Jason Punyon [ctb], Javier Luraschi [ctb], Jeff Arnold [ctb], Jenny Bryan [ctb], Jeremy Ashkenas [ctb, cph] (the CSS file at inst/misc/docco-classic.css), Jeremy Stephens [ctb], Jim Hester [ctb], Joe Cheng [ctb], Johannes Ranke [ctb], John Honaker [ctb], John Muschelli [ctb], Jonathan Keane [ctb], JJ Allaire [ctb], Johan Toloe [ctb], Jonathan Sidi [ctb], Joseph Larmarange [ctb], Julien Barnier [ctb], Kaiyin Zhong [ctb], Kamil Slowikowski [ctb], Karl Forner [ctb], Kevin K. Smith [ctb], Kirill Mueller [ctb], Kohske Takahashi [ctb], Lorenz Walthert [ctb], Lucas Gallindo [ctb], Marius Hofert [ctb], Martin Modrák [ctb], Michael Chirico [ctb], Michael Friendly [ctb], Michal Bojanowski [ctb], Michel Kuhlmann [ctb], Miller Patrick [ctb], Nacho Caballero [ctb], Nick Salkowski [ctb], Niels Richard Hansen [ctb], Noam Ross [ctb], Obada Mahdi [ctb], Pavel N. Krivitsky [ctb] (ORCID: ), Pedro Faria [ctb], Qiang Li [ctb], Ramnath Vaidyanathan [ctb], Richard Cotton [ctb], Robert Krzyzanowski [ctb], Rodrigo Copetti [ctb], Romain Francois [ctb], Ruaridh Williamson [ctb], Sagiru Mati [ctb] (ORCID: ), Scott Kostyshak [ctb], Sebastian Meyer [ctb], Sietse Brouwer [ctb], Simon de Bernard [ctb], Sylvain Rousseau [ctb], Taiyun Wei [ctb], Thibaut Assus [ctb], Thibaut Lamadon [ctb], Thomas Leeper [ctb], Tim Mastny [ctb], Tom Torsney-Weir [ctb], Trevor Davis [ctb], Viktoras Veitas [ctb], Weicheng Zhu [ctb], Wush Wu [ctb], Zachary Foster [ctb], Zhian N. Kamvar [ctb] (ORCID: ), Posit Software, PBC [cph, fnd]", + "Maintainer": "Yihui Xie ", + "Repository": "P3M" + }, + "labeling": { + "Package": "labeling", + "Version": "0.4.3", + "Source": "Repository", + "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" + ], + "Repository": "P3M", + "Encoding": "UTF-8" + }, + "lifecycle": { + "Package": "lifecycle", + "Version": "1.0.5", + "Source": "Repository", + "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)" + ], + "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": "P3M" + }, + "litedown": { + "Package": "litedown", + "Version": "0.9", + "Source": "Repository", + "Type": "Package", + "Title": "A Lightweight Version of R Markdown", + "Authors@R": "c( person(\"Yihui\", \"Xie\", role = c(\"aut\", \"cre\"), email = \"xie@yihui.name\", comment = c(ORCID = \"0000-0003-0645-5666\", URL = \"https://yihui.org\")), person(\"Tim\", \"Taylor\", role = \"ctb\", comment = c(ORCID = \"0000-0002-8587-7113\")), person() )", + "Description": "Render R Markdown to Markdown (without using 'knitr'), and Markdown to lightweight HTML or 'LaTeX' documents with the 'commonmark' package (instead of 'Pandoc'). Some missing Markdown features in 'commonmark' are also supported, such as raw HTML or 'LaTeX' blocks, 'LaTeX' math, superscripts, subscripts, footnotes, element attributes, and appendices, but not all 'Pandoc' Markdown features are (or will be) supported. With additional JavaScript and CSS, you can also create HTML slides and articles. This package can be viewed as a trimmed-down version of R Markdown and 'knitr'. It does not aim at rich Markdown features or a large variety of output formats (the primary formats are HTML and 'LaTeX'). Book and website projects of multiple input documents are also supported.", + "Depends": [ + "R (>= 3.2.0)" + ], + "Imports": [ + "utils", + "commonmark (>= 2.0.0)", + "xfun (>= 0.55)" + ], + "Suggests": [ + "rbibutils", + "rstudioapi", + "tinytex" + ], + "License": "MIT + file LICENSE", + "URL": "https://github.com/yihui/litedown", + "BugReports": "https://github.com/yihui/litedown/issues", + "VignetteBuilder": "litedown", + "RoxygenNote": "7.3.3", + "Encoding": "UTF-8", + "NeedsCompilation": "no", + "Author": "Yihui Xie [aut, cre] (ORCID: , URL: https://yihui.org), Tim Taylor [ctb] (ORCID: )", + "Maintainer": "Yihui Xie ", + "Repository": "CRAN" + }, + "lubridate": { + "Package": "lubridate", + "Version": "1.9.5", + "Source": "Repository", + "Type": "Package", + "Title": "Make Dealing with Dates a Little Easier", + "Authors@R": "c( person(\"Vitalie\", \"Spinu\", , \"spinuvit@gmail.com\", role = c(\"aut\", \"cre\")), person(\"Garrett\", \"Grolemund\", role = \"aut\"), person(\"Hadley\", \"Wickham\", role = \"aut\"), person(\"Davis\", \"Vaughan\", role = \"ctb\"), person(\"Ian\", \"Lyttle\", role = \"ctb\"), person(\"Imanuel\", \"Costigan\", role = \"ctb\"), person(\"Jason\", \"Law\", role = \"ctb\"), person(\"Doug\", \"Mitarotonda\", role = \"ctb\"), person(\"Joseph\", \"Larmarange\", role = \"ctb\"), person(\"Jonathan\", \"Boiser\", role = \"ctb\"), person(\"Chel Hee\", \"Lee\", role = \"ctb\") )", + "Maintainer": "Vitalie Spinu ", + "Description": "Functions to work with date-times and time-spans: fast and user friendly parsing of date-time data, extraction and updating of components of a date-time (years, months, days, hours, minutes, and seconds), algebraic manipulation on date-time and time-span objects. The 'lubridate' package has a consistent and memorable syntax that makes working with dates easy and fun.", + "License": "MIT + file LICENSE", + "URL": "https://lubridate.tidyverse.org, https://github.com/tidyverse/lubridate", + "BugReports": "https://github.com/tidyverse/lubridate/issues", + "Depends": [ + "methods", + "R (>= 3.2)" + ], + "Imports": [ + "generics", + "timechange (>= 0.4.0)" + ], + "Suggests": [ + "covr", + "knitr", + "rmarkdown", + "testthat (>= 2.1.0)", + "vctrs (>= 0.6.5)" + ], + "Enhances": [ + "chron", + "data.table", + "timeDate", + "tis", + "zoo" + ], + "VignetteBuilder": "knitr", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "LazyData": "true", + "RoxygenNote": "7.3.3", + "SystemRequirements": "A system with zoneinfo data (e.g. /usr/share/zoneinfo). On Windows the zoneinfo included with R is used.", + "Collate": "'Dates.r' 'POSIXt.r' 'util.r' 'parse.r' 'timespans.r' 'intervals.r' 'difftimes.r' 'durations.r' 'periods.r' 'accessors-date.R' 'accessors-day.r' 'accessors-dst.r' 'accessors-hour.r' 'accessors-minute.r' 'accessors-month.r' 'accessors-quarter.r' 'accessors-second.r' 'accessors-tz.r' 'accessors-week.r' 'accessors-year.r' 'am-pm.r' 'time-zones.r' 'numeric.r' 'coercion.r' 'constants.r' 'cyclic_encoding.r' 'data.r' 'decimal-dates.r' 'deprecated.r' 'format_ISO8601.r' 'guess.r' 'hidden.r' 'instants.r' 'leap-years.r' 'ops-addition.r' 'ops-compare.r' 'ops-division.r' 'ops-integer-division.r' 'ops-m+.r' 'ops-modulo.r' 'ops-multiplication.r' 'ops-subtraction.r' 'package.r' 'pretty.r' 'round.r' 'stamp.r' 'tzdir.R' 'update.r' 'vctrs.R' 'zzz.R'", + "NeedsCompilation": "yes", + "Author": "Vitalie Spinu [aut, cre], Garrett Grolemund [aut], Hadley Wickham [aut], Davis Vaughan [ctb], Ian Lyttle [ctb], Imanuel Costigan [ctb], Jason Law [ctb], Doug Mitarotonda [ctb], Joseph Larmarange [ctb], Jonathan Boiser [ctb], Chel Hee Lee [ctb]", + "Repository": "P3M" + }, + "magrittr": { + "Package": "magrittr", + "Version": "2.0.5", + "Source": "Repository", + "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" + ], + "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": "P3M" + }, + "markdown": { + "Package": "markdown", + "Version": "2.0", + "Source": "Repository", + "Type": "Package", + "Title": "Render Markdown with 'commonmark'", + "Authors@R": "c( person(\"Yihui\", \"Xie\", role = c(\"aut\", \"cre\"), email = \"xie@yihui.name\", comment = c(ORCID = \"0000-0003-0645-5666\")), person(\"JJ\", \"Allaire\", role = \"aut\"), person(\"Jeffrey\", \"Horner\", role = \"aut\"), person(\"Henrik\", \"Bengtsson\", role = \"ctb\"), person(\"Jim\", \"Hester\", role = \"ctb\"), person(\"Yixuan\", \"Qiu\", role = \"ctb\"), person(\"Kohske\", \"Takahashi\", role = \"ctb\"), person(\"Adam\", \"November\", role = \"ctb\"), person(\"Nacho\", \"Caballero\", role = \"ctb\"), person(\"Jeroen\", \"Ooms\", role = \"ctb\"), person(\"Thomas\", \"Leeper\", role = \"ctb\"), person(\"Joe\", \"Cheng\", role = \"ctb\"), person(\"Andrzej\", \"Oles\", role = \"ctb\"), person(given = \"Posit Software, PBC\", role = c(\"cph\", \"fnd\")) )", + "Description": "Render Markdown to full and lightweight HTML/LaTeX documents with the 'commonmark' package. This package has been superseded by 'litedown'.", + "Depends": [ + "R (>= 2.11.1)" + ], + "Imports": [ + "utils", + "xfun", + "litedown (>= 0.6)" + ], + "Suggests": [ + "knitr", + "rmarkdown (>= 2.18)", + "yaml", + "RCurl" + ], + "License": "MIT + file LICENSE", + "URL": "https://github.com/rstudio/markdown", + "BugReports": "https://github.com/rstudio/markdown/issues", + "RoxygenNote": "7.3.2", + "Encoding": "UTF-8", + "NeedsCompilation": "no", + "Author": "Yihui Xie [aut, cre] (), JJ Allaire [aut], Jeffrey Horner [aut], Henrik Bengtsson [ctb], Jim Hester [ctb], Yixuan Qiu [ctb], Kohske Takahashi [ctb], Adam November [ctb], Nacho Caballero [ctb], Jeroen Ooms [ctb], Thomas Leeper [ctb], Joe Cheng [ctb], Andrzej Oles [ctb], Posit Software, PBC [cph, fnd]", + "Maintainer": "Yihui Xie ", + "Repository": "CRAN" + }, + "memoise": { + "Package": "memoise", + "Version": "2.0.1", + "Source": "Repository", + "Title": "'Memoisation' of Functions", + "Authors@R": "c(person(given = \"Hadley\", family = \"Wickham\", role = \"aut\", email = \"hadley@rstudio.com\"), person(given = \"Jim\", family = \"Hester\", role = \"aut\"), person(given = \"Winston\", family = \"Chang\", role = c(\"aut\", \"cre\"), email = \"winston@rstudio.com\"), person(given = \"Kirill\", family = \"Müller\", role = \"aut\", email = \"krlmlr+r@mailbox.org\"), person(given = \"Daniel\", family = \"Cook\", role = \"aut\", email = \"danielecook@gmail.com\"), person(given = \"Mark\", family = \"Edmondson\", role = \"ctb\", email = \"r@sunholo.com\"))", + "Description": "Cache the results of a function so that when you call it again with the same arguments it returns the previously computed value.", + "License": "MIT + file LICENSE", + "URL": "https://memoise.r-lib.org, https://github.com/r-lib/memoise", + "BugReports": "https://github.com/r-lib/memoise/issues", + "Imports": [ + "rlang (>= 0.4.10)", + "cachem" + ], + "Suggests": [ + "digest", + "aws.s3", + "covr", + "googleAuthR", + "googleCloudStorageR", + "httr", + "testthat" + ], + "Encoding": "UTF-8", + "RoxygenNote": "7.1.2", + "NeedsCompilation": "no", + "Author": "Hadley Wickham [aut], Jim Hester [aut], Winston Chang [aut, cre], Kirill Müller [aut], Daniel Cook [aut], Mark Edmondson [ctb]", + "Maintainer": "Winston Chang ", + "Repository": "P3M" + }, + "mime": { + "Package": "mime", + "Version": "0.13", + "Source": "Repository", + "Type": "Package", + "Title": "Map Filenames to MIME Types", + "Authors@R": "c( person(\"Yihui\", \"Xie\", role = c(\"aut\", \"cre\"), email = \"xie@yihui.name\", comment = c(ORCID = \"0000-0003-0645-5666\", URL = \"https://yihui.org\")), person(\"Jeffrey\", \"Horner\", role = \"ctb\"), person(\"Beilei\", \"Bian\", role = \"ctb\") )", + "Description": "Guesses the MIME type from a filename extension using the data derived from /etc/mime.types in UNIX-type systems.", + "Imports": [ + "tools" + ], + "License": "GPL", + "URL": "https://github.com/yihui/mime", + "BugReports": "https://github.com/yihui/mime/issues", + "RoxygenNote": "7.3.2", + "Encoding": "UTF-8", + "NeedsCompilation": "yes", + "Author": "Yihui Xie [aut, cre] (, https://yihui.org), Jeffrey Horner [ctb], Beilei Bian [ctb]", + "Maintainer": "Yihui Xie ", + "Repository": "P3M" + }, + "modelr": { + "Package": "modelr", + "Version": "0.1.11", + "Source": "Repository", + "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 (>= 0.2.2)", + "rlang (>= 1.0.6)", + "tibble", + "tidyr (>= 0.8.0)", + "tidyselect", + "vctrs" + ], + "Suggests": [ + "compiler", + "covr", + "ggplot2", + "testthat (>= 3.0.0)" + ], + "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": "P3M" + }, + "openssl": { + "Package": "openssl", + "Version": "2.4.0", + "Source": "Repository", + "Type": "Package", + "Title": "Toolkit for Encryption, Signatures and Certificates Based on OpenSSL", + "Authors@R": "c(person(\"Jeroen\", \"Ooms\", role = c(\"aut\", \"cre\"), email = \"jeroenooms@gmail.com\", comment = c(ORCID = \"0000-0002-4035-0289\")), person(\"Oliver\", \"Keyes\", role = \"ctb\"))", + "Description": "Bindings to OpenSSL libssl and libcrypto, plus custom SSH key parsers. Supports RSA, DSA and EC curves P-256, P-384, P-521, and curve25519. Cryptographic signatures can either be created and verified manually or via x509 certificates. AES can be used in cbc, ctr or gcm mode for symmetric encryption; RSA for asymmetric (public key) encryption or EC for Diffie Hellman. High-level envelope functions combine RSA and AES for encrypting arbitrary sized data. Other utilities include key generators, hash functions (md5, sha1, sha256, etc), base64 encoder, a secure random number generator, and 'bignum' math methods for manually performing crypto calculations on large multibyte integers.", + "License": "MIT + file LICENSE", + "URL": "https://jeroen.r-universe.dev/openssl", + "BugReports": "https://github.com/jeroen/openssl/issues", + "SystemRequirements": "OpenSSL >= 1.0.2", + "VignetteBuilder": "knitr", + "Imports": [ + "askpass" + ], + "Suggests": [ + "curl", + "testthat (>= 2.1.0)", + "digest", + "knitr", + "rmarkdown", + "jsonlite", + "jose", + "sodium" + ], + "RoxygenNote": "7.3.2", + "Encoding": "UTF-8", + "NeedsCompilation": "yes", + "Author": "Jeroen Ooms [aut, cre] (ORCID: ), Oliver Keyes [ctb]", + "Maintainer": "Jeroen Ooms ", + "Repository": "P3M" + }, + "pillar": { + "Package": "pillar", + "Version": "1.11.1", + "Source": "Repository", + "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 (>= 1.0.2)", + "utf8 (>= 1.1.0)", + "utils", + "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" + ], + "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": "P3M" + }, + "pkgconfig": { + "Package": "pkgconfig", + "Version": "2.0.3", + "Source": "Repository", + "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" + ], + "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": "P3M" + }, + "prettyunits": { + "Package": "prettyunits", + "Version": "1.2.0", + "Source": "Repository", + "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" + ], + "RoxygenNote": "7.2.3", + "Encoding": "UTF-8", + "NeedsCompilation": "no", + "Author": "Gabor Csardi [aut, cre], Bill Denney [ctb] (), Christophe Regouby [ctb]", + "Maintainer": "Gabor Csardi ", + "Repository": "P3M" + }, + "processx": { + "Package": "processx", + "Version": "3.8.7", + "Source": "Repository", + "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\"), comment = c(ROR = \"03wc8by49\")), 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", + "utils" + ], + "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", + "Config/usethis/last-upkeep": "2025-04-25", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "NeedsCompilation": "yes", + "Author": "Gábor Csárdi [aut, cre, cph] (ORCID: ), Winston Chang [aut], Posit Software, PBC [cph, fnd] (ROR: ), Ascent Digital Services [cph, fnd]", + "Maintainer": "Gábor Csárdi ", + "Repository": "P3M" + }, + "progress": { + "Package": "progress", + "Version": "1.2.3", + "Source": "Repository", + "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", + "R6" + ], + "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": "P3M" + }, + "proxy": { + "Package": "proxy", + "Version": "0.4-29", + "Source": "Repository", + "Type": "Package", + "Title": "Distance and Similarity Measures", + "Authors@R": "c(person(given = \"David\", family = \"Meyer\", role = c(\"aut\", \"cre\"), email = \"David.Meyer@R-project.org\", comment = c(ORCID = \"0000-0002-5196-3048\")),\t person(given = \"Christian\", family = \"Buchta\", role = \"aut\"))", + "Description": "Provides an extensible framework for the efficient calculation of auto- and cross-proximities, along with implementations of the most popular ones.", + "Depends": [ + "R (>= 3.4.0)" + ], + "Imports": [ + "stats", + "utils" + ], + "Suggests": [ + "cba" + ], + "Collate": "registry.R database.R dist.R similarities.R dissimilarities.R util.R seal.R", + "License": "GPL-2 | GPL-3", + "NeedsCompilation": "yes", + "Author": "David Meyer [aut, cre] (ORCID: ), Christian Buchta [aut]", + "Maintainer": "David Meyer ", + "Repository": "P3M", + "Encoding": "UTF-8" + }, + "ps": { + "Package": "ps", + "Version": "1.9.2", + "Source": "Repository", + "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\"), comment = c(ROR = \"03wc8by49\")) )", + "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" + ], + "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", + "Config/usethis/last-upkeep": "2025-04-28", + "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] (ROR: )", + "Maintainer": "Gábor Csárdi ", + "Repository": "P3M" + }, + "purrr": { + "Package": "purrr", + "Version": "1.2.2", + "Source": "Repository", + "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)" + ], + "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": "P3M" + }, + "ragg": { + "Package": "ragg", + "Version": "1.5.2", + "Source": "Repository", + "Type": "Package", + "Title": "Graphic Devices Based on AGG", + "Authors@R": "c( person(\"Thomas Lin\", \"Pedersen\", , \"thomas.pedersen@posit.co\", role = c(\"cre\", \"aut\"), comment = c(ORCID = \"0000-0002-5147-4711\")), person(\"Maxim\", \"Shemanarev\", role = c(\"aut\", \"cph\"), comment = \"Author of AGG\"), person(\"Tony\", \"Juricic\", , \"tonygeek@yahoo.com\", role = c(\"ctb\", \"cph\"), comment = \"Contributor to AGG\"), person(\"Milan\", \"Marusinec\", , \"milan@marusinec.sk\", role = c(\"ctb\", \"cph\"), comment = \"Contributor to AGG\"), person(\"Spencer\", \"Garrett\", role = \"ctb\", comment = \"Contributor to AGG\"), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"), comment = c(ROR = \"03wc8by49\")) )", + "Maintainer": "Thomas Lin Pedersen ", + "Description": "Anti-Grain Geometry (AGG) is a high-quality and high-performance 2D drawing library. The 'ragg' package provides a set of graphic devices based on AGG to use as alternative to the raster devices provided through the 'grDevices' package.", + "License": "MIT + file LICENSE", + "URL": "https://ragg.r-lib.org, https://github.com/r-lib/ragg", + "BugReports": "https://github.com/r-lib/ragg/issues", + "Imports": [ + "systemfonts (>= 1.0.3)", + "textshaping (>= 0.3.0)" + ], + "Suggests": [ + "covr", + "graphics", + "grid", + "testthat (>= 3.0.0)" + ], + "LinkingTo": [ + "systemfonts", + "textshaping" + ], + "Config/build/compilation-database": "true", + "Config/Needs/website": "ggplot2, devoid, magick, bench, tidyr, ggridges, hexbin, sessioninfo, pkgdown, tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Config/usethis/last-upkeep": "2025-04-25", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.3", + "SystemRequirements": "freetype2, libpng, libtiff, libjpeg, libwebp, libwebpmux", + "NeedsCompilation": "yes", + "Author": "Thomas Lin Pedersen [cre, aut] (ORCID: ), Maxim Shemanarev [aut, cph] (Author of AGG), Tony Juricic [ctb, cph] (Contributor to AGG), Milan Marusinec [ctb, cph] (Contributor to AGG), Spencer Garrett [ctb] (Contributor to AGG), Posit Software, PBC [cph, fnd] (ROR: )", + "Repository": "P3M" + }, + "rapidjsonr": { + "Package": "rapidjsonr", + "Version": "1.2.1", + "Source": "Repository", + "Type": "Package", + "Title": "'Rapidjson' C++ Header Files", + "Date": "2025-11-23", + "Authors@R": "c( person(\"David\", \"Cooley\", ,\"dcooley@symbolix.com.au\", role = c(\"aut\", \"cre\")), person(\"Milo\", \"Yip\", , role = \"ctb\", comment = \"Author of c++ rapidjson library, provided through THL A29 Limited, a Tencent company\"), person(\"Alexander\", \"Chemeris\", role = \"ctb\", comment = \"Author of c++ msinttypes library\") )", + "Description": "Provides JSON parsing capability through the 'Rapidjson' 'C++' header-only library.", + "License": "MIT + file LICENSE", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.1", + "SystemRequirements": "GNU make", + "NeedsCompilation": "no", + "Author": "David Cooley [aut, cre], Milo Yip [ctb] (Author of c++ rapidjson library, provided through THL A29 Limited, a Tencent company), Alexander Chemeris [ctb] (Author of c++ msinttypes library)", + "Maintainer": "David Cooley ", + "Repository": "P3M" + }, + "rappdirs": { + "Package": "rappdirs", + "Version": "0.3.4", + "Source": "Repository", + "Type": "Package", + "Title": "Application Directories: Determine Where to Save Data, Caches, and Logs", + "Authors@R": "c( person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = c(\"trl\", \"cre\", \"cph\")), person(\"Sridhar\", \"Ratnakumar\", role = \"aut\"), person(\"Trent\", \"Mick\", role = \"aut\"), person(\"ActiveState\", role = \"cph\", comment = \"R/appdir.r, R/cache.r, R/data.r, R/log.r translated from appdirs\"), person(\"Eddy\", \"Petrisor\", role = \"ctb\"), person(\"Trevor\", \"Davis\", role = c(\"trl\", \"aut\"), comment = c(ORCID = \"0000-0001-6341-4639\")), person(\"Gabor\", \"Csardi\", role = \"ctb\"), person(\"Gregory\", \"Jefferis\", role = \"ctb\"), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"), comment = c(ROR = \"03wc8by49\")) )", + "Description": "An easy way to determine which directories on the users computer you should use to save data, caches and logs. A port of Python's 'Appdirs' () to R.", + "License": "MIT + file LICENSE", + "URL": "https://rappdirs.r-lib.org, https://github.com/r-lib/rappdirs", + "BugReports": "https://github.com/r-lib/rappdirs/issues", + "Depends": [ + "R (>= 4.1)" + ], + "Suggests": [ + "covr", + "roxygen2", + "testthat (>= 3.2.0)", + "withr" + ], + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Config/usethis/last-upkeep": "2025-05-05", + "Copyright": "Original python appdirs module copyright (c) 2010 ActiveState Software Inc. R port copyright Hadley Wickham, Posit, PBC. See file LICENSE for details.", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.3", + "NeedsCompilation": "yes", + "Author": "Hadley Wickham [trl, cre, cph], Sridhar Ratnakumar [aut], Trent Mick [aut], ActiveState [cph] (R/appdir.r, R/cache.r, R/data.r, R/log.r translated from appdirs), Eddy Petrisor [ctb], Trevor Davis [trl, aut] (ORCID: ), Gabor Csardi [ctb], Gregory Jefferis [ctb], Posit Software, PBC [cph, fnd] (ROR: )", + "Maintainer": "Hadley Wickham ", + "Repository": "CRAN" + }, + "reactR": { + "Package": "reactR", + "Version": "0.6.1", + "Source": "Repository", + "Type": "Package", + "Title": "React Helpers", + "Date": "2024-09-14", + "Authors@R": "c( person( \"Facebook\", \"Inc\" , role = c(\"aut\", \"cph\") , comment = \"React library in lib, https://reactjs.org/; see AUTHORS for full list of contributors\" ), person( \"Michel\",\"Weststrate\", , role = c(\"aut\", \"cph\") , comment = \"mobx library in lib, https://github.com/mobxjs\" ), person( \"Kent\", \"Russell\" , role = c(\"aut\", \"cre\") , comment = \"R interface\" , email = \"kent.russell@timelyportfolio.com\" ), person( \"Alan\", \"Dipert\" , role = c(\"aut\") , comment = \"R interface\" , email = \"alan@rstudio.com\" ), person( \"Greg\", \"Lin\" , role = c(\"aut\") , comment = \"R interface\" , email = \"glin@glin.io\" ) )", + "Maintainer": "Kent Russell ", + "Description": "Make it easy to use 'React' in R with 'htmlwidget' scaffolds, helper dependency functions, an embedded 'Babel' 'transpiler', and examples.", + "URL": "https://github.com/react-R/reactR", + "BugReports": "https://github.com/react-R/reactR/issues", + "License": "MIT + file LICENSE", + "Encoding": "UTF-8", + "Imports": [ + "htmltools" + ], + "Suggests": [ + "htmlwidgets (>= 1.5.3)", + "rmarkdown", + "shiny", + "V8", + "knitr", + "usethis", + "jsonlite" + ], + "RoxygenNote": "7.3.2", + "VignetteBuilder": "knitr", + "NeedsCompilation": "no", + "Author": "Facebook Inc [aut, cph] (React library in lib, https://reactjs.org/; see AUTHORS for full list of contributors), Michel Weststrate [aut, cph] (mobx library in lib, https://github.com/mobxjs), Kent Russell [aut, cre] (R interface), Alan Dipert [aut] (R interface), Greg Lin [aut] (R interface)", + "Repository": "CRAN" + }, + "reactable": { + "Package": "reactable", + "Version": "0.4.5", + "Source": "Repository", + "Type": "Package", + "Title": "Interactive Data Tables for R", + "Authors@R": "c( person(\"Greg\", \"Lin\", email = \"glin@glin.io\", role = c(\"aut\", \"cre\")), person(\"Tanner\", \"Linsley\", role = c(\"ctb\", \"cph\"), comment = \"React Table library\"), person(family = \"Emotion team and other contributors\", role = c(\"ctb\", \"cph\"), comment = \"Emotion library\"), person(\"Kent\", \"Russell\", role = c(\"ctb\", \"cph\"), comment = \"reactR package\"), person(\"Ramnath\", \"Vaidyanathan\", role = c(\"ctb\", \"cph\"), comment = \"htmlwidgets package\"), person(\"Joe\", \"Cheng\", role = c(\"ctb\", \"cph\"), comment = \"htmlwidgets package\"), person(\"JJ\", \"Allaire\", role = c(\"ctb\", \"cph\"), comment = \"htmlwidgets package\"), person(\"Yihui\", \"Xie\", role = c(\"ctb\", \"cph\"), comment = \"htmlwidgets package\"), person(\"Kenton\", \"Russell\", role = c(\"ctb\", \"cph\"), comment = \"htmlwidgets package\"), person(family = \"Facebook, Inc. and its affiliates\", role = c(\"ctb\", \"cph\"), comment = \"React library\"), person(family = \"FormatJS\", role = c(\"ctb\", \"cph\"), comment = \"FormatJS libraries\"), person(family = \"Feross Aboukhadijeh, and other contributors\", role = c(\"ctb\", \"cph\"), comment = \"buffer library\"), person(\"Roman\", \"Shtylman\", role = c(\"ctb\", \"cph\"), comment = \"process library\"), person(\"James\", \"Halliday\", role = c(\"ctb\", \"cph\"), comment = \"stream-browserify library\"), person(family = \"Posit Software, PBC\", role = c(\"fnd\", \"cph\")) )", + "Description": "Interactive data tables for R, based on the 'React Table' JavaScript library. Provides an HTML widget that can be used in 'R Markdown' or 'Quarto' documents, 'Shiny' applications, or viewed from an R console.", + "License": "MIT + file LICENSE", + "URL": "https://glin.github.io/reactable/, https://github.com/glin/reactable", + "BugReports": "https://github.com/glin/reactable/issues", + "Depends": [ + "R (>= 3.1)" + ], + "Imports": [ + "digest", + "htmltools (>= 0.5.2)", + "htmlwidgets (>= 1.5.3)", + "jsonlite", + "reactR" + ], + "Suggests": [ + "covr", + "crosstalk", + "dplyr", + "fontawesome", + "knitr", + "leaflet", + "MASS", + "rmarkdown", + "shiny", + "sparkline", + "testthat", + "tippy", + "V8" + ], + "Encoding": "UTF-8", + "RoxygenNote": "7.2.1", + "Config/testthat/edition": "3", + "NeedsCompilation": "no", + "Author": "Greg Lin [aut, cre], Tanner Linsley [ctb, cph] (React Table library), Emotion team and other contributors [ctb, cph] (Emotion library), Kent Russell [ctb, cph] (reactR package), Ramnath Vaidyanathan [ctb, cph] (htmlwidgets package), Joe Cheng [ctb, cph] (htmlwidgets package), JJ Allaire [ctb, cph] (htmlwidgets package), Yihui Xie [ctb, cph] (htmlwidgets package), Kenton Russell [ctb, cph] (htmlwidgets package), Facebook, Inc. and its affiliates [ctb, cph] (React library), FormatJS [ctb, cph] (FormatJS libraries), Feross Aboukhadijeh, and other contributors [ctb, cph] (buffer library), Roman Shtylman [ctb, cph] (process library), James Halliday [ctb, cph] (stream-browserify library), Posit Software, PBC [fnd, cph]", + "Maintainer": "Greg Lin ", + "Repository": "CRAN" + }, + "readr": { + "Package": "readr", + "Version": "2.2.0", + "Source": "Repository", + "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", + "crayon", + "glue", + "hms (>= 0.4.1)", + "lifecycle", + "methods", + "R6", + "rlang", + "tibble", + "utils", + "vroom (>= 1.7.0)", + "withr" + ], + "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": "P3M" + }, + "readxl": { + "Package": "readxl", + "Version": "1.4.5", + "Source": "Repository", + "Title": "Read Excel Files", + "Authors@R": "c( 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(\"Posit, PBC\", role = c(\"cph\", \"fnd\"), comment = \"Copyright holder of all R code and all C/C++ code without explicit copyright attribution\"), person(\"Marcin\", \"Kalicinski\", role = c(\"ctb\", \"cph\"), comment = \"Author of included RapidXML code\"), person(\"Komarov Valery\", role = c(\"ctb\", \"cph\"), comment = \"Author of included libxls code\"), person(\"Christophe Leitienne\", role = c(\"ctb\", \"cph\"), comment = \"Author of included libxls code\"), person(\"Bob Colbert\", role = c(\"ctb\", \"cph\"), comment = \"Author of included libxls code\"), person(\"David Hoerl\", role = c(\"ctb\", \"cph\"), comment = \"Author of included libxls code\"), person(\"Evan Miller\", role = c(\"ctb\", \"cph\"), comment = \"Author of included libxls code\") )", + "Description": "Import excel files into R. Supports '.xls' via the embedded 'libxls' C library and '.xlsx' via the embedded 'RapidXML' C++ library . Works on Windows, Mac and Linux without external dependencies.", + "License": "MIT + file LICENSE", + "URL": "https://readxl.tidyverse.org, https://github.com/tidyverse/readxl", + "BugReports": "https://github.com/tidyverse/readxl/issues", + "Depends": [ + "R (>= 3.6)" + ], + "Imports": [ + "cellranger", + "tibble (>= 2.0.1)", + "utils" + ], + "Suggests": [ + "covr", + "knitr", + "rmarkdown", + "testthat (>= 3.1.6)", + "withr" + ], + "LinkingTo": [ + "cpp11 (>= 0.4.0)", + "progress" + ], + "VignetteBuilder": "knitr", + "Config/Needs/website": "tidyverse/tidytemplate, tidyverse", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "Note": "libxls v1.6.3 c199d13", + "RoxygenNote": "7.3.2", + "NeedsCompilation": "yes", + "Author": "Hadley Wickham [aut] (), Jennifer Bryan [aut, cre] (), Posit, PBC [cph, fnd] (Copyright holder of all R code and all C/C++ code without explicit copyright attribution), Marcin Kalicinski [ctb, cph] (Author of included RapidXML code), Komarov Valery [ctb, cph] (Author of included libxls code), Christophe Leitienne [ctb, cph] (Author of included libxls code), Bob Colbert [ctb, cph] (Author of included libxls code), David Hoerl [ctb, cph] (Author of included libxls code), Evan Miller [ctb, cph] (Author of included libxls code)", + "Maintainer": "Jennifer Bryan ", + "Repository": "P3M" + }, + "rematch": { + "Package": "rematch", + "Version": "2.0.0", + "Source": "Repository", + "Title": "Match Regular Expressions with a Nicer 'API'", + "Author": "Gabor Csardi", + "Maintainer": "Gabor Csardi ", + "Description": "A small wrapper on 'regexpr' to extract the matches and captured groups from the match of a regular expression to a character vector.", + "License": "MIT + file LICENSE", + "URL": "https://github.com/gaborcsardi/rematch", + "BugReports": "https://github.com/gaborcsardi/rematch/issues", + "RoxygenNote": "5.0.1.9000", + "Suggests": [ + "covr", + "testthat" + ], + "Encoding": "UTF-8", + "NeedsCompilation": "no", + "Repository": "P3M" + }, + "rematch2": { + "Package": "rematch2", + "Version": "2.1.2", + "Source": "Repository", + "Title": "Tidy Output from Regular Expression Matching", + "Authors@R": "c( person(\"Gábor\", \"Csárdi\", email = \"csardi.gabor@gmail.com\", role = c(\"aut\", \"cre\")), person(\"Matthew\", \"Lincoln\", email = \"matthew.d.lincoln@gmail.com\", role = c(\"ctb\")))", + "Description": "Wrappers on 'regexpr' and 'gregexpr' to return the match results in tidy data frames.", + "License": "MIT + file LICENSE", + "LazyData": "true", + "URL": "https://github.com/r-lib/rematch2#readme", + "BugReports": "https://github.com/r-lib/rematch2/issues", + "RoxygenNote": "7.1.0", + "Imports": [ + "tibble" + ], + "Suggests": [ + "covr", + "testthat" + ], + "Encoding": "UTF-8", + "NeedsCompilation": "no", + "Author": "Gábor Csárdi [aut, cre], Matthew Lincoln [ctb]", + "Maintainer": "Gábor Csárdi ", + "Repository": "P3M" + }, + "renv": { + "Package": "renv", + "Version": "1.2.2", + "Source": "Repository", + "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" + ], + "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", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Config/testthat/parallel": "true", + "Config/testthat/start-first": "bioconductor,python,install,restore,snapshot,retrieve,remotes", + "NeedsCompilation": "no", + "Author": "Kevin Ushey [aut, cre] (ORCID: ), Hadley Wickham [aut] (ORCID: ), Posit Software, PBC [cph, fnd]", + "Maintainer": "Kevin Ushey ", + "Repository": "RSPM" + }, + "reprex": { + "Package": "reprex", + "Version": "2.1.1", + "Source": "Repository", + "Title": "Prepare Reproducible Example Code via the Clipboard", + "Authors@R": "c( person(\"Jennifer\", \"Bryan\", , \"jenny@posit.co\", role = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0002-6983-2759\")), person(\"Jim\", \"Hester\", role = \"aut\", comment = c(ORCID = \"0000-0002-2739-7082\")), person(\"David\", \"Robinson\", , \"admiral.david@gmail.com\", role = \"aut\"), person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = \"aut\", comment = c(ORCID = \"0000-0003-4757-117X\")), person(\"Christophe\", \"Dervieux\", , \"cderv@posit.co\", role = \"aut\", comment = c(ORCID = \"0000-0003-4474-2498\")), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")) )", + "Description": "Convenience wrapper that uses the 'rmarkdown' package to render small snippets of code to target formats that include both code and output. The goal is to encourage the sharing of small, reproducible, and runnable examples on code-oriented websites, such as and , or in email. The user's clipboard is the default source of input code and the default target for rendered output. 'reprex' also extracts clean, runnable R code from various common formats, such as copy/paste from an R session.", + "License": "MIT + file LICENSE", + "URL": "https://reprex.tidyverse.org, https://github.com/tidyverse/reprex", + "BugReports": "https://github.com/tidyverse/reprex/issues", + "Depends": [ + "R (>= 3.6)" + ], + "Imports": [ + "callr (>= 3.6.0)", + "cli (>= 3.2.0)", + "clipr (>= 0.4.0)", + "fs", + "glue", + "knitr (>= 1.23)", + "lifecycle", + "rlang (>= 1.0.0)", + "rmarkdown", + "rstudioapi", + "utils", + "withr (>= 2.3.0)" + ], + "Suggests": [ + "covr", + "fortunes", + "miniUI", + "rprojroot", + "sessioninfo", + "shiny", + "spelling", + "styler (>= 1.2.0)", + "testthat (>= 3.2.1)" + ], + "VignetteBuilder": "knitr", + "Config/Needs/website": "dplyr, tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Config/testthat/parallel": "TRUE", + "Config/testthat/start-first": "knitr-options, venues, reprex", + "Encoding": "UTF-8", + "Language": "en-US", + "RoxygenNote": "7.3.2", + "SystemRequirements": "pandoc (>= 2.0) - https://pandoc.org/", + "NeedsCompilation": "no", + "Author": "Jennifer Bryan [aut, cre] (), Jim Hester [aut] (), David Robinson [aut], Hadley Wickham [aut] (), Christophe Dervieux [aut] (), Posit Software, PBC [cph, fnd]", + "Maintainer": "Jennifer Bryan ", + "Repository": "P3M" + }, + "rlang": { + "Package": "rlang", + "Version": "1.2.0", + "Source": "Repository", + "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" + ], + "Suggests": [ + "cli (>= 3.1.0)", + "covr", + "crayon", + "desc", + "fs", + "glue", + "knitr", + "magrittr", + "methods", + "pillar", + "pkgload", + "rmarkdown", + "stats", + "testthat (>= 3.3.2)", + "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": "P3M" + }, + "rmarkdown": { + "Package": "rmarkdown", + "Version": "2.31", + "Source": "Repository", + "Type": "Package", + "Title": "Dynamic Documents for R", + "Authors@R": "c( person(\"JJ\", \"Allaire\", , \"jj@posit.co\", role = \"aut\"), person(\"Yihui\", \"Xie\", , \"xie@yihui.name\", role = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0003-0645-5666\")), person(\"Christophe\", \"Dervieux\", , \"cderv@posit.co\", role = \"aut\", comment = c(ORCID = \"0000-0003-4474-2498\")), person(\"Jonathan\", \"McPherson\", , \"jonathan@posit.co\", role = \"aut\"), person(\"Javier\", \"Luraschi\", role = \"aut\"), person(\"Kevin\", \"Ushey\", , \"kevin@posit.co\", role = \"aut\"), person(\"Aron\", \"Atkins\", , \"aron@posit.co\", role = \"aut\"), person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = \"aut\"), person(\"Joe\", \"Cheng\", , \"joe@posit.co\", role = \"aut\"), person(\"Winston\", \"Chang\", , \"winston@posit.co\", role = \"aut\"), person(\"Richard\", \"Iannone\", , \"rich@posit.co\", role = \"aut\", comment = c(ORCID = \"0000-0003-3925-190X\")), person(\"Andrew\", \"Dunning\", role = \"ctb\", comment = c(ORCID = \"0000-0003-0464-5036\")), person(\"Atsushi\", \"Yasumoto\", role = c(\"ctb\", \"cph\"), comment = c(ORCID = \"0000-0002-8335-495X\", cph = \"Number sections Lua filter\")), person(\"Barret\", \"Schloerke\", role = \"ctb\"), person(\"Carson\", \"Sievert\", role = \"ctb\", comment = c(ORCID = \"0000-0002-4958-2844\")), person(\"Devon\", \"Ryan\", , \"dpryan79@gmail.com\", role = \"ctb\", comment = c(ORCID = \"0000-0002-8549-0971\")), person(\"Frederik\", \"Aust\", , \"frederik.aust@uni-koeln.de\", role = \"ctb\", comment = c(ORCID = \"0000-0003-4900-788X\")), person(\"Jeff\", \"Allen\", , \"jeff@posit.co\", role = \"ctb\"), person(\"JooYoung\", \"Seo\", role = \"ctb\", comment = c(ORCID = \"0000-0002-4064-6012\")), person(\"Malcolm\", \"Barrett\", role = \"ctb\"), person(\"Rob\", \"Hyndman\", , \"Rob.Hyndman@monash.edu\", role = \"ctb\"), person(\"Romain\", \"Lesur\", role = \"ctb\"), person(\"Roy\", \"Storey\", role = \"ctb\"), person(\"Ruben\", \"Arslan\", , \"ruben.arslan@uni-goettingen.de\", role = \"ctb\"), person(\"Sergio\", \"Oller\", role = \"ctb\"), person(given = \"Posit Software, PBC\", role = c(\"cph\", \"fnd\")), person(, \"jQuery UI contributors\", role = c(\"ctb\", \"cph\"), comment = \"jQuery UI library; authors listed in inst/rmd/h/jqueryui/AUTHORS.txt\"), person(\"Mark\", \"Otto\", role = \"ctb\", comment = \"Bootstrap library\"), person(\"Jacob\", \"Thornton\", role = \"ctb\", comment = \"Bootstrap library\"), person(, \"Bootstrap contributors\", role = \"ctb\", comment = \"Bootstrap library\"), person(, \"Twitter, Inc\", role = \"cph\", comment = \"Bootstrap library\"), person(\"Alexander\", \"Farkas\", role = c(\"ctb\", \"cph\"), comment = \"html5shiv library\"), person(\"Scott\", \"Jehl\", role = c(\"ctb\", \"cph\"), comment = \"Respond.js library\"), person(\"Ivan\", \"Sagalaev\", role = c(\"ctb\", \"cph\"), comment = \"highlight.js library\"), person(\"Greg\", \"Franko\", role = c(\"ctb\", \"cph\"), comment = \"tocify library\"), person(\"John\", \"MacFarlane\", role = c(\"ctb\", \"cph\"), comment = \"Pandoc templates\"), person(, \"Google, Inc.\", role = c(\"ctb\", \"cph\"), comment = \"ioslides library\"), person(\"Dave\", \"Raggett\", role = \"ctb\", comment = \"slidy library\"), person(, \"W3C\", role = \"cph\", comment = \"slidy library\"), person(\"Dave\", \"Gandy\", role = c(\"ctb\", \"cph\"), comment = \"Font-Awesome\"), person(\"Ben\", \"Sperry\", role = \"ctb\", comment = \"Ionicons\"), person(, \"Drifty\", role = \"cph\", comment = \"Ionicons\"), person(\"Aidan\", \"Lister\", role = c(\"ctb\", \"cph\"), comment = \"jQuery StickyTabs\"), person(\"Benct Philip\", \"Jonsson\", role = c(\"ctb\", \"cph\"), comment = \"pagebreak Lua filter\"), person(\"Albert\", \"Krewinkel\", role = c(\"ctb\", \"cph\"), comment = \"pagebreak Lua filter\") )", + "Description": "Convert R Markdown documents into a variety of formats.", + "License": "GPL-3", + "URL": "https://github.com/rstudio/rmarkdown, https://pkgs.rstudio.com/rmarkdown/", + "BugReports": "https://github.com/rstudio/rmarkdown/issues", + "Depends": [ + "R (>= 3.0)" + ], + "Imports": [ + "bslib (>= 0.2.5.1)", + "evaluate (>= 0.13)", + "fontawesome (>= 0.5.0)", + "htmltools (>= 0.5.1)", + "jquerylib", + "jsonlite", + "knitr (>= 1.43)", + "methods", + "tinytex (>= 0.31)", + "tools", + "utils", + "xfun (>= 0.36)", + "yaml (>= 2.1.19)" + ], + "Suggests": [ + "digest", + "dygraphs", + "fs", + "rsconnect", + "downlit (>= 0.4.0)", + "katex (>= 1.4.0)", + "sass (>= 0.4.0)", + "shiny (>= 1.6.0)", + "testthat (>= 3.0.3)", + "tibble", + "vctrs", + "cleanrmd", + "withr (>= 2.4.2)", + "xml2" + ], + "VignetteBuilder": "knitr", + "Config/Needs/website": "rstudio/quillt, pkgdown", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.3", + "SystemRequirements": "pandoc (>= 1.14) - http://pandoc.org", + "NeedsCompilation": "no", + "Author": "JJ Allaire [aut], Yihui Xie [aut, cre] (ORCID: ), Christophe Dervieux [aut] (ORCID: ), Jonathan McPherson [aut], Javier Luraschi [aut], Kevin Ushey [aut], Aron Atkins [aut], Hadley Wickham [aut], Joe Cheng [aut], Winston Chang [aut], Richard Iannone [aut] (ORCID: ), Andrew Dunning [ctb] (ORCID: ), Atsushi Yasumoto [ctb, cph] (ORCID: , cph: Number sections Lua filter), Barret Schloerke [ctb], Carson Sievert [ctb] (ORCID: ), Devon Ryan [ctb] (ORCID: ), Frederik Aust [ctb] (ORCID: ), Jeff Allen [ctb], JooYoung Seo [ctb] (ORCID: ), Malcolm Barrett [ctb], Rob Hyndman [ctb], Romain Lesur [ctb], Roy Storey [ctb], Ruben Arslan [ctb], Sergio Oller [ctb], Posit Software, PBC [cph, fnd], jQuery UI contributors [ctb, cph] (jQuery UI library; authors listed in inst/rmd/h/jqueryui/AUTHORS.txt), Mark Otto [ctb] (Bootstrap library), Jacob Thornton [ctb] (Bootstrap library), Bootstrap contributors [ctb] (Bootstrap library), Twitter, Inc [cph] (Bootstrap library), Alexander Farkas [ctb, cph] (html5shiv library), Scott Jehl [ctb, cph] (Respond.js library), Ivan Sagalaev [ctb, cph] (highlight.js library), Greg Franko [ctb, cph] (tocify library), John MacFarlane [ctb, cph] (Pandoc templates), Google, Inc. [ctb, cph] (ioslides library), Dave Raggett [ctb] (slidy library), W3C [cph] (slidy library), Dave Gandy [ctb, cph] (Font-Awesome), Ben Sperry [ctb] (Ionicons), Drifty [cph] (Ionicons), Aidan Lister [ctb, cph] (jQuery StickyTabs), Benct Philip Jonsson [ctb, cph] (pagebreak Lua filter), Albert Krewinkel [ctb, cph] (pagebreak Lua filter)", + "Maintainer": "Yihui Xie ", + "Repository": "P3M" + }, + "rstudioapi": { + "Package": "rstudioapi", + "Version": "0.18.0", + "Source": "Repository", + "Title": "Safely Access the RStudio API", + "Description": "Access the RStudio API (if available) and provide informative error messages when it's not.", + "Authors@R": "c( person(\"Kevin\", \"Ushey\", role = c(\"aut\", \"cre\"), email = \"kevin@rstudio.com\"), person(\"JJ\", \"Allaire\", role = c(\"aut\"), email = \"jj@posit.co\"), person(\"Hadley\", \"Wickham\", role = c(\"aut\"), email = \"hadley@posit.co\"), person(\"Gary\", \"Ritchie\", role = c(\"aut\"), email = \"gary@posit.co\"), person(family = \"RStudio\", role = \"cph\") )", + "Maintainer": "Kevin Ushey ", + "License": "MIT + file LICENSE", + "URL": "https://rstudio.github.io/rstudioapi/, https://github.com/rstudio/rstudioapi", + "BugReports": "https://github.com/rstudio/rstudioapi/issues", + "RoxygenNote": "7.3.3", + "Suggests": [ + "testthat", + "knitr", + "rmarkdown", + "clipr", + "covr", + "curl", + "jsonlite", + "withr" + ], + "VignetteBuilder": "knitr", + "Encoding": "UTF-8", + "NeedsCompilation": "no", + "Author": "Kevin Ushey [aut, cre], JJ Allaire [aut], Hadley Wickham [aut], Gary Ritchie [aut], RStudio [cph]", + "Repository": "CRAN" + }, + "rvest": { + "Package": "rvest", + "Version": "1.0.5", + "Source": "Repository", + "Title": "Easily Harvest (Scrape) Web Pages", + "Authors@R": "c( person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = c(\"aut\", \"cre\")), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"), comment = c(ROR = \"03wc8by49\")) )", + "Description": "Wrappers around the 'xml2' and 'httr' packages to make it easy to download, then manipulate, HTML and XML.", + "License": "MIT + file LICENSE", + "URL": "https://rvest.tidyverse.org/, https://github.com/tidyverse/rvest", + "BugReports": "https://github.com/tidyverse/rvest/issues", + "Depends": [ + "R (>= 4.1)" + ], + "Imports": [ + "cli", + "glue", + "httr (>= 0.5)", + "lifecycle (>= 1.0.3)", + "magrittr", + "rlang (>= 1.1.0)", + "selectr", + "tibble", + "xml2 (>= 1.4.0)" + ], + "Suggests": [ + "chromote", + "covr", + "knitr", + "purrr", + "R6", + "readr", + "repurrrsive", + "rmarkdown", + "spelling", + "stringi (>= 0.3.1)", + "testthat (>= 3.0.2)", + "tidyr", + "webfakes" + ], + "VignetteBuilder": "knitr", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Config/testthat/parallel": "true", + "Encoding": "UTF-8", + "Language": "en-US", + "RoxygenNote": "7.3.2", + "NeedsCompilation": "no", + "Author": "Hadley Wickham [aut, cre], Posit Software, PBC [cph, fnd] (ROR: )", + "Maintainer": "Hadley Wickham ", + "Repository": "P3M" + }, + "s2": { + "Package": "s2", + "Version": "1.1.9", + "Source": "Repository", + "Title": "Spherical Geometry Operators Using the S2 Geometry Library", + "Authors@R": "c( person(given = \"Dewey\", family = \"Dunnington\", role = c(\"aut\"), email = \"dewey@fishandwhistle.net\", comment = c(ORCID = \"0000-0002-9415-4582\")), person(given = \"Edzer\", family = \"Pebesma\", role = c(\"aut\", \"cre\"), email = \"edzer.pebesma@uni-muenster.de\", comment = c(ORCID = \"0000-0001-8049-7069\")), person(\"Ege\", \"Rubak\", email=\"rubak@math.aau.dk\", role = c(\"aut\")), person(\"Jeroen\", \"Ooms\", , \"jeroen.ooms@stat.ucla.edu\", role = \"ctb\", comment = \"configure script\"), person(family = \"Google, Inc.\", role = \"cph\", comment = \"Original s2geometry.io source code\") )", + "Description": "Provides R bindings for Google's s2 library for geometric calculations on the sphere. High-performance constructors and exporters provide high compatibility with existing spatial packages, transformers construct new geometries from existing geometries, predicates provide a means to select geometries based on spatial relationships, and accessors extract information about geometries.", + "License": "Apache License (== 2.0)", + "Encoding": "UTF-8", + "LazyData": "true", + "RoxygenNote": "7.3.2", + "SystemRequirements": "cmake, OpenSSL >= 1.0.1, Abseil >= 20230802.0", + "LinkingTo": [ + "Rcpp", + "wk" + ], + "Imports": [ + "Rcpp", + "wk (>= 0.6.0)" + ], + "Suggests": [ + "bit64", + "testthat (>= 3.0.0)", + "vctrs" + ], + "URL": "https://r-spatial.github.io/s2/, https://github.com/r-spatial/s2, http://s2geometry.io/", + "BugReports": "https://github.com/r-spatial/s2/issues", + "Depends": [ + "R (>= 3.0.0)" + ], + "Config/testthat/edition": "3", + "NeedsCompilation": "yes", + "Author": "Dewey Dunnington [aut] (ORCID: ), Edzer Pebesma [aut, cre] (ORCID: ), Ege Rubak [aut], Jeroen Ooms [ctb] (configure script), Google, Inc. [cph] (Original s2geometry.io source code)", + "Maintainer": "Edzer Pebesma ", + "Repository": "P3M" + }, + "sass": { + "Package": "sass", + "Version": "0.4.10", + "Source": "Repository", + "Type": "Package", + "Title": "Syntactically Awesome Style Sheets ('Sass')", + "Description": "An 'SCSS' compiler, powered by the 'LibSass' library. With this, R developers can use variables, inheritance, and functions to generate dynamic style sheets. The package uses the 'Sass CSS' extension language, which is stable, powerful, and CSS compatible.", + "Authors@R": "c( person(\"Joe\", \"Cheng\", , \"joe@rstudio.com\", \"aut\"), person(\"Timothy\", \"Mastny\", , \"tim.mastny@gmail.com\", \"aut\"), person(\"Richard\", \"Iannone\", , \"rich@rstudio.com\", \"aut\", comment = c(ORCID = \"0000-0003-3925-190X\")), person(\"Barret\", \"Schloerke\", , \"barret@rstudio.com\", \"aut\", comment = c(ORCID = \"0000-0001-9986-114X\")), person(\"Carson\", \"Sievert\", , \"carson@rstudio.com\", c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0002-4958-2844\")), person(\"Christophe\", \"Dervieux\", , \"cderv@rstudio.com\", c(\"ctb\"), comment = c(ORCID = \"0000-0003-4474-2498\")), person(family = \"RStudio\", role = c(\"cph\", \"fnd\")), person(family = \"Sass Open Source Foundation\", role = c(\"ctb\", \"cph\"), comment = \"LibSass library\"), person(\"Greter\", \"Marcel\", role = c(\"ctb\", \"cph\"), comment = \"LibSass library\"), person(\"Mifsud\", \"Michael\", role = c(\"ctb\", \"cph\"), comment = \"LibSass library\"), person(\"Hampton\", \"Catlin\", role = c(\"ctb\", \"cph\"), comment = \"LibSass library\"), person(\"Natalie\", \"Weizenbaum\", role = c(\"ctb\", \"cph\"), comment = \"LibSass library\"), person(\"Chris\", \"Eppstein\", role = c(\"ctb\", \"cph\"), comment = \"LibSass library\"), person(\"Adams\", \"Joseph\", role = c(\"ctb\", \"cph\"), comment = \"json.cpp\"), person(\"Trifunovic\", \"Nemanja\", role = c(\"ctb\", \"cph\"), comment = \"utf8.h\") )", + "License": "MIT + file LICENSE", + "URL": "https://rstudio.github.io/sass/, https://github.com/rstudio/sass", + "BugReports": "https://github.com/rstudio/sass/issues", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "SystemRequirements": "GNU make", + "Imports": [ + "fs (>= 1.2.4)", + "rlang (>= 0.4.10)", + "htmltools (>= 0.5.1)", + "R6", + "rappdirs" + ], + "Suggests": [ + "testthat", + "knitr", + "rmarkdown", + "withr", + "shiny", + "curl" + ], + "VignetteBuilder": "knitr", + "Config/testthat/edition": "3", + "NeedsCompilation": "yes", + "Author": "Joe Cheng [aut], Timothy Mastny [aut], Richard Iannone [aut] (), Barret Schloerke [aut] (), Carson Sievert [aut, cre] (), Christophe Dervieux [ctb] (), RStudio [cph, fnd], Sass Open Source Foundation [ctb, cph] (LibSass library), Greter Marcel [ctb, cph] (LibSass library), Mifsud Michael [ctb, cph] (LibSass library), Hampton Catlin [ctb, cph] (LibSass library), Natalie Weizenbaum [ctb, cph] (LibSass library), Chris Eppstein [ctb, cph] (LibSass library), Adams Joseph [ctb, cph] (json.cpp), Trifunovic Nemanja [ctb, cph] (utf8.h)", + "Maintainer": "Carson Sievert ", + "Repository": "P3M" + }, + "scales": { + "Package": "scales", + "Version": "1.4.0", + "Source": "Repository", + "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 (>= 2.0.3)", + "glue", + "labeling", + "lifecycle", + "R6", + "RColorBrewer", + "rlang (>= 1.1.0)", + "viridisLite" + ], + "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": "P3M" + }, + "selectr": { + "Package": "selectr", + "Version": "0.5-1", + "Source": "Repository", + "Type": "Package", + "Title": "Translate CSS Selectors to XPath Expressions", + "Authors@R": "c(person(\"Simon\", \"Potter\", role = c(\"aut\", \"trl\", \"cre\"), email = \"simon@sjp.co.nz\"), person(\"Simon\", \"Sapin\", role = \"aut\"), person(\"Ian\", \"Bicking\", role = \"aut\"))", + "License": "BSD_3_clause + file LICENCE", + "Depends": [ + "R (>= 3.0)" + ], + "Imports": [ + "methods", + "stringr", + "R6" + ], + "Suggests": [ + "testthat", + "XML", + "xml2" + ], + "URL": "https://sjp.co.nz/projects/selectr/", + "BugReports": "https://github.com/sjp/selectr/issues", + "Description": "Translates a CSS selector into an equivalent XPath expression. This allows us to use CSS selectors when working with the XML package as it can only evaluate XPath expressions. Also provided are convenience functions useful for using CSS selectors on XML nodes. This package is a port of the Python package 'cssselect' ().", + "NeedsCompilation": "no", + "Author": "Simon Potter [aut, trl, cre], Simon Sapin [aut], Ian Bicking [aut]", + "Maintainer": "Simon Potter ", + "Repository": "P3M", + "Encoding": "UTF-8" + }, + "sf": { + "Package": "sf", + "Version": "1.1-0", + "Source": "Repository", + "Title": "Simple Features for R", + "Authors@R": "c(person(given = \"Edzer\", family = \"Pebesma\", role = c(\"aut\", \"cre\"), email = \"edzer.pebesma@uni-muenster.de\", comment = c(ORCID = \"0000-0001-8049-7069\")), person(given = \"Roger\", family = \"Bivand\", role = \"ctb\", comment = c(ORCID = \"0000-0003-2392-6140\")), person(given = \"Etienne\", family = \"Racine\", role = \"ctb\"), person(given = \"Michael\", family = \"Sumner\", role = \"ctb\"), person(given = \"Ian\", family = \"Cook\", role = \"ctb\"), person(given = \"Tim\", family = \"Keitt\", role = \"ctb\"), person(given = \"Robin\", family = \"Lovelace\", role = \"ctb\"), person(given = \"Hadley\", family = \"Wickham\", role = \"ctb\"), person(given = \"Jeroen\", family = \"Ooms\", role = \"ctb\", comment = c(ORCID = \"0000-0002-4035-0289\")), person(given = \"Kirill\", family = \"M\\u00fcller\", role = \"ctb\"), person(given = \"Thomas Lin\", family = \"Pedersen\", role = \"ctb\"), person(given = \"Dan\", family = \"Baston\", role = \"ctb\"), person(given = \"Dewey\", family = \"Dunnington\", role = \"ctb\", comment = c(ORCID = \"0000-0002-9415-4582\")) )", + "Description": "Support for simple feature access, a standardized way to encode and analyze spatial vector data. Binds to 'GDAL' for reading and writing data, to 'GEOS' for geometrical operations, and to 'PROJ' for projection conversions and datum transformations. Uses by default the 's2' package for geometry operations on geodetic (long/lat degree) coordinates.", + "License": "GPL-2 | MIT + file LICENSE", + "URL": "https://r-spatial.github.io/sf/, https://github.com/r-spatial/sf", + "BugReports": "https://github.com/r-spatial/sf/issues", + "Depends": [ + "methods", + "R (>= 3.3.0)" + ], + "Imports": [ + "classInt (>= 0.4-1)", + "DBI (>= 0.8)", + "graphics", + "grDevices", + "grid", + "magrittr", + "s2 (>= 1.1.0)", + "stats", + "tools", + "units (>= 0.7-0)", + "utils" + ], + "Suggests": [ + "blob", + "nanoarrow", + "covr", + "dplyr (>= 1.0.0)", + "ggplot2", + "knitr", + "lwgeom (>= 0.2-14)", + "maps", + "mapview", + "Matrix", + "microbenchmark", + "odbc", + "pbapply", + "pillar", + "pool", + "raster", + "rlang", + "rmarkdown", + "RPostgres (>= 1.1.0)", + "RPostgreSQL", + "RSQLite", + "sp (>= 1.2-4)", + "spatstat (>= 2.0-1)", + "spatstat.geom", + "spatstat.random", + "spatstat.linnet", + "spatstat.utils", + "stars (>= 0.6-0)", + "terra", + "testthat (>= 3.0.0)", + "tibble (>= 1.4.1)", + "tidyr (>= 1.2.0)", + "tidyselect (>= 1.0.0)", + "tmap (>= 2.0)", + "vctrs", + "wk (>= 0.9.0)" + ], + "LinkingTo": [ + "Rcpp" + ], + "VignetteBuilder": "knitr", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.3", + "Config/testthat/edition": "2", + "Config/needs/coverage": "XML", + "SystemRequirements": "GDAL (>= 2.0.1), GEOS (>= 3.4.0), PROJ (>= 4.8.0), sqlite3", + "Collate": "'RcppExports.R' 'init.R' 'import-standalone-s3-register.R' 'crs.R' 'bbox.R' 'read.R' 'db.R' 'sfc.R' 'sfg.R' 'sf.R' 'bind.R' 'wkb.R' 'wkt.R' 'plot.R' 'geom-measures.R' 'geom-predicates.R' 'geom-transformers.R' 'transform.R' 'proj.R' 'sp.R' 'grid.R' 'arith.R' 'tidyverse.R' 'tidyverse-vctrs.R' 'cast_sfg.R' 'cast_sfc.R' 'graticule.R' 'datasets.R' 'aggregate.R' 'agr.R' 'maps.R' 'join.R' 'sample.R' 'valid.R' 'collection_extract.R' 'jitter.R' 'sgbp.R' 'spatstat.R' 'stars.R' 'crop.R' 'gdal_utils.R' 'nearest.R' 'normalize.R' 'sf-package.R' 'defunct.R' 'z_range.R' 'm_range.R' 'shift_longitude.R' 'make_grid.R' 's2.R' 'terra.R' 'geos-overlayng.R' 'break_antimeridian.R'", + "NeedsCompilation": "yes", + "Author": "Edzer Pebesma [aut, cre] (ORCID: ), Roger Bivand [ctb] (ORCID: ), Etienne Racine [ctb], Michael Sumner [ctb], Ian Cook [ctb], Tim Keitt [ctb], Robin Lovelace [ctb], Hadley Wickham [ctb], Jeroen Ooms [ctb] (ORCID: ), Kirill Müller [ctb], Thomas Lin Pedersen [ctb], Dan Baston [ctb], Dewey Dunnington [ctb] (ORCID: )", + "Maintainer": "Edzer Pebesma ", + "Repository": "P3M" + }, + "sfheaders": { + "Package": "sfheaders", + "Version": "0.4.5", + "Source": "Repository", + "Type": "Package", + "Title": "Converts Between R Objects and Simple Feature Objects", + "Date": "2025-11-24", + "Authors@R": "c( person(\"David\", \"Cooley\", ,\"david.cooley.au@gmail.com\", role = c(\"aut\", \"cre\")), person(given = \"Michael\", family = \"Sumner\", role = \"ctb\") )", + "Description": "Converts between R and Simple Feature 'sf' objects, without depending on the Simple Feature library. Conversion functions are available at both the R level, and through 'Rcpp'.", + "License": "MIT + file LICENSE", + "URL": "https://dcooley.github.io/sfheaders/", + "BugReports": "https://github.com/dcooley/sfheaders/issues", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "Depends": [ + "R (>= 3.0.2)" + ], + "LinkingTo": [ + "geometries (>= 0.2.5)", + "Rcpp" + ], + "Imports": [ + "Rcpp (>= 1.1.0)" + ], + "Suggests": [ + "covr", + "knitr", + "testthat" + ], + "NeedsCompilation": "yes", + "Author": "David Cooley [aut, cre], Michael Sumner [ctb]", + "Maintainer": "David Cooley ", + "Repository": "P3M" + }, + "stringi": { + "Package": "stringi", + "Version": "1.8.7", + "Source": "Repository", + "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", + "stats" + ], + "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": "P3M" + }, + "stringr": { + "Package": "stringr", + "Version": "1.6.0", + "Source": "Repository", + "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 (>= 1.6.1)", + "lifecycle (>= 1.0.3)", + "magrittr", + "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" + ], + "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": "P3M" + }, + "sys": { + "Package": "sys", + "Version": "3.4.3", + "Source": "Repository", + "Type": "Package", + "Title": "Powerful and Reliable Tools for Running System Commands in R", + "Authors@R": "c(person(\"Jeroen\", \"Ooms\", role = c(\"aut\", \"cre\"), email = \"jeroenooms@gmail.com\", comment = c(ORCID = \"0000-0002-4035-0289\")), person(\"Gábor\", \"Csárdi\", , \"csardi.gabor@gmail.com\", role = \"ctb\"))", + "Description": "Drop-in replacements for the base system2() function with fine control and consistent behavior across platforms. Supports clean interruption, timeout, background tasks, and streaming STDIN / STDOUT / STDERR over binary or text connections. Arguments on Windows automatically get encoded and quoted to work on different locales.", + "License": "MIT + file LICENSE", + "URL": "https://jeroen.r-universe.dev/sys", + "BugReports": "https://github.com/jeroen/sys/issues", + "Encoding": "UTF-8", + "RoxygenNote": "7.1.1", + "Suggests": [ + "unix (>= 1.4)", + "spelling", + "testthat" + ], + "Language": "en-US", + "NeedsCompilation": "yes", + "Author": "Jeroen Ooms [aut, cre] (), Gábor Csárdi [ctb]", + "Maintainer": "Jeroen Ooms ", + "Repository": "P3M" + }, + "systemfonts": { + "Package": "systemfonts", + "Version": "1.3.2", + "Source": "Repository", + "Type": "Package", + "Title": "System Native Font Finding", + "Authors@R": "c( person(\"Thomas Lin\", \"Pedersen\", , \"thomas.pedersen@posit.co\", role = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0002-5147-4711\")), person(\"Jeroen\", \"Ooms\", , \"jeroen@berkeley.edu\", role = \"aut\", comment = c(ORCID = \"0000-0002-4035-0289\")), person(\"Devon\", \"Govett\", role = \"aut\", comment = \"Author of font-manager\"), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"), comment = c(ROR = \"03wc8by49\")) )", + "Description": "Provides system native access to the font catalogue. As font handling varies between systems it is difficult to correctly locate installed fonts across different operating systems. The 'systemfonts' package provides bindings to the native libraries on Windows, macOS and Linux for finding font files that can then be used further by e.g. graphic devices. The main use is intended to be from compiled code but 'systemfonts' also provides access from R.", + "License": "MIT + file LICENSE", + "URL": "https://github.com/r-lib/systemfonts, https://systemfonts.r-lib.org", + "BugReports": "https://github.com/r-lib/systemfonts/issues", + "Depends": [ + "R (>= 3.2.0)" + ], + "Imports": [ + "base64enc", + "grid", + "jsonlite", + "lifecycle", + "tools", + "utils" + ], + "Suggests": [ + "covr", + "farver", + "ggplot2", + "graphics", + "knitr", + "ragg", + "rmarkdown", + "svglite", + "testthat (>= 2.1.0)" + ], + "LinkingTo": [ + "cpp11 (>= 0.2.1)" + ], + "VignetteBuilder": "knitr", + "Config/build/compilation-database": "true", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/usethis/last-upkeep": "2025-04-23", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "SystemRequirements": "fontconfig, freetype2", + "NeedsCompilation": "yes", + "Author": "Thomas Lin Pedersen [aut, cre] (ORCID: ), Jeroen Ooms [aut] (ORCID: ), Devon Govett [aut] (Author of font-manager), Posit Software, PBC [cph, fnd] (ROR: )", + "Maintainer": "Thomas Lin Pedersen ", + "Repository": "P3M" + }, + "textshaping": { + "Package": "textshaping", + "Version": "1.0.5", + "Source": "Repository", + "Title": "Bindings to the 'HarfBuzz' and 'Fribidi' Libraries for Text Shaping", + "Authors@R": "c( person(\"Thomas Lin\", \"Pedersen\", , \"thomas.pedersen@posit.co\", role = c(\"cre\", \"aut\"), comment = c(ORCID = \"0000-0002-5147-4711\")), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"), comment = c(ROR = \"03wc8by49\")) )", + "Description": "Provides access to the text shaping functionality in the 'HarfBuzz' library and the bidirectional algorithm in the 'Fribidi' library. 'textshaping' is a low-level utility package mainly for graphic devices that expands upon the font tool-set provided by the 'systemfonts' package.", + "License": "MIT + file LICENSE", + "URL": "https://github.com/r-lib/textshaping", + "BugReports": "https://github.com/r-lib/textshaping/issues", + "Depends": [ + "R (>= 3.2.0)" + ], + "Imports": [ + "lifecycle", + "stats", + "stringi", + "systemfonts (>= 1.3.0)", + "utils" + ], + "Suggests": [ + "covr", + "grDevices", + "grid", + "knitr", + "rmarkdown", + "testthat (>= 3.0.0)" + ], + "LinkingTo": [ + "cpp11 (>= 0.2.1)", + "systemfonts (>= 1.0.0)" + ], + "VignetteBuilder": "knitr", + "Config/build/compilation-database": "true", + "Config/testthat/edition": "3", + "Config/usethis/last-upkeep": "2025-04-23", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "SystemRequirements": "freetype2, harfbuzz, fribidi", + "NeedsCompilation": "yes", + "Author": "Thomas Lin Pedersen [cre, aut] (ORCID: ), Posit Software, PBC [cph, fnd] (ROR: )", + "Maintainer": "Thomas Lin Pedersen ", + "Repository": "P3M" + }, + "tibble": { + "Package": "tibble", + "Version": "3.3.1", + "Source": "Repository", + "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 (>= 1.8.1)", + "pkgconfig", + "rlang (>= 1.0.2)", + "utils", + "vctrs (>= 0.5.0)" + ], + "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": "P3M" + }, + "tidyr": { + "Package": "tidyr", + "Version": "1.3.2", + "Source": "Repository", + "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 (>= 1.0.3)", + "magrittr", + "purrr (>= 1.0.1)", + "rlang (>= 1.1.1)", + "stringr (>= 1.5.0)", + "tibble (>= 2.1.1)", + "tidyselect (>= 1.2.1)", + "utils", + "vctrs (>= 0.5.2)" + ], + "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": "P3M" + }, + "tidyselect": { + "Package": "tidyselect", + "Version": "1.2.1", + "Source": "Repository", + "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" + ], + "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": "P3M" + }, + "tidytransit": { + "Package": "tidytransit", + "Version": "1.8.0", + "Source": "Repository", + "Type": "Package", + "Title": "Read, Validate, Analyze, and Map GTFS Feeds", + "Authors@R": "c( person(\"Flavio\", \"Poletti\", role = c(\"aut\", \"cre\"), email = \"flavio.poletti@hotmail.ch\"), person(given = \"Daniel\",family = \"Herszenhut\",role = c(\"aut\"),email = \"dhersz@gmail.com\",comment = c(ORCID = \"0000-0001-8066-1105\")), person(\"Mark\", \"Padgham\", role = c(\"aut\"), email = \"mark.padgham@email.com\"), person(\"Tom\", \"Buckley\", role = c(\"aut\"), email = \"tom@tbuckl.com\"), person(\"Danton\", \"Noriega-Goodwin\", role = c(\"aut\"), email = \"danton.noriega@gmail.com\"), person(\"Angela\", \"Li\", role = c(\"ctb\"), email = \"angela@rladies.org\"), person(\"Elaine\", \"McVey\", role = c(\"ctb\"), email = \"elaine.mcvey@transloc.com\"), person(\"Charles Hans\", \"Thompson\", role = c(\"ctb\"), email = \"hans.thompson1@gmail.com\"), person(\"Michael\", \"Sumner\", role = c(\"ctb\")), person(\"Patrick\", \"Hausmann\", role = c(\"ctb\"), email = \"patrick.hausmann@covimo.de\"), person(\"Bob\", \"Rudis\", role = c(\"ctb\"), email = \"bob@rud.is\"), person(\"James\", \"Lamb\", role = c(\"ctb\")), person(\"Alexandra\", \"Kapp\", role = c(\"ctb\")), person(\"Kearey\", \"Smith\", role = c(\"ctb\")), person(\"Dave\", \"Vautin\", role = c(\"ctb\")), person(\"Kyle\", \"Walker\", role = c(\"ctb\")), person(\"Davis\", \"Vaughan\", role = c(\"ctb\")), person(\"Ryan\", \"Rymarczyk\", role = c(\"ctb\")), person(\"Kirill\", \"Müller\", role = c(\"ctb\")) )", + "Description": "Read General Transit Feed Specification (GTFS) zipfiles into a list of R dataframes. Perform validation of the data structure against the specification. Analyze the headways and frequencies at routes and stops. Create maps and perform spatial analysis on the routes and stops. Please see the GTFS documentation here for more detail: .", + "License": "GPL", + "LazyData": "TRUE", + "Depends": [ + "R (>= 3.6.0)" + ], + "Imports": [ + "gtfsio (>= 1.2.0)", + "dplyr (>= 1.1.1)", + "data.table (>= 1.12.8)", + "sf", + "jsonlite", + "hms", + "digest", + "geodist" + ], + "Suggests": [ + "testthat (>= 3.1.5)", + "knitr", + "rmarkdown", + "ggplot2", + "scales", + "lubridate", + "leaflet" + ], + "RoxygenNote": "7.3.3", + "URL": "https://github.com/r-transit/tidytransit, https://r-transit.github.io/tidytransit/", + "BugReports": "https://github.com/r-transit/tidytransit/issues", + "VignetteBuilder": "knitr", + "Encoding": "UTF-8", + "NeedsCompilation": "no", + "Author": "Flavio Poletti [aut, cre], Daniel Herszenhut [aut] (ORCID: ), Mark Padgham [aut], Tom Buckley [aut], Danton Noriega-Goodwin [aut], Angela Li [ctb], Elaine McVey [ctb], Charles Hans Thompson [ctb], Michael Sumner [ctb], Patrick Hausmann [ctb], Bob Rudis [ctb], James Lamb [ctb], Alexandra Kapp [ctb], Kearey Smith [ctb], Dave Vautin [ctb], Kyle Walker [ctb], Davis Vaughan [ctb], Ryan Rymarczyk [ctb], Kirill Müller [ctb]", + "Maintainer": "Flavio Poletti ", + "Repository": "CRAN" + }, + "tidyverse": { + "Package": "tidyverse", + "Version": "2.0.0", + "Source": "Repository", + "Title": "Easily Install and Load the 'Tidyverse'", + "Authors@R": "c( person(\"Hadley\", \"Wickham\", , \"hadley@rstudio.com\", role = c(\"aut\", \"cre\")), person(\"RStudio\", role = c(\"cph\", \"fnd\")) )", + "Description": "The 'tidyverse' is a set of packages that work in harmony because they share common data representations and 'API' design. This package is designed to make it easy to install and load multiple 'tidyverse' packages in a single step. Learn more about the 'tidyverse' at .", + "License": "MIT + file LICENSE", + "URL": "https://tidyverse.tidyverse.org, https://github.com/tidyverse/tidyverse", + "BugReports": "https://github.com/tidyverse/tidyverse/issues", + "Depends": [ + "R (>= 3.3)" + ], + "Imports": [ + "broom (>= 1.0.3)", + "conflicted (>= 1.2.0)", + "cli (>= 3.6.0)", + "dbplyr (>= 2.3.0)", + "dplyr (>= 1.1.0)", + "dtplyr (>= 1.2.2)", + "forcats (>= 1.0.0)", + "ggplot2 (>= 3.4.1)", + "googledrive (>= 2.0.0)", + "googlesheets4 (>= 1.0.1)", + "haven (>= 2.5.1)", + "hms (>= 1.1.2)", + "httr (>= 1.4.4)", + "jsonlite (>= 1.8.4)", + "lubridate (>= 1.9.2)", + "magrittr (>= 2.0.3)", + "modelr (>= 0.1.10)", + "pillar (>= 1.8.1)", + "purrr (>= 1.0.1)", + "ragg (>= 1.2.5)", + "readr (>= 2.1.4)", + "readxl (>= 1.4.2)", + "reprex (>= 2.0.2)", + "rlang (>= 1.0.6)", + "rstudioapi (>= 0.14)", + "rvest (>= 1.0.3)", + "stringr (>= 1.5.0)", + "tibble (>= 3.1.8)", + "tidyr (>= 1.3.0)", + "xml2 (>= 1.3.3)" + ], + "Suggests": [ + "covr (>= 3.6.1)", + "feather (>= 0.3.5)", + "glue (>= 1.6.2)", + "mockr (>= 0.2.0)", + "knitr (>= 1.41)", + "rmarkdown (>= 2.20)", + "testthat (>= 3.1.6)" + ], + "VignetteBuilder": "knitr", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.2.3", + "NeedsCompilation": "no", + "Author": "Hadley Wickham [aut, cre], RStudio [cph, fnd]", + "Maintainer": "Hadley Wickham ", + "Repository": "P3M" + }, + "timechange": { + "Package": "timechange", + "Version": "0.4.0", + "Source": "Repository", + "Title": "Efficient Manipulation of Date-Times", + "Authors@R": "c(person(\"Vitalie\", \"Spinu\", email = \"spinuvit@gmail.com\", role = c(\"aut\", \"cre\")), person(\"Google Inc.\", role = c(\"ctb\", \"cph\")))", + "Description": "Efficient routines for manipulation of date-time objects while accounting for time-zones and daylight saving times. The package includes utilities for updating of date-time components (year, month, day etc.), modification of time-zones, rounding of date-times, period addition and subtraction etc. Parts of the 'CCTZ' source code, released under the Apache 2.0 License, are included in this package. See for more details.", + "Depends": [ + "R (>= 3.3)" + ], + "License": "GPL (>= 3)", + "Encoding": "UTF-8", + "LinkingTo": [ + "cpp11 (>= 0.2.7)" + ], + "Suggests": [ + "testthat (>= 0.7.1.99)", + "knitr" + ], + "SystemRequirements": "A system with zoneinfo data (e.g. /usr/share/zoneinfo). On Windows the zoneinfo included with R is used.", + "BugReports": "https://github.com/vspinu/timechange/issues", + "URL": "https://github.com/vspinu/timechange/", + "RoxygenNote": "7.2.1", + "NeedsCompilation": "yes", + "Author": "Vitalie Spinu [aut, cre], Google Inc. [ctb, cph]", + "Maintainer": "Vitalie Spinu ", + "Repository": "CRAN" + }, + "tinytex": { + "Package": "tinytex", + "Version": "0.59", + "Source": "Repository", + "Type": "Package", + "Title": "Helper Functions to Install and Maintain TeX Live, and Compile LaTeX Documents", + "Authors@R": "c( person(\"Yihui\", \"Xie\", role = c(\"aut\", \"cre\", \"cph\"), email = \"xie@yihui.name\", comment = c(ORCID = \"0000-0003-0645-5666\")), person(given = \"Posit Software, PBC\", role = c(\"cph\", \"fnd\")), person(\"Christophe\", \"Dervieux\", role = \"ctb\", comment = c(ORCID = \"0000-0003-4474-2498\")), person(\"Devon\", \"Ryan\", role = \"ctb\", email = \"dpryan79@gmail.com\", comment = c(ORCID = \"0000-0002-8549-0971\")), person(\"Ethan\", \"Heinzen\", role = \"ctb\"), person(\"Fernando\", \"Cagua\", role = \"ctb\"), person() )", + "Description": "Helper functions to install and maintain the 'LaTeX' distribution named 'TinyTeX' (), a lightweight, cross-platform, portable, and easy-to-maintain version of 'TeX Live'. This package also contains helper functions to compile 'LaTeX' documents, and install missing 'LaTeX' packages automatically.", + "Imports": [ + "xfun (>= 0.48)" + ], + "Suggests": [ + "testit", + "rstudioapi" + ], + "License": "MIT + file LICENSE", + "URL": "https://github.com/rstudio/tinytex", + "BugReports": "https://github.com/rstudio/tinytex/issues", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.3", + "NeedsCompilation": "no", + "Author": "Yihui Xie [aut, cre, cph] (ORCID: ), Posit Software, PBC [cph, fnd], Christophe Dervieux [ctb] (ORCID: ), Devon Ryan [ctb] (ORCID: ), Ethan Heinzen [ctb], Fernando Cagua [ctb]", + "Maintainer": "Yihui Xie ", + "Repository": "P3M" + }, + "tzdb": { + "Package": "tzdb", + "Version": "0.5.0", + "Source": "Repository", + "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": "P3M" + }, + "units": { + "Package": "units", + "Version": "1.0-1", + "Source": "Repository", + "Title": "Measurement Units for R Vectors", + "Authors@R": "c(person(\"Edzer\", \"Pebesma\", role = c(\"aut\", \"cre\"), email = \"edzer.pebesma@uni-muenster.de\", comment = c(ORCID = \"0000-0001-8049-7069\")), person(\"Thomas\", \"Mailund\", role = \"aut\", email = \"mailund@birc.au.dk\"), person(\"Tomasz\", \"Kalinowski\", role = \"aut\"), person(\"James\", \"Hiebert\", role = \"ctb\"), person(\"Iñaki\", \"Ucar\", role = \"aut\", email = \"iucar@fedoraproject.org\", comment = c(ORCID = \"0000-0001-6403-5550\")), person(\"Thomas Lin\", \"Pedersen\", role = \"ctb\") )", + "Depends": [ + "R (>= 3.5.0)" + ], + "Imports": [ + "Rcpp" + ], + "LinkingTo": [ + "Rcpp (>= 1.1.0)" + ], + "Suggests": [ + "NISTunits", + "measurements", + "xml2", + "magrittr", + "pillar (>= 1.3.0)", + "dplyr (>= 1.0.0)", + "vctrs (>= 0.3.1)", + "ggplot2 (> 3.2.1)", + "testthat (>= 3.0.0)", + "vdiffr", + "knitr", + "rvest", + "rmarkdown" + ], + "VignetteBuilder": "knitr", + "Description": "Support for measurement units in R vectors, matrices and arrays: automatic propagation, conversion, derivation and simplification of units; raising errors in case of unit incompatibility. Compatible with the POSIXct, Date and difftime classes. Uses the UNIDATA udunits library and unit database for unit compatibility checking and conversion. Documentation about 'units' is provided in the paper by Pebesma, Mailund & Hiebert (2016, ), included in this package as a vignette; see 'citation(\"units\")' for details.", + "SystemRequirements": "udunits-2", + "License": "GPL-2", + "URL": "https://r-quantities.github.io/units/, https://github.com/r-quantities/units", + "BugReports": "https://github.com/r-quantities/units/issues", + "RoxygenNote": "7.3.3", + "Encoding": "UTF-8", + "Config/testthat/edition": "3", + "NeedsCompilation": "yes", + "Author": "Edzer Pebesma [aut, cre] (ORCID: ), Thomas Mailund [aut], Tomasz Kalinowski [aut], James Hiebert [ctb], Iñaki Ucar [aut] (ORCID: ), Thomas Lin Pedersen [ctb]", + "Maintainer": "Edzer Pebesma ", + "Repository": "P3M" + }, + "utf8": { + "Package": "utf8", + "Version": "1.2.6", + "Source": "Repository", + "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" + ], + "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": "P3M" + }, + "uuid": { + "Package": "uuid", + "Version": "1.2-2", + "Source": "Repository", + "Title": "Tools for Generating and Handling of UUIDs", + "Author": "Simon Urbanek [aut, cre, cph] (https://urbanek.org, ORCID: ), Theodore Ts'o [aut, cph] (libuuid)", + "Maintainer": "Simon Urbanek ", + "Authors@R": "c(person(\"Simon\", \"Urbanek\", role=c(\"aut\",\"cre\",\"cph\"), email=\"Simon.Urbanek@r-project.org\", comment=c(\"https://urbanek.org\", ORCID=\"0000-0003-2297-1732\")), person(\"Theodore\",\"Ts'o\", email=\"tytso@thunk.org\", role=c(\"aut\",\"cph\"), comment=\"libuuid\"))", + "Depends": [ + "R (>= 2.9.0)" + ], + "Description": "Tools for generating and handling of UUIDs (Universally Unique Identifiers).", + "License": "MIT + file LICENSE", + "URL": "https://www.rforge.net/uuid", + "BugReports": "https://github.com/s-u/uuid/issues", + "NeedsCompilation": "yes", + "Repository": "CRAN", + "Encoding": "UTF-8" + }, + "vctrs": { + "Package": "vctrs", + "Version": "0.7.3", + "Source": "Repository", + "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 (>= 1.0.3)", + "rlang (>= 1.1.7)" + ], + "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", + "KeepSource": "true", + "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": "P3M" + }, + "viridis": { + "Package": "viridis", + "Version": "0.6.5", + "Source": "Repository", + "Type": "Package", + "Title": "Colorblind-Friendly Color Maps for R", + "Date": "2024-01-28", + "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 package also contains 'ggplot2' bindings for discrete and continuous color and fill scales. A lean version of the package called 'viridisLite' that does not include the 'ggplot2' bindings can be found at .", + "License": "MIT + file LICENSE", + "Encoding": "UTF-8", + "Depends": [ + "R (>= 2.10)", + "viridisLite (>= 0.4.0)" + ], + "Imports": [ + "ggplot2 (>= 1.0.1)", + "gridExtra" + ], + "Suggests": [ + "hexbin (>= 1.27.0)", + "scales", + "MASS", + "knitr", + "dichromat", + "colorspace", + "httr", + "mapproj", + "vdiffr", + "svglite (>= 1.2.0)", + "testthat", + "covr", + "rmarkdown", + "maps", + "terra" + ], + "LazyData": "true", + "VignetteBuilder": "knitr", + "URL": "https://sjmgarnier.github.io/viridis/, https://github.com/sjmgarnier/viridis/", + "BugReports": "https://github.com/sjmgarnier/viridis/issues", + "RoxygenNote": "7.3.1", + "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": "P3M" + }, + "viridisLite": { + "Package": "viridisLite", + "Version": "0.4.3", + "Source": "Repository", + "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)" + ], + "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": "P3M" + }, + "vroom": { + "Package": "vroom", + "Version": "1.7.1", + "Source": "Repository", + "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 (>= 3.2.0)", + "crayon", + "glue", + "hms", + "lifecycle (>= 1.0.3)", + "methods", + "rlang (>= 1.1.0)", + "stats", + "tibble (>= 2.0.0)", + "tidyselect", + "tzdb (>= 0.1.1)", + "vctrs (>= 0.2.0)", + "withr" + ], + "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": "P3M" + }, + "withr": { + "Package": "withr", + "Version": "3.0.2", + "Source": "Repository", + "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": "P3M" + }, + "wk": { + "Package": "wk", + "Version": "0.9.5", + "Source": "Repository", + "Title": "Lightweight Well-Known Geometry Parsing", + "Authors@R": "c( person(given = \"Dewey\", family = \"Dunnington\", role = c(\"aut\", \"cre\"), email = \"dewey@fishandwhistle.net\", comment = c(ORCID = \"0000-0002-9415-4582\")), person(given = \"Edzer\", family = \"Pebesma\", role = c(\"aut\"), email = \"edzer.pebesma@uni-muenster.de\", comment = c(ORCID = \"0000-0001-8049-7069\")), person(given = \"Anthony\", family = \"North\", email = \"anthony.jl.north@gmail.com\", role = c(\"ctb\")) )", + "Maintainer": "Dewey Dunnington ", + "Description": "Provides a minimal R and C++ API for parsing well-known binary and well-known text representation of geometries to and from R-native formats. Well-known binary is compact and fast to parse; well-known text is human-readable and is useful for writing tests. These formats are useful in R only if the information they contain can be accessed in R, for which high-performance functions are provided here.", + "License": "MIT + file LICENSE", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "Suggests": [ + "testthat (>= 3.0.0)", + "vctrs (>= 0.3.0)", + "sf", + "tibble", + "readr" + ], + "URL": "https://paleolimbot.github.io/wk/, https://github.com/paleolimbot/wk", + "BugReports": "https://github.com/paleolimbot/wk/issues", + "Config/testthat/edition": "3", + "Depends": [ + "R (>= 2.10)" + ], + "LazyData": "true", + "NeedsCompilation": "yes", + "Author": "Dewey Dunnington [aut, cre] (ORCID: ), Edzer Pebesma [aut] (ORCID: ), Anthony North [ctb]", + "Repository": "P3M" + }, + "xfun": { + "Package": "xfun", + "Version": "0.57", + "Source": "Repository", + "Type": "Package", + "Title": "Supporting Functions for Packages Maintained by 'Yihui Xie'", + "Authors@R": "c( person(\"Yihui\", \"Xie\", role = c(\"aut\", \"cre\", \"cph\"), email = \"xie@yihui.name\", comment = c(ORCID = \"0000-0003-0645-5666\", URL = \"https://yihui.org\")), person(\"Wush\", \"Wu\", role = \"ctb\"), person(\"Daijiang\", \"Li\", role = \"ctb\"), person(\"Xianying\", \"Tan\", role = \"ctb\"), person(\"Salim\", \"Brüggemann\", role = \"ctb\", email = \"salim-b@pm.me\", comment = c(ORCID = \"0000-0002-5329-5987\")), person(\"Christophe\", \"Dervieux\", role = \"ctb\"), person() )", + "Description": "Miscellaneous functions commonly used in other packages maintained by 'Yihui Xie'.", + "Depends": [ + "R (>= 3.2.0)" + ], + "Imports": [ + "grDevices", + "stats", + "tools" + ], + "Suggests": [ + "testit", + "parallel", + "codetools", + "methods", + "rstudioapi", + "tinytex (>= 0.30)", + "mime", + "litedown (>= 0.6)", + "commonmark", + "knitr (>= 1.50)", + "remotes", + "pak", + "curl", + "xml2", + "jsonlite", + "magick", + "yaml", + "data.table", + "qs2" + ], + "License": "MIT + file LICENSE", + "URL": "https://github.com/yihui/xfun", + "BugReports": "https://github.com/yihui/xfun/issues", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.3", + "VignetteBuilder": "litedown", + "NeedsCompilation": "yes", + "Author": "Yihui Xie [aut, cre, cph] (ORCID: , URL: https://yihui.org), Wush Wu [ctb], Daijiang Li [ctb], Xianying Tan [ctb], Salim Brüggemann [ctb] (ORCID: ), Christophe Dervieux [ctb]", + "Maintainer": "Yihui Xie ", + "Repository": "CRAN" + }, + "xml2": { + "Package": "xml2", + "Version": "1.5.2", + "Source": "Repository", + "Title": "Parse XML", + "Authors@R": "c( person(\"Hadley\", \"Wickham\", role = \"aut\"), person(\"Jim\", \"Hester\", role = \"aut\"), person(\"Jeroen\", \"Ooms\", email = \"jeroenooms@gmail.com\", role = c(\"aut\", \"cre\")), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")), person(\"R Foundation\", role = \"ctb\", comment = \"Copy of R-project homepage cached as example\") )", + "Description": "Bindings to 'libxml2' for working with XML data using a simple, consistent interface based on 'XPath' expressions. Also supports XML schema validation; for 'XSLT' transformations see the 'xslt' package.", + "License": "MIT + file LICENSE", + "URL": "https://xml2.r-lib.org, https://r-lib.r-universe.dev/xml2", + "BugReports": "https://github.com/r-lib/xml2/issues", + "Depends": [ + "R (>= 3.6.0)" + ], + "Imports": [ + "cli", + "methods", + "rlang (>= 1.1.0)" + ], + "Suggests": [ + "covr", + "curl", + "httr", + "knitr", + "mockery", + "rmarkdown", + "testthat (>= 3.2.0)", + "xslt" + ], + "VignetteBuilder": "knitr", + "Config/Needs/website": "tidyverse/tidytemplate", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.3", + "SystemRequirements": "libxml2: libxml2-dev (deb), libxml2-devel (rpm)", + "Collate": "'S4.R' 'as_list.R' 'xml_parse.R' 'as_xml_document.R' 'classes.R' 'format.R' 'import-standalone-obj-type.R' 'import-standalone-purrr.R' 'import-standalone-types-check.R' 'init.R' 'nodeset_apply.R' 'paths.R' 'utils.R' 'xml2-package.R' 'xml_attr.R' 'xml_children.R' 'xml_document.R' 'xml_find.R' 'xml_missing.R' 'xml_modify.R' 'xml_name.R' 'xml_namespaces.R' 'xml_node.R' 'xml_nodeset.R' 'xml_path.R' 'xml_schema.R' 'xml_serialize.R' 'xml_structure.R' 'xml_text.R' 'xml_type.R' 'xml_url.R' 'xml_write.R' 'zzz.R'", + "Config/testthat/edition": "3", + "NeedsCompilation": "yes", + "Author": "Hadley Wickham [aut], Jim Hester [aut], Jeroen Ooms [aut, cre], Posit Software, PBC [cph, fnd], R Foundation [ctb] (Copy of R-project homepage cached as example)", + "Maintainer": "Jeroen Ooms ", + "Repository": "CRAN" + }, + "yaml": { + "Package": "yaml", + "Version": "2.3.12", + "Source": "Repository", + "Type": "Package", + "Title": "Methods to Convert R Data to YAML and Back", + "Authors@R": "c( person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = \"cre\", comment = c(ORCID = \"0000-0003-4757-117X\")), person(\"Shawn\", \"Garbett\", , \"shawn.garbett@vumc.org\", role = \"ctb\", comment = c(ORCID = \"0000-0003-4079-5621\")), person(\"Jeremy\", \"Stephens\", role = c(\"aut\", \"ctb\")), person(\"Kirill\", \"Simonov\", role = \"aut\"), person(\"Yihui\", \"Xie\", role = \"ctb\", comment = c(ORCID = \"0000-0003-0645-5666\")), person(\"Zhuoer\", \"Dong\", role = \"ctb\"), person(\"Jeffrey\", \"Horner\", role = \"ctb\"), person(\"reikoch\", role = \"ctb\"), person(\"Will\", \"Beasley\", role = \"ctb\", comment = c(ORCID = \"0000-0002-5613-5006\")), person(\"Brendan\", \"O'Connor\", role = \"ctb\"), person(\"Michael\", \"Quinn\", role = \"ctb\"), person(\"Charlie\", \"Gao\", role = \"ctb\"), person(c(\"Gregory\", \"R.\"), \"Warnes\", role = \"ctb\"), person(c(\"Zhian\", \"N.\"), \"Kamvar\", role = \"ctb\") )", + "Description": "Implements the 'libyaml' 'YAML' 1.1 parser and emitter () for R.", + "License": "BSD_3_clause + file LICENSE", + "URL": "https://yaml.r-lib.org, https://github.com/r-lib/yaml/", + "BugReports": "https://github.com/r-lib/yaml/issues", + "Suggests": [ + "knitr", + "rmarkdown", + "testthat (>= 3.0.0)" + ], + "Config/testthat/edition": "3", + "Config/Needs/website": "tidyverse/tidytemplate", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.3", + "VignetteBuilder": "knitr", + "NeedsCompilation": "yes", + "Author": "Hadley Wickham [cre] (ORCID: ), Shawn Garbett [ctb] (ORCID: ), Jeremy Stephens [aut, ctb], Kirill Simonov [aut], Yihui Xie [ctb] (ORCID: ), Zhuoer Dong [ctb], Jeffrey Horner [ctb], reikoch [ctb], Will Beasley [ctb] (ORCID: ), Brendan O'Connor [ctb], Michael Quinn [ctb], Charlie Gao [ctb], Gregory R. Warnes [ctb], Zhian N. Kamvar [ctb]", + "Maintainer": "Hadley Wickham ", + "Repository": "P3M" + }, + "zip": { + "Package": "zip", + "Version": "2.3.3", + "Source": "Repository", + "Title": "Cross-Platform 'zip' Compression", + "Authors@R": "c( person(\"Gábor\", \"Csárdi\", , \"csardi.gabor@gmail.com\", role = c(\"aut\", \"cre\")), person(\"Kuba\", \"Podgórski\", role = \"ctb\"), person(\"Rich\", \"Geldreich\", role = \"ctb\"), person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"), comment = c(ROR = \"03wc8by49\")) )", + "Description": "Cross-Platform 'zip' Compression Library. A replacement for the 'zip' function, that does not require any additional external tools on any platform.", + "License": "MIT + file LICENSE", + "URL": "https://github.com/r-lib/zip, https://r-lib.github.io/zip/", + "BugReports": "https://github.com/r-lib/zip/issues", + "Suggests": [ + "covr", + "pillar", + "processx", + "R6", + "testthat", + "withr" + ], + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Config/usethis/last-upkeep": "2025-05-07", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2.9000", + "NeedsCompilation": "yes", + "Author": "Gábor Csárdi [aut, cre], Kuba Podgórski [ctb], Rich Geldreich [ctb], Posit Software, PBC [cph, fnd] (ROR: )", + "Maintainer": "Gábor Csárdi ", + "Repository": "P3M" + } + } +} diff --git a/blog/2026/alberta-daylight-time/renv/.gitignore b/blog/2026/alberta-daylight-time/renv/.gitignore new file mode 100644 index 0000000..0ec0cbb --- /dev/null +++ b/blog/2026/alberta-daylight-time/renv/.gitignore @@ -0,0 +1,7 @@ +library/ +local/ +cellar/ +lock/ +python/ +sandbox/ +staging/ diff --git a/blog/2026/alberta-daylight-time/renv/activate.R b/blog/2026/alberta-daylight-time/renv/activate.R new file mode 100644 index 0000000..6487d06 --- /dev/null +++ b/blog/2026/alberta-daylight-time/renv/activate.R @@ -0,0 +1,1438 @@ + +local({ + + # the requested version of renv + version <- "1.2.2" + attr(version, "md5") <- "bb69b6403b1bad0442657e9e8e57cc83" + attr(version, "sha") <- NULL + + # the project directory + project <- Sys.getenv("RENV_PROJECT") + if (!nzchar(project)) + project <- getwd() + + # use start-up diagnostics if enabled + diagnostics <- Sys.getenv("RENV_STARTUP_DIAGNOSTICS", unset = "FALSE") + if (diagnostics) { + start <- Sys.time() + profile <- tempfile("renv-startup-", fileext = ".Rprof") + utils::Rprof(profile) + on.exit({ + utils::Rprof(NULL) + elapsed <- signif(difftime(Sys.time(), start, units = "auto"), digits = 2L) + writeLines(sprintf("- renv took %s to run the autoloader.", format(elapsed))) + writeLines(sprintf("- Profile: %s", profile)) + print(utils::summaryRprof(profile)) + }, add = TRUE) + } + + # figure out whether the autoloader is enabled + enabled <- local({ + + # first, check config option + override <- getOption("renv.config.autoloader.enabled") + if (!is.null(override)) + return(override) + + # if we're being run in a context where R_LIBS is already set, + # don't load -- presumably we're being run as a sub-process and + # the parent process has already set up library paths for us + rcmd <- Sys.getenv("R_CMD", unset = NA) + rlibs <- Sys.getenv("R_LIBS", unset = NA) + if (!is.na(rlibs) && !is.na(rcmd)) + return(FALSE) + + # next, check environment variables + # prefer using the configuration one in the future + envvars <- c( + "RENV_CONFIG_AUTOLOADER_ENABLED", + "RENV_AUTOLOADER_ENABLED", + "RENV_ACTIVATE_PROJECT" + ) + + for (envvar in envvars) { + envval <- Sys.getenv(envvar, unset = NA) + if (!is.na(envval)) + return(tolower(envval) %in% c("true", "t", "1")) + } + + # enable by default + TRUE + + }) + + # bail if we're not enabled + if (!enabled) { + + # if we're not enabled, we might still need to manually load + # the user profile here + profile <- Sys.getenv("R_PROFILE_USER", unset = "~/.Rprofile") + if (file.exists(profile)) { + cfg <- Sys.getenv("RENV_CONFIG_USER_PROFILE", unset = "TRUE") + if (tolower(cfg) %in% c("true", "t", "1")) + sys.source(profile, envir = globalenv()) + } + + return(FALSE) + + } + + # avoid recursion + if (identical(getOption("renv.autoloader.running"), TRUE)) { + warning("ignoring recursive attempt to run renv autoloader") + return(invisible(TRUE)) + } + + # signal that we're loading renv during R startup + options(renv.autoloader.running = TRUE) + on.exit(options(renv.autoloader.running = NULL), add = TRUE) + + # signal that we've consented to use renv + options(renv.consent = TRUE) + + # load the 'utils' package eagerly -- this ensures that renv shims, which + # mask 'utils' packages, will come first on the search path + library(utils, lib.loc = .Library) + + # unload renv if it's already been loaded + if ("renv" %in% loadedNamespaces()) + unloadNamespace("renv") + + # load bootstrap tools + ansify <- function(text) { + if (renv_ansify_enabled()) + renv_ansify_enhanced(text) + else + renv_ansify_default(text) + } + + renv_ansify_enabled <- function() { + + override <- Sys.getenv("RENV_ANSIFY_ENABLED", unset = NA) + if (!is.na(override)) + return(as.logical(override)) + + pane <- Sys.getenv("RSTUDIO_CHILD_PROCESS_PANE", unset = NA) + if (identical(pane, "build")) + return(FALSE) + + testthat <- Sys.getenv("TESTTHAT", unset = "false") + if (tolower(testthat) %in% "true") + return(FALSE) + + iderun <- Sys.getenv("R_CLI_HAS_HYPERLINK_IDE_RUN", unset = "false") + if (tolower(iderun) %in% "false") + return(FALSE) + + TRUE + + } + + renv_ansify_default <- function(text) { + text + } + + renv_ansify_enhanced <- function(text) { + + # R help links + pattern <- "`\\?(renv::(?:[^`])+)`" + 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;;x-r-run:\\1\a\\1\033]8;;\a`" + text <- gsub(pattern, replacement, text, perl = TRUE) + + # return ansified text + text + + } + + renv_ansify_init <- function() { + + envir <- renv_envir_self() + if (renv_ansify_enabled()) + assign("ansify", renv_ansify_enhanced, envir = envir) + else + assign("ansify", renv_ansify_default, envir = envir) + + } + + `%||%` <- function(x, y) { + if (is.null(x)) y else x + } + + catf <- function(fmt, ..., appendLF = TRUE) { + + quiet <- getOption("renv.bootstrap.quiet", default = FALSE) + 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 "") + + invisible(msg) + + } + + header <- function(label, + ..., + prefix = "#", + suffix = "-", + n = min(getOption("width"), 78)) + { + label <- sprintf(label, ...) + n <- max(n - nchar(label) - nchar(prefix) - 2L, 8L) + if (n <= 0) + return(paste(prefix, label)) + + tail <- paste(rep.int(suffix, n), collapse = "") + paste0(prefix, " ", label, " ", tail) + + } + + heredoc <- function(text, leave = 0) { + + # remove leading, trailing whitespace + trimmed <- gsub("^\\s*\\n|\\n\\s*$", "", text) + + # split into lines + lines <- strsplit(trimmed, "\n", fixed = TRUE)[[1L]] + + # compute common indent + indent <- regexpr("[^[:space:]]", lines) + common <- min(setdiff(indent, -1L)) - leave + text <- paste(substring(lines, common), collapse = "\n") + + # substitute in ANSI links for executable renv code + ansify(text) + + } + + bootstrap <- function(version, library) { + + friendly <- renv_bootstrap_version_friendly(version) + section <- header(sprintf("Bootstrapping renv %s", friendly)) + catf(section) + + # ensure the target library path exists; required for file.copy(..., recursive = TRUE) + dir.create(library, showWarnings = FALSE, recursive = TRUE) + + # 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)) { + ok <- file.copy(pkgpath, library, recursive = TRUE) + if (isTRUE(ok)) + return(invisible()) + } + } + + # attempt to download renv + catf("- Downloading renv ... ", appendLF = FALSE) + withCallingHandlers( + tarball <- renv_bootstrap_download(version), + error = function(err) { + catf("FAILED") + stop("failed to download:\n", conditionMessage(err)) + } + ) + catf("OK") + on.exit(unlink(tarball), add = TRUE) + + # now attempt to install + catf("- Installing renv ... ", appendLF = FALSE) + withCallingHandlers( + status <- renv_bootstrap_install(version, tarball, library), + error = function(err) { + catf("FAILED") + stop("failed to install:\n", conditionMessage(err)) + } + ) + catf("OK") + + # add empty line to break up bootstrapping from normal output + catf("") + return(invisible()) + } + + renv_bootstrap_tests_running <- function() { + getOption("renv.tests.running", default = FALSE) + } + + renv_bootstrap_repos <- function() { + + # get CRAN repository + cran <- getOption("renv.repos.cran", "https://cloud.r-project.org") + + # check for repos override + repos <- Sys.getenv("RENV_CONFIG_REPOS_OVERRIDE", unset = NA) + if (!is.na(repos)) { + + # split on ';' if present + parts <- strsplit(repos, ";", fixed = TRUE)[[1L]] + + # 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) + + } + + # check for lockfile repositories + repos <- tryCatch(renv_bootstrap_repos_lockfile(), error = identity) + if (!inherits(repos, "error") && length(repos)) + return(repos) + + # retrieve current repos + repos <- getOption("repos") + + # ensure @CRAN@ entries are resolved + repos[repos == "@CRAN@"] <- cran + + # add in renv.bootstrap.repos if set + default <- c(FALLBACK = "https://cloud.r-project.org") + extra <- getOption("renv.bootstrap.repos", default = default) + repos <- c(repos, extra) + + # remove duplicates that might've snuck in + dupes <- duplicated(repos) | duplicated(names(repos)) + repos[!dupes] + + } + + renv_bootstrap_repos_lockfile <- function() { + + lockpath <- Sys.getenv("RENV_PATHS_LOCKFILE", unset = "renv.lock") + if (!file.exists(lockpath)) + return(NULL) + + lockfile <- tryCatch(renv_json_read(lockpath), error = identity) + if (inherits(lockfile, "error")) { + warning(lockfile) + return(NULL) + } + + repos <- lockfile$R$Repositories + if (length(repos) == 0) + return(NULL) + + keys <- vapply(repos, `[[`, "Name", FUN.VALUE = character(1)) + vals <- vapply(repos, `[[`, "URL", FUN.VALUE = character(1)) + names(vals) <- keys + + return(vals) + + } + + renv_bootstrap_download <- function(version) { + + sha <- attr(version, "sha", exact = TRUE) + + methods <- if (!is.null(sha)) { + + # attempting to bootstrap a development version of renv + c( + function() renv_bootstrap_download_tarball(sha), + function() renv_bootstrap_download_github(sha) + ) + + } else { + + # attempting to bootstrap a release version of renv + c( + function() renv_bootstrap_download_tarball(version), + function() renv_bootstrap_download_cran_latest(version), + function() renv_bootstrap_download_cran_archive(version) + ) + + } + + for (method in methods) { + path <- tryCatch(method(), error = identity) + if (is.character(path) && file.exists(path)) + return(path) + } + + stop("All download methods failed") + + } + + renv_bootstrap_download_impl <- function(url, destfile) { + + mode <- "wb" + + # https://bugs.r-project.org/bugzilla/show_bug.cgi?id=17715 + fixup <- + Sys.info()[["sysname"]] == "Windows" && + substring(url, 1L, 5L) == "file:" + + if (fixup) + mode <- "w+b" + + args <- list( + url = url, + destfile = destfile, + mode = mode, + quiet = TRUE + ) + + if ("headers" %in% names(formals(utils::download.file))) { + headers <- renv_bootstrap_download_custom_headers(url) + if (length(headers) && is.character(headers)) + args$headers <- headers + } + + do.call(utils::download.file, args) + + } + + renv_bootstrap_download_custom_headers <- function(url) { + + headers <- getOption("renv.download.headers") + if (is.null(headers)) + return(character()) + + if (!is.function(headers)) + stopf("'renv.download.headers' is not a function") + + headers <- headers(url) + if (length(headers) == 0L) + return(character()) + + if (is.list(headers)) + headers <- unlist(headers, recursive = FALSE, use.names = TRUE) + + ok <- + is.character(headers) && + is.character(names(headers)) && + all(nzchar(names(headers))) + + if (!ok) + stop("invocation of 'renv.download.headers' did not return a named character vector") + + headers + + } + + renv_bootstrap_download_cran_latest <- function(version) { + + spec <- renv_bootstrap_download_cran_latest_find(version) + type <- spec$type + repos <- spec$repos + + baseurl <- utils::contrib.url(repos = repos, type = type) + ext <- if (identical(type, "source")) + ".tar.gz" + else if (Sys.info()[["sysname"]] == "Windows") + ".zip" + else + ".tgz" + name <- sprintf("renv_%s%s", version, ext) + url <- paste(baseurl, name, sep = "/") + + destfile <- file.path(tempdir(), name) + status <- tryCatch( + renv_bootstrap_download_impl(url, destfile), + condition = identity + ) + + if (inherits(status, "condition")) + return(FALSE) + + # report success and return + destfile + + } + + renv_bootstrap_download_cran_latest_find <- function(version) { + + # check whether binaries are supported on this system + binary <- + getOption("renv.bootstrap.binary", default = TRUE) && + !identical(.Platform$pkgType, "source") && + !identical(getOption("pkgType"), "source") && + Sys.info()[["sysname"]] %in% c("Darwin", "Windows") + + types <- c(if (binary) "binary", "source") + + # iterate over types + repositories + for (type in types) { + for (repos in renv_bootstrap_repos()) { + + # build arguments for utils::available.packages() call + args <- list(type = type, repos = repos) + + # add custom headers if available -- note that + # utils::available.packages() will pass this to download.file() + if ("headers" %in% names(formals(utils::download.file))) { + headers <- renv_bootstrap_download_custom_headers(repos) + if (length(headers) && is.character(headers)) + args$headers <- headers + } + + # retrieve package database + db <- tryCatch( + as.data.frame( + do.call(utils::available.packages, args), + stringsAsFactors = FALSE + ), + error = identity + ) + + if (inherits(db, "error")) + next + + # check for compatible entry + entry <- db[db$Package %in% "renv" & db$Version %in% version, ] + if (nrow(entry) == 0) + next + + # found it; return spec to caller + spec <- list(entry = entry, type = type, repos = repos) + return(spec) + + } + } + + # if we got here, we failed to find renv + fmt <- "renv %s is not available from your declared package repositories" + stop(sprintf(fmt, version)) + + } + + renv_bootstrap_download_cran_archive <- function(version) { + + name <- sprintf("renv_%s.tar.gz", version) + repos <- renv_bootstrap_repos() + urls <- file.path(repos, "src/contrib/Archive/renv", name) + destfile <- file.path(tempdir(), name) + + for (url in urls) { + + status <- tryCatch( + renv_bootstrap_download_impl(url, destfile), + condition = identity + ) + + if (identical(status, 0L)) + return(destfile) + + } + + return(FALSE) + + } + + 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 + # an environment variable, then use it + tarball <- Sys.getenv("RENV_BOOTSTRAP_TARBALL", unset = NA) + if (is.na(tarball)) + return() + + # allow directories + if (dir.exists(tarball)) { + name <- sprintf("renv_%s.tar.gz", version) + tarball <- file.path(tarball, name) + } + + # bail if it doesn't exist + if (!file.exists(tarball)) { + + # let the user know we weren't able to honour their request + fmt <- "- RENV_BOOTSTRAP_TARBALL is set (%s) but does not exist." + msg <- sprintf(fmt, tarball) + warning(msg) + + # bail + return() + + } + + catf("- Using local tarball '%s'.", tarball) + tarball + + } + + renv_bootstrap_github_token <- function() { + for (envvar in c("GITHUB_TOKEN", "GITHUB_PAT", "GH_TOKEN")) { + envval <- Sys.getenv(envvar, unset = NA) + if (!is.na(envval)) + return(envval) + } + } + + renv_bootstrap_download_github <- function(version) { + + enabled <- Sys.getenv("RENV_BOOTSTRAP_FROM_GITHUB", unset = "TRUE") + if (!identical(enabled, "TRUE")) + return(FALSE) + + # 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) + saved <- options("download.file.method", "download.file.extra") + options(download.file.method = "curl", download.file.extra = extra) + on.exit(do.call(base::options, saved), add = TRUE) + } else if (nzchar(Sys.which("wget")) && nzchar(token)) { + fmt <- "--header=\"Authorization: token %s\"" + extra <- sprintf(fmt, token) + saved <- options("download.file.method", "download.file.extra") + options(download.file.method = "wget", download.file.extra = extra) + on.exit(do.call(base::options, saved), add = TRUE) + } + + url <- file.path("https://api.github.com/repos/rstudio/renv/tarball", version) + name <- sprintf("renv_%s.tar.gz", version) + destfile <- file.path(tempdir(), name) + + status <- tryCatch( + renv_bootstrap_download_impl(url, destfile), + condition = identity + ) + + if (!identical(status, 0L)) + return(FALSE) + + renv_bootstrap_download_augment(destfile) + + return(destfile) + + } + + # Add Sha to DESCRIPTION. This is stop gap until #890, after which we + # can use renv::install() to fully capture metadata. + renv_bootstrap_download_augment <- function(destfile) { + sha <- renv_bootstrap_git_extract_sha1_tar(destfile) + if (is.null(sha)) { + return() + } + + # Untar + tempdir <- tempfile("renv-github-") + on.exit(unlink(tempdir, recursive = TRUE), add = TRUE) + untar(destfile, exdir = tempdir) + pkgdir <- dir(tempdir, full.names = TRUE)[[1]] + + # Modify description + desc_path <- file.path(pkgdir, "DESCRIPTION") + desc_lines <- readLines(desc_path) + remotes_fields <- c( + "RemoteType: github", + "RemoteHost: api.github.com", + "RemoteRepo: renv", + "RemoteUsername: rstudio", + "RemotePkgRef: rstudio/renv", + paste("RemoteRef: ", sha), + paste("RemoteSha: ", sha) + ) + writeLines(c(desc_lines[desc_lines != ""], remotes_fields), con = desc_path) + + # Re-tar + local({ + old <- setwd(tempdir) + on.exit(setwd(old), add = TRUE) + + tar(destfile, compression = "gzip") + }) + invisible() + } + + # Extract the commit hash from a git archive. Git archives include the SHA1 + # hash as the comment field of the tarball pax extended header + # (see https://www.kernel.org/pub/software/scm/git/docs/git-archive.html) + # For GitHub archives this should be the first header after the default one + # (512 byte) header. + renv_bootstrap_git_extract_sha1_tar <- function(bundle) { + + # open the bundle for reading + # We use gzcon for everything because (from ?gzcon) + # > Reading from a connection which does not supply a 'gzip' magic + # > header is equivalent to reading from the original connection + conn <- gzcon(file(bundle, open = "rb", raw = TRUE)) + on.exit(close(conn)) + + # The default pax header is 512 bytes long and the first pax extended header + # with the comment should be 51 bytes long + # `52 comment=` (11 chars) + 40 byte SHA1 hash + len <- 0x200 + 0x33 + res <- rawToChar(readBin(conn, "raw", n = len)[0x201:len]) + + if (grepl("^52 comment=", res)) { + sub("52 comment=", "", res) + } else { + NULL + } + } + + renv_bootstrap_install <- function(version, tarball, library) { + + # attempt to install it into project library + dir.create(library, showWarnings = FALSE, recursive = TRUE) + output <- renv_bootstrap_install_impl(library, tarball) + + # check for successful install + status <- attr(output, "status") + if (is.null(status) || identical(status, 0L)) + return(status) + + # an error occurred; report it + header <- "installation of renv failed" + lines <- paste(rep.int("=", nchar(header)), collapse = "") + text <- paste(c(header, lines, output), collapse = "\n") + stop(text) + + } + + renv_bootstrap_install_impl <- function(library, tarball) { + + # invoke using system2 so we can capture and report output + bin <- R.home("bin") + exe <- if (Sys.info()[["sysname"]] == "Windows") "R.exe" else "R" + R <- file.path(bin, exe) + + args <- c( + "--vanilla", "CMD", "INSTALL", "--no-multiarch", + "-l", shQuote(path.expand(library)), + shQuote(path.expand(tarball)) + ) + + system2(R, args, stdout = TRUE, stderr = TRUE) + + } + + renv_bootstrap_platform_prefix_default <- function() { + + # 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) + devel <- + identical(R.version[["status"]], "Under development (unstable)") || + identical(R.version[["nickname"]], "Unsuffered Consequences") + + if (devel) + 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(version, R.version$platform) + + # include prefix if provided by user + prefix <- renv_bootstrap_platform_prefix_impl() + if (!is.na(prefix) && nzchar(prefix)) + components <- c(prefix, components) + + # build prefix + paste(components, collapse = "/") + + } + + renv_bootstrap_platform_prefix_impl <- function() { + + # if an explicit prefix has been supplied, use it + prefix <- Sys.getenv("RENV_PATHS_PREFIX", unset = NA) + if (!is.na(prefix)) + return(prefix) + + # if the user has requested an automatic prefix, generate it + auto <- Sys.getenv("RENV_PATHS_PREFIX_AUTO", unset = NA) + if (is.na(auto) && getRversion() >= "4.4.0") + auto <- "TRUE" + + if (auto %in% c("TRUE", "True", "true", "1")) + return(renv_bootstrap_platform_prefix_auto()) + + # empty string on failure + "" + + } + + renv_bootstrap_platform_prefix_auto <- function() { + + prefix <- tryCatch(renv_bootstrap_platform_os(), error = identity) + if (inherits(prefix, "error") || prefix %in% "unknown") { + + msg <- paste( + "failed to infer current operating system", + "please file a bug report at https://github.com/rstudio/renv/issues", + sep = "; " + ) + + warning(msg) + + } + + prefix + + } + + renv_bootstrap_platform_os <- function() { + + sysinfo <- Sys.info() + sysname <- sysinfo[["sysname"]] + + # handle Windows + macOS up front + if (sysname == "Windows") + return("windows") + else if (sysname == "Darwin") + return("macos") + + # check for os-release files + for (file in c("/etc/os-release", "/usr/lib/os-release")) + if (file.exists(file)) + return(renv_bootstrap_platform_os_via_os_release(file, sysinfo)) + + # check for redhat-release files + if (file.exists("/etc/redhat-release")) + return(renv_bootstrap_platform_os_via_redhat_release()) + + "unknown" + + } + + renv_bootstrap_platform_os_via_os_release <- function(file, sysinfo) { + + # read /etc/os-release + release <- utils::read.table( + file = file, + sep = "=", + quote = c("\"", "'"), + col.names = c("Key", "Value"), + comment.char = "#", + stringsAsFactors = FALSE + ) + + vars <- as.list(release$Value) + names(vars) <- release$Key + + # get os name + os <- tolower(sysinfo[["sysname"]]) + + # read id + id <- "unknown" + for (field in c("ID", "ID_LIKE")) { + if (field %in% names(vars) && nzchar(vars[[field]])) { + id <- vars[[field]] + break + } + } + + # read version + version <- "unknown" + for (field in c("UBUNTU_CODENAME", "VERSION_CODENAME", "VERSION_ID", "BUILD_ID")) { + if (field %in% names(vars) && nzchar(vars[[field]])) { + version <- vars[[field]] + break + } + } + + # join together + paste(c(os, id, version), collapse = "-") + + } + + renv_bootstrap_platform_os_via_redhat_release <- function() { + + # read /etc/redhat-release + contents <- readLines("/etc/redhat-release", warn = FALSE) + + # infer id + id <- if (grepl("centos", contents, ignore.case = TRUE)) + "centos" + else if (grepl("redhat", contents, ignore.case = TRUE)) + "redhat" + else + "unknown" + + # try to find a version component (very hacky) + version <- "unknown" + + parts <- strsplit(contents, "[[:space:]]")[[1L]] + for (part in parts) { + + nv <- tryCatch(numeric_version(part), error = identity) + if (inherits(nv, "error")) + next + + version <- nv[1, 1] + break + + } + + paste(c("linux", id, version), collapse = "-") + + } + + renv_bootstrap_library_root_name <- function(project) { + + # use project name as-is if requested + asis <- Sys.getenv("RENV_PATHS_LIBRARY_ROOT_ASIS", unset = "FALSE") + if (asis) + return(basename(project)) + + # otherwise, disambiguate based on project's path + id <- substring(renv_bootstrap_hash_text(project), 1L, 8L) + paste(basename(project), id, sep = "-") + + } + + renv_bootstrap_library_root <- function(project) { + + prefix <- renv_bootstrap_profile_prefix() + + path <- Sys.getenv("RENV_PATHS_LIBRARY", unset = NA) + if (!is.na(path)) + return(paste(c(path, prefix), collapse = "/")) + + path <- renv_bootstrap_library_root_impl(project) + if (!is.null(path)) { + name <- renv_bootstrap_library_root_name(project) + return(paste(c(path, prefix, name), collapse = "/")) + } + + renv_bootstrap_paths_renv("library", project = project) + + } + + renv_bootstrap_library_root_impl <- function(project) { + + root <- Sys.getenv("RENV_PATHS_LIBRARY_ROOT", unset = NA) + if (!is.na(root)) + return(root) + + type <- renv_bootstrap_project_type(project) + if (identical(type, "package")) { + userdir <- renv_bootstrap_user_dir() + return(file.path(userdir, "library")) + } + + } + + renv_bootstrap_validate_version <- function(version, description = NULL) { + + # resolve description file + # + # avoid passing lib.loc to `packageDescription()` below, since R will + # use the loaded version of the package by default anyhow. note that + # this function should only be called after 'renv' is loaded + # https://github.com/rstudio/renv/issues/1625 + description <- description %||% packageDescription("renv") + + # check whether requested version 'version' matches loaded version of renv + sha <- attr(version, "sha", exact = TRUE) + valid <- if (!is.null(sha)) + renv_bootstrap_validate_version_dev(sha, description) + else + renv_bootstrap_validate_version_release(version, description) + + if (valid) + return(TRUE) + + # the loaded version of renv doesn't match the requested version; + # give the user instructions on how to proceed + dev <- identical(description[["RemoteType"]], "github") + remote <- if (dev) + paste("rstudio/renv", description[["RemoteSha"]], sep = "@") + else + paste("renv", description[["Version"]], sep = "@") + + # display both loaded version + sha if available + friendly <- renv_bootstrap_version_friendly( + version = description[["Version"]], + sha = if (dev) description[["RemoteSha"]] + ) + + fmt <- heredoc(" + renv %1$s was loaded from project library, but this project is configured to use renv %2$s. + - Use `renv::record(\"%3$s\")` to record renv %1$s in the lockfile. + - Use `renv::restore(packages = \"renv\")` to install renv %2$s into the project library. + ") + catf(fmt, friendly, renv_bootstrap_version_friendly(version), remote) + + FALSE + + } + + renv_bootstrap_validate_version_dev <- function(version, description) { + + expected <- description[["RemoteSha"]] + 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(c(expected), c(version)) + } + + renv_bootstrap_hash_text <- function(text) { + + hashfile <- tempfile("renv-hash-") + on.exit(unlink(hashfile), add = TRUE) + + writeLines(text, con = hashfile) + tools::md5sum(hashfile) + + } + + renv_bootstrap_load <- function(project, libpath, version) { + + # try to load renv from the project library + if (!requireNamespace("renv", lib.loc = libpath, quietly = TRUE)) + return(FALSE) + + # warn if the version of renv loaded does not match + renv_bootstrap_validate_version(version) + + # execute renv load hooks, if any + hooks <- getHook("renv::autoload") + for (hook in hooks) + if (is.function(hook)) + tryCatch(hook(), error = warnify) + + # load the project + renv::load(project) + + TRUE + + } + + renv_bootstrap_profile_load <- function(project) { + + # if RENV_PROFILE is already set, just use that + profile <- Sys.getenv("RENV_PROFILE", unset = NA) + if (!is.na(profile) && nzchar(profile)) + return(profile) + + # check for a profile file (nothing to do if it doesn't exist) + path <- renv_bootstrap_paths_renv("profile", profile = FALSE, project = project) + if (!file.exists(path)) + return(NULL) + + # read the profile, and set it if it exists + contents <- readLines(path, warn = FALSE) + if (length(contents) == 0L) + return(NULL) + + # set RENV_PROFILE + profile <- contents[[1L]] + if (!profile %in% c("", "default")) + Sys.setenv(RENV_PROFILE = profile) + + profile + + } + + renv_bootstrap_profile_prefix <- function() { + profile <- renv_bootstrap_profile_get() + if (!is.null(profile)) + return(file.path("profiles", profile, "renv")) + } + + renv_bootstrap_profile_get <- function() { + profile <- Sys.getenv("RENV_PROFILE", unset = "") + renv_bootstrap_profile_normalize(profile) + } + + renv_bootstrap_profile_set <- function(profile) { + profile <- renv_bootstrap_profile_normalize(profile) + if (is.null(profile)) + Sys.unsetenv("RENV_PROFILE") + else + Sys.setenv(RENV_PROFILE = profile) + } + + renv_bootstrap_profile_normalize <- function(profile) { + + if (is.null(profile) || profile %in% c("", "default")) + return(NULL) + + profile + + } + + renv_bootstrap_path_absolute <- function(path) { + + substr(path, 1L, 1L) %in% c("~", "/", "\\") || ( + substr(path, 1L, 1L) %in% c(letters, LETTERS) && + substr(path, 2L, 3L) %in% c(":/", ":\\") + ) + + } + + renv_bootstrap_paths_renv <- function(..., profile = TRUE, project = NULL) { + renv <- Sys.getenv("RENV_PATHS_RENV", unset = "renv") + root <- if (renv_bootstrap_path_absolute(renv)) NULL else project + prefix <- if (profile) renv_bootstrap_profile_prefix() + components <- c(root, renv, prefix, ...) + paste(components, collapse = "/") + } + + renv_bootstrap_project_type <- function(path) { + + descpath <- file.path(path, "DESCRIPTION") + if (!file.exists(descpath)) + return("unknown") + + desc <- tryCatch( + read.dcf(descpath, all = TRUE), + error = identity + ) + + if (inherits(desc, "error")) + return("unknown") + + type <- desc$Type + if (!is.null(type)) + return(tolower(type)) + + package <- desc$Package + if (!is.null(package)) + return("package") + + "unknown" + + } + + renv_bootstrap_user_dir <- function() { + dir <- renv_bootstrap_user_dir_impl() + path.expand(chartr("\\", "/", dir)) + } + + renv_bootstrap_user_dir_impl <- function() { + + # use local override if set + override <- getOption("renv.userdir.override") + if (!is.null(override)) + return(override) + + # use R_user_dir if available + tools <- asNamespace("tools") + if (is.function(tools$R_user_dir)) + return(tools$R_user_dir("renv", "cache")) + + # try using our own backfill for older versions of R + envvars <- c("R_USER_CACHE_DIR", "XDG_CACHE_HOME") + for (envvar in envvars) { + root <- Sys.getenv(envvar, unset = NA) + if (!is.na(root)) + return(file.path(root, "R/renv")) + } + + # use platform-specific default fallbacks + if (Sys.info()[["sysname"]] == "Windows") + file.path(Sys.getenv("LOCALAPPDATA"), "R/cache/R/renv") + else if (Sys.info()[["sysname"]] == "Darwin") + "~/Library/Caches/org.R-project.R/R/renv" + else + "~/.cache/R/renv" + + } + + renv_bootstrap_version_friendly <- function(version, shafmt = NULL, sha = NULL) { + sha <- sha %||% attr(version, "sha", exact = TRUE) + parts <- c(version, sprintf(shafmt %||% " [sha: %s]", substring(sha, 1L, 7L))) + paste(parts, collapse = "") + } + + renv_bootstrap_exec <- function(project, libpath, version) { + if (!renv_bootstrap_load(project, libpath, version)) + renv_bootstrap_run(project, libpath, version) + } + + renv_bootstrap_run <- function(project, libpath, version) { + tryCatch( + renv_bootstrap_run_impl(project, libpath, version), + error = function(e) { + msg <- paste( + "failed to bootstrap renv: the project will not be loaded.", + paste("Reason:", conditionMessage(e)), + "Use `renv::activate()` to re-initialize the project.", + sep = "\n" + ) + warning(msg, call. = FALSE) + } + ) + } + + renv_bootstrap_run_impl <- function(project, libpath, version) { + + # perform bootstrap + bootstrap(version, libpath) + + # exit early if we're just testing bootstrap + if (!is.na(Sys.getenv("RENV_BOOTSTRAP_INSTALL_ONLY", unset = NA))) + return(TRUE) + + # try again to load + if (requireNamespace("renv", lib.loc = libpath, quietly = TRUE)) { + return(renv::load(project = project)) + } + + # failed to download or load renv; warn the user + msg <- c( + "Failed to find an renv installation: the project will not be loaded.", + "Use `renv::activate()` to re-initialize the project." + ) + + warning(paste(msg, collapse = "\n"), call. = FALSE) + + } + + 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 + + # if jsonlite is loaded, use that instead + if ("jsonlite" %in% loadedNamespaces()) { + + json <- tryCatch(renv_json_read_jsonlite(file, text), error = identity) + if (!inherits(json, "error")) + return(json) + + jlerr <- json + + } + + # otherwise, fall back to the default JSON reader + json <- tryCatch(renv_json_read_default(file, text), error = identity) + if (!inherits(json, "error")) + return(json) + + # report an error + if (!is.null(jlerr)) + stop(jlerr) + else + stop(json) + + } + + renv_json_read_jsonlite <- function(file = NULL, text = NULL) { + text <- paste(text %||% readLines(file, warn = FALSE), collapse = "\n") + jsonlite::fromJSON(txt = text, simplifyVector = FALSE) + } + + renv_json_read_patterns <- function() { + + list( + + # objects + list("{", "\t\n\tobject(\t\n\t", TRUE), + list("}", "\t\n\t)\t\n\t", TRUE), + + # arrays + list("[", "\t\n\tarray(\t\n\t", TRUE), + list("]", "\n\t\n)\n\t\n", TRUE), + + # maps + list(":", "\t\n\t=\t\n\t", TRUE), + + # newlines + list("\\u000a", "\n", FALSE) + + ) + + } + + renv_json_read_envir <- function() { + + envir <- new.env(parent = emptyenv()) + + envir[["+"]] <- `+` + envir[["-"]] <- `-` + + envir[["object"]] <- function(...) { + result <- list(...) + names(result) <- as.character(names(result)) + result + } + + envir[["array"]] <- list + + envir[["true"]] <- TRUE + envir[["false"]] <- FALSE + envir[["null"]] <- NULL + + envir + + } + + renv_json_read_remap <- function(object, patterns) { + + # 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 + + } + + # repair strings if necessary + if (is.character(object)) { + for (pattern in patterns) + object <- gsub(pattern[[2L]], pattern[[1L]], object, fixed = TRUE) + } + + # 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) + + # construct path to library root + root <- renv_bootstrap_library_root(project) + + # construct library prefix for platform + prefix <- renv_bootstrap_platform_prefix() + + # construct full libpath + libpath <- file.path(root, prefix) + + # run bootstrap code + renv_bootstrap_exec(project, libpath, version) + + invisible() + +}) diff --git a/blog/2026/alberta-daylight-time/renv/settings.json b/blog/2026/alberta-daylight-time/renv/settings.json new file mode 100644 index 0000000..ffdbb32 --- /dev/null +++ b/blog/2026/alberta-daylight-time/renv/settings.json @@ -0,0 +1,19 @@ +{ + "bioconductor.version": null, + "external.libraries": [], + "ignored.packages": [], + "package.dependency.fields": [ + "Imports", + "Depends", + "LinkingTo" + ], + "ppm.enabled": null, + "ppm.ignored.urls": [], + "r.version": null, + "snapshot.type": "implicit", + "use.cache": true, + "vcs.ignore.cellar": true, + "vcs.ignore.library": true, + "vcs.ignore.local": true, + "vcs.manage.ignores": true +} From cde0876d1383c17b56b20323e49ada20ca033a85 Mon Sep 17 00:00:00 2001 From: jdawang Date: Wed, 29 Apr 2026 01:22:00 +0000 Subject: [PATCH 2/5] save --- .../index/execute-results/html.json | 15 + .../figure-html/fig-anim-sunrise-times-1.gif | Bin 0 -> 132939 bytes .../figure-html/fig-anim-sunset-times-1.gif | Bin 0 -> 136257 bytes .../figure-html/fig-calgary-daylight-1.png | Bin 0 -> 111297 bytes .../figure-html/fig-edmonton-daylight-1.png | Bin 0 -> 110984 bytes .../index/figure-html/fig-sunrise-times-1.png | Bin 0 -> 61835 bytes .../index/figure-html/fig-sunset-times-1.png | Bin 0 -> 63015 bytes blog/2026/alberta-daylight-time/index.qmd | 445 ++++++- blog/2026/alberta-daylight-time/renv.lock | 1100 ++++++++++++++++- 9 files changed, 1524 insertions(+), 36 deletions(-) create mode 100644 _freeze/blog/2026/alberta-daylight-time/index/execute-results/html.json create mode 100644 _freeze/blog/2026/alberta-daylight-time/index/figure-html/fig-anim-sunrise-times-1.gif create mode 100644 _freeze/blog/2026/alberta-daylight-time/index/figure-html/fig-anim-sunset-times-1.gif create mode 100644 _freeze/blog/2026/alberta-daylight-time/index/figure-html/fig-calgary-daylight-1.png create mode 100644 _freeze/blog/2026/alberta-daylight-time/index/figure-html/fig-edmonton-daylight-1.png create mode 100644 _freeze/blog/2026/alberta-daylight-time/index/figure-html/fig-sunrise-times-1.png create mode 100644 _freeze/blog/2026/alberta-daylight-time/index/figure-html/fig-sunset-times-1.png diff --git a/_freeze/blog/2026/alberta-daylight-time/index/execute-results/html.json b/_freeze/blog/2026/alberta-daylight-time/index/execute-results/html.json new file mode 100644 index 0000000..76efccc --- /dev/null +++ b/_freeze/blog/2026/alberta-daylight-time/index/execute-results/html.json @@ -0,0 +1,15 @@ +{ + "hash": "44fc19b27a0eb61bba6643c0066613cf", + "result": { + "engine": "knitr", + "markdown": "---\ntitle: \"Alberta daylight time\"\ndate: \"2026-04-30\"\nauthor: \"Jacob Dawang\"\ncategories: [alberta, edmonton]\ndescription: \"Alberta is switching to permanent daylight time. This will mean our winter mornings will be much darker. Kids will be going to school in pitch dark for most of the winter. \"\nlink-external-newwindow: true\nlink-external-icon: false\nexecute:\n cache: true\n---\n\nAlberta is switching to permanent daylight time.\nPeople generally get the vibe of what this means: more sunlight in the evenings, more darkness in the mornings.\nBut, I don't think we understand exactly what this looks like concretely.\nWhatever your opinion on the policy, it's important to know what we're getting into.\n\nPersonally, I would prefer permanent standard time as the benefits of more light in the morning is important to circadian rhythm.\nIn the 70s, the United States experimented with permanent daylight time, and it only lasted one winter before they switched back to standard time.\nSupport went from something like 80% in favour of permanent daylight time before the experiment, to only 40% after.\n\nAnyway, in this post, I visualize sunrise and sunset times across Alberta under both the current standard time (UTC−7) and the proposed permanent daylight time (UTC−6).\nYes, as usual, there are maps, but let's start with a deep-dive into Edmonton and Calgary, the two largest cities in the province.\n\n\n::: {.cell}\n\n:::\n\n\n\n::: {.cell}\n\n:::\n\n\n## Edmonton deep-dive\n\n\n::: {.cell}\n\n:::\n\n\n@fig-edmonton-daylight shows sunrise and sunset times in Edmonton from October to March under both time regimes.\nThe dashed vertical lines mark 8:00, 9:00, 17:00, and 18:00, which are common reference points for \"early morning\", \"late morning\", \"early evening\", and \"late evening\".\n\nUnder standard time, yes, sunrise is after 8:00 starting in mid-November, but it doesn't get as late as 9:00 until early January.\nAs early as February, sunrise is back to being before 9:00.\nThere are a few dark mornings in December and January, but for most of the winter, people in Edmonton will see the sun at some point in their morning routine.\nThat means people will be waking up to some light, commuting to work, and taking their kids to school in the light for the majority of the winter. \n\nOn the other hand, with daylight time, sunrise will be after 9:00 from November, all the way until mid-February.\nFor most of the winter, it will be pitch black from the time people wake up all the way until they arrive at work or school.\nTaking kids to school will be done completely in the dark for most of the winter.\n\nWhen it comes to sunsets, the difference is flipped.\nUnder standard time, sunset is before 17:00 from early November until mid-February, meaning that most of the evening commute and after-work activities will be in the dark for most of the winter.\nHowever, sunset is still after 16:00 every single month, which means schools will dismiss kids while it's still light out, and there will be some daylight for after-school activities.\n\nWith daylight time, sunset is after 17:00 every single day, but is still before 18:00 during the darkest months.\nThat means that the evening commute will generally be light and there may be time for early commuters to get home and do some evening activities in the light. \n\n\n\n::: {.cell}\n::: {.cell-output-display}\n![Edmonton sunrise and sunset times, October to March](index_files/figure-html/fig-edmonton-daylight-1.png){#fig-edmonton-daylight width=672}\n:::\n:::\n\n\n## Calgary deep-dive\n\n\n::: {.cell}\n\n:::\n\n\nThe same observations hold for Calgary in @fig-calgary-daylight, but the effects are less extreme given it's further south.\n\n\n::: {.cell}\n::: {.cell-output-display}\n![Calgary sunrise and sunset times, October to March](index_files/figure-html/fig-calgary-daylight-1.png){#fig-calgary-daylight width=672}\n:::\n:::\n\n\n## Alberta maps\n\n::: {.cell}\n\n:::\n\n\n\n::: {.cell}\n\n:::\n\n\nBeyond Edmonton and Calgary, the rest of Alberta will see similar patterns. @fig-sunrise-times shows sunrise times across the province on December 21, the darkest day of the year, under both time regimes.\nI feel bad for the folks in the westernmost and northernmost parts of the province who will have extremely late sunrises.\n\n\n\n::: {.cell .preview-image}\n::: {.cell-output-display}\n![Sunrise times in Alberta on December 21](index_files/figure-html/fig-sunrise-times-1.png){#fig-sunrise-times width=672}\n:::\n:::\n\n\nFor completeness, @fig-sunset-times shows sunset times across the province on December 21 under both time regimes.\n\n\n::: {.cell}\n::: {.cell-output-display}\n![Sunset times in Alberta on December 21](index_files/figure-html/fig-sunset-times-1.png){#fig-sunset-times width=672}\n:::\n:::\n\n\nAs a final visualization, I made animations of sunrise and sunset times in @fig-anim-sunrise-times across the province from October to March under both time regimes. You can see the changing sunrise and sunset times across the province as the days get darker and then lighter again.\n\n\n::: {.cell}\n::: {.cell-output-display}\n![Sunrise times in Alberta from October to March](index_files/figure-html/fig-anim-sunrise-times-1.gif){#fig-anim-sunrise-times}\n:::\n:::\n\n\nYou can see the sunset times changing across the province in @fig-anim-sunset-times as well.\n\n\n::: {.cell}\n::: {.cell-output-display}\n![Sunset times in Alberta from October to March](index_files/figure-html/fig-anim-sunset-times-1.gif){#fig-anim-sunset-times}\n:::\n:::\n", + "supporting": [], + "filters": [ + "rmarkdown/pagebreak.lua" + ], + "includes": {}, + "engineDependencies": {}, + "preserve": {}, + "postProcess": true + } +} \ No newline at end of file diff --git a/_freeze/blog/2026/alberta-daylight-time/index/figure-html/fig-anim-sunrise-times-1.gif b/_freeze/blog/2026/alberta-daylight-time/index/figure-html/fig-anim-sunrise-times-1.gif new file mode 100644 index 0000000000000000000000000000000000000000..2db5d04b06696b63bc44686327f633d5393ad0d2 GIT binary patch literal 132939 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 K9}>>mCH@DZbnPYp literal 0 HcmV?d00001 diff --git a/_freeze/blog/2026/alberta-daylight-time/index/figure-html/fig-anim-sunset-times-1.gif b/_freeze/blog/2026/alberta-daylight-time/index/figure-html/fig-anim-sunset-times-1.gif new file mode 100644 index 0000000000000000000000000000000000000000..1934991f6e8636f0493b560950622e2caa0ced50 GIT binary patch literal 136257 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