{
  "_id": "6ab423bd3d719c1f840947b7",
  "Type": "Package",
  "Package": "gradethis",
  "Title": "Automated Feedback for Student Exercises in 'learnr' Tutorials",
  "Version": "0.2.14",
  "Authors@R": "c(\nperson(\"Garrick\", \"Aden-Buie\", , \"garrick@posit.co\", role = \"aut\",\ncomment = c(ORCID = \"0000-0002-7111-0077\")),\nperson(\"Daniel\", \"Chen\", , \"daniel.chen@posit.co\", role = \"aut\",\ncomment = c(ORCID = \"0000-0003-3857-1741\")),\nperson(\"Garrett\", \"Grolemund\", , \"garrett@posit.co\", role = c(\"ccp\", \"aut\"),\ncomment = c(ORCID = \"0000-0002-7765-6011\")),\nperson(\"Alexander\", \"Rossell Hayes\", , \"alex.rossellhayes@posit.co\", role = c(\"aut\", \"cre\"),\ncomment = c(ORCID = \"0000-0001-9412-0457\")),\nperson(\"Barret\", \"Schloerke\", , \"barret@posit.co\", role = \"aut\",\ncomment = c(ORCID = \"0000-0001-9986-114X\")),\nperson(, \"Posit, PBC\", role = c(\"cph\", \"fnd\"))\n)",
  "Description": "Pairing with the 'learnr' R package, 'gradethis' provides\nmultiple methods to grade 'learnr' exercises.  To learn more\nabout 'learnr' tutorials, please visit\n<https://rstudio.github.io/learnr/>.",
  "License": "MIT + file LICENSE",
  "URL": "https://pkgs.rstudio.com/gradethis/,\nhttps://rstudio.github.io/learnr/,\nhttps://github.com/rstudio/gradethis",
  "BugReports": "https://github.com/rstudio/gradethis/issues",
  "VignetteBuilder": "knitr",
  "Remotes": [
    "rstudio/ggcheck",
    "rstudio/learnr"
  ],
  "Config/Needs/connect": "rsconnect",
  "Config/Needs/coverage": "covr",
  "Config/Needs/website": "pkgdown, tidyverse/tidytemplate",
  "Config/testthat/edition": "3",
  "Encoding": "UTF-8",
  "Language": "en-US",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.2.3",
  "Config/pak/sysreqs": "cmake make libuv1-dev zlib1g-dev",
  "Repository": "https://teaching-datascience.r-universe.dev",
  "Date/Publication": "2023-06-27 02:54:24 UTC",
  "RemoteUrl": "https://github.com/rstudio/gradethis",
  "RemoteRef": "v0.2.14",
  "RemoteSha": "8dc6b8e0a3253c30a1db7fe72c485bdd2ff6c79d",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-09-23 19:03:50 UTC",
    "User": "root"
  },
  "Author": "Garrick Aden-Buie [aut] (ORCID:\n<https://orcid.org/0000-0002-7111-0077>),\nDaniel Chen [aut] (ORCID: <https://orcid.org/0000-0003-3857-1741>),\nGarrett Grolemund [ccp, aut] (ORCID:\n<https://orcid.org/0000-0002-7765-6011>),\nAlexander Rossell Hayes [aut, cre] (ORCID:\n<https://orcid.org/0000-0001-9412-0457>),\nBarret Schloerke [aut] (ORCID: <https://orcid.org/0000-0001-9986-114X>),\nPosit, PBC [cph, fnd]",
  "Maintainer": "Alexander Rossell Hayes <alex.rossellhayes@posit.co>",
  "_user": "teaching-datascience",
  "_type": "src",
  "_file": "gradethis_0.2.14.tar.gz",
  "_fileid": "https://r2.ropensci.org/db7fb6f8b2e5bc255ba88ae7bac7b7dca313be1c9ed97693eae392fbd8173178",
  "_filesize": 522350,
  "_sha256": "db7fb6f8b2e5bc255ba88ae7bac7b7dca313be1c9ed97693eae392fbd8173178",
  "_expires": "2027-01-01T19:08:44.000Z",
  "_created": "2026-09-23T19:03:50.000Z",
  "_published": "2026-09-23T19:08:45.821Z",
  "_jobs": [
    {
      "job": 107336460236,
      "time": 247,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "ERROR",
      "artifact": "10771930841"
    },
    {
      "job": 107336460248,
      "time": 202,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "ERROR",
      "artifact": "10772210172"
    },
    {
      "job": 107336460213,
      "time": 204,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "ERROR",
      "artifact": "10771506837"
    },
    {
      "job": 107336460292,
      "time": 217,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "ERROR",
      "artifact": "10771745774"
    },
    {
      "job": 107334837594,
      "time": 248,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10771840189"
    },
    {
      "job": 107336460228,
      "time": 170,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "10771985417"
    },
    {
      "job": 107336460685,
      "time": 206,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "ERROR",
      "artifact": "10771322451"
    },
    {
      "job": 107336460506,
      "time": 198,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "ERROR",
      "artifact": "10772070442"
    },
    {
      "job": 107336460383,
      "time": 224,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "ERROR",
      "artifact": "10772240313"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/teaching-datascience/actions/runs/35906292789",
  "_status": "success",
  "_upstream": "https://github.com/rstudio/gradethis",
  "_commit": {
    "id": "8dc6b8e0a3253c30a1db7fe72c485bdd2ff6c79d",
    "author": "Alex Rossell Hayes <alexander@rossellhayes.com>",
    "committer": "Alex Rossell Hayes <alexander@rossellhayes.com>",
    "message": "Increment version number to 0.2.14\n",
    "time": 1687834464
  },
  "_maintainer": {
    "name": "Alexander Rossell Hayes",
    "email": "alex.rossellhayes@posit.co",
    "login": "rossellhayes",
    "description": "Senior Data Scientist at @yougov-datascience |\nPolitical Science PhD",
    "uuid": 44556601,
    "orcid": "0000-0001-9412-0457"
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.2.0",
      "role": "Depends"
    },
    {
      "package": "checkmate",
      "role": "Imports"
    },
    {
      "package": "commonmark",
      "role": "Imports"
    },
    {
      "package": "ellipsis",
      "role": "Imports"
    },
    {
      "package": "glue",
      "role": "Imports"
    },
    {
      "package": "htmltools",
      "role": "Imports"
    },
    {
      "package": "learnr",
      "version": ">= 0.10.1.9008",
      "role": "Imports"
    },
    {
      "package": "lifecycle",
      "role": "Imports"
    },
    {
      "package": "magrittr",
      "role": "Imports"
    },
    {
      "package": "purrr",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "rstudioapi",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "waldo",
      "role": "Imports"
    },
    {
      "package": "withr",
      "role": "Imports"
    },
    {
      "package": "DBI",
      "role": "Suggests"
    },
    {
      "package": "ggcheck",
      "version": ">= 0.0.5",
      "role": "Suggests"
    },
    {
      "package": "ggplot2",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "spelling",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "rstudio",
  "_selfowned": false,
  "_usedby": 6,
  "_updates": [],
  "_tags": [],
  "_stars": 164,
  "_contributors": [
    {
      "user": "gadenbuie",
      "count": 122,
      "uuid": 5420529
    },
    {
      "user": "garrettgman",
      "count": 114,
      "uuid": 85014
    },
    {
      "user": "rossellhayes",
      "count": 36,
      "uuid": 44556601
    },
    {
      "user": "cpsievert",
      "count": 29,
      "uuid": 1365941
    },
    {
      "user": "chendaniely",
      "count": 29,
      "uuid": 5782147
    },
    {
      "user": "schloerke",
      "count": 12,
      "uuid": 93231
    },
    {
      "user": "vincentguyader",
      "count": 8,
      "uuid": 10470699
    },
    {
      "user": "trestletech",
      "count": 3,
      "uuid": 1593639
    },
    {
      "user": "angela-li",
      "count": 1,
      "uuid": 15808896
    },
    {
      "user": "colinfay",
      "count": 1,
      "uuid": 17936236
    },
    {
      "user": "laura-puckett",
      "count": 1,
      "uuid": 36464703
    },
    {
      "user": "mine-cetinkaya-rundel",
      "count": 1,
      "uuid": 5965649
    },
    {
      "user": "nischalshrestha",
      "count": 1,
      "uuid": 9612286
    }
  ],
  "_userbio": {
    "uuid": 332911724,
    "type": "organization",
    "name": "teaching-datascience",
    "followers": 0
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/gradethis"
  },
  "_devurl": "https://github.com/rstudio/gradethis",
  "_pkgdown": "https://pkgs.rstudio.com/gradethis/",
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/gradethis.html",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE"
  ],
  "_cranurl": false,
  "_exports": [
    ".engine",
    ".envir_prep",
    ".envir_result",
    ".envir_solution",
    ".evaluate_result",
    ".label",
    ".last_value",
    ".result",
    ".solution",
    ".solution_all",
    ".solution_code",
    ".solution_code_all",
    ".stage",
    ".user",
    ".user_code",
    "%>%",
    "code_feedback",
    "condition",
    "debug_this",
    "eval_gradethis",
    "evaluate_condition",
    "fail",
    "fail_if",
    "fail_if_code_feedback",
    "fail_if_equal",
    "fail_if_error",
    "fail_if_not_equal",
    "give_code_feedback",
    "give_encouragement",
    "give_praise",
    "grade_code",
    "grade_conditions",
    "grade_feedback",
    "grade_learnr",
    "grade_result",
    "grade_result_strict",
    "grade_this",
    "grade_this_code",
    "graded",
    "gradethis_demo",
    "gradethis_equal",
    "gradethis_error_checker",
    "gradethis_exercise_checker",
    "gradethis_setup",
    "maybe_code_feedback",
    "mock_this_exercise",
    "pass",
    "pass_if",
    "pass_if_equal",
    "pipe_warning",
    "random_encourage",
    "random_encouragement",
    "random_praise",
    "solution_object_exists",
    "solution_object_get",
    "solution_object_list",
    "user_object_exists",
    "user_object_get",
    "user_object_list",
    "with_exercise"
  ],
  "_help": [
    {
      "page": "code_feedback",
      "title": "Provide automated code feedback",
      "topics": [
        "code_feedback",
        "give_code_feedback",
        "maybe_code_feedback"
      ]
    },
    {
      "page": "debug_this",
      "title": "Debug an exercise submission",
      "topics": [
        "debug_this"
      ]
    },
    {
      "page": "fail_if_code_feedback",
      "title": "Signal a failing grade if mistakes are detected in the submitted code",
      "topics": [
        "fail_if_code_feedback"
      ]
    },
    {
      "page": "fail_if_error",
      "title": "Fail if grading code produces an error",
      "topics": [
        "fail_if_error"
      ]
    },
    {
      "page": "grade_this",
      "title": "Grade a student's submission using custom logic",
      "topics": [
        "grade_this"
      ]
    },
    {
      "page": "grade_this_code",
      "title": "Grade student code against a solution",
      "topics": [
        "grade_this_code"
      ]
    },
    {
      "page": "grade_this-objects",
      "title": "Checking environment objects for use in 'grade_this()'",
      "topics": [
        ".engine",
        ".envir_prep",
        ".envir_result",
        ".envir_solution",
        ".evaluate_result",
        ".label",
        ".last_value",
        ".result",
        ".solution",
        ".solution_all",
        ".solution_code",
        ".solution_code_all",
        ".stage",
        ".user",
        ".user_code",
        "grade_this-objects"
      ]
    },
    {
      "page": "graded",
      "title": "Signal a final grade for a student's submission",
      "topics": [
        "fail",
        "graded",
        "pass"
      ]
    },
    {
      "page": "gradethis_equal",
      "title": "Compare the values of two objects to check whether they are equal",
      "topics": [
        "gradethis_equal",
        "gradethis_equal.default",
        "gradethis_equal.list"
      ]
    },
    {
      "page": "gradethis_error_checker",
      "title": "An error checking function for use with learnr",
      "topics": [
        "gradethis_error_checker"
      ]
    },
    {
      "page": "gradethis_exercise_checker",
      "title": "A checker function to use with 'learnr'",
      "topics": [
        "gradethis_exercise_checker"
      ]
    },
    {
      "page": "gradethis_setup",
      "title": "Setup gradethis for use within learnr",
      "topics": [
        "gradethis_setup"
      ]
    },
    {
      "page": "mock_this_exercise",
      "title": "Mock a user submission to an exercise",
      "topics": [
        "mock_this_exercise"
      ]
    },
    {
      "page": "pass_if",
      "title": "Signal a passing or failing grade if a condition is TRUE",
      "topics": [
        "fail_if",
        "pass_if"
      ]
    },
    {
      "page": "pass_if_equal",
      "title": "Signal a passing or failing grade if two values are equal",
      "topics": [
        "fail_if_equal",
        "fail_if_not_equal",
        "pass_if_equal"
      ]
    },
    {
      "page": "pipe_warning",
      "title": "Inform the user about how gradethis interprets piped code",
      "topics": [
        "pipe_warning"
      ]
    },
    {
      "page": "praise",
      "title": "Random praise and encouragement",
      "topics": [
        "give_encouragement",
        "give_praise",
        "praise",
        "random_encouragement",
        "random_praise"
      ]
    },
    {
      "page": "user_object",
      "title": "Functions for interacting with objects created by student and solution code",
      "topics": [
        "solution_object_exists",
        "solution_object_get",
        "solution_object_list",
        "user_object",
        "user_object_exists",
        "user_object_get",
        "user_object_list"
      ]
    },
    {
      "page": "with_exercise",
      "title": "Run an expression as if it were in an exercise's 'grade_this()' block",
      "topics": [
        "with_exercise"
      ]
    }
  ],
  "_pkglogo": "https://github.com/rstudio/gradethis/raw/v0.2.14/man/figures/logo.png",
  "_readme": "https://github.com/rstudio/gradethis/raw/v0.2.14/README.md",
  "_rundeps": [
    "backports",
    "base64enc",
    "bslib",
    "cachem",
    "checkmate",
    "cli",
    "commonmark",
    "crayon",
    "diffobj",
    "digest",
    "ellipsis",
    "evaluate",
    "fastmap",
    "fontawesome",
    "fs",
    "glue",
    "highr",
    "htmltools",
    "htmlwidgets",
    "httpuv",
    "jquerylib",
    "jsonlite",
    "knitr",
    "later",
    "learnr",
    "lifecycle",
    "litedown",
    "magrittr",
    "markdown",
    "memoise",
    "mime",
    "otel",
    "promises",
    "purrr",
    "R6",
    "rappdirs",
    "Rcpp",
    "renv",
    "rlang",
    "rmarkdown",
    "rprojroot",
    "rstudioapi",
    "sass",
    "shiny",
    "sourcetools",
    "tinytex",
    "vctrs",
    "waldo",
    "withr",
    "xfun",
    "xtable",
    "yaml"
  ],
  "_vignettes": [
    {
      "source": "gradethis.Rmd",
      "filename": "gradethis.html",
      "title": "gradethis",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Overview",
        "Checking Student Code",
        "Custom Grading Logic",
        "Compare with Solution Code",
        "Writing Custom Logic",
        "Exercise Objects",
        "Grading Helper Functions",
        "Feedback Messages"
      ],
      "created": "2021-03-10 18:14:12",
      "modified": "2022-08-29 16:27:45",
      "commits": 4
    },
    {
      "source": "multiple_solutions.Rmd",
      "filename": "multiple_solutions.html",
      "title": "Multiple solutions",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Overview",
        "Multiple solutions, same result",
        "Example",
        "Providing different messages for different solutions",
        "Multiple solutions, different results",
        "Example",
        "Working with all solution results"
      ],
      "created": "2022-04-29 19:51:46",
      "modified": "2022-04-29 20:07:34",
      "commits": 2
    }
  ],
  "_score": 7.5492975991986295,
  "_indexed": false,
  "_nocasepkg": "gradethis",
  "_universes": [
    "teaching-datascience"
  ],
  "_indexurl": "https://rstudio.r-universe.dev/gradethis",
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.2.14",
      "date": "2026-09-23T19:07:34.000Z",
      "distro": "resolute",
      "commit": "8dc6b8e0a3253c30a1db7fe72c485bdd2ff6c79d",
      "fileid": "https://r2.ropensci.org/82d9c25141c0bbfbc40451458873dd42b96137bc56ebd94c6ca962c76793a69f",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/teaching-datascience/actions/runs/35906292789"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.2.14",
      "date": "2026-09-23T19:06:53.000Z",
      "distro": "resolute",
      "commit": "8dc6b8e0a3253c30a1db7fe72c485bdd2ff6c79d",
      "fileid": "https://r2.ropensci.org/20ab1c40efa295182494de2053c327ab1d8d0d50a42d36ccc80d5b5a7490c603",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/teaching-datascience/actions/runs/35906292789"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.2.14",
      "date": "2026-09-23T19:07:04.000Z",
      "commit": "8dc6b8e0a3253c30a1db7fe72c485bdd2ff6c79d",
      "fileid": "https://r2.ropensci.org/bfbfddeaf940e161d2b3961eee4894143fd64dfdd6cda526240ede6439689f32",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/teaching-datascience/actions/runs/35906292789"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.2.14",
      "date": "2026-09-23T19:07:00.000Z",
      "commit": "8dc6b8e0a3253c30a1db7fe72c485bdd2ff6c79d",
      "fileid": "https://r2.ropensci.org/bbb7199cc23dabea86db3e5f04f0663b7f97c15466a702efab1f59df088a19f8",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/teaching-datascience/actions/runs/35906292789"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.2.14",
      "date": "2026-09-23T19:07:01.000Z",
      "commit": "8dc6b8e0a3253c30a1db7fe72c485bdd2ff6c79d",
      "fileid": "https://r2.ropensci.org/541eb58e393db9857f11bfd0467503956b48b312de8dfef2276922bfc3470cd8",
      "status": "success",
      "buildurl": "https://github.com/r-universe/teaching-datascience/actions/runs/35906292789"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.2.14",
      "date": "2026-09-23T19:05:43.000Z",
      "commit": "8dc6b8e0a3253c30a1db7fe72c485bdd2ff6c79d",
      "fileid": "https://r2.ropensci.org/8e47ad276b922061fa2dd617c4dfabad25b3948769b70ff59875f125d413756e",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/teaching-datascience/actions/runs/35906292789"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.2.14",
      "date": "2026-09-23T19:05:44.000Z",
      "commit": "8dc6b8e0a3253c30a1db7fe72c485bdd2ff6c79d",
      "fileid": "https://r2.ropensci.org/ad86a4244d1713cca1af1167b387a5b2a6bd7d6d655ea2025694db7a98eea0a0",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/teaching-datascience/actions/runs/35906292789"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.2.14",
      "date": "2026-09-23T19:06:03.000Z",
      "commit": "8dc6b8e0a3253c30a1db7fe72c485bdd2ff6c79d",
      "fileid": "https://r2.ropensci.org/a07df2ef95d4fef589cb295ebf811ac9f9c07eea51208097ffc298f1dac457d2",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/teaching-datascience/actions/runs/35906292789"
    }
  ]
}