{"id":14067413,"url":"https://github.com/ropensci-review-tools/pkgcheck","last_synced_at":"2025-10-31T07:52:44.967Z","repository":{"id":40274865,"uuid":"264203707","full_name":"ropensci-review-tools/pkgcheck","owner":"ropensci-review-tools","description":"Check whether a package is ready for submission to rOpenSci's peer-review system","archived":false,"fork":false,"pushed_at":"2025-09-18T12:05:47.000Z","size":7205,"stargazers_count":24,"open_issues_count":28,"forks_count":15,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-09-18T14:37:14.386Z","etag":null,"topics":["compliance-automation","r","software-analysis","software-checking"],"latest_commit_sha":null,"homepage":"https://docs.ropensci.org/pkgcheck/","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ropensci-review-tools.png","metadata":{"files":{"readme":"README.Rmd","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":"codemeta.json","zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-05-15T13:40:55.000Z","updated_at":"2025-09-18T12:05:46.000Z","dependencies_parsed_at":"2023-10-02T11:11:21.774Z","dependency_job_id":"f8ea4398-bff8-4c5c-a267-ade2eb1ac540","html_url":"https://github.com/ropensci-review-tools/pkgcheck","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ropensci-review-tools/pkgcheck","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ropensci-review-tools%2Fpkgcheck","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ropensci-review-tools%2Fpkgcheck/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ropensci-review-tools%2Fpkgcheck/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ropensci-review-tools%2Fpkgcheck/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ropensci-review-tools","download_url":"https://codeload.github.com/ropensci-review-tools/pkgcheck/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ropensci-review-tools%2Fpkgcheck/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281953496,"owners_count":26589146,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-31T02:00:07.401Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["compliance-automation","r","software-analysis","software-checking"],"created_at":"2024-08-13T07:05:34.876Z","updated_at":"2025-10-31T07:52:44.952Z","avatar_url":"https://github.com/ropensci-review-tools.png","language":"R","funding_links":[],"categories":["R"],"sub_categories":[],"readme":"---\ntitle: \"pkgcheck\"\noutput:\n  md_document:\n    variant: gfm\n\n  rmarkdown::html_vignette:\n    self_contained: no\n---\n\n# pkgcheck\n\n\u003c!-- badges: start --\u003e\n[![R build status](https://github.com/ropensci-review-tools/pkgcheck/workflows/R-CMD-check/badge.svg)](https://github.com/ropensci-review-tools/pkgcheck/actions?query=workflow%3AR-CMD-check)\n[![codecov](https://codecov.io/gh/ropensci-review-tools/pkgcheck/branch/main/graph/badge.svg)](https://codecov.io/gh/ropensci-review-tools/pkgcheck)\n[![Project Status: Active](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)\n\u003c!-- badges: end --\u003e\n\nCheck whether a package is ready for submission to\n[rOpenSci](https://ropensci.org)'s peer review system. The primary function\ncollates the output of\n[`goodpractice`](https://github.com/ropensci-review-tools/goodpractice), including `R CMD\ncheck` results, a number of statistics via the [`pkgstats`\npackage](https://github.com/ropensci-review-tools/pkgstats), and checks for\npackage structure expected for rOpenSci submissions. The output of this\nfunction immediately indicates whether or not a package is \"Ready to Submit\".\n\n\n## Installation\n\nThe easiest way to install this package is via the [associated\n`r-universe`](https://ropensci-review-tools.r-universe.dev/ui#builds). As\nshown there, simply enable the universe with\n\n```{r options, eval = FALSE}\noptions (repos = c (\n    ropenscireviewtools = \"https://ropensci-review-tools.r-universe.dev\",\n    CRAN = \"https://cloud.r-project.org\"\n))\n```\n\nAnd then install the usual way with,\n\n```{r install, eval = FALSE}\ninstall.packages (\"pkgcheck\")\n```\n\nAlternatively, the package can be installed by first installing either the\n[remotes](https://remotes.r-lib.org) or [pak](https://pak.r-lib.org/) packages\nand running one of the following lines:\n\n\n```{r remotes, eval = FALSE}\nremotes::install_github (\"ropensci-review-tools/pkgcheck\")\npak::pkg_install (\"ropensci-review-tools/pkgcheck\")\n```\n\nThe package can then loaded for use with\n\n```{r library, eval = FALSE}\nlibrary (pkgcheck)\n```\n\n\n## Setup\n\nThe [`pkgstats` package](https://github.com/ropensci-review-tools/pkgstats)\nalso requires the system libraries [`ctags`](https://ctags.io) and [GNU\n`global`](https://www.gnu.org/software/global/) to be installed. Procedures to\ninstall these libraries on various operating systems are described in a\n[`pkgstats`\nvignette](https://docs.ropensci.org/pkgstats/articles/installation.html). This\npackage also uses the [GitHub GraphQL API](https://developer.github.com/v4)\nwhich requires a local GitHub token to be stored with an unambiguous name\nincluding `GITHUB`, such as `GITHUB_TOKEN` (recommended), or `GITHUB_PAT` (for\nPersonal Authorization Token). This can be obtained from GitHub (via your user\nsettings), and stored using\n\n```{r ghtok, eval = FALSE}\nSys.setenv (\"GITHUB_TOKEN\" = \"\u003cmy_token\u003e\")\n```\n\nThis can also be set permanently by putting this line in your `~/.Renviron`\nfile (or creating this if it does not yet exist). Once `pkgstats` has been\nsuccessfully installed, the `pkgcheck` package can then be loaded via\na `library` call:\n\n```{r load, echo = TRUE, message = FALSE}\nlibrary (pkgcheck)\n```\n\n\n## Usage\n\nThe package primarily has one function, `pkgcheck`, which accepts the single\nargument, `path`, specifying the local location of a git repository to be\nanalysed. The following code generates a reproducible report by first\ndownloading a local clone of a repository called\n[`srr-demo`](https://github.com/mpadge/srr-demo), which contains the skeleton\nof an [`srr` (Software Review Roclets)\npackage](https://github.com/ropensci-review-tools/srr), generated with the\n[`srr_stats_pkg_skeleton()`\nfunction](https://docs.ropensci.org/srr/reference/srr_stats_pkg_skeleton.html):\n\n```{r pkgcheck, echo = TRUE, message = FALSE}\nmydir \u003c- file.path (tempdir (), \"srr-demo\")\ngert::git_clone (\"https://github.com/mpadge/srr-demo\", path = mydir)\ndevtools::document (mydir, quiet = TRUE) # Generate documentation entries in \"/man\" directory\nx \u003c- pkgcheck (mydir)\n```\n\nThat object has default `print` and `summary` methods. The latter can be used\nto simply check whether a package is ready for submission:\n\n```{r summary, collapse = TRUE}\nsummary (x)\n```\n\nA package may only be submitted when the summary contains all ticks and no\ncross symbols. (These symbols are colour-coded with green ticks and red crosses\nwhen generated in a terminal; GitHub markdown only renders them in\nblack-and-white.) The object returned from the `pkgcheck` function is a complex\nnested list with around a dozen primary components. Full information can be\nobtained by simply calling the default `print` method by typing the object name\n(`x`).\n\nTo avoid potential namespace conflicts with existing CRAN packages, `pkgcheck` includes the helper function [`fn_names_on_cran`](https://docs.ropensci.org/pkgcheck/reference/fn_names_on_cran.html).\nYou can use this interactively during development to check if your proposed function names are already in use.\nThis is a useful step to perform before committing new functions and running a full `pkgcheck`:\n\n```{r fn_names_on_cran}\nfn_names_on_cran (c (\"min\", \"max\"))\n```\n\n\n## The `pkgcheck` GitHub action\n\nThe `pkgcheck` package also has an associated GitHub action in [the\n`pkgcheck-action`\nrepository](https://github.com/ropensci-review-tools/pkgcheck-action).\nYou can use this action to run `pkgcheck` every time you push commits to\nGitHub, just like the `rcmdcheck()` checks which can be installed and run via\n[the `usethis::use_github_action_check_standard()`\nfunction](https://usethis.r-lib.org/reference/github_actions.html). `pkgcheck`\nincludes an analogous function,\n[`use_github_action_pkgcheck()`](https://docs.ropensci.org/pkgcheck/reference/use_github_action_pkgcheck.html),\nwhich will download the workflow file defining the action into your local\n`.github/workflows` folder. See [the `pkgcheck-action`\nrepository](https://github.com/ropensci-review-tools/pkgcheck-action)\nfor more details.\n\nYou can also add a `pkgcheck` badge, just like that `rcmdcheck` badge, that\nwill always reflect the current state of your repository's `pkgcheck` results.\nTo add a badge, copy the following line to your README file, filling in details\nof the GitHub organization and repository name (`\u003corg\u003e` and `\u003crepo\u003e`,\nrespectively):\n\n```{markdown}\n[![pkgcheck](https://github.com/\u003corg\u003e/\u003crepo\u003e/workflows/pkgcheck/badge.svg)](https://github.com/\u003corg\u003e/\u003crepo\u003e/actions?query=workflow%3Apkgcheck)\n```\n\n\n## What is checked?\n\nAll current checks are listed in [a separate\nvignette](https://docs.ropensci.org/pkgcheck/articles/list-checks.html).\n\n### Summary of Check Results\n\nCalling `summary()` on the object returned by the [`pkgcheck()`\nfunction](https://docs.ropensci.org/pkgcheck/reference/pkgcheck.html) will\ngenerate a checklist like that shown above. This checklist will also be\nautomatically generated when a package is first submitted to rOpenSci, and is\nused by the editors to assess whether to process a submission. Authors must\nensure prior to submission that there are no red crosses in the resultant list.\n(In the unlikely circumstances that a package is unable to pass particular\nchecks, explanations should be given upon submission about why those checks\nfail, and why review may proceed in spite of such failures.)\n\n\n### Detailed Check Results\n\nFull details of check results can be seen by `print`-ing the object returned by\nthe [`pkgcheck()`\nfunction](https://docs.ropensci.org/pkgcheck/reference/pkgcheck.html) (or just\nby typing the name of this object in the console.)\n\nThe package includes an additional function,\n[`checks_to_markdown()`](https://docs.ropensci.org/pkgcheck/reference/checks_to_markdown.html),\nwith a parameter, `render`, which can be set to `TRUE` to automatically render\na HTML-formatted representation of the check results, and open it in a browser.\nThe formatting differs only slightly from the terminal output, mostly through\nthe components of [`goodpractice`](http://docs.ropensci.org/goodpractice/)\nbeing divided into distinct headings, with explicit statements in cases where\ncomponents pass all checks (the default screen output inherits directly from\nthat package, and only reports components which *do not* pass all checks).\n\nThis\n[`checks_to_markdown()`](https://docs.ropensci.org/pkgcheck/reference/checks_to_markdown.html)\nfunction returns the report in markdown format, suitable for pasting directly\ninto a GitHub issue, or other markdown-compatible place. (The [`clipr`\npackage](https://github.com/mdlincoln/clipr) can be used to copy this directly\nto your local clipboard with `write_clip(md)`, where `md` is the output of\n`checks_to_markdown()`.)\n\n\n## Caching and running `pkgcheck` in the background\n\nRunning the [`pkgcheck`\nfunction](https://docs.ropensci.org/pkgcheck/reference/pkgcheck.html) can\nbe time-consuming, primarily because the\n[`goodpractice`](https://docs.ropensci.org/goodpractice) component runs\nboth a full `R CMD check`, and calculates code coverage of all tests. To avoid\nre-generating these results each time, the package saves previous reports to\na local cache directory defined in `Sys.getenv(\"PKGCHECK_CACHE_DIR\")`.\n\nYou may manually erase the contents of this `pkgcheck` subdirectory at any time\nat no risk beyond additional time required to re-generate contents. By default\nchecks presume packages use `git` for version control, with checks updated only\nwhen code is updated via `git commit`. Checks for packages that do not use\n`git` are updated when any files are modified.\n\nThe first time\n[`pkgcheck()`](https://docs.ropensci.org/pkgcheck/reference/pkgcheck.html) is\napplied to a package, the checks will be stored in the cache directory. Calling\nthat function a second time will then load the cached results, and so enable\nchecks to be returned much faster. For code which is frequently updated, such\nas for packages working on the final stages prior to submission, it may still\nbe necessary to repeatedly call\n[`pkgcheck()`](https://docs.ropensci.org/pkgcheck/reference/pkgcheck.html)\nafter each modification, a step which may still be inconveniently\ntime-consuming. To facilitate frequent re-checking, the package also has a\n[`pkgcheck_bg()`\nfunction](https://docs.ropensci.org/pkgcheck/reference/pkgcheck_bg.html) which\nis effectively identical to the main [`pkgcheck()`\nfunction](https://docs.ropensci.org/pkgcheck/reference/pkgcheck.html), except\nit runs in the background, enabling you to continue coding while checks are\nrunning.\n\nThe [`pkgcheck_bg()`\nfunction](https://docs.ropensci.org/pkgcheck/reference/pkgcheck_bg.html)\nreturns a handle to the [`callr::r_bg()`\nprocess](https://callr.r-lib.org/reference/r_bg.html) in which the checks are\nrunning. Typing the name of the returned object will immediately indicate\nwhether the checks are still running, or whether they have finished. That\nhandle is itself an [`R6` object](http://r6.r-lib.org/) with a number of\nmethods, notably including\n[`get_result()`](https://callr.r-lib.org/reference/get_result.html) which can\nbe used to access the checks once the process has finished. Alternatively, as\nsoon as the background process, the normal (foreground) \n[`pkgcheck()`\nfunction](https://docs.ropensci.org/pkgcheck/reference/pkgcheck.html) may\nbe called to quickly re-load the cached results.\n\n## Prior Work\n\n[The `checklist` package](https://github.com/inbo/checklist) for \"checking\npackages and R code\".\n\n## Code of Conduct\n\nPlease note that this package is released with a [Contributor Code of\nConduct](https://ropensci.org/code-of-conduct/). By contributing to this\nproject, you agree to abide by its terms.\n\n## Contributors\n\n\n\n\n\n\n\n\n\n\n\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\nAll contributions to this project are gratefully acknowledged using the [`allcontributors` package](https://github.com/ropensci/allcontributors) following the [allcontributors](https://allcontributors.org) specification. Contributions of any kind are welcome!\n\n### Code\n\n\u003ctable\u003e\n\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/mpadge\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/6697851?v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/commits?author=mpadge\"\u003empadge\u003c/a\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/maelle\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/8360597?v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/commits?author=maelle\"\u003emaelle\u003c/a\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/assignUser\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/16141871?v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/commits?author=assignUser\"\u003eassignUser\u003c/a\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/ateucher\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/2816635?v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/commits?author=ateucher\"\u003eateucher\u003c/a\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/markean\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/46692399?v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/commits?author=markean\"\u003emarkean\u003c/a\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/katrinabrock\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/16126168?v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/commits?author=katrinabrock\"\u003ekatrinabrock\u003c/a\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/n-kall\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/33577035?v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/commits?author=n-kall\"\u003en-kall\u003c/a\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/kellijohnson-NOAA\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/4108564?v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/commits?author=kellijohnson-NOAA\"\u003ekellijohnson-NOAA\u003c/a\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/e-kotov\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/8681379?v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/commits?author=e-kotov\"\u003ee-kotov\u003c/a\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/annakrystalli\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/5583057?v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/commits?author=annakrystalli\"\u003eannakrystalli\u003c/a\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003c/table\u003e\n\n\n### Issue Authors\n\n\u003ctable\u003e\n\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/karthik\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/138494?u=7f13170b18fb671d819b115ed5a684ea21dd785d\u0026v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/issues?q=is%3Aissue+author%3Akarthik\"\u003ekarthik\u003c/a\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/piyalkarum\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/48254643?u=370433a2ace6a030f2551575bc08fa53664fbd8f\u0026v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/issues?q=is%3Aissue+author%3Apiyalkarum\"\u003epiyalkarum\u003c/a\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/noamross\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/571752?u=49b086850e1716aa25615cea39250c51e085a5d8\u0026v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/issues?q=is%3Aissue+author%3Anoamross\"\u003enoamross\u003c/a\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/christophsax\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/1390827?u=ce6363f6da758d1bb85987d021cacc34a81c8837\u0026v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/issues?q=is%3Aissue+author%3Achristophsax\"\u003echristophsax\u003c/a\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/steffilazerte\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/14676081?u=579dde6328e94bc3787c99a42f7668a71884cd13\u0026v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/issues?q=is%3Aissue+author%3Asteffilazerte\"\u003esteffilazerte\u003c/a\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/phuongquan\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/38658964?u=5761c2835f0a4853c9d7fb844061056a23d29564\u0026v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/issues?q=is%3Aissue+author%3Aphuongquan\"\u003ephuongquan\u003c/a\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/s3alfisc\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/19531450?u=26be80705a31079d973246c98bf3b26d9131e7d3\u0026v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/issues?q=is%3Aissue+author%3As3alfisc\"\u003es3alfisc\u003c/a\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/Bisaloo\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/10783929?u=92fdf68eafbcdcf8da283b460ab65a2cafb8c7fe\u0026v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/issues?q=is%3Aissue+author%3ABisaloo\"\u003eBisaloo\u003c/a\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/Robinlovelace\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/1825120?u=4b78d134ed1814b0677455f45d932b3b4a6ba3a5\u0026v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/issues?q=is%3Aissue+author%3ARobinlovelace\"\u003eRobinlovelace\u003c/a\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/schneiderpy\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/77991319?u=4242d4c5942fced6368dd5c68221e6618092cbf8\u0026v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/issues?q=is%3Aissue+author%3Aschneiderpy\"\u003eschneiderpy\u003c/a\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/eliocamp\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/8617595?v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/issues?q=is%3Aissue+author%3Aeliocamp\"\u003eeliocamp\u003c/a\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/osorensen\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/21175639?u=086f58ad19c3fa56899f53a57567902e6f716074\u0026v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/issues?q=is%3Aissue+author%3Aosorensen\"\u003eosorensen\u003c/a\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/KlausVigo\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/3372431?v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/issues?q=is%3Aissue+author%3AKlausVigo\"\u003eKlausVigo\u003c/a\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/sjentsch\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/37706914?u=e75071cb33e1bafdb16a60d7b713975b6722e9d9\u0026v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/issues?q=is%3Aissue+author%3Asjentsch\"\u003esjentsch\u003c/a\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/willgearty\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/7232514?v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/issues?q=is%3Aissue+author%3Awillgearty\"\u003ewillgearty\u003c/a\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/simpar1471\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/65285181?u=29121ee3605654b23bb312da6ee3c8cff507b82d\u0026v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/issues?q=is%3Aissue+author%3Asimpar1471\"\u003esimpar1471\u003c/a\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/etiennebacher\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/52219252?u=66331618d799d2d4567ecab2812236c9928be368\u0026v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/issues?q=is%3Aissue+author%3Aetiennebacher\"\u003eetiennebacher\u003c/a\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003c/table\u003e\n\n\n### Issue Contributors\n\n\u003ctable\u003e\n\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/ddbortoli\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/25244497?v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/issues?q=is%3Aissue+commenter%3Addbortoli\"\u003eddbortoli\u003c/a\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/dgkf\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/18220321?u=bef717254e5b877159fa712e2b8ad6952c816064\u0026v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/issues?q=is%3Aissue+commenter%3Adgkf\"\u003edgkf\u003c/a\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/cboettig\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/222586?u=dfbe54d3b4d538dc2a8c276bb5545fdf4684752f\u0026v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/issues?q=is%3Aissue+commenter%3Acboettig\"\u003ecboettig\u003c/a\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/jhollist\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/5438539?u=d4dbc2c80f13d256cefd941f9e07fa87fcc0425a\u0026v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/issues?q=is%3Aissue+commenter%3Ajhollist\"\u003ejhollist\u003c/a\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/PietrH\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/48065851?u=d906646d34a89ed72f6851b3dbf2bd7265aecc61\u0026v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/issues?q=is%3Aissue+commenter%3APietrH\"\u003ePietrH\u003c/a\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/santikka\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/8639149?v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/issues?q=is%3Aissue+commenter%3Asantikka\"\u003esantikka\u003c/a\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/bnicenboim\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/5982330?u=ec5543c6d11255fd330fc03f5880a1d7bdefadd7\u0026v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/issues?q=is%3Aissue+commenter%3Abnicenboim\"\u003ebnicenboim\u003c/a\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/laijasmine\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/13112379?u=3aac9303e17f9a8d356f1c9f37c6cc3a218f9433\u0026v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/issues?q=is%3Aissue+commenter%3Alaijasmine\"\u003elaijasmine\u003c/a\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/b-rodrigues\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/2998834?u=815e6c1eedc0305ca7a62a89293efbe488583fce\u0026v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/issues?q=is%3Aissue+commenter%3Ab-rodrigues\"\u003eb-rodrigues\u003c/a\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/philipp-baumann\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/21625034?u=f1fc41ef9e936f3bc8c6d38a78349890654310b8\u0026v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/issues?q=is%3Aissue+commenter%3Aphilipp-baumann\"\u003ephilipp-baumann\u003c/a\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/Aariq\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/25404783?u=bf39b8163e91fb40423676c1806a9fc1ed665c0c\u0026v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/issues?q=is%3Aissue+commenter%3AAariq\"\u003eAariq\u003c/a\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\n\u003ca href=\"https://github.com/TimTaylor\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/43499035?u=db4f4432cbb6c914ee30b1ebffdf1b2af1acd316\u0026v=4\" width=\"100px;\" alt=\"\"/\u003e\n\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck/issues?q=is%3Aissue+commenter%3ATimTaylor\"\u003eTimTaylor\u003c/a\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003c/table\u003e\n\n\u003c!-- markdownlint-enable --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fropensci-review-tools%2Fpkgcheck","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fropensci-review-tools%2Fpkgcheck","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fropensci-review-tools%2Fpkgcheck/lists"}