From e24cf5e47c2f194f532d3a1886c51781510d0a8c Mon Sep 17 00:00:00 2001 From: Dan Snow Date: Mon, 4 Dec 2023 19:58:18 +0000 Subject: [PATCH 1/8] Add dev renv profile --- DESCRIPTION | 14 +- renv/profiles/dev/renv.lock | 524 +++++++++++++++++++++++++++ renv/profiles/dev/renv/.gitignore | 7 + renv/profiles/dev/renv/settings.json | 19 + 4 files changed, 563 insertions(+), 1 deletion(-) create mode 100644 renv/profiles/dev/renv.lock create mode 100644 renv/profiles/dev/renv/.gitignore create mode 100644 renv/profiles/dev/renv/settings.json diff --git a/DESCRIPTION b/DESCRIPTION index b41839a2..b42c327a 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1 +1,13 @@ -Config/renv/profiles/reporting/dependencies: quarto, leaflet, plotly, sf +Config/renv/profiles/dev/dependencies: + DBI, + igraph, + lubridate, + openxlsx, + readr, + RJDBC +Config/renv/profiles/reporting/dependencies: + leaflet, + plotly, + quarto, + rmarkdown, + sf diff --git a/renv/profiles/dev/renv.lock b/renv/profiles/dev/renv.lock new file mode 100644 index 00000000..f0739b80 --- /dev/null +++ b/renv/profiles/dev/renv.lock @@ -0,0 +1,524 @@ +{ + "R": { + "Version": "4.3.2", + "Repositories": [ + { + "Name": "CRAN", + "URL": "https://packagemanager.posit.co/cran/latest" + } + ] + }, + "Packages": { + "DBI": { + "Package": "DBI", + "Version": "1.1.3", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "methods" + ], + "Hash": "b2866e62bab9378c3cc9476a1954226b" + }, + "Matrix": { + "Package": "Matrix", + "Version": "1.5-1", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "graphics", + "grid", + "lattice", + "methods", + "stats", + "utils" + ], + "Hash": "539dc0c0c05636812f1080f473d2c177" + }, + "R6": { + "Package": "R6", + "Version": "2.5.1", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R" + ], + "Hash": "470851b6d5d0ac559e9d01bb352b4021" + }, + "RJDBC": { + "Package": "RJDBC", + "Version": "0.2-10", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "DBI", + "R", + "methods", + "rJava" + ], + "Hash": "13c8497cff6152328799ffcaf141ae2b" + }, + "Rcpp": { + "Package": "Rcpp", + "Version": "1.0.11", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "methods", + "utils" + ], + "Hash": "ae6cbbe1492f4de79c45fce06f967ce8" + }, + "bit": { + "Package": "bit", + "Version": "4.0.5", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R" + ], + "Hash": "d242abec29412ce988848d0294b208fd" + }, + "bit64": { + "Package": "bit64", + "Version": "4.0.5", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "bit", + "methods", + "stats", + "utils" + ], + "Hash": "9fe98599ca456d6552421db0d6772d8f" + }, + "cli": { + "Package": "cli", + "Version": "3.6.1", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "utils" + ], + "Hash": "89e6d8219950eac806ae0c489052048a" + }, + "clipr": { + "Package": "clipr", + "Version": "0.8.0", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "utils" + ], + "Hash": "3f038e5ac7f41d4ac41ce658c85e3042" + }, + "cpp11": { + "Package": "cpp11", + "Version": "0.4.7", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R" + ], + "Hash": "5a295d7d963cc5035284dcdbaf334f4e" + }, + "crayon": { + "Package": "crayon", + "Version": "1.5.2", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "grDevices", + "methods", + "utils" + ], + "Hash": "e8a1e41acf02548751f45c718d55aa6a" + }, + "fansi": { + "Package": "fansi", + "Version": "1.0.5", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "grDevices", + "utils" + ], + "Hash": "3e8583a60163b4bc1a80016e63b9959e" + }, + "generics": { + "Package": "generics", + "Version": "0.1.3", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "methods" + ], + "Hash": "15e9634c0fcd294799e9b2e929ed1b86" + }, + "glue": { + "Package": "glue", + "Version": "1.6.2", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "methods" + ], + "Hash": "4f2596dfb05dac67b9dc558e5c6fba2e" + }, + "hms": { + "Package": "hms", + "Version": "1.1.3", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "lifecycle", + "methods", + "pkgconfig", + "rlang", + "vctrs" + ], + "Hash": "b59377caa7ed00fa41808342002138f9" + }, + "igraph": { + "Package": "igraph", + "Version": "1.5.1", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "Matrix", + "R", + "cli", + "cpp11", + "grDevices", + "graphics", + "lifecycle", + "magrittr", + "methods", + "pkgconfig", + "rlang", + "stats", + "utils" + ], + "Hash": "80401cb5ec513e8ddc56764d03f63669" + }, + "lattice": { + "Package": "lattice", + "Version": "0.20-45", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "R", + "grDevices", + "graphics", + "grid", + "stats", + "utils" + ], + "Hash": "b64cdbb2b340437c4ee047a1f4c4377b" + }, + "lifecycle": { + "Package": "lifecycle", + "Version": "1.0.4", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "cli", + "glue", + "rlang" + ], + "Hash": "b8552d117e1b808b09a832f589b79035" + }, + "lubridate": { + "Package": "lubridate", + "Version": "1.9.3", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "generics", + "methods", + "timechange" + ], + "Hash": "680ad542fbcf801442c83a6ac5a2126c" + }, + "magrittr": { + "Package": "magrittr", + "Version": "2.0.3", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R" + ], + "Hash": "7ce2733a9826b3aeb1775d56fd305472" + }, + "openxlsx": { + "Package": "openxlsx", + "Version": "4.2.5.2", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "Rcpp", + "grDevices", + "methods", + "stats", + "stringi", + "utils", + "zip" + ], + "Hash": "c03b4c18d42da881fb8e15a085c2b9d6" + }, + "pillar": { + "Package": "pillar", + "Version": "1.9.0", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "cli", + "fansi", + "glue", + "lifecycle", + "rlang", + "utf8", + "utils", + "vctrs" + ], + "Hash": "15da5a8412f317beeee6175fbc76f4bb" + }, + "pkgconfig": { + "Package": "pkgconfig", + "Version": "2.0.3", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "utils" + ], + "Hash": "01f28d4278f15c76cddbea05899c5d6f" + }, + "prettyunits": { + "Package": "prettyunits", + "Version": "1.2.0", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R" + ], + "Hash": "6b01fc98b1e86c4f705ce9dcfd2f57c7" + }, + "progress": { + "Package": "progress", + "Version": "1.2.2", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R6", + "crayon", + "hms", + "prettyunits" + ], + "Hash": "14dc9f7a3c91ebb14ec5bb9208a07061" + }, + "rJava": { + "Package": "rJava", + "Version": "1.0-10", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "methods" + ], + "Hash": "151b95627c232d3822bb6d876286a99c" + }, + "readr": { + "Package": "readr", + "Version": "2.1.4", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "R6", + "cli", + "clipr", + "cpp11", + "crayon", + "hms", + "lifecycle", + "methods", + "rlang", + "tibble", + "tzdb", + "utils", + "vroom" + ], + "Hash": "b5047343b3825f37ad9d3b5d89aa1078" + }, + "renv": { + "Package": "renv", + "Version": "1.0.3", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "utils" + ], + "Hash": "41b847654f567341725473431dd0d5ab" + }, + "rlang": { + "Package": "rlang", + "Version": "1.1.2", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "utils" + ], + "Hash": "50a6dbdc522936ca35afc5e2082ea91b" + }, + "stringi": { + "Package": "stringi", + "Version": "1.8.2", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "stats", + "tools", + "utils" + ], + "Hash": "e68c45f81639001af5f1b15cd3599bbd" + }, + "tibble": { + "Package": "tibble", + "Version": "3.2.1", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "fansi", + "lifecycle", + "magrittr", + "methods", + "pillar", + "pkgconfig", + "rlang", + "utils", + "vctrs" + ], + "Hash": "a84e2cc86d07289b3b6f5069df7a004c" + }, + "tidyselect": { + "Package": "tidyselect", + "Version": "1.2.0", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "cli", + "glue", + "lifecycle", + "rlang", + "vctrs", + "withr" + ], + "Hash": "79540e5fcd9e0435af547d885f184fd5" + }, + "timechange": { + "Package": "timechange", + "Version": "0.2.0", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "cpp11" + ], + "Hash": "8548b44f79a35ba1791308b61e6012d7" + }, + "tzdb": { + "Package": "tzdb", + "Version": "0.4.0", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "cpp11" + ], + "Hash": "f561504ec2897f4d46f0c7657e488ae1" + }, + "utf8": { + "Package": "utf8", + "Version": "1.2.4", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R" + ], + "Hash": "62b65c52671e6665f803ff02954446e9" + }, + "vctrs": { + "Package": "vctrs", + "Version": "0.6.5", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "cli", + "glue", + "lifecycle", + "rlang" + ], + "Hash": "c03fa420630029418f7e6da3667aac4a" + }, + "vroom": { + "Package": "vroom", + "Version": "1.6.4", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "bit64", + "cli", + "cpp11", + "crayon", + "glue", + "hms", + "lifecycle", + "methods", + "progress", + "rlang", + "stats", + "tibble", + "tidyselect", + "tzdb", + "vctrs", + "withr" + ], + "Hash": "9db52c1656cf19c124f93124ea57f0fd" + }, + "withr": { + "Package": "withr", + "Version": "2.5.2", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "grDevices", + "graphics", + "stats" + ], + "Hash": "4b25e70111b7d644322e9513f403a272" + }, + "zip": { + "Package": "zip", + "Version": "2.3.0", + "Source": "Repository", + "Repository": "RSPM", + "Hash": "d98c94dacb7e0efcf83b0a133a705504" + } + } +} diff --git a/renv/profiles/dev/renv/.gitignore b/renv/profiles/dev/renv/.gitignore new file mode 100644 index 00000000..0ec0cbba --- /dev/null +++ b/renv/profiles/dev/renv/.gitignore @@ -0,0 +1,7 @@ +library/ +local/ +cellar/ +lock/ +python/ +sandbox/ +staging/ diff --git a/renv/profiles/dev/renv/settings.json b/renv/profiles/dev/renv/settings.json new file mode 100644 index 00000000..2fbd15a4 --- /dev/null +++ b/renv/profiles/dev/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": [], + "snapshot.type": "explicit", + "use.cache": true, + "vcs.ignore.cellar": true, + "vcs.ignore.library": true, + "vcs.ignore.local": true, + "vcs.manage.ignores": true +} From 5d037fabf1840cba1fd573f211aba8c35ae1b9bb Mon Sep 17 00:00:00 2001 From: Dan Snow Date: Mon, 4 Dec 2023 19:59:33 +0000 Subject: [PATCH 2/8] Update reporting renv profile settings --- renv/profiles/reporting/renv.lock | 20 -------------------- renv/profiles/reporting/renv/settings.json | 19 +++++++++++++++++++ 2 files changed, 19 insertions(+), 20 deletions(-) create mode 100644 renv/profiles/reporting/renv/settings.json diff --git a/renv/profiles/reporting/renv.lock b/renv/profiles/reporting/renv.lock index ca612662..368829d3 100644 --- a/renv/profiles/reporting/renv.lock +++ b/renv/profiles/reporting/renv.lock @@ -441,16 +441,6 @@ ], "Hash": "b29cf3031f49b04ab9c852c912547eef" }, - "here": { - "Package": "here", - "Version": "1.0.1", - "Source": "Repository", - "Repository": "RSPM", - "Requirements": [ - "rprojroot" - ], - "Hash": "24b224366f9c2e7534d2344d10d59211" - }, "highr": { "Package": "highr", "Version": "0.10", @@ -969,16 +959,6 @@ ], "Hash": "d65e35823c817f09f4de424fcdfa812a" }, - "rprojroot": { - "Package": "rprojroot", - "Version": "2.0.4", - "Source": "Repository", - "Repository": "RSPM", - "Requirements": [ - "R" - ], - "Hash": "4c8415e0ec1e29f3f4f6fc108bef0144" - }, "rsconnect": { "Package": "rsconnect", "Version": "1.1.1", diff --git a/renv/profiles/reporting/renv/settings.json b/renv/profiles/reporting/renv/settings.json new file mode 100644 index 00000000..2fbd15a4 --- /dev/null +++ b/renv/profiles/reporting/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": [], + "snapshot.type": "explicit", + "use.cache": true, + "vcs.ignore.cellar": true, + "vcs.ignore.library": true, + "vcs.ignore.local": true, + "vcs.manage.ignores": true +} From 579d1ea94cd0d0b6d8db1e41b6a147905e141f0b Mon Sep 17 00:00:00 2001 From: Dan Snow Date: Mon, 4 Dec 2023 19:59:50 +0000 Subject: [PATCH 3/8] Update renv deps and remove deprecated file --- renv.lock | 36 ++++++++++++++++++++---------------- renv/settings.dcf | 8 -------- 2 files changed, 20 insertions(+), 24 deletions(-) delete mode 100644 renv/settings.dcf diff --git a/renv.lock b/renv.lock index 421ff83d..5488f061 100644 --- a/renv.lock +++ b/renv.lock @@ -1,6 +1,6 @@ { "R": { - "Version": "4.2.2", + "Version": "4.3.2", "Repositories": [ { "Name": "CRAN", @@ -116,7 +116,7 @@ }, "arrow": { "Package": "arrow", - "Version": "14.0.0.1", + "Version": "14.0.0.2", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -134,7 +134,7 @@ "utils", "vctrs" ], - "Hash": "75782a533f9cddf70709455abcc52d5d" + "Hash": "042f2ee2286a91abe5a3d66c9be92380" }, "askpass": { "Package": "askpass", @@ -415,13 +415,13 @@ }, "cpp11": { "Package": "cpp11", - "Version": "0.4.6", + "Version": "0.4.7", "Source": "Repository", "Repository": "RSPM", "Requirements": [ "R" ], - "Hash": "707fae4bbf73697ec8d85f9d7076c061" + "Hash": "5a295d7d963cc5035284dcdbaf334f4e" }, "crayon": { "Package": "crayon", @@ -854,13 +854,13 @@ }, "jsonlite": { "Package": "jsonlite", - "Version": "1.8.7", + "Version": "1.8.8", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "methods" ], - "Hash": "266a20443ca13c65688b2116d5220f76" + "Hash": "e1b9c55281c5adc4dd113652d9e26768" }, "knitr": { "Package": "knitr", @@ -1413,10 +1413,12 @@ "renv": { "Package": "renv", "Version": "1.0.3", - "OS_type": null, - "NeedsCompilation": "no", + "Source": "Repository", "Repository": "CRAN", - "Source": "Repository" + "Requirements": [ + "utils" + ], + "Hash": "41b847654f567341725473431dd0d5ab" }, "rlang": { "Package": "rlang", @@ -1764,9 +1766,9 @@ }, "vctrs": { "Package": "vctrs", - "Version": "0.6.4", + "Version": "0.6.5", "Source": "Repository", - "Repository": "CRAN", + "Repository": "RSPM", "Requirements": [ "R", "cli", @@ -1774,7 +1776,7 @@ "lifecycle", "rlang" ], - "Hash": "266c1ca411266ba8f365fcc726444b87" + "Hash": "c03fa420630029418f7e6da3667aac4a" }, "viridisLite": { "Package": "viridisLite", @@ -1898,14 +1900,16 @@ }, "xml2": { "Package": "xml2", - "Version": "1.3.5", + "Version": "1.3.6", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", - "methods" + "cli", + "methods", + "rlang" ], - "Hash": "6c40e5cfcc6aefd88110666e18c31f40" + "Hash": "1d0336142f4cd25d8d23cd3ba7a8fb61" }, "yaml": { "Package": "yaml", diff --git a/renv/settings.dcf b/renv/settings.dcf deleted file mode 100644 index fc4e4790..00000000 --- a/renv/settings.dcf +++ /dev/null @@ -1,8 +0,0 @@ -external.libraries: -ignored.packages: -package.dependency.fields: Imports, Depends, LinkingTo -r.version: -snapshot.type: implicit -use.cache: TRUE -vcs.ignore.library: TRUE -vcs.ignore.local: TRUE From d3e84cc7967567efe7d5859b3e64cf72a27939f0 Mon Sep 17 00:00:00 2001 From: Dan Snow Date: Mon, 4 Dec 2023 20:08:03 +0000 Subject: [PATCH 4/8] Add rmarkdown to dev profile --- DESCRIPTION | 2 +- renv/profiles/dev/renv.lock | 294 +++++++++++++++++++++++++++++++++++- 2 files changed, 290 insertions(+), 6 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index b42c327a..c0761b1d 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -4,10 +4,10 @@ Config/renv/profiles/dev/dependencies: lubridate, openxlsx, readr, + rmarkdown, RJDBC Config/renv/profiles/reporting/dependencies: leaflet, plotly, quarto, - rmarkdown, sf diff --git a/renv/profiles/dev/renv.lock b/renv/profiles/dev/renv.lock index f0739b80..f9c9f120 100644 --- a/renv/profiles/dev/renv.lock +++ b/renv/profiles/dev/renv.lock @@ -22,11 +22,12 @@ }, "Matrix": { "Package": "Matrix", - "Version": "1.5-1", + "Version": "1.6-4", "Source": "Repository", - "Repository": "CRAN", + "Repository": "RSPM", "Requirements": [ "R", + "grDevices", "graphics", "grid", "lattice", @@ -34,7 +35,7 @@ "stats", "utils" ], - "Hash": "539dc0c0c05636812f1080f473d2c177" + "Hash": "d9c655b30a2edc6bb2244c1d1e8d549d" }, "R6": { "Package": "R6", @@ -70,6 +71,16 @@ ], "Hash": "ae6cbbe1492f4de79c45fce06f967ce8" }, + "base64enc": { + "Package": "base64enc", + "Version": "0.1-3", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R" + ], + "Hash": "543776ae6848fde2f48ff3816d0628bc" + }, "bit": { "Package": "bit", "Version": "4.0.5", @@ -94,6 +105,38 @@ ], "Hash": "9fe98599ca456d6552421db0d6772d8f" }, + "bslib": { + "Package": "bslib", + "Version": "0.6.1", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "base64enc", + "cachem", + "grDevices", + "htmltools", + "jquerylib", + "jsonlite", + "lifecycle", + "memoise", + "mime", + "rlang", + "sass" + ], + "Hash": "c0d8599494bc7fb408cd206bbdd9cab0" + }, + "cachem": { + "Package": "cachem", + "Version": "1.0.8", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "fastmap", + "rlang" + ], + "Hash": "c35768291560ce302c0a6589f92e837d" + }, "cli": { "Package": "cli", "Version": "3.6.1", @@ -137,6 +180,39 @@ ], "Hash": "e8a1e41acf02548751f45c718d55aa6a" }, + "digest": { + "Package": "digest", + "Version": "0.6.33", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "utils" + ], + "Hash": "b18a9cf3c003977b0cc49d5e76ebe48d" + }, + "ellipsis": { + "Package": "ellipsis", + "Version": "0.3.2", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "rlang" + ], + "Hash": "bb0eec2fe32e88d9e2836c2f73ea2077" + }, + "evaluate": { + "Package": "evaluate", + "Version": "0.23", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "methods" + ], + "Hash": "daf4a1246be12c1fa8c7705a0935c1a0" + }, "fansi": { "Package": "fansi", "Version": "1.0.5", @@ -149,6 +225,36 @@ ], "Hash": "3e8583a60163b4bc1a80016e63b9959e" }, + "fastmap": { + "Package": "fastmap", + "Version": "1.1.1", + "Source": "Repository", + "Repository": "RSPM", + "Hash": "f7736a18de97dea803bde0a2daaafb27" + }, + "fontawesome": { + "Package": "fontawesome", + "Version": "0.5.2", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "htmltools", + "rlang" + ], + "Hash": "c2efdd5f0bcd1ea861c2d4e2a883a67d" + }, + "fs": { + "Package": "fs", + "Version": "1.6.3", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "methods" + ], + "Hash": "47b5f30c720c23999b913a1a635cf0bb" + }, "generics": { "Package": "generics", "Version": "0.1.3", @@ -171,6 +277,17 @@ ], "Hash": "4f2596dfb05dac67b9dc558e5c6fba2e" }, + "highr": { + "Package": "highr", + "Version": "0.10", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "xfun" + ], + "Hash": "06230136b2d2b9ba5805e1963fa6e890" + }, "hms": { "Package": "hms", "Version": "1.1.3", @@ -185,6 +302,23 @@ ], "Hash": "b59377caa7ed00fa41808342002138f9" }, + "htmltools": { + "Package": "htmltools", + "Version": "0.5.7", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "base64enc", + "digest", + "ellipsis", + "fastmap", + "grDevices", + "rlang", + "utils" + ], + "Hash": "2d7b3857980e0e0d0a1fd6f11928ab0f" + }, "igraph": { "Package": "igraph", "Version": "1.5.1", @@ -207,9 +341,45 @@ ], "Hash": "80401cb5ec513e8ddc56764d03f63669" }, + "jquerylib": { + "Package": "jquerylib", + "Version": "0.1.4", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "htmltools" + ], + "Hash": "5aab57a3bd297eee1c1d862735972182" + }, + "jsonlite": { + "Package": "jsonlite", + "Version": "1.8.7", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "methods" + ], + "Hash": "266a20443ca13c65688b2116d5220f76" + }, + "knitr": { + "Package": "knitr", + "Version": "1.45", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "evaluate", + "highr", + "methods", + "tools", + "xfun", + "yaml" + ], + "Hash": "1ec462871063897135c1bcbe0fc8f07d" + }, "lattice": { "Package": "lattice", - "Version": "0.20-45", + "Version": "0.22-5", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -220,7 +390,7 @@ "stats", "utils" ], - "Hash": "b64cdbb2b340437c4ee047a1f4c4377b" + "Hash": "7c5e89f04e72d6611c77451f6331a091" }, "lifecycle": { "Package": "lifecycle", @@ -258,6 +428,27 @@ ], "Hash": "7ce2733a9826b3aeb1775d56fd305472" }, + "memoise": { + "Package": "memoise", + "Version": "2.0.1", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "cachem", + "rlang" + ], + "Hash": "e2817ccf4a065c5d9d7f2cfbe7c1d78c" + }, + "mime": { + "Package": "mime", + "Version": "0.12", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "tools" + ], + "Hash": "18e9c28c1d3ca1560ce30658b22ce104" + }, "openxlsx": { "Package": "openxlsx", "Version": "4.2.5.2", @@ -336,6 +527,16 @@ ], "Hash": "151b95627c232d3822bb6d876286a99c" }, + "rappdirs": { + "Package": "rappdirs", + "Version": "0.3.3", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R" + ], + "Hash": "5e3c5dc0b071b21fa128676560dbe94d" + }, "readr": { "Package": "readr", "Version": "2.1.4", @@ -380,6 +581,44 @@ ], "Hash": "50a6dbdc522936ca35afc5e2082ea91b" }, + "rmarkdown": { + "Package": "rmarkdown", + "Version": "2.25", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "bslib", + "evaluate", + "fontawesome", + "htmltools", + "jquerylib", + "jsonlite", + "knitr", + "methods", + "stringr", + "tinytex", + "tools", + "utils", + "xfun", + "yaml" + ], + "Hash": "d65e35823c817f09f4de424fcdfa812a" + }, + "sass": { + "Package": "sass", + "Version": "0.4.7", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R6", + "fs", + "htmltools", + "rappdirs", + "rlang" + ], + "Hash": "6bd4d33b50ff927191ec9acbf52fd056" + }, "stringi": { "Package": "stringi", "Version": "1.8.2", @@ -393,6 +632,23 @@ ], "Hash": "e68c45f81639001af5f1b15cd3599bbd" }, + "stringr": { + "Package": "stringr", + "Version": "1.5.1", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "cli", + "glue", + "lifecycle", + "magrittr", + "rlang", + "stringi", + "vctrs" + ], + "Hash": "960e2ae9e09656611e0b8214ad543207" + }, "tibble": { "Package": "tibble", "Version": "3.2.1", @@ -439,6 +695,16 @@ ], "Hash": "8548b44f79a35ba1791308b61e6012d7" }, + "tinytex": { + "Package": "tinytex", + "Version": "0.49", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "xfun" + ], + "Hash": "5ac22900ae0f386e54f1c307eca7d843" + }, "tzdb": { "Package": "tzdb", "Version": "0.4.0", @@ -513,6 +779,24 @@ ], "Hash": "4b25e70111b7d644322e9513f403a272" }, + "xfun": { + "Package": "xfun", + "Version": "0.41", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "stats", + "tools" + ], + "Hash": "460a5e0fe46a80ef87424ad216028014" + }, + "yaml": { + "Package": "yaml", + "Version": "2.3.7", + "Source": "Repository", + "Repository": "RSPM", + "Hash": "0d0056cc5383fbc240ccd0cb584bf436" + }, "zip": { "Package": "zip", "Version": "2.3.0", From 38abf8656f0d4b777d1048093ce421623ac05cb0 Mon Sep 17 00:00:00 2001 From: Dan Snow Date: Mon, 4 Dec 2023 20:20:35 +0000 Subject: [PATCH 5/8] Update README with new instruction for renv --- README.Rmd | 25 +++++++++++++++++++----- README.md | 56 +++++++++++++++++++++++++++++++++++++++++------------- 2 files changed, 63 insertions(+), 18 deletions(-) diff --git a/README.Rmd b/README.Rmd index 0d65684e..2c828828 100644 --- a/README.Rmd +++ b/README.Rmd @@ -77,7 +77,8 @@ graph LR All inputs and outputs are stored on AWS S3 using a unique run identifier. Each stage in the modeling pipeline corresponds to an individual R script. These scripts can be run independently (as a stand-alone script) or as part of the overall pipeline (with [DVC](#using-dvc)) as long as the dependencies for the stage exist. -> :warning: NOTE: For a full technical breakdown of each stage, including dependencies, outputs, parameters, and more, see [dvc.yaml](./dvc.yaml) +> [!NOTE] +For a full technical breakdown of each stage, including dependencies, outputs, parameters, and more, see [dvc.yaml](./dvc.yaml) 0. **Ingest**: Pull prepared data from the CCAO's Athena database. This data is divided into [2 primary datasets](#data-used), one for training and one for assessment. NOTE: This stage is only run as-needed, since the input data does not change for each model run. @@ -759,14 +760,28 @@ Both [Tidymodels](https://tune.tidymodels.org/articles/extras/optimizations.html * The number of threads is set via the [num_threads](https://lightgbm.readthedocs.io/en/latest/Parameters.html#num_threads) parameter, which is passed to the model using the `set_args()` function from `parsnip`. By default, `num_threads` is equal to the full number of physical cores available. More (or faster) cores will decrease total training time. * This repository uses the CPU version of LightGBM included with the [LightGBM R package](https://lightgbm.readthedocs.io/en/latest/R/index.html). If you'd like to use the GPU version you'll need to [build it yourself](https://lightgbm.readthedocs.io/en/latest/R/index.html#installing-a-gpu-enabled-build) or wait for the [upcoming CUDA release](https://github.com/microsoft/LightGBM/issues/5153). -## Updating R dependencies +## Managing R dependencies -We use multiple renv lockfiles in order to manage R dependencies: +### Profiles and Lockfiles + +We use multiple renv lockfiles to manage R dependencies: 1. **`renv.lock`** is the canonical list of dependencies that are used by the **core model pipeline**. Any dependencies that are required to run the model itself should be defined in this lockfile. -2. **`renv/profiles/reporting/renv.lock`** is the canonical list of dependencies that are used to **generate a model performance report** in the `finalize` step of the pipeline. Any dependencies that are required to generate that report or others like it should be defined in this lockfile. +2. **`renv/profiles/reporting/renv.lock`** is the canonical list of dependencies that are used to **generate model reports** in the `finalize` step of the pipeline. Any dependencies that are required to generate reports should be defined in this lockfile. +3. **`renv/profiles/dev/renv.lock`** is the canonical list of dependencies that are used **for local development**, running the `ingest`, `export`, and `api` steps of the pipeline, and building the README. These dependencies are required only by CCAO staff and are not required to run the model itself. + +Our goal in maintaining multiple lockfiles is to keep the list of dependencies required to run the model as short as possible. This choice adds overhead to the process of updating R dependencies, but incurs the benefit of a more maintainable model over the long term. + +### Using Lockfiles for Local Development + +When working on the model locally, you'll typically want to install non-core dependencies _on top of_ the core dependencies. To do this, simply run `renv::restore(" [!WARNING] +Installing dependencies from a dev lockfile will **overwrite** any existing version installed by the core one. For example, if `ggplot2@3.3.0` is installed by the core lockfile, and `ggplot2@3.2.1` is installed by the dev lockfile, renv will **overwrite** `ggplot2@3.3.0` with `ggplot2@3.2.1`. -Our goal in maintaining multiple lockfiles is to keep the list of dependencies that are required to run the model as short as possibile. This choice adds overhead to the process of updating R dependencies, but incurs the benefit of a more maintainable model over the long term. +### Updating Lockfiles The process for **updating core model pipeline dependencies** is straightforward: Running `renv::install("")` and `renv::snapshot()` will ensure that the dependency gets added or updated in `renv.lock`, as long is it is imported somewhere in the model pipeline via a `library()` call. diff --git a/README.md b/README.md index 3069a7f9..5fdabe51 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,11 @@ Table of Contents - [Output](#output) - [Getting Data](#getting-data) - [System Requirements](#system-requirements) - - [Updating R dependencies](#updating-r-dependencies) + - [Managing R dependencies](#managing-r-dependencies) + - [Profiles and Lockfiles](#profiles-and-lockfiles) + - [Using Lockfiles for Local + Development](#using-lockfiles-for-local-development) + - [Updating Lockfiles](#updating-lockfiles) - [Troubleshooting](#troubleshooting) - [License](#license) - [Contributing](#contributing) @@ -124,8 +128,8 @@ individual R script. These scripts can be run independently (as a stand-alone script) or as part of the overall pipeline (with [DVC](#using-dvc)) as long as the dependencies for the stage exist. -> :warning: NOTE: For a full technical breakdown of each stage, -> including dependencies, outputs, parameters, and more, see +> \[!NOTE\] For a full technical breakdown of each stage, including +> dependencies, outputs, parameters, and more, see > [dvc.yaml](./dvc.yaml) 0. **Ingest**: Pull prepared data from the CCAO’s Athena database. This @@ -340,7 +344,7 @@ districts](https://gitlab.com/ccao-data-science---modeling/models/ccao_res_avm/- and many others. The features in the table below are the ones that made the cut. They’re the right combination of easy to understand and impute, powerfully predictive, and well-behaved. Most of them are in use in the -model as of 2023-12-02. +model as of 2023-12-04. | Feature Name | Category | Type | Possible Values | Notes | |:------------------------------------------------------------------------|:---------------|:------------|:-----------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------| @@ -1264,23 +1268,49 @@ sped up using the parallel processing built-in to LightGBM. Note that: or wait for the [upcoming CUDA release](https://github.com/microsoft/LightGBM/issues/5153). -## Updating R dependencies +## Managing R dependencies -We use multiple renv lockfiles in order to manage R dependencies: +### Profiles and Lockfiles + +We use multiple renv lockfiles to manage R dependencies: 1. **`renv.lock`** is the canonical list of dependencies that are used by the **core model pipeline**. Any dependencies that are required to run the model itself should be defined in this lockfile. 2. **`renv/profiles/reporting/renv.lock`** is the canonical list of - dependencies that are used to **generate a model performance - report** in the `finalize` step of the pipeline. Any dependencies - that are required to generate that report or others like it should - be defined in this lockfile. + dependencies that are used to **generate model reports** in the + `finalize` step of the pipeline. Any dependencies that are required + to generate reports should be defined in this lockfile. +3. **`renv/profiles/dev/renv.lock`** is the canonical list of + dependencies that are used **for local development**, running the + `ingest`, `export`, and `api` steps of the pipeline, and building + the README. These dependencies are required only by CCAO staff and + are not required to run the model itself. Our goal in maintaining multiple lockfiles is to keep the list of -dependencies that are required to run the model as short as possibile. -This choice adds overhead to the process of updating R dependencies, but -incurs the benefit of a more maintainable model over the long term. +dependencies required to run the model as short as possible. This choice +adds overhead to the process of updating R dependencies, but incurs the +benefit of a more maintainable model over the long term. + +### Using Lockfiles for Local Development + +When working on the model locally, you’ll typically want to install +non-core dependencies *on top of* the core dependencies. To do this, +simply run `renv::restore(" \[!WARNING\] Installing dependencies from a dev lockfile will +> **overwrite** any existing version installed by the core one. For +> example, if `ggplot2@3.3.0` is installed by the core lockfile, and +> `ggplot2@3.2.1` is installed by the dev lockfile, renv will +> **overwrite** `ggplot2@3.3.0` with `ggplot2@3.2.1`. + +### Updating Lockfiles The process for **updating core model pipeline dependencies** is straightforward: Running `renv::install("")` and From 26afc9af74a35c7c3a169f53e063a0147505b92e Mon Sep 17 00:00:00 2001 From: Dan Snow Date: Mon, 4 Dec 2023 20:34:37 +0000 Subject: [PATCH 6/8] Update README warnings --- README.Rmd | 6 ++---- README.md | 6 +++--- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/README.Rmd b/README.Rmd index 2c828828..19592954 100644 --- a/README.Rmd +++ b/README.Rmd @@ -77,8 +77,7 @@ graph LR All inputs and outputs are stored on AWS S3 using a unique run identifier. Each stage in the modeling pipeline corresponds to an individual R script. These scripts can be run independently (as a stand-alone script) or as part of the overall pipeline (with [DVC](#using-dvc)) as long as the dependencies for the stage exist. -> [!NOTE] -For a full technical breakdown of each stage, including dependencies, outputs, parameters, and more, see [dvc.yaml](./dvc.yaml) +> :warning: NOTE: For a full technical breakdown of each stage, including dependencies, outputs, parameters, and more, see [dvc.yaml](./dvc.yaml) 0. **Ingest**: Pull prepared data from the CCAO's Athena database. This data is divided into [2 primary datasets](#data-used), one for training and one for assessment. NOTE: This stage is only run as-needed, since the input data does not change for each model run. @@ -778,8 +777,7 @@ When working on the model locally, you'll typically want to install non-core dep For example, if you're working on the `ingest` stage and want to install all its dependencies, start with the main profile (run `renv::activate()`), then install the `dev` profile dependencies on top of it (run `renv::restore("renv/profiles/dev/renv.lock")`). -> [!WARNING] -Installing dependencies from a dev lockfile will **overwrite** any existing version installed by the core one. For example, if `ggplot2@3.3.0` is installed by the core lockfile, and `ggplot2@3.2.1` is installed by the dev lockfile, renv will **overwrite** `ggplot2@3.3.0` with `ggplot2@3.2.1`. +> :warning: WARNING: Installing dependencies from a dev lockfile will **overwrite** any existing version installed by the core one. For example, if `ggplot2@3.3.0` is installed by the core lockfile, and `ggplot2@3.2.1` is installed by the dev lockfile, renv will **overwrite** `ggplot2@3.3.0` with `ggplot2@3.2.1`. ### Updating Lockfiles diff --git a/README.md b/README.md index 5fdabe51..7c2feacc 100644 --- a/README.md +++ b/README.md @@ -128,8 +128,8 @@ individual R script. These scripts can be run independently (as a stand-alone script) or as part of the overall pipeline (with [DVC](#using-dvc)) as long as the dependencies for the stage exist. -> \[!NOTE\] For a full technical breakdown of each stage, including -> dependencies, outputs, parameters, and more, see +> :warning: NOTE: For a full technical breakdown of each stage, +> including dependencies, outputs, parameters, and more, see > [dvc.yaml](./dvc.yaml) 0. **Ingest**: Pull prepared data from the CCAO’s Athena database. This @@ -1304,7 +1304,7 @@ all its dependencies, start with the main profile (run `renv::activate()`), then install the `dev` profile dependencies on top of it (run `renv::restore("renv/profiles/dev/renv.lock")`). -> \[!WARNING\] Installing dependencies from a dev lockfile will +> :warning: WARNING: Installing dependencies from a dev lockfile will > **overwrite** any existing version installed by the core one. For > example, if `ggplot2@3.3.0` is installed by the core lockfile, and > `ggplot2@3.2.1` is installed by the dev lockfile, renv will From 7b54492a7b7b0f95ac195a4a920c1bc0b78088ba Mon Sep 17 00:00:00 2001 From: Dan Snow Date: Mon, 4 Dec 2023 21:15:51 +0000 Subject: [PATCH 7/8] Downgrade xml2 and jsonlite --- renv.lock | 16 +++++++--------- renv/settings.json | 2 +- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/renv.lock b/renv.lock index 5488f061..26a82deb 100644 --- a/renv.lock +++ b/renv.lock @@ -854,13 +854,13 @@ }, "jsonlite": { "Package": "jsonlite", - "Version": "1.8.8", + "Version": "1.8.7", "Source": "Repository", - "Repository": "CRAN", + "Repository": "RSPM", "Requirements": [ "methods" ], - "Hash": "e1b9c55281c5adc4dd113652d9e26768" + "Hash": "266a20443ca13c65688b2116d5220f76" }, "knitr": { "Package": "knitr", @@ -1900,16 +1900,14 @@ }, "xml2": { "Package": "xml2", - "Version": "1.3.6", + "Version": "1.3.5", "Source": "Repository", - "Repository": "CRAN", + "Repository": "RSPM", "Requirements": [ "R", - "cli", - "methods", - "rlang" + "methods" ], - "Hash": "1d0336142f4cd25d8d23cd3ba7a8fb61" + "Hash": "6c40e5cfcc6aefd88110666e18c31f40" }, "yaml": { "Package": "yaml", diff --git a/renv/settings.json b/renv/settings.json index af034ffd..fad540e4 100644 --- a/renv/settings.json +++ b/renv/settings.json @@ -9,7 +9,7 @@ "Depends", "LinkingTo" ], - "ppm.enabled": null, + "ppm.enabled": true, "ppm.ignored.urls": [], "r.version": [], "snapshot.type": "implicit", From fd873f45b4c5ecb05582dbac90a94dc17dbbeb3b Mon Sep 17 00:00:00 2001 From: Dan Snow Date: Mon, 4 Dec 2023 21:55:52 +0000 Subject: [PATCH 8/8] Update reporting deps to match main --- renv/profiles/reporting/renv.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/renv/profiles/reporting/renv.lock b/renv/profiles/reporting/renv.lock index 368829d3..83c201b8 100644 --- a/renv/profiles/reporting/renv.lock +++ b/renv/profiles/reporting/renv.lock @@ -202,13 +202,13 @@ }, "cpp11": { "Package": "cpp11", - "Version": "0.4.6", + "Version": "0.4.7", "Source": "Repository", "Repository": "RSPM", "Requirements": [ "R" ], - "Hash": "707fae4bbf73697ec8d85f9d7076c061" + "Hash": "5a295d7d963cc5035284dcdbaf334f4e" }, "crosstalk": { "Package": "crosstalk", @@ -1214,7 +1214,7 @@ }, "vctrs": { "Package": "vctrs", - "Version": "0.6.4", + "Version": "0.6.5", "Source": "Repository", "Repository": "RSPM", "Requirements": [ @@ -1224,7 +1224,7 @@ "lifecycle", "rlang" ], - "Hash": "266c1ca411266ba8f365fcc726444b87" + "Hash": "c03fa420630029418f7e6da3667aac4a" }, "viridis": { "Package": "viridis",