From 08c051f7dfe3b2abaa890a190d820c33b28eabb6 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Tue, 2 Jan 2024 01:46:42 +0000 Subject: [PATCH] differences for PR #25 --- basic-targets.md | 14 +- branch.md | 92 +-- config.yaml | 87 --- files.md | 52 +- lifecycle.md | 46 +- md5sum.txt | 40 +- organization.md | 37 +- packages.md | 18 +- renv.lock | 1842 ---------------------------------------------- 9 files changed, 164 insertions(+), 2064 deletions(-) delete mode 100644 config.yaml delete mode 100644 renv.lock diff --git a/basic-targets.md b/basic-targets.md index b4ada2f0..bf062e3b 100644 --- a/basic-targets.md +++ b/basic-targets.md @@ -276,13 +276,13 @@ tar_make() ``` ```{.output} -• start target penguins_csv_file -• built target penguins_csv_file [0.002 seconds] -• start target penguins_data_raw -• built target penguins_data_raw [0.103 seconds] -• start target penguins_data -• built target penguins_data [0.012 seconds] -• end pipeline [0.326 seconds] +▶ dispatched target penguins_csv_file +● completed target penguins_csv_file [0 seconds] +▶ dispatched target penguins_data_raw +● completed target penguins_data_raw [0.122 seconds] +▶ dispatched target penguins_data +● completed target penguins_data [0.079 seconds] +▶ completed pipeline [0.266 seconds] ``` Congratulations, you've run your first workflow with `targets`! diff --git a/branch.md b/branch.md index 507c9626..f8fd792a 100644 --- a/branch.md +++ b/branch.md @@ -77,12 +77,12 @@ tar_plan( ```{.output} -✔ skip target penguins_data_raw_file -✔ skip target penguins_data_raw -✔ skip target penguins_data -• start target combined_model -• built target combined_model [0.041 seconds] -• end pipeline [0.143 seconds] +✔ skipped target penguins_data_raw_file +✔ skipped target penguins_data_raw +✔ skipped target penguins_data +▶ dispatched target combined_model +● completed target combined_model [0.026 seconds] +▶ completed pipeline [0.097 seconds] ``` Let's have a look at the model. We will use the `glance()` function from the `broom` package. Unlike base R `summary()`, this function returns output as a tibble (the tidyverse equivalent of a dataframe), which as we will see later is quite useful for downstream analyses. @@ -147,21 +147,21 @@ tar_plan( ```{.output} -✔ skip target penguins_data_raw_file -✔ skip target penguins_data_raw -✔ skip target penguins_data -✔ skip target combined_model -• start target interaction_model -• built target interaction_model [0.005 seconds] -• start target species_model -• built target species_model [0.002 seconds] -• start target combined_summary -• built target combined_summary [0.009 seconds] -• start target interaction_summary -• built target interaction_summary [0.004 seconds] -• start target species_summary -• built target species_summary [0.004 seconds] -• end pipeline [0.146 seconds] +✔ skipped target penguins_data_raw_file +✔ skipped target penguins_data_raw +✔ skipped target penguins_data +✔ skipped target combined_model +▶ dispatched target interaction_model +● completed target interaction_model [0.003 seconds] +▶ dispatched target species_model +● completed target species_model [0.001 seconds] +▶ dispatched target combined_summary +● completed target combined_summary [0.006 seconds] +▶ dispatched target interaction_summary +● completed target interaction_summary [0.032 seconds] +▶ dispatched target species_summary +● completed target species_summary [0.003 seconds] +▶ completed pipeline [0.136 seconds] ``` Let's look at the summary of one of the models: @@ -226,19 +226,19 @@ First, let's look at the messages provided by `tar_make()`. ```{.output} -✔ skip target penguins_data_raw_file -✔ skip target penguins_data_raw -✔ skip target penguins_data -• start target models -• built target models [0.007 seconds] -• start branch model_summaries_5ad4cec5 -• built branch model_summaries_5ad4cec5 [0.008 seconds] -• start branch model_summaries_c73912d5 -• built branch model_summaries_c73912d5 [0.004 seconds] -• start branch model_summaries_91696941 -• built branch model_summaries_91696941 [0.004 seconds] -• built pattern model_summaries -• end pipeline [0.148 seconds] +✔ skipped target penguins_data_raw_file +✔ skipped target penguins_data_raw +✔ skipped target penguins_data +▶ dispatched target models +● completed target models [0.004 seconds] +▶ dispatched branch model_summaries_5ad4cec5 +● completed branch model_summaries_5ad4cec5 [0.005 seconds] +▶ dispatched branch model_summaries_c73912d5 +● completed branch model_summaries_c73912d5 [0.003 seconds] +▶ dispatched branch model_summaries_91696941 +● completed branch model_summaries_91696941 [0.002 seconds] +● completed pattern model_summaries +▶ completed pipeline [0.137 seconds] ``` There is a series of smaller targets (branches) that are each named like model_summaries_5ad4cec5, then one overall `model_summaries` target. @@ -364,18 +364,18 @@ tar_plan( ```{.output} -✔ skip target penguins_data_raw_file -✔ skip target penguins_data_raw -✔ skip target penguins_data -✔ skip target models -• start branch model_summaries_5ad4cec5 -• built branch model_summaries_5ad4cec5 [0.023 seconds] -• start branch model_summaries_c73912d5 -• built branch model_summaries_c73912d5 [0.007 seconds] -• start branch model_summaries_91696941 -• built branch model_summaries_91696941 [0.013 seconds] -• built pattern model_summaries -• end pipeline [0.17 seconds] +✔ skipped target penguins_data_raw_file +✔ skipped target penguins_data_raw +✔ skipped target penguins_data +✔ skipped target models +▶ dispatched branch model_summaries_5ad4cec5 +● completed branch model_summaries_5ad4cec5 [0.012 seconds] +▶ dispatched branch model_summaries_c73912d5 +● completed branch model_summaries_c73912d5 [0.037 seconds] +▶ dispatched branch model_summaries_91696941 +● completed branch model_summaries_91696941 [0.003 seconds] +● completed pattern model_summaries +▶ completed pipeline [0.138 seconds] ``` And this time, when we load the `model_summaries`, we can tell which model corresponds to which row (you may need to scroll to the right to see it). diff --git a/config.yaml b/config.yaml deleted file mode 100644 index d7951c6c..00000000 --- a/config.yaml +++ /dev/null @@ -1,87 +0,0 @@ -#------------------------------------------------------------ -# Values for this lesson. -#------------------------------------------------------------ - -# Which carpentry is this (swc, dc, lc, or cp)? -# swc: Software Carpentry -# dc: Data Carpentry -# lc: Library Carpentry -# cp: Carpentries (to use for instructor training for instance) -# incubator: The Carpentries Incubator -carpentry: 'incubator' - -# Overall title for pages. -title: 'Introduction to targets' - -# Date the lesson was created (YYYY-MM-DD, this is empty by default) -created: ~ - -# Comma-separated list of keywords for the lesson -keywords: 'reproducibility, data, targets, R' - -# Life cycle stage of the lesson -# possible values: pre-alpha, alpha, beta, stable -life_cycle: 'pre-alpha' - -# License of the lesson -license: 'CC-BY 4.0' - -# Link to the source repository for this lesson -source: 'https://github.com/joelnitta/targets-workshop' - -# Default branch of your lesson -branch: 'main' - -# Who to contact if there are any issues -contact: 'joelnitta@gmail.com' - -# Navigation ------------------------------------------------ -# -# Use the following menu items to specify the order of -# individual pages in each dropdown section. Leave blank to -# include all pages in the folder. -# -# Example ------------- -# -# episodes: -# - introduction.md -# - first-steps.md -# -# learners: -# - setup.md -# -# instructors: -# - instructor-notes.md -# -# profiles: -# - one-learner.md -# - another-learner.md - -# Order of episodes in your lesson -episodes: -- introduction.Rmd -- basic-targets.Rmd -- cache.Rmd -- lifecycle.Rmd -- organization.Rmd -- packages.Rmd -- files.Rmd -- branch.Rmd -- parallel.Rmd -- quarto.Rmd - -# Information for Learners -learners: - -# Information for Instructors -instructors: - -# Learner Profiles -profiles: - -# Customisation --------------------------------------------- -# -# This space below is where custom yaml items (e.g. pinning -# sandpaper and varnish versions) should live - - diff --git a/files.md b/files.md index 351ef1b8..33925ed4 100644 --- a/files.md +++ b/files.md @@ -55,9 +55,9 @@ tar_plan( ```{.output} -• start target some_data -• built target some_data [0.001 seconds] -• end pipeline [0.079 seconds] +▶ dispatched target some_data +● completed target some_data [0.001 seconds] +▶ completed pipeline [0.052 seconds] ``` If we inspect the contents of `some_data` with `tar_read(some_data)`, it will contain the string `"Hello World"` as expected. @@ -76,8 +76,8 @@ tar_plan( ```{.output} -✔ skip target some_data -✔ skip pipeline [0.066 seconds] +✔ skipped target some_data +✔ skipped pipeline [0.043 seconds] ``` The target `some_data` was skipped, even though the contents of the file changed. @@ -97,11 +97,11 @@ tar_plan( ```{.output} -• start target data_file -• built target data_file [0.001 seconds] -• start target some_data -• built target some_data [0.001 seconds] -• end pipeline [0.088 seconds] +▶ dispatched target data_file +● completed target data_file [0.001 seconds] +▶ dispatched target some_data +● completed target some_data [0.001 seconds] +▶ completed pipeline [0.06 seconds] ``` This time we see that `targets` does successfully re-build `some_data` as expected. @@ -183,13 +183,13 @@ tar_plan( ```{.output} -• start target penguins_data_raw_file -• built target penguins_data_raw_file [0.002 seconds] -• start target penguins_data_raw -• built target penguins_data_raw [0.109 seconds] -• start target penguins_data -• built target penguins_data [0.017 seconds] -• end pipeline [0.227 seconds] +▶ dispatched target penguins_data_raw_file +● completed target penguins_data_raw_file [0 seconds] +▶ dispatched target penguins_data_raw +● completed target penguins_data_raw [0.185 seconds] +▶ dispatched target penguins_data +● completed target penguins_data [0.013 seconds] +▶ completed pipeline [0.267 seconds] ``` :::::::::::::::::::::::::::::::::: @@ -261,15 +261,15 @@ tar_plan( ```{.output} -• start target hello_file -• built target hello_file [0.002 seconds] -• start target hello -• built target hello [0.001 seconds] -• start target hello_caps -• built target hello_caps [0 seconds] -• start target hello_caps_out -• built target hello_caps_out [0.001 seconds] -• end pipeline [0.104 seconds] +▶ dispatched target hello_file +● completed target hello_file [0.001 seconds] +▶ dispatched target hello +● completed target hello [0 seconds] +▶ dispatched target hello_caps +● completed target hello_caps [0 seconds] +▶ dispatched target hello_caps_out +● completed target hello_caps_out [0 seconds] +▶ completed pipeline [0.067 seconds] ``` Take a look at `hello_caps.txt` in the `results` folder and verify it is as you expect. diff --git a/lifecycle.md b/lifecycle.md index 5d47271e..a35f0bab 100644 --- a/lifecycle.md +++ b/lifecycle.md @@ -39,10 +39,10 @@ tar_make() ``` ```{.output} -✔ skip target penguins_csv_file -✔ skip target penguins_data_raw -✔ skip target penguins_data -✔ skip pipeline [0.2 seconds] +✔ skipped target penguins_csv_file +✔ skipped target penguins_data_raw +✔ skipped target penguins_data +✔ skipped pipeline [0.058 seconds] ``` Remember how the first time we ran the pipeline, `targets` printed out a list of each target as it was being built? @@ -83,11 +83,11 @@ tar_make() ``` ```{.output} -✔ skip target penguins_csv_file -✔ skip target penguins_data_raw -• start target penguins_data -• built target penguins_data [0.024 seconds] -• end pipeline [0.124 seconds] +✔ skipped target penguins_csv_file +✔ skipped target penguins_data_raw +▶ dispatched target penguins_data +● completed target penguins_data [0.013 seconds] +▶ completed pipeline [0.083 seconds] ``` What happened? @@ -225,11 +225,11 @@ tar_progress() ```{.output} # A tibble: 3 × 2 - name progress - -1 penguins_csv_file skipped -2 penguins_data_raw skipped -3 penguins_data built + name progress + +1 penguins_csv_file skipped +2 penguins_data_raw skipped +3 penguins_data completed ``` ## Granular control of targets @@ -249,10 +249,10 @@ tar_make() ``` ```{.output} -✔ skip target penguins_csv_file -✔ skip target penguins_data_raw -✔ skip target penguins_data -✔ skip pipeline [0.08 seconds] +✔ skipped target penguins_csv_file +✔ skipped target penguins_data_raw +✔ skipped target penguins_data +✔ skipped pipeline [0.065 seconds] ``` Let's invalidate `penguins_data` and run it again: @@ -264,11 +264,11 @@ tar_make() ``` ```{.output} -✔ skip target penguins_csv_file -✔ skip target penguins_data_raw -• start target penguins_data -• built target penguins_data [0.018 seconds] -• end pipeline [0.123 seconds] +✔ skipped target penguins_csv_file +✔ skipped target penguins_data_raw +▶ dispatched target penguins_data +● completed target penguins_data [0.013 seconds] +▶ completed pipeline [0.084 seconds] ``` If you want to reset **everything** and start fresh, you can use `tar_invalidate(everything())` (`tar_invalidate()` [accepts `tidyselect` expressions](https://docs.ropensci.org/targets/reference/tar_invalidate.html) to specify target names). diff --git a/md5sum.txt b/md5sum.txt index 13c4d189..dec1f487 100644 --- a/md5sum.txt +++ b/md5sum.txt @@ -1,21 +1,21 @@ "file" "checksum" "built" "date" -"CODE_OF_CONDUCT.md" "c93c83c630db2fe2462240bf72552548" "site/built/CODE_OF_CONDUCT.md" "2023-11-21" -"LICENSE.md" "b24ebbb41b14ca25cf6b8216dda83e5f" "site/built/LICENSE.md" "2023-11-21" -"config.yaml" "97cf738871f0133f70da7d938c14bfb2" "site/built/config.yaml" "2023-11-21" -"index.md" "06bbfd5ab0e2353032361b3321342d13" "site/built/index.md" "2023-11-21" -"links.md" "8184cf4149eafbf03ce8da8ff0778c14" "site/built/links.md" "2023-11-21" -"episodes/introduction.Rmd" "feaacfccab344eb1fa6e702aded97924" "site/built/introduction.md" "2023-11-21" -"episodes/basic-targets.Rmd" "90190eae899db41c64b69320e3f72365" "site/built/basic-targets.md" "2023-11-21" -"episodes/cache.Rmd" "b487d6d792469641faec63c838541aac" "site/built/cache.md" "2023-11-21" -"episodes/lifecycle.Rmd" "7974a62cc37ac1138647d043fe1e4a26" "site/built/lifecycle.md" "2023-11-21" -"episodes/organization.Rmd" "74df25779b74013eeb6a8ca7b8934efe" "site/built/organization.md" "2023-11-21" -"episodes/packages.Rmd" "2c0eb6138ea6685a0ee279c89b381bc4" "site/built/packages.md" "2023-11-21" -"episodes/files.Rmd" "b7f4ef83379a58d5c30d8e011e3b2c0d" "site/built/files.md" "2023-11-21" -"episodes/branch.Rmd" "6f1187d6df3310eb042aaae3a44328dc" "site/built/branch.md" "2023-11-21" -"episodes/parallel.Rmd" "f9b7709ceae26b281ea5919835f5260b" "site/built/parallel.md" "2023-11-21" -"episodes/quarto.Rmd" "b854a0a44fd0ec7e503c9e99d21f8fce" "site/built/quarto.md" "2023-11-21" -"instructors/instructor-notes.md" "df3784ee5c0436a9e171071f7965d3fc" "site/built/instructor-notes.md" "2023-11-21" -"learners/reference.md" "3f06251c1f932e767ae8f22db25eb5a2" "site/built/reference.md" "2023-11-21" -"learners/setup.md" "b4bdd601ab985cf048829f49710df7fc" "site/built/setup.md" "2023-11-21" -"profiles/learner-profiles.md" "44d8b9d8aca7963e6577e8c67d23eac0" "site/built/learner-profiles.md" "2023-11-21" -"renv/profiles/lesson-requirements/renv.lock" "9a9c527fd21587253ffe5f4dc08cad29" "site/built/renv.lock" "2023-11-21" +"CODE_OF_CONDUCT.md" "c93c83c630db2fe2462240bf72552548" "site/built/CODE_OF_CONDUCT.md" "2024-01-02" +"LICENSE.md" "b24ebbb41b14ca25cf6b8216dda83e5f" "site/built/LICENSE.md" "2024-01-02" +"config.yaml" "97cf738871f0133f70da7d938c14bfb2" "site/built/config.yaml" "2024-01-02" +"index.md" "06bbfd5ab0e2353032361b3321342d13" "site/built/index.md" "2024-01-02" +"links.md" "8184cf4149eafbf03ce8da8ff0778c14" "site/built/links.md" "2024-01-02" +"episodes/introduction.Rmd" "feaacfccab344eb1fa6e702aded97924" "site/built/introduction.md" "2024-01-02" +"episodes/basic-targets.Rmd" "90190eae899db41c64b69320e3f72365" "site/built/basic-targets.md" "2024-01-02" +"episodes/cache.Rmd" "b487d6d792469641faec63c838541aac" "site/built/cache.md" "2024-01-02" +"episodes/lifecycle.Rmd" "7974a62cc37ac1138647d043fe1e4a26" "site/built/lifecycle.md" "2024-01-02" +"episodes/organization.Rmd" "74df25779b74013eeb6a8ca7b8934efe" "site/built/organization.md" "2024-01-02" +"episodes/packages.Rmd" "2c0eb6138ea6685a0ee279c89b381bc4" "site/built/packages.md" "2024-01-02" +"episodes/files.Rmd" "b7f4ef83379a58d5c30d8e011e3b2c0d" "site/built/files.md" "2024-01-02" +"episodes/branch.Rmd" "6f1187d6df3310eb042aaae3a44328dc" "site/built/branch.md" "2024-01-02" +"episodes/parallel.Rmd" "f9b7709ceae26b281ea5919835f5260b" "site/built/parallel.md" "2024-01-02" +"episodes/quarto.Rmd" "b854a0a44fd0ec7e503c9e99d21f8fce" "site/built/quarto.md" "2024-01-02" +"instructors/instructor-notes.md" "df3784ee5c0436a9e171071f7965d3fc" "site/built/instructor-notes.md" "2024-01-02" +"learners/reference.md" "3f06251c1f932e767ae8f22db25eb5a2" "site/built/reference.md" "2024-01-02" +"learners/setup.md" "b4bdd601ab985cf048829f49710df7fc" "site/built/setup.md" "2024-01-02" +"profiles/learner-profiles.md" "44d8b9d8aca7963e6577e8c67d23eac0" "site/built/learner-profiles.md" "2024-01-02" +"renv/profiles/lesson-requirements/renv.lock" "0a68a747774dcc5ae24423accc930a04" "site/built/renv.lock" "2024-01-02" diff --git a/organization.md b/organization.md index e74671f9..2d2e9d79 100644 --- a/organization.md +++ b/organization.md @@ -148,10 +148,39 @@ tar_plan( ```{.error} Error: ! Error running targets::tar_make() - Error messages: targets::tar_meta(fields = error, complete_only = TRUE) - Debugging guide: https://books.ropensci.org/targets/debugging.html - How to ask for help: https://books.ropensci.org/targets/help.html - Last error: duplicated target names: height +Error messages: targets::tar_meta(fields = error, complete_only = TRUE) +Debugging guide: https://books.ropensci.org/targets/debugging.html +How to ask for help: https://books.ropensci.org/targets/help.html +Last error message: + duplicated target names: height +Last error traceback: + tryCatch(withCallingHandlers({ NULL saveRDS(do.call(do.call, c(readRDS("... + tryCatchList(expr, classes, parentenv, handlers) + tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]), na... + doTryCatch(return(expr), name, parentenv, handler) + tryCatchList(expr, names[-nh], parentenv, handlers[-nh]) + tryCatchOne(expr, names, parentenv, handlers[[1L]]) + doTryCatch(return(expr), name, parentenv, handler) + withCallingHandlers({ NULL saveRDS(do.call(do.call, c(readRDS("/tmp/Rtmp... + saveRDS(do.call(do.call, c(readRDS("/tmp/Rtmpx8fyzu/callr-fun-183e7cbba0... + do.call(do.call, c(readRDS("/tmp/Rtmpx8fyzu/callr-fun-183e7cbba088"), li... + (function (what, args, quote = FALSE, envir = parent.frame()) { if (!is.... + (function (targets_function, targets_arguments, options, envir = NULL, s... + tryCatch(out <- withCallingHandlers(targets::tar_callr_inner_try(targets... + tryCatchList(expr, classes, parentenv, handlers) + tryCatchOne(expr, names, parentenv, handlers[[1L]]) + doTryCatch(return(expr), name, parentenv, handler) + withCallingHandlers(targets::tar_callr_inner_try(targets_function = targ... + targets::tar_callr_inner_try(targets_function = targets_function, target... + pipeline_from_list(targets) + pipeline_from_list.default(targets) + pipeline_init(out) + pipeline_targets_init(targets, clone_targets) + tar_assert_unique_targets(names) + tar_throw_validate(message) + tar_error(message = paste0(...), class = c("tar_condition_validate", "ta... + rlang::abort(message = message, class = class, call = tar_empty_envir) + signal_abort(cnd, .file) ``` **A major part of working with `targets` pipelines is writing custom functions that are the right size.** diff --git a/packages.md b/packages.md index 32869b7e..99a96734 100644 --- a/packages.md +++ b/packages.md @@ -70,9 +70,9 @@ tar_plan( ```{.output} -• start target adelie_data -• built target adelie_data [0.027 seconds] -• end pipeline [0.107 seconds] +▶ dispatched target adelie_data +● completed target adelie_data [0.018 seconds] +▶ completed pipeline [0.069 seconds] ``` This method gets around the slow-downs that may sometimes be experienced with Method 1. @@ -99,9 +99,9 @@ tar_plan( ```{.output} -• start target adelie_data -• built target adelie_data [0.024 seconds] -• end pipeline [0.101 seconds] +▶ dispatched target adelie_data +● completed target adelie_data [0.018 seconds] +▶ completed pipeline [0.068 seconds] ``` This can be more memory efficient in some cases than loading all packages, since not every target is always made during a typical run of the workflow. @@ -126,9 +126,9 @@ tar_plan( ```{.output} -• start target adelie_data -• built target adelie_data [0.015 seconds] -• end pipeline [0.092 seconds] +▶ dispatched target adelie_data +● completed target adelie_data [0.009 seconds] +▶ completed pipeline [0.059 seconds] ``` The benefits of this approach are that the origins of all functions is explicit, so you could browse your code (for example, by looking at its source in GitHub), and immediately know where all the functions come from. diff --git a/renv.lock b/renv.lock deleted file mode 100644 index 85ff7c7c..00000000 --- a/renv.lock +++ /dev/null @@ -1,1842 +0,0 @@ -{ - "R": { - "Version": "4.3.2", - "Repositories": [ - { - "Name": "carpentries", - "URL": "https://carpentries.r-universe.dev" - }, - { - "Name": "carpentries_archive", - "URL": "https://carpentries.github.io/drat" - }, - { - "Name": "CRAN", - "URL": "https://cran.rstudio.com" - } - ] - }, - "Packages": { - "DBI": { - "Package": "DBI", - "Version": "1.1.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "methods" - ], - "Hash": "b2866e62bab9378c3cc9476a1954226b" - }, - "MASS": { - "Package": "MASS", - "Version": "7.3-59", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "grDevices", - "graphics", - "methods", - "stats", - "utils" - ], - "Hash": "26570ae748e78cb2b0f56019dd2ba354" - }, - "Matrix": { - "Package": "Matrix", - "Version": "1.5-4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "graphics", - "grid", - "lattice", - "methods", - "stats", - "utils" - ], - "Hash": "e779c7d9f35cc364438578f334cffee2" - }, - "R6": { - "Package": "R6", - "Version": "2.5.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "470851b6d5d0ac559e9d01bb352b4021" - }, - "RColorBrewer": { - "Package": "RColorBrewer", - "Version": "1.1-3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "45f0398006e83a5b10b72a90663d8d8c" - }, - "Rcpp": { - "Package": "Rcpp", - "Version": "1.0.10", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "methods", - "utils" - ], - "Hash": "e749cae40fa9ef469b6050959517453c" - }, - "askpass": { - "Package": "askpass", - "Version": "1.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "sys" - ], - "Hash": "e8a22846fff485f0be3770c2da758713" - }, - "backports": { - "Package": "backports", - "Version": "1.4.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "c39fbec8a30d23e721980b8afb31984c" - }, - "base64enc": { - "Package": "base64enc", - "Version": "0.1-3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "543776ae6848fde2f48ff3816d0628bc" - }, - "base64url": { - "Package": "base64url", - "Version": "1.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "backports" - ], - "Hash": "0c54cf3a08cc0e550fbd64ad33166143" - }, - "bit": { - "Package": "bit", - "Version": "4.0.5", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "d242abec29412ce988848d0294b208fd" - }, - "bit64": { - "Package": "bit64", - "Version": "4.0.5", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "bit", - "methods", - "stats", - "utils" - ], - "Hash": "9fe98599ca456d6552421db0d6772d8f" - }, - "blob": { - "Package": "blob", - "Version": "1.2.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "methods", - "rlang", - "vctrs" - ], - "Hash": "40415719b5a479b87949f3aa0aee737c" - }, - "broom": { - "Package": "broom", - "Version": "1.0.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "backports", - "dplyr", - "ellipsis", - "generics", - "glue", - "lifecycle", - "purrr", - "rlang", - "stringr", - "tibble", - "tidyr" - ], - "Hash": "f62b2504021369a2449c54bbda362d30" - }, - "bslib": { - "Package": "bslib", - "Version": "0.4.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "base64enc", - "cachem", - "grDevices", - "htmltools", - "jquerylib", - "jsonlite", - "memoise", - "mime", - "rlang", - "sass" - ], - "Hash": "a7fbf03946ad741129dc81098722fca1" - }, - "cachem": { - "Package": "cachem", - "Version": "1.0.8", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "fastmap", - "rlang" - ], - "Hash": "c35768291560ce302c0a6589f92e837d" - }, - "callr": { - "Package": "callr", - "Version": "3.7.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "R6", - "processx", - "utils" - ], - "Hash": "9b2191ede20fa29828139b9900922e51" - }, - "cellranger": { - "Package": "cellranger", - "Version": "1.1.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "rematch", - "tibble" - ], - "Hash": "f61dbaec772ccd2e17705c1e872e9e7c" - }, - "cli": { - "Package": "cli", - "Version": "3.6.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "utils" - ], - "Hash": "89e6d8219950eac806ae0c489052048a" - }, - "clipr": { - "Package": "clipr", - "Version": "0.8.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "utils" - ], - "Hash": "3f038e5ac7f41d4ac41ce658c85e3042" - }, - "codetools": { - "Package": "codetools", - "Version": "0.2-19", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "c089a619a7fae175d149d89164f8c7d8" - }, - "colorspace": { - "Package": "colorspace", - "Version": "2.1-0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "grDevices", - "graphics", - "methods", - "stats" - ], - "Hash": "f20c47fd52fae58b4e377c37bb8c335b" - }, - "conflicted": { - "Package": "conflicted", - "Version": "1.2.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "memoise", - "rlang" - ], - "Hash": "bb097fccb22d156624fd07cd2894ddb6" - }, - "cpp11": { - "Package": "cpp11", - "Version": "0.4.3", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "ed588261931ee3be2c700d22e94a29ab" - }, - "crayon": { - "Package": "crayon", - "Version": "1.5.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "grDevices", - "methods", - "utils" - ], - "Hash": "e8a1e41acf02548751f45c718d55aa6a" - }, - "crew": { - "Package": "crew", - "Version": "0.2.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "R6", - "getip", - "mirai", - "nanonext", - "processx", - "ps", - "rlang", - "stats", - "tibble", - "tidyselect", - "utils" - ], - "Hash": "50a166a0063e9e74231f4473ec8dcab3" - }, - "curl": { - "Package": "curl", - "Version": "5.0.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "e4f97056611e8e6b8b852d13b7400cf1" - }, - "data.table": { - "Package": "data.table", - "Version": "1.14.8", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "methods" - ], - "Hash": "b4c06e554f33344e044ccd7fdca750a9" - }, - "dbplyr": { - "Package": "dbplyr", - "Version": "2.3.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "DBI", - "R", - "R6", - "blob", - "cli", - "dplyr", - "glue", - "lifecycle", - "magrittr", - "methods", - "pillar", - "purrr", - "rlang", - "tibble", - "tidyr", - "tidyselect", - "utils", - "vctrs", - "withr" - ], - "Hash": "d24305b92db333726aed162a2c23a147" - }, - "digest": { - "Package": "digest", - "Version": "0.6.31", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "utils" - ], - "Hash": "8b708f296afd9ae69f450f9640be8990" - }, - "dplyr": { - "Package": "dplyr", - "Version": "1.1.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "R6", - "cli", - "generics", - "glue", - "lifecycle", - "magrittr", - "methods", - "pillar", - "rlang", - "tibble", - "tidyselect", - "utils", - "vctrs" - ], - "Hash": "dea6970ff715ca541c387de363ff405e" - }, - "dtplyr": { - "Package": "dtplyr", - "Version": "1.3.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "data.table", - "dplyr", - "glue", - "lifecycle", - "rlang", - "tibble", - "tidyselect", - "vctrs" - ], - "Hash": "54ed3ea01b11e81a86544faaecfef8e2" - }, - "ellipsis": { - "Package": "ellipsis", - "Version": "0.3.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "rlang" - ], - "Hash": "bb0eec2fe32e88d9e2836c2f73ea2077" - }, - "evaluate": { - "Package": "evaluate", - "Version": "0.20", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "methods" - ], - "Hash": "4b68aa51edd89a0e044a66e75ae3cc6c" - }, - "fansi": { - "Package": "fansi", - "Version": "1.0.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "grDevices", - "utils" - ], - "Hash": "1d9e7ad3c8312a192dea7d3db0274fde" - }, - "farver": { - "Package": "farver", - "Version": "2.1.1", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "8106d78941f34855c440ddb946b8f7a5" - }, - "fastmap": { - "Package": "fastmap", - "Version": "1.1.1", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "f7736a18de97dea803bde0a2daaafb27" - }, - "fontawesome": { - "Package": "fontawesome", - "Version": "0.5.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "htmltools", - "rlang" - ], - "Hash": "1e22b8cabbad1eae951a75e9f8b52378" - }, - "forcats": { - "Package": "forcats", - "Version": "1.0.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "glue", - "lifecycle", - "magrittr", - "rlang", - "tibble" - ], - "Hash": "1a0a9a3d5083d0d573c4214576f1e690" - }, - "fs": { - "Package": "fs", - "Version": "1.6.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "methods" - ], - "Hash": "94af08e0aa9675a16fadbb3aaaa90d2a" - }, - "furrr": { - "Package": "furrr", - "Version": "0.3.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "future", - "globals", - "lifecycle", - "purrr", - "rlang", - "vctrs" - ], - "Hash": "da7a4c32196cb2262a41dd5a25d486ff" - }, - "future": { - "Package": "future", - "Version": "1.32.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "digest", - "globals", - "listenv", - "parallel", - "parallelly", - "utils" - ], - "Hash": "c68517cf2f78be4ea86e140b8598a4ca" - }, - "future.callr": { - "Package": "future.callr", - "Version": "0.8.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "callr", - "future" - ], - "Hash": "e76426c4a99a1798a9376c6fe9070a68" - }, - "gargle": { - "Package": "gargle", - "Version": "1.4.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "fs", - "glue", - "httr", - "jsonlite", - "lifecycle", - "openssl", - "rappdirs", - "rlang", - "stats", - "utils", - "withr" - ], - "Hash": "8c72a723822dc317613da5ff8e8da6ee" - }, - "generics": { - "Package": "generics", - "Version": "0.1.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "methods" - ], - "Hash": "15e9634c0fcd294799e9b2e929ed1b86" - }, - "getip": { - "Package": "getip", - "Version": "0.1-3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "ceb49d19444b9b3acfce8ee34e23e2f5" - }, - "ggplot2": { - "Package": "ggplot2", - "Version": "3.4.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "MASS", - "R", - "cli", - "glue", - "grDevices", - "grid", - "gtable", - "isoband", - "lifecycle", - "mgcv", - "rlang", - "scales", - "stats", - "tibble", - "vctrs", - "withr" - ], - "Hash": "3a147ee02e85a8941aad9909f1b43b7b" - }, - "globals": { - "Package": "globals", - "Version": "0.16.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "codetools" - ], - "Hash": "baa9585ab4ce47a9f4618e671778cc6f" - }, - "glue": { - "Package": "glue", - "Version": "1.6.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "methods" - ], - "Hash": "4f2596dfb05dac67b9dc558e5c6fba2e" - }, - "googledrive": { - "Package": "googledrive", - "Version": "2.1.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "gargle", - "glue", - "httr", - "jsonlite", - "lifecycle", - "magrittr", - "pillar", - "purrr", - "rlang", - "tibble", - "utils", - "uuid", - "vctrs", - "withr" - ], - "Hash": "e88ba642951bc8d1898ba0d12581850b" - }, - "googlesheets4": { - "Package": "googlesheets4", - "Version": "1.1.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cellranger", - "cli", - "curl", - "gargle", - "glue", - "googledrive", - "httr", - "ids", - "lifecycle", - "magrittr", - "methods", - "purrr", - "rematch2", - "rlang", - "tibble", - "utils", - "vctrs", - "withr" - ], - "Hash": "fd7b97bd862a14297b0bb7ed28a3dada" - }, - "gtable": { - "Package": "gtable", - "Version": "0.3.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "glue", - "grid", - "lifecycle", - "rlang" - ], - "Hash": "b44addadb528a0d227794121c00572a0" - }, - "haven": { - "Package": "haven", - "Version": "2.5.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "cpp11", - "forcats", - "hms", - "lifecycle", - "methods", - "readr", - "rlang", - "tibble", - "tidyselect", - "vctrs" - ], - "Hash": "8b331e659e67d757db0fcc28e689c501" - }, - "highr": { - "Package": "highr", - "Version": "0.10", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "xfun" - ], - "Hash": "06230136b2d2b9ba5805e1963fa6e890" - }, - "hms": { - "Package": "hms", - "Version": "1.1.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "lifecycle", - "methods", - "pkgconfig", - "rlang", - "vctrs" - ], - "Hash": "b59377caa7ed00fa41808342002138f9" - }, - "htmltools": { - "Package": "htmltools", - "Version": "0.5.5", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "base64enc", - "digest", - "ellipsis", - "fastmap", - "grDevices", - "rlang", - "utils" - ], - "Hash": "ba0240784ad50a62165058a27459304a" - }, - "htmlwidgets": { - "Package": "htmlwidgets", - "Version": "1.6.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "grDevices", - "htmltools", - "jsonlite", - "knitr", - "rmarkdown", - "yaml" - ], - "Hash": "a865aa85bcb2697f47505bfd70422471" - }, - "httr": { - "Package": "httr", - "Version": "1.4.6", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "R6", - "curl", - "jsonlite", - "mime", - "openssl" - ], - "Hash": "7e5e3cbd2a7bc07880c94e22348fb661" - }, - "ids": { - "Package": "ids", - "Version": "1.0.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "openssl", - "uuid" - ], - "Hash": "99df65cfef20e525ed38c3d2577f7190" - }, - "igraph": { - "Package": "igraph", - "Version": "1.4.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "Matrix", - "R", - "cpp11", - "grDevices", - "graphics", - "magrittr", - "methods", - "pkgconfig", - "rlang", - "stats", - "utils" - ], - "Hash": "3e476b375c746d899fd53a7281d78191" - }, - "isoband": { - "Package": "isoband", - "Version": "0.2.7", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "grid", - "utils" - ], - "Hash": "0080607b4a1a7b28979aecef976d8bc2" - }, - "jquerylib": { - "Package": "jquerylib", - "Version": "0.1.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "htmltools" - ], - "Hash": "5aab57a3bd297eee1c1d862735972182" - }, - "jsonlite": { - "Package": "jsonlite", - "Version": "1.8.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "methods" - ], - "Hash": "a4269a09a9b865579b2635c77e572374" - }, - "knitr": { - "Package": "knitr", - "Version": "1.42", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "evaluate", - "highr", - "methods", - "tools", - "xfun", - "yaml" - ], - "Hash": "8329a9bcc82943c8069104d4be3ee22d" - }, - "labeling": { - "Package": "labeling", - "Version": "0.4.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "graphics", - "stats" - ], - "Hash": "3d5108641f47470611a32d0bdf357a72" - }, - "later": { - "Package": "later", - "Version": "1.3.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "Rcpp", - "rlang" - ], - "Hash": "40401c9cf2bc2259dfe83311c9384710" - }, - "lattice": { - "Package": "lattice", - "Version": "0.21-8", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "grDevices", - "graphics", - "grid", - "stats", - "utils" - ], - "Hash": "0b8a6d63c8770f02a8b5635f3c431e6b" - }, - "lifecycle": { - "Package": "lifecycle", - "Version": "1.0.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "glue", - "rlang" - ], - "Hash": "001cecbeac1cff9301bdc3775ee46a86" - }, - "listenv": { - "Package": "listenv", - "Version": "0.9.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "4fbd3679ec8ee169ba28d4b1ea7d0e8f" - }, - "lubridate": { - "Package": "lubridate", - "Version": "1.9.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "generics", - "methods", - "timechange" - ], - "Hash": "e25f18436e3efd42c7c590a1c4c15390" - }, - "magrittr": { - "Package": "magrittr", - "Version": "2.0.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "7ce2733a9826b3aeb1775d56fd305472" - }, - "memoise": { - "Package": "memoise", - "Version": "2.0.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "cachem", - "rlang" - ], - "Hash": "e2817ccf4a065c5d9d7f2cfbe7c1d78c" - }, - "mgcv": { - "Package": "mgcv", - "Version": "1.8-42", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "Matrix", - "R", - "graphics", - "methods", - "nlme", - "splines", - "stats", - "utils" - ], - "Hash": "3460beba7ccc8946249ba35327ba902a" - }, - "mime": { - "Package": "mime", - "Version": "0.12", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "tools" - ], - "Hash": "18e9c28c1d3ca1560ce30658b22ce104" - }, - "mirai": { - "Package": "mirai", - "Version": "0.8.7", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "nanonext" - ], - "Hash": "56134b1459538963b210ab61fd0a9d16" - }, - "modelr": { - "Package": "modelr", - "Version": "0.1.11", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "broom", - "magrittr", - "purrr", - "rlang", - "tibble", - "tidyr", - "tidyselect", - "vctrs" - ], - "Hash": "4f50122dc256b1b6996a4703fecea821" - }, - "munsell": { - "Package": "munsell", - "Version": "0.5.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "colorspace", - "methods" - ], - "Hash": "6dfe8bf774944bd5595785e3229d8771" - }, - "nanonext": { - "Package": "nanonext", - "Version": "0.9.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "6ace059b9be5e80d84a537f9180d441e" - }, - "nlme": { - "Package": "nlme", - "Version": "3.1-162", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "graphics", - "lattice", - "stats", - "utils" - ], - "Hash": "0984ce8da8da9ead8643c5cbbb60f83e" - }, - "openssl": { - "Package": "openssl", - "Version": "2.0.6", - "Source": "Repository", - "Repository": "https://carpentries.r-universe.dev", - "Requirements": [ - "askpass" - ], - "Hash": "0f7cd2962e3044bb940cca4f4b5cecbe" - }, - "packrat": { - "Package": "packrat", - "Version": "0.9.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "tools", - "utils" - ], - "Hash": "481428983c19a7c443f7ea1beff0a2de" - }, - "palmerpenguins": { - "Package": "palmerpenguins", - "Version": "0.1.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "6c6861efbc13c1d543749e9c7be4a592" - }, - "parallelly": { - "Package": "parallelly", - "Version": "1.35.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "parallel", - "tools", - "utils" - ], - "Hash": "1cf5a54cfc5dcb0b84037acfd93cbca7" - }, - "pillar": { - "Package": "pillar", - "Version": "1.9.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "cli", - "fansi", - "glue", - "lifecycle", - "rlang", - "utf8", - "utils", - "vctrs" - ], - "Hash": "15da5a8412f317beeee6175fbc76f4bb" - }, - "pkgconfig": { - "Package": "pkgconfig", - "Version": "2.0.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "utils" - ], - "Hash": "01f28d4278f15c76cddbea05899c5d6f" - }, - "prettyunits": { - "Package": "prettyunits", - "Version": "1.1.1", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "95ef9167b75dde9d2ccc3c7528393e7e" - }, - "processx": { - "Package": "processx", - "Version": "3.8.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "R6", - "ps", - "utils" - ], - "Hash": "d75b4059d781336efba24021915902b4" - }, - "progress": { - "Package": "progress", - "Version": "1.2.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R6", - "crayon", - "hms", - "prettyunits" - ], - "Hash": "14dc9f7a3c91ebb14ec5bb9208a07061" - }, - "ps": { - "Package": "ps", - "Version": "1.7.5", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "utils" - ], - "Hash": "709d852d33178db54b17c722e5b1e594" - }, - "purrr": { - "Package": "purrr", - "Version": "1.0.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "lifecycle", - "magrittr", - "rlang", - "vctrs" - ], - "Hash": "d71c815267c640f17ddbf7f16144b4bb" - }, - "quarto": { - "Package": "quarto", - "Version": "1.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "jsonlite", - "later", - "processx", - "rmarkdown", - "rsconnect", - "rstudioapi", - "utils", - "yaml" - ], - "Hash": "298a252816cabed120391c955aced484" - }, - "ragg": { - "Package": "ragg", - "Version": "1.2.5", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "systemfonts", - "textshaping" - ], - "Hash": "690bc058ea2b1b8a407d3cfe3dce3ef9" - }, - "rappdirs": { - "Package": "rappdirs", - "Version": "0.3.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "5e3c5dc0b071b21fa128676560dbe94d" - }, - "readr": { - "Package": "readr", - "Version": "2.1.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "R6", - "cli", - "clipr", - "cpp11", - "crayon", - "hms", - "lifecycle", - "methods", - "rlang", - "tibble", - "tzdb", - "utils", - "vroom" - ], - "Hash": "b5047343b3825f37ad9d3b5d89aa1078" - }, - "readxl": { - "Package": "readxl", - "Version": "1.4.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cellranger", - "cpp11", - "progress", - "tibble", - "utils" - ], - "Hash": "2e6020b1399d95f947ed867045e9ca17" - }, - "rematch": { - "Package": "rematch", - "Version": "1.0.1", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "c66b930d20bb6d858cd18e1cebcfae5c" - }, - "rematch2": { - "Package": "rematch2", - "Version": "2.1.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "tibble" - ], - "Hash": "76c9e04c712a05848ae7a23d2f170a40" - }, - "renv": { - "Package": "renv", - "Version": "0.17.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "utils" - ], - "Hash": "4543b8cd233ae25c6aba8548be9e747e" - }, - "reprex": { - "Package": "reprex", - "Version": "2.0.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "callr", - "cli", - "clipr", - "fs", - "glue", - "knitr", - "lifecycle", - "rlang", - "rmarkdown", - "rstudioapi", - "utils", - "withr" - ], - "Hash": "d66fe009d4c20b7ab1927eb405db9ee2" - }, - "rlang": { - "Package": "rlang", - "Version": "1.1.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "utils" - ], - "Hash": "a85c767b55f0bf9b7ad16c6d7baee5bb" - }, - "rmarkdown": { - "Package": "rmarkdown", - "Version": "2.21", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "bslib", - "evaluate", - "fontawesome", - "htmltools", - "jquerylib", - "jsonlite", - "knitr", - "methods", - "stringr", - "tinytex", - "tools", - "utils", - "xfun", - "yaml" - ], - "Hash": "493df4ae51e2e984952ea4d5c75786a3" - }, - "rsconnect": { - "Package": "rsconnect", - "Version": "0.8.29", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "curl", - "digest", - "jsonlite", - "openssl", - "packrat", - "rstudioapi", - "tools", - "yaml" - ], - "Hash": "fe178fc15af80952f546aafedf655b36" - }, - "rstudioapi": { - "Package": "rstudioapi", - "Version": "0.14", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "690bd2acc42a9166ce34845884459320" - }, - "rvest": { - "Package": "rvest", - "Version": "1.0.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "glue", - "httr", - "lifecycle", - "magrittr", - "rlang", - "selectr", - "tibble", - "withr", - "xml2" - ], - "Hash": "a4a5ac819a467808c60e36e92ddf195e" - }, - "sass": { - "Package": "sass", - "Version": "0.4.5", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R6", - "fs", - "htmltools", - "rappdirs", - "rlang" - ], - "Hash": "2bb4371a4c80115518261866eab6ab11" - }, - "scales": { - "Package": "scales", - "Version": "1.2.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "R6", - "RColorBrewer", - "farver", - "labeling", - "lifecycle", - "munsell", - "rlang", - "viridisLite" - ], - "Hash": "906cb23d2f1c5680b8ce439b44c6fa63" - }, - "selectr": { - "Package": "selectr", - "Version": "0.4-2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "R6", - "methods", - "stringr" - ], - "Hash": "3838071b66e0c566d55cc26bd6e27bf4" - }, - "stringi": { - "Package": "stringi", - "Version": "1.7.12", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "stats", - "tools", - "utils" - ], - "Hash": "ca8bd84263c77310739d2cf64d84d7c9" - }, - "stringr": { - "Package": "stringr", - "Version": "1.5.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "glue", - "lifecycle", - "magrittr", - "rlang", - "stringi", - "vctrs" - ], - "Hash": "671a4d384ae9d32fc47a14e98bfa3dc8" - }, - "sys": { - "Package": "sys", - "Version": "3.4.1", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "34c16f1ef796057bfa06d3f4ff818a5d" - }, - "systemfonts": { - "Package": "systemfonts", - "Version": "1.0.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cpp11" - ], - "Hash": "90b28393209827327de889f49935140a" - }, - "tarchetypes": { - "Package": "tarchetypes", - "Version": "0.7.6", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "digest", - "dplyr", - "fs", - "furrr", - "future", - "future.callr", - "rlang", - "targets", - "tibble", - "tidyselect", - "utils", - "vctrs", - "withr" - ], - "Hash": "571f204a0ad0352cb96dc53b602e56e4" - }, - "targets": { - "Package": "targets", - "Version": "1.0.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "R6", - "base64url", - "callr", - "cli", - "codetools", - "data.table", - "digest", - "igraph", - "knitr", - "rlang", - "stats", - "tibble", - "tidyselect", - "tools", - "utils", - "vctrs", - "withr", - "yaml" - ], - "Hash": "3f299989005cd3ccd101eb97623fd533" - }, - "textshaping": { - "Package": "textshaping", - "Version": "0.3.6", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cpp11", - "systemfonts" - ], - "Hash": "1ab6223d3670fac7143202cb6a2d43d5" - }, - "tibble": { - "Package": "tibble", - "Version": "3.2.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "fansi", - "lifecycle", - "magrittr", - "methods", - "pillar", - "pkgconfig", - "rlang", - "utils", - "vctrs" - ], - "Hash": "a84e2cc86d07289b3b6f5069df7a004c" - }, - "tidyr": { - "Package": "tidyr", - "Version": "1.3.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "cpp11", - "dplyr", - "glue", - "lifecycle", - "magrittr", - "purrr", - "rlang", - "stringr", - "tibble", - "tidyselect", - "utils", - "vctrs" - ], - "Hash": "e47debdc7ce599b070c8e78e8ac0cfcf" - }, - "tidyselect": { - "Package": "tidyselect", - "Version": "1.2.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "glue", - "lifecycle", - "rlang", - "vctrs", - "withr" - ], - "Hash": "79540e5fcd9e0435af547d885f184fd5" - }, - "tidyverse": { - "Package": "tidyverse", - "Version": "2.0.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "broom", - "cli", - "conflicted", - "dbplyr", - "dplyr", - "dtplyr", - "forcats", - "ggplot2", - "googledrive", - "googlesheets4", - "haven", - "hms", - "httr", - "jsonlite", - "lubridate", - "magrittr", - "modelr", - "pillar", - "purrr", - "ragg", - "readr", - "readxl", - "reprex", - "rlang", - "rstudioapi", - "rvest", - "stringr", - "tibble", - "tidyr", - "xml2" - ], - "Hash": "c328568cd14ea89a83bd4ca7f54ae07e" - }, - "timechange": { - "Package": "timechange", - "Version": "0.2.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cpp11" - ], - "Hash": "8548b44f79a35ba1791308b61e6012d7" - }, - "tinytex": { - "Package": "tinytex", - "Version": "0.45", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "xfun" - ], - "Hash": "e4e357f28c2edff493936b6cb30c3d65" - }, - "tzdb": { - "Package": "tzdb", - "Version": "0.3.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cpp11" - ], - "Hash": "b2e1cbce7c903eaf23ec05c58e59fb5e" - }, - "utf8": { - "Package": "utf8", - "Version": "1.2.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "1fe17157424bb09c48a8b3b550c753bc" - }, - "uuid": { - "Package": "uuid", - "Version": "1.1-0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "f1cb46c157d080b729159d407be83496" - }, - "vctrs": { - "Package": "vctrs", - "Version": "0.6.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "glue", - "lifecycle", - "rlang" - ], - "Hash": "a745bda7aff4734c17294bb41d4e4607" - }, - "viridisLite": { - "Package": "viridisLite", - "Version": "0.4.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "c826c7c4241b6fc89ff55aaea3fa7491" - }, - "visNetwork": { - "Package": "visNetwork", - "Version": "2.1.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "grDevices", - "htmltools", - "htmlwidgets", - "jsonlite", - "magrittr", - "methods", - "stats", - "utils" - ], - "Hash": "3e48b097e8d9a91ecced2ed4817a678d" - }, - "vroom": { - "Package": "vroom", - "Version": "1.6.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "bit64", - "cli", - "cpp11", - "crayon", - "glue", - "hms", - "lifecycle", - "methods", - "progress", - "rlang", - "stats", - "tibble", - "tidyselect", - "tzdb", - "vctrs", - "withr" - ], - "Hash": "8318e64ffb3a70e652494017ec455561" - }, - "withr": { - "Package": "withr", - "Version": "2.5.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "grDevices", - "graphics", - "stats" - ], - "Hash": "c0e49a9760983e81e55cdd9be92e7182" - }, - "xfun": { - "Package": "xfun", - "Version": "0.39", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "stats", - "tools" - ], - "Hash": "8f56e9acb54fb525e66464d57ab58bcb" - }, - "xml2": { - "Package": "xml2", - "Version": "1.3.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "methods" - ], - "Hash": "7dc765ac9b909487326a7d471fdd3821" - }, - "yaml": { - "Package": "yaml", - "Version": "2.3.7", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "0d0056cc5383fbc240ccd0cb584bf436" - } - } -}