diff --git a/basic-targets.md b/basic-targets.md index ddc2fd6b..645e7fa2 100644 --- a/basic-targets.md +++ b/basic-targets.md @@ -129,7 +129,7 @@ penguins_csv_file <- path_to_file("penguins_raw.csv") penguins_csv_file ``` -```{.output} +```output [1] "/home/runner/.local/share/renv/cache/v5/R-4.3/x86_64-pc-linux-gnu/palmerpenguins/0.1.1/6c6861efbc13c1d543749e9c7be4a592/palmerpenguins/extdata/penguins_raw.csv" ``` @@ -148,7 +148,7 @@ penguins_data_raw ``` -```{.output} +```output Rows: 344 Columns: 17 ── Column specification ──────────────────────────────────────────────────────── Delimiter: "," @@ -160,7 +160,7 @@ date (1): Date Egg ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message. ``` -```{.output} +```output # A tibble: 344 × 17 studyName `Sample Number` Species Region Island Stage `Individual ID` @@ -207,7 +207,7 @@ penguins_data <- penguins_data_raw |> penguins_data ``` -```{.output} +```output # A tibble: 342 × 3 species bill_length_mm bill_depth_mm @@ -275,14 +275,14 @@ Try running it, and you should see something like this: 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.095 seconds] -• start target penguins_data -• built target penguins_data [0.013 seconds] -• end pipeline [0.216 seconds] +```output +▶ dispatched target penguins_csv_file +● completed target penguins_csv_file [0.001 seconds] +▶ dispatched target penguins_data_raw +● completed target penguins_data_raw [0.131 seconds] +▶ dispatched target penguins_data +● completed target penguins_data [0.006 seconds] +▶ ended pipeline [0.283 seconds] ``` Congratulations, you've run your first workflow with `targets`! diff --git a/branch.md b/branch.md index 81d5de0f..4c35a6ec 100644 --- a/branch.md +++ b/branch.md @@ -76,13 +76,13 @@ 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.034 seconds] -• end pipeline [0.136 seconds] +```output +✔ skipped target penguins_data_raw_file +✔ skipped target penguins_data_raw +✔ skipped target penguins_data +▶ dispatched target combined_model +● completed target combined_model [0.044 seconds] +▶ ended pipeline [0.163 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. @@ -94,7 +94,7 @@ tar_load(combined_model) glance(combined_model) ``` -```{.output} +```output # A tibble: 1 × 12 r.squared adj.r.squared sigma statistic p.value df logLik AIC BIC deviance df.residual nobs @@ -146,22 +146,22 @@ 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.004 seconds] -• start target species_model -• built target species_model [0.011 seconds] -• start target combined_summary -• built target combined_summary [0.008 seconds] -• start target interaction_summary -• built target interaction_summary [0.002 seconds] -• start target species_summary -• built target species_summary [0.003 seconds] -• end pipeline [0.144 seconds] +```output +✔ 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.004 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.003 seconds] +▶ dispatched target species_summary +● completed target species_summary [0.002 seconds] +▶ ended pipeline [0.153 seconds] ``` Let's look at the summary of one of the models: @@ -171,7 +171,7 @@ Let's look at the summary of one of the models: tar_read(species_summary) ``` -```{.output} +```output # A tibble: 1 × 12 r.squared adj.r.squared sigma statistic p.value df logLik AIC BIC deviance df.residual nobs @@ -225,23 +225,23 @@ What is going on here? 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.006 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.002 seconds] -• start branch model_summaries_91696941 -• built branch model_summaries_91696941 [0.003 seconds] -• built pattern model_summaries -• end pipeline [0.149 seconds] +```output +✔ 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_812e3af782bee03f +● completed branch model_summaries_812e3af782bee03f [0.006 seconds] +▶ dispatched branch model_summaries_2b8108839427c135 +● completed branch model_summaries_2b8108839427c135 [0.003 seconds] +▶ dispatched branch model_summaries_533cd9a636c3e05b +● completed branch model_summaries_533cd9a636c3e05b [0.003 seconds] +● completed pattern model_summaries +▶ ended pipeline [0.15 seconds] ``` -There is a series of smaller targets (branches) that are each named like model_summaries_5ad4cec5, then one overall `model_summaries` target. +There is a series of smaller targets (branches) that are each named like model_summaries_812e3af782bee03f, then one overall `model_summaries` target. That is the result of specifying targets using branching: each of the smaller targets are the "branches" that comprise the overall target. Since `targets` has no way of knowing ahead of time how many branches there will be or what they represent, it names each one using this series of numbers and letters (the "hash"). `targets` builds each branch one at a time, then combines them into the overall target. @@ -292,7 +292,7 @@ tar_read(model_summaries) ``` -```{.output} +```output # A tibble: 3 × 12 r.squared adj.r.squared sigma statistic p.value df logLik AIC BIC deviance df.residual nobs @@ -363,19 +363,19 @@ 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.03 seconds] -• start branch model_summaries_c73912d5 -• built branch model_summaries_c73912d5 [0.006 seconds] -• start branch model_summaries_91696941 -• built branch model_summaries_91696941 [0.004 seconds] -• built pattern model_summaries -• end pipeline [0.154 seconds] +```output +✔ skipped target penguins_data_raw_file +✔ skipped target penguins_data_raw +✔ skipped target penguins_data +✔ skipped target models +▶ dispatched branch model_summaries_812e3af782bee03f +● completed branch model_summaries_812e3af782bee03f [0.012 seconds] +▶ dispatched branch model_summaries_2b8108839427c135 +● completed branch model_summaries_2b8108839427c135 [0.041 seconds] +▶ dispatched branch model_summaries_533cd9a636c3e05b +● completed branch model_summaries_533cd9a636c3e05b [0.004 seconds] +● completed pattern model_summaries +▶ ended pipeline [0.231 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). @@ -385,7 +385,7 @@ And this time, when we load the `model_summaries`, we can tell which model corre tar_read(model_summaries) ``` -```{.output} +```output # A tibble: 3 × 13 r.squared adj.r.squared sigma statistic p.value df logLik AIC BIC deviance df.residual nobs model_name @@ -403,7 +403,7 @@ tar_load(models) augment(models[[1]]) ``` -```{.output} +```output # A tibble: 342 × 8 bill_depth_mm bill_length_mm .fitted .resid .hat .sigma .cooksd .std.resid diff --git a/cache.md b/cache.md index 82dc5914..022119b4 100644 --- a/cache.md +++ b/cache.md @@ -36,7 +36,7 @@ But, if we just call the name of the object (for example, `penguins_data`), we g penguins_data ``` -```{.error} +```error Error in eval(expr, envir, enclos): object 'penguins_data' not found ``` @@ -68,7 +68,7 @@ tar_load(penguins_data) summary(penguins_data) ``` -```{.output} +```output species bill_length_mm bill_depth_mm Length:342 Min. :32.10 Min. :13.10 Class :character 1st Qu.:39.23 1st Qu.:15.60 @@ -92,7 +92,7 @@ Let's try it with `penguins_csv_file`. tar_read(penguins_csv_file) ``` -```{.output} +```output [1] "/home/runner/.local/share/renv/cache/v5/R-4.3/x86_64-pc-linux-gnu/palmerpenguins/0.1.1/6c6861efbc13c1d543749e9c7be4a592/palmerpenguins/extdata/penguins_raw.csv" ``` @@ -105,7 +105,7 @@ If you try to run `penguins_csv_file` now, you will get an error: penguins_csv_file ``` -```{.error} +```error Error in eval(expr, envir, enclos): object 'penguins_csv_file' not found ``` 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 cbf2583a..0761ccb1 100644 --- a/files.md +++ b/files.md @@ -54,10 +54,10 @@ tar_plan( ``` -```{.output} -• start target some_data -• built target some_data [0.002 seconds] -• end pipeline [0.088 seconds] +```output +▶ dispatched target some_data +● completed target some_data [0.001 seconds] +▶ ended 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. @@ -75,9 +75,9 @@ tar_plan( ``` -```{.output} -✔ skip target some_data -✔ skip pipeline [0.066 seconds] +```output +✔ skipped target some_data +✔ skipped pipeline [0.052 seconds] ``` The target `some_data` was skipped, even though the contents of the file changed. @@ -96,12 +96,12 @@ tar_plan( ``` -```{.output} -• start target data_file -• built target data_file [0.001 seconds] -• start target some_data -• built target some_data [0 seconds] -• end pipeline [0.098 seconds] +```output +▶ dispatched target data_file +● completed target data_file [0.001 seconds] +▶ dispatched target some_data +● completed target some_data [0 seconds] +▶ ended pipeline [0.069 seconds] ``` This time we see that `targets` does successfully re-build `some_data` as expected. @@ -134,7 +134,7 @@ tar_manifest() ``` -```{.output} +```output # A tibble: 2 × 2 name command @@ -182,14 +182,14 @@ 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.101 seconds] -• start target penguins_data -• built target penguins_data [0.024 seconds] -• end pipeline [0.224 seconds] +```output +▶ 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.2 seconds] +▶ dispatched target penguins_data +● completed target penguins_data [0.012 seconds] +▶ ended pipeline [0.285 seconds] ``` :::::::::::::::::::::::::::::::::: @@ -209,7 +209,7 @@ x ``` -```{.output} +```output NULL ``` @@ -232,7 +232,7 @@ x ``` -```{.output} +```output [1] "test.txt" ``` @@ -260,16 +260,16 @@ tar_plan( ``` -```{.output} -• start target hello_file -• built target hello_file [0.002 seconds] -• start target hello -• built target hello [0 seconds] -• start target hello_caps -• built target hello_caps [0 seconds] -• start target hello_caps_out -• built target hello_caps_out [0 seconds] -• end pipeline [0.105 seconds] +```output +▶ dispatched target hello_file +● completed target hello_file [0 seconds] +▶ dispatched target hello +● completed target hello [0 seconds] +▶ dispatched target hello_caps +● completed target hello_caps [0.001 seconds] +▶ dispatched target hello_caps_out +● completed target hello_caps_out [0.001 seconds] +▶ ended 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 0a9de414..c8c47133 100644 --- a/lifecycle.md +++ b/lifecycle.md @@ -38,11 +38,11 @@ This is easiest to understand by trying it yourself. Let's try running the workf tar_make() ``` -```{.output} -✔ skip target penguins_csv_file -✔ skip target penguins_data_raw -✔ skip target penguins_data -✔ skip pipeline [0.081 seconds] +```output +✔ skipped target penguins_csv_file +✔ skipped target penguins_data_raw +✔ skipped target penguins_data +✔ skipped pipeline [0.071 seconds] ``` Remember how the first time we ran the pipeline, `targets` printed out a list of each target as it was being built? @@ -82,12 +82,12 @@ Then run it again. tar_make() ``` -```{.output} -✔ skip target penguins_csv_file -✔ skip target penguins_data_raw -• start target penguins_data -• built target penguins_data [0.026 seconds] -• end pipeline [0.128 seconds] +```output +✔ skipped target penguins_csv_file +✔ skipped target penguins_data_raw +▶ dispatched target penguins_data +● completed target penguins_data [0.012 seconds] +▶ ended pipeline [0.128 seconds] ``` What happened? @@ -211,7 +211,7 @@ If everything is up to date, it will return a zero-length character vector (`cha tar_outdated() ``` -```{.output} +```output character(0) ``` @@ -223,13 +223,13 @@ You may find it helpful to further manipulate the dataframe to obtain useful sum tar_progress() ``` -```{.output} +```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 @@ -248,11 +248,11 @@ Let's give this a try. Remember that our pipeline is currently up to date, so `t tar_make() ``` -```{.output} -✔ skip target penguins_csv_file -✔ skip target penguins_data_raw -✔ skip target penguins_data -✔ skip pipeline [0.077 seconds] +```output +✔ 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: @@ -263,12 +263,12 @@ tar_invalidate(penguins_data) tar_make() ``` -```{.output} -✔ skip target penguins_csv_file -✔ skip target penguins_data_raw -• start target penguins_data -• built target penguins_data [0.038 seconds] -• end pipeline [0.127 seconds] +```output +✔ skipped target penguins_csv_file +✔ skipped target penguins_data_raw +▶ dispatched target penguins_data +● completed target penguins_data [0.012 seconds] +▶ ended pipeline [0.128 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 6e7968a4..fdb93ad2 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" "2024-03-12" -"LICENSE.md" "b24ebbb41b14ca25cf6b8216dda83e5f" "site/built/LICENSE.md" "2024-03-12" -"config.yaml" "97cf738871f0133f70da7d938c14bfb2" "site/built/config.yaml" "2024-03-12" -"index.md" "06bbfd5ab0e2353032361b3321342d13" "site/built/index.md" "2024-03-12" -"links.md" "8184cf4149eafbf03ce8da8ff0778c14" "site/built/links.md" "2024-03-12" -"episodes/introduction.Rmd" "feaacfccab344eb1fa6e702aded97924" "site/built/introduction.md" "2024-03-12" -"episodes/basic-targets.Rmd" "90190eae899db41c64b69320e3f72365" "site/built/basic-targets.md" "2024-03-12" -"episodes/cache.Rmd" "b487d6d792469641faec63c838541aac" "site/built/cache.md" "2024-03-12" -"episodes/lifecycle.Rmd" "7974a62cc37ac1138647d043fe1e4a26" "site/built/lifecycle.md" "2024-03-12" -"episodes/organization.Rmd" "74df25779b74013eeb6a8ca7b8934efe" "site/built/organization.md" "2024-03-12" -"episodes/packages.Rmd" "2c0eb6138ea6685a0ee279c89b381bc4" "site/built/packages.md" "2024-03-12" -"episodes/files.Rmd" "b7f4ef83379a58d5c30d8e011e3b2c0d" "site/built/files.md" "2024-03-12" -"episodes/branch.Rmd" "6f1187d6df3310eb042aaae3a44328dc" "site/built/branch.md" "2024-03-12" -"episodes/parallel.Rmd" "f9b7709ceae26b281ea5919835f5260b" "site/built/parallel.md" "2024-03-12" -"episodes/quarto.Rmd" "b854a0a44fd0ec7e503c9e99d21f8fce" "site/built/quarto.md" "2024-03-12" -"instructors/instructor-notes.md" "df3784ee5c0436a9e171071f7965d3fc" "site/built/instructor-notes.md" "2024-03-12" -"learners/reference.md" "3f06251c1f932e767ae8f22db25eb5a2" "site/built/reference.md" "2024-03-12" -"learners/setup.md" "b4bdd601ab985cf048829f49710df7fc" "site/built/setup.md" "2024-03-12" -"profiles/learner-profiles.md" "44d8b9d8aca7963e6577e8c67d23eac0" "site/built/learner-profiles.md" "2024-03-12" -"renv/profiles/lesson-requirements/renv.lock" "709c5f088d07ec0ae755f23905be9799" "site/built/renv.lock" "2024-03-12" +"CODE_OF_CONDUCT.md" "c93c83c630db2fe2462240bf72552548" "site/built/CODE_OF_CONDUCT.md" "2024-05-07" +"LICENSE.md" "b24ebbb41b14ca25cf6b8216dda83e5f" "site/built/LICENSE.md" "2024-05-07" +"config.yaml" "97cf738871f0133f70da7d938c14bfb2" "site/built/config.yaml" "2024-05-07" +"index.md" "06bbfd5ab0e2353032361b3321342d13" "site/built/index.md" "2024-05-07" +"links.md" "8184cf4149eafbf03ce8da8ff0778c14" "site/built/links.md" "2024-05-07" +"episodes/introduction.Rmd" "feaacfccab344eb1fa6e702aded97924" "site/built/introduction.md" "2024-05-07" +"episodes/basic-targets.Rmd" "90190eae899db41c64b69320e3f72365" "site/built/basic-targets.md" "2024-05-07" +"episodes/cache.Rmd" "b487d6d792469641faec63c838541aac" "site/built/cache.md" "2024-05-07" +"episodes/lifecycle.Rmd" "7974a62cc37ac1138647d043fe1e4a26" "site/built/lifecycle.md" "2024-05-07" +"episodes/organization.Rmd" "74df25779b74013eeb6a8ca7b8934efe" "site/built/organization.md" "2024-05-07" +"episodes/packages.Rmd" "2c0eb6138ea6685a0ee279c89b381bc4" "site/built/packages.md" "2024-05-07" +"episodes/files.Rmd" "b7f4ef83379a58d5c30d8e011e3b2c0d" "site/built/files.md" "2024-05-07" +"episodes/branch.Rmd" "6f1187d6df3310eb042aaae3a44328dc" "site/built/branch.md" "2024-05-07" +"episodes/parallel.Rmd" "f9b7709ceae26b281ea5919835f5260b" "site/built/parallel.md" "2024-05-07" +"episodes/quarto.Rmd" "b854a0a44fd0ec7e503c9e99d21f8fce" "site/built/quarto.md" "2024-05-07" +"instructors/instructor-notes.md" "df3784ee5c0436a9e171071f7965d3fc" "site/built/instructor-notes.md" "2024-05-07" +"learners/reference.md" "3f06251c1f932e767ae8f22db25eb5a2" "site/built/reference.md" "2024-05-07" +"learners/setup.md" "b4bdd601ab985cf048829f49710df7fc" "site/built/setup.md" "2024-05-07" +"profiles/learner-profiles.md" "44d8b9d8aca7963e6577e8c67d23eac0" "site/built/learner-profiles.md" "2024-05-07" +"renv/profiles/lesson-requirements/renv.lock" "86693f44325103219cbe4fd186c32e7c" "site/built/renv.lock" "2024-05-07" diff --git a/organization.md b/organization.md index e74671f9..c288f15e 100644 --- a/organization.md +++ b/organization.md @@ -145,13 +145,42 @@ tar_plan( ``` -```{.error} +```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: + base::tryCatch(base::withCallingHandlers({ NULL base::saveRDS(base::do.c... + 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) + base::withCallingHandlers({ NULL base::saveRDS(base::do.call(base::do.ca... + base::saveRDS(base::do.call(base::do.call, base::c(base::readRDS("/tmp/R... + base::do.call(base::do.call, base::c(base::readRDS("/tmp/RtmpQZCYCI/call... + (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 935dd02d..abc9b384 100644 --- a/packages.md +++ b/packages.md @@ -69,10 +69,10 @@ tar_plan( ``` -```{.output} -• start target adelie_data -• built target adelie_data [0.031 seconds] -• end pipeline [0.109 seconds] +```output +▶ dispatched target adelie_data +● completed target adelie_data [0.017 seconds] +▶ ended pipeline [0.068 seconds] ``` This method gets around the slow-downs that may sometimes be experienced with Method 1. @@ -98,10 +98,10 @@ tar_plan( ``` -```{.output} -• start target adelie_data -• built target adelie_data [0.033 seconds] -• end pipeline [0.112 seconds] +```output +▶ dispatched target adelie_data +● completed target adelie_data [0.018 seconds] +▶ ended 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. @@ -125,10 +125,10 @@ tar_plan( ``` -```{.output} -• start target adelie_data -• built target adelie_data [0.023 seconds] -• end pipeline [0.101 seconds] +```output +▶ dispatched target adelie_data +● completed target adelie_data [0.009 seconds] +▶ ended pipeline [0.06 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/parallel.md b/parallel.md index 2b14e20a..ac608400 100644 --- a/parallel.md +++ b/parallel.md @@ -193,7 +193,7 @@ tar_plan( Finally, run the pipeline with `tar_make()` as normal. -```{.output} +```output ✔ skip target penguins_data_raw_file ✔ skip target penguins_data_raw ✔ skip target penguins_data diff --git a/renv.lock b/renv.lock deleted file mode 100644 index a71e04bd..00000000 --- a/renv.lock +++ /dev/null @@ -1,1842 +0,0 @@ -{ - "R": { - "Version": "4.3.3", - "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": "CRAN", - "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" - } - } -}