Getting repositories with specific code or files

Apart from pulling all repositories from organizations, you can look for those that have a particular text in a code blob:

library(GitStats)

github_stats <- create_gitstats() %>%
  set_github_host(
    orgs = c("r-world-devs", "openpharma"),
    token = Sys.getenv("GITHUB_PAT")
  ) %>%
  verbose_off()

repos_urls <- get_repos_urls(
  gitstats_object = github_stats,
  with_code = "shiny"
)

You can limit your search, as it is allowed with GitLab and GitHub API search endpoints, to certain files.

repos_urls <- get_repos_urls(
  gitstats_object = github_stats,
  with_code =  c("purrr", "shiny"),
  in_files = c("DESCRIPTION", "NAMESPACE", "renv.lock")
)

You can also search for repositories with certain files (do not confuse with_files with in_files!).

repos_urls <- get_repos_urls(
  gitstats_object = github_stats,
  with_files = c("renv.lock", "DESCRIPTION")
)

Package usage

GitStats allows you to search for repositories which make use of certain R packages. This function scans repositories if they import packages (look for package name in DESCRIPTION or NAMESPACE) or if they load package with library() or request().

package_usage <- get_R_package_usage(
  gitstats_object = github_stats,
  packages = c("shiny", "purrr"),
  split_output = TRUE
)