diff --git a/basic-targets.md b/basic-targets.md index b4ada2f0..512d83c3 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.001 seconds] +▶ dispatched target penguins_data_raw +● completed target penguins_data_raw [0.127 seconds] +▶ dispatched target penguins_data +● completed target penguins_data [0.006 seconds] +▶ completed pipeline [0.198 seconds] ``` Congratulations, you've run your first workflow with `targets`! diff --git a/branch.md b/branch.md index 507c9626..c683540d 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.041 seconds] +▶ completed pipeline [0.115 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.002 seconds] +▶ dispatched target combined_summary +● completed target combined_summary [0.007 seconds] +▶ dispatched target interaction_summary +● completed target interaction_summary [0.003 seconds] +▶ dispatched target species_summary +● completed target species_summary [0.003 seconds] +▶ completed pipeline [0.145 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.006 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.037 seconds] +● completed pattern model_summaries +▶ completed pipeline [0.145 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.006 seconds] +▶ dispatched branch model_summaries_91696941 +● completed branch model_summaries_91696941 [0.004 seconds] +● completed pattern model_summaries +▶ completed pipeline [0.15 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..5d8fbe2f 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.056 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.046 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 seconds] +▶ dispatched target some_data +● completed target some_data [0 seconds] +▶ completed pipeline [0.064 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.001 seconds] +▶ dispatched target penguins_data_raw +● completed target penguins_data_raw [0.197 seconds] +▶ dispatched target penguins_data +● completed target penguins_data [0.011 seconds] +▶ completed pipeline [0.289 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.001 seconds] +▶ completed pipeline [0.068 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..7763a27f 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.063 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.095 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.075 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.095 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..7bb9b5ff 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-02-06" +"LICENSE.md" "b24ebbb41b14ca25cf6b8216dda83e5f" "site/built/LICENSE.md" "2024-02-06" +"config.yaml" "97cf738871f0133f70da7d938c14bfb2" "site/built/config.yaml" "2024-02-06" +"index.md" "06bbfd5ab0e2353032361b3321342d13" "site/built/index.md" "2024-02-06" +"links.md" "8184cf4149eafbf03ce8da8ff0778c14" "site/built/links.md" "2024-02-06" +"episodes/introduction.Rmd" "feaacfccab344eb1fa6e702aded97924" "site/built/introduction.md" "2024-02-06" +"episodes/basic-targets.Rmd" "90190eae899db41c64b69320e3f72365" "site/built/basic-targets.md" "2024-02-06" +"episodes/cache.Rmd" "b487d6d792469641faec63c838541aac" "site/built/cache.md" "2024-02-06" +"episodes/lifecycle.Rmd" "7974a62cc37ac1138647d043fe1e4a26" "site/built/lifecycle.md" "2024-02-06" +"episodes/organization.Rmd" "74df25779b74013eeb6a8ca7b8934efe" "site/built/organization.md" "2024-02-06" +"episodes/packages.Rmd" "2c0eb6138ea6685a0ee279c89b381bc4" "site/built/packages.md" "2024-02-06" +"episodes/files.Rmd" "b7f4ef83379a58d5c30d8e011e3b2c0d" "site/built/files.md" "2024-02-06" +"episodes/branch.Rmd" "6f1187d6df3310eb042aaae3a44328dc" "site/built/branch.md" "2024-02-06" +"episodes/parallel.Rmd" "f9b7709ceae26b281ea5919835f5260b" "site/built/parallel.md" "2024-02-06" +"episodes/quarto.Rmd" "b854a0a44fd0ec7e503c9e99d21f8fce" "site/built/quarto.md" "2024-02-06" +"instructors/instructor-notes.md" "df3784ee5c0436a9e171071f7965d3fc" "site/built/instructor-notes.md" "2024-02-06" +"learners/reference.md" "3f06251c1f932e767ae8f22db25eb5a2" "site/built/reference.md" "2024-02-06" +"learners/setup.md" "b4bdd601ab985cf048829f49710df7fc" "site/built/setup.md" "2024-02-06" +"profiles/learner-profiles.md" "44d8b9d8aca7963e6577e8c67d23eac0" "site/built/learner-profiles.md" "2024-02-06" +"renv/profiles/lesson-requirements/renv.lock" "d7c8aa372748aba341cbcd04bfc55408" "site/built/renv.lock" "2024-02-06" diff --git a/organization.md b/organization.md index e74671f9..fe86b1e8 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/Rtmphp34ly/callr-fun-18a36cfae3... + do.call(do.call, c(readRDS("/tmp/Rtmphp34ly/callr-fun-18a36cfae3a4"), 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..2c916a7d 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.071 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.069 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.061 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" - } - } -}