{"id":64010,"name":"testthat","description":"An R 📦 to make testing 😀","url":"https://github.com/r-lib/testthat","last_synced_at":"2025-09-08T13:05:33.375Z","repository":{"id":652767,"uuid":"295311","full_name":"r-lib/testthat","owner":"r-lib","description":"An R 📦 to make testing 😀","archived":false,"fork":false,"pushed_at":"2025-08-30T13:17:51.000Z","size":19776,"stargazers_count":906,"open_issues_count":8,"forks_count":333,"subscribers_count":19,"default_branch":"main","last_synced_at":"2025-09-01T09:50:48.150Z","etag":null,"topics":["r","unit-testing"],"latest_commit_sha":null,"homepage":"https://testthat.r-lib.org","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/r-lib.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2009-09-02T12:51:44.000Z","updated_at":"2025-08-30T13:14:38.000Z","dependencies_parsed_at":"2023-09-26T15:01:28.227Z","dependency_job_id":"743b8bbb-2d05-4790-b607-4423aa0a87f5","html_url":"https://github.com/r-lib/testthat","commit_stats":{"total_commits":2141,"total_committers":141,"mean_commits":"15.184397163120567","dds":0.3876693134049509,"last_synced_commit":"f060ccec365e1343ae926c53c215a423b295d7a8"},"previous_names":["hadley/testthat"],"tags_count":43,"template":false,"template_full_name":null,"purl":"pkg:github/r-lib/testthat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/r-lib","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/sbom","scorecard":{"id":13575,"data":{"date":"2025-08-04","repo":{"name":"github.com/r-lib/testthat","commit":"8f16f265344812dae401bab7bf8b2a23dc33382f"},"scorecard":{"version":"v5.2.1-28-gc1d103a9","commit":"c1d103a9bb9f635ec7260bf9aa0699466fa4be0e"},"score":5.7,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#packaging"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 27 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#maintained"}},{"name":"Code-Review","score":4,"reason":"Found 14/30 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/pkgdown.yaml:24","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/pr-commands.yaml:19","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/pr-commands.yaml:58","Info: topLevel permissions set to 'read-all': .github/workflows/R-CMD-check.yaml:14","Info: topLevel permissions set to 'read-all': .github/workflows/pkgdown.yaml:13","Info: topLevel permissions set to 'read-all': .github/workflows/pr-commands.yaml:9","Info: topLevel permissions set to 'read-all': .github/workflows/test-coverage.yaml:10"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/R-CMD-check.yaml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/R-CMD-check.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/R-CMD-check.yaml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/R-CMD-check.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/R-CMD-check.yaml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/R-CMD-check.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/R-CMD-check.yaml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/R-CMD-check.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/R-CMD-check.yaml:64: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/R-CMD-check.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pkgdown.yaml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pkgdown.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pkgdown.yaml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pkgdown.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pkgdown.yaml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pkgdown.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pkgdown.yaml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pkgdown.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pkgdown.yaml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pkgdown.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pr-commands.yaml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pr-commands.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pr-commands.yaml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pr-commands.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pr-commands.yaml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pr-commands.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pr-commands.yaml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pr-commands.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pr-commands.yaml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pr-commands.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pr-commands.yaml:60: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pr-commands.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pr-commands.yaml:62: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pr-commands.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pr-commands.yaml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pr-commands.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pr-commands.yaml:83: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pr-commands.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-coverage.yaml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/test-coverage.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-coverage.yaml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/test-coverage.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-coverage.yaml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/test-coverage.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-coverage.yaml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/test-coverage.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-coverage.yaml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/test-coverage.yaml/main?enable=pin","Info:   0 out of   6 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of  18 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#vulnerabilities"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-14T15:10:29.587Z","repository_id":652767,"created_at":"2025-08-14T15:10:29.587Z","updated_at":"2025-08-14T15:10:29.587Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274188965,"owners_count":25237856,"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-09-08T02:00:09.813Z","response_time":121,"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"}},"owner":{"login":"r-lib","name":"R infrastructure","uuid":"22618716","kind":"organization","description":"","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/22618716?v=4","repositories_count":154,"last_synced_at":"2025-03-31T15:25:33.926Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/r-lib","funding_links":[],"total_stars":27465,"followers":579,"following":0,"created_at":"2022-11-02T16:38:00.922Z","updated_at":"2025-03-31T15:25:33.927Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/r-lib","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/r-lib/repositories"},"packages":[{"id":406978,"name":"testthat","ecosystem":"cran","description":"Unit Testing for R","homepage":"https://testthat.r-lib.org","licenses":"MIT + file LICENSE","normalized_licenses":["MIT"],"repository_url":"https://github.com/r-lib/testthat","keywords_array":[],"namespace":null,"versions_count":48,"first_release_published_at":"2009-11-17T20:18:00.000Z","latest_release_published_at":"2025-01-13T00:00:00.000Z","latest_release_number":"3.2.3","last_synced_at":"2025-09-01T10:19:34.056Z","created_at":"2022-04-06T17:23:09.891Z","updated_at":"2025-09-01T11:38:30.326Z","registry_url":"https://cran.r-project.org/package=testthat","install_command":null,"documentation_url":"http://cran.r-project.org/web/packages/testthat/testthat.pdf","metadata":{},"repo_metadata":{"id":652767,"uuid":"295311","full_name":"r-lib/testthat","owner":"r-lib","description":"An R 📦 to make testing 😀","archived":false,"fork":false,"pushed_at":"2025-08-30T13:17:51.000Z","size":19776,"stargazers_count":906,"open_issues_count":8,"forks_count":333,"subscribers_count":19,"default_branch":"main","last_synced_at":"2025-09-01T09:50:48.150Z","etag":null,"topics":["r","unit-testing"],"latest_commit_sha":null,"homepage":"https://testthat.r-lib.org","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/r-lib.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2009-09-02T12:51:44.000Z","updated_at":"2025-08-30T13:14:38.000Z","dependencies_parsed_at":"2023-09-26T15:01:28.227Z","dependency_job_id":"743b8bbb-2d05-4790-b607-4423aa0a87f5","html_url":"https://github.com/r-lib/testthat","commit_stats":{"total_commits":2141,"total_committers":141,"mean_commits":"15.184397163120567","dds":0.3876693134049509,"last_synced_commit":"f060ccec365e1343ae926c53c215a423b295d7a8"},"previous_names":["hadley/testthat"],"tags_count":43,"template":false,"template_full_name":null,"purl":"pkg:github/r-lib/testthat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/r-lib","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/sbom","scorecard":{"id":13575,"data":{"date":"2025-08-04","repo":{"name":"github.com/r-lib/testthat","commit":"8f16f265344812dae401bab7bf8b2a23dc33382f"},"scorecard":{"version":"v5.2.1-28-gc1d103a9","commit":"c1d103a9bb9f635ec7260bf9aa0699466fa4be0e"},"score":5.7,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#packaging"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 27 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#maintained"}},{"name":"Code-Review","score":4,"reason":"Found 14/30 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/pkgdown.yaml:24","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/pr-commands.yaml:19","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/pr-commands.yaml:58","Info: topLevel permissions set to 'read-all': .github/workflows/R-CMD-check.yaml:14","Info: topLevel permissions set to 'read-all': .github/workflows/pkgdown.yaml:13","Info: topLevel permissions set to 'read-all': .github/workflows/pr-commands.yaml:9","Info: topLevel permissions set to 'read-all': .github/workflows/test-coverage.yaml:10"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/R-CMD-check.yaml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/R-CMD-check.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/R-CMD-check.yaml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/R-CMD-check.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/R-CMD-check.yaml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/R-CMD-check.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/R-CMD-check.yaml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/R-CMD-check.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/R-CMD-check.yaml:64: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/R-CMD-check.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pkgdown.yaml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pkgdown.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pkgdown.yaml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pkgdown.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pkgdown.yaml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pkgdown.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pkgdown.yaml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pkgdown.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pkgdown.yaml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pkgdown.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pr-commands.yaml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pr-commands.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pr-commands.yaml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pr-commands.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pr-commands.yaml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pr-commands.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pr-commands.yaml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pr-commands.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pr-commands.yaml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pr-commands.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pr-commands.yaml:60: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pr-commands.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pr-commands.yaml:62: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pr-commands.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pr-commands.yaml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pr-commands.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pr-commands.yaml:83: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pr-commands.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-coverage.yaml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/test-coverage.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-coverage.yaml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/test-coverage.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-coverage.yaml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/test-coverage.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-coverage.yaml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/test-coverage.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-coverage.yaml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/test-coverage.yaml/main?enable=pin","Info:   0 out of   6 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of  18 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#vulnerabilities"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-14T15:10:29.587Z","repository_id":652767,"created_at":"2025-08-14T15:10:29.587Z","updated_at":"2025-08-14T15:10:29.587Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273114756,"owners_count":25048253,"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-09-01T02:00:09.058Z","response_time":120,"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"},"owner_record":{"login":"r-lib","name":"R infrastructure","uuid":"22618716","kind":"organization","description":"","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/22618716?v=4","repositories_count":154,"last_synced_at":"2025-03-31T15:25:33.926Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/r-lib","funding_links":[],"total_stars":27465,"followers":579,"following":0,"created_at":"2022-11-02T16:38:00.922Z","updated_at":"2025-03-31T15:25:33.927Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/r-lib","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/r-lib/repositories"},"tags":[{"name":"v3.2.3","sha":"50a99ec76fed8140a9211ed862289e877e86614d","kind":"commit","published_at":"2025-01-11T00:11:01.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.2.3","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.2.3/manifests"},{"name":"v3.2.2","sha":"e02f85aa497989a02410f88d707fedbf5b99a2a6","kind":"commit","published_at":"2024-12-09T00:44:43.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.2.2","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.2.2/manifests"},{"name":"v3.2.1","sha":"20377fbe9a6d5317927a7cfd901d586b899e17cd","kind":"commit","published_at":"2023-11-30T22:07:00.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.2.1","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.2.1/manifests"},{"name":"v3.2.0","sha":"07c5cd99c3098b9f228258fe7a3df5a3e9a7a2b8","kind":"commit","published_at":"2023-10-04T02:26:57.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.2.0","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.2.0/manifests"},{"name":"v3.1.10","sha":"5ef668a3f60bab8343f21355789cf1256fb300b4","kind":"commit","published_at":"2023-07-05T17:12:34.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.1.10","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.1.10","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.1.10","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.10/manifests"},{"name":"v3.1.9","sha":"f2240a78fdcbe0c43912cbfb4f393393b0cb0316","kind":"commit","published_at":"2023-06-13T12:50:38.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.1.9","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.1.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.1.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.9/manifests"},{"name":"v3.1.8","sha":"f8292b34afd3f0374fcc339d68cad98917f796e3","kind":"commit","published_at":"2023-05-01T16:40:37.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.1.8","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.1.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.1.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.8/manifests"},{"name":"v3.1.7","sha":"2ee150a52601a098ac2a2925c1a71b2b4591edff","kind":"commit","published_at":"2023-03-02T14:09:39.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.1.7","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.1.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.7/manifests"},{"name":"v3.1.6","sha":"386a4ac1f55c03263292463c2f6f33282a5c67bb","kind":"commit","published_at":"2022-12-08T22:25:58.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.1.6","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.1.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.6/manifests"},{"name":"v3.1.5","sha":"d8007a9145c26fd9a832b2495d8528ea889fa4bc","kind":"commit","published_at":"2022-10-07T13:07:16.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.1.5","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.1.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.5/manifests"},{"name":"v3.1.4","sha":"eaa02035d9f38849c6e30899985c398bd86c898f","kind":"commit","published_at":"2022-04-25T18:18:06.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.1.4","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.4/manifests"},{"name":"v3.1.3","sha":"22a68dd85b65c95173424760a78955b6c55f3848","kind":"commit","published_at":"2022-02-19T17:04:52.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.1.3","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.3/manifests"},{"name":"v3.1.2","sha":"bef1e3064bbc37abf13e47d4431b218abdd22be1","kind":"commit","published_at":"2022-01-20T21:06:37.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.1.2","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.2/manifests"},{"name":"v3.1.1","sha":"9d0a252e1c240e0e93b5e0f99c3e29a3eb2324b7","kind":"commit","published_at":"2021-12-03T19:31:40.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.1.1","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.1/manifests"},{"name":"v3.1.0","sha":"45633419db4822bfe53bb3b0d69f80e1a5e9b6d9","kind":"commit","published_at":"2021-10-01T12:43:33.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.1.0","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.0/manifests"},{"name":"v3.0.4","sha":"0c5751ea4f5649cb494793996fad4e1d88898bba","kind":"commit","published_at":"2021-06-30T07:56:46.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.0.4","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.0.4/manifests"},{"name":"v3.0.3","sha":"893dfce62dafeec0a6c14c8243e77427beaf43be","kind":"commit","published_at":"2021-06-16T10:34:16.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.0.3","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.0.3/manifests"},{"name":"v3.0.2","sha":"2421d8a6c80ae5b172d1470e221305b281c51bde","kind":"commit","published_at":"2021-02-14T20:15:34.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.0.2","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.0.2/manifests"},{"name":"v3.0.1","sha":"e99155af85261e065192feb946dcfa6679cffae4","kind":"commit","published_at":"2020-12-15T17:52:43.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.0.1","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.0.1/manifests"},{"name":"v3.0.0","sha":"91e726e83484d3c125a27f0bb299af81e79a4a87","kind":"commit","published_at":"2020-10-13T20:29:33.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.0.0","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.0.0/manifests"},{"name":"v2.3.2","sha":"b6391b8a37a72a3e7c3f90a3611d5798ad17e63a","kind":"commit","published_at":"2020-03-02T14:59:05.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v2.3.2","html_url":"https://github.com/r-lib/testthat/releases/tag/v2.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v2.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.3.2/manifests"},{"name":"v2.3.1","sha":"3633dfeb30fe89aac17b43e5f919447c2a1185da","kind":"commit","published_at":"2019-11-19T12:34:54.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v2.3.1","html_url":"https://github.com/r-lib/testthat/releases/tag/v2.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v2.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.3.1/manifests"},{"name":"v2.3.0","sha":"8b57e99c9a6cb56d86e3db278d16955fc7a7de0a","kind":"commit","published_at":"2019-11-05T22:00:46.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v2.3.0","html_url":"https://github.com/r-lib/testthat/releases/tag/v2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v2.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.3.0/manifests"},{"name":"v2.2.1","sha":"af1951b592193294daf212524584e1eeecd6004e","kind":"commit","published_at":"2019-07-25T14:59:14.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v2.2.1","html_url":"https://github.com/r-lib/testthat/releases/tag/v2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v2.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.2.1/manifests"},{"name":"v2.2.0","sha":"f11c0a2724ca20e184244e76376c3e512a26dfec","kind":"commit","published_at":"2019-07-22T17:34:57.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v2.2.0","html_url":"https://github.com/r-lib/testthat/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.2.0/manifests"},{"name":"v2.1.1","sha":"2d06179da378073d551403e53c9efb6efb0d3251","kind":"commit","published_at":"2019-04-23T15:09:51.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v2.1.1","html_url":"https://github.com/r-lib/testthat/releases/tag/v2.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v2.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.1.1/manifests"},{"name":"v2.1.0","sha":"fd4a14a47efd3c1af22cb00ea4c51e3f6b1a04fc","kind":"commit","published_at":"2019-04-22T16:32:30.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v2.1.0","html_url":"https://github.com/r-lib/testthat/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.1.0/manifests"},{"name":"v2.0.1","sha":"1e34212b2e35649882058654d23bf20e40b423e4","kind":"commit","published_at":"2018-10-12T18:03:28.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v2.0.1","html_url":"https://github.com/r-lib/testthat/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"b0c0d5dcd78c5f97790c4b6ddb5babbce4c63a9d","kind":"commit","published_at":"2017-12-14T18:16:06.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v2.0.0","html_url":"https://github.com/r-lib/testthat/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.0.0/manifests"},{"name":"v1.0.2","sha":"75c30cc7f0f04a014965afe724532ff1dd25b62e","kind":"commit","published_at":"2016-04-22T20:14:25.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v1.0.2","html_url":"https://github.com/r-lib/testthat/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"52d549439195a1864c714e145007224eb0e7a045","kind":"commit","published_at":"2016-04-18T20:43:56.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v1.0.1","html_url":"https://github.com/r-lib/testthat/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"dcde69dc9f02abc59e990d1e70f00f1963f01a58","kind":"commit","published_at":"2016-04-18T16:19:25.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v1.0.0","html_url":"https://github.com/r-lib/testthat/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v1.0.0/manifests"},{"name":"v0.11.0","sha":"cdb875c1943f0bee3d8d0366aaad8ce92ad62430","kind":"commit","published_at":"2015-10-13T20:52:09.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v0.11.0","html_url":"https://github.com/r-lib/testthat/releases/tag/v0.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v0.11.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.11.0/manifests"},{"name":"v0.10.0","sha":"4d404c1ed0ff2d44cb609df93b65f84d1f9c3dfb","kind":"commit","published_at":"2015-05-22T22:09:54.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v0.10.0","html_url":"https://github.com/r-lib/testthat/releases/tag/v0.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v0.10.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.10.0/manifests"},{"name":"v0.10.1","sha":"ca4e601e8039143640395909441fc2b20b3dac9e","kind":"commit","published_at":"2015-05-22T22:03:35.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v0.10.1","html_url":"https://github.com/r-lib/testthat/releases/tag/v0.10.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v0.10.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.10.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.10.1/manifests"},{"name":"v0.9.1","sha":"ff8678f2b18d999dcb6ca8ab7140a09e457c5322","kind":"commit","published_at":"2014-09-29T19:19:06.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v0.9.1","html_url":"https://github.com/r-lib/testthat/releases/tag/v0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.9.1/manifests"},{"name":"v0.9","sha":"973536b412a152e35961104a6480ea09a26360b4","kind":"commit","published_at":"2014-09-22T16:48:29.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v0.9","html_url":"https://github.com/r-lib/testthat/releases/tag/v0.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v0.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.9/manifests"},{"name":"v0.8.1","sha":"e56d390563b7bb558f396a36050df879738a86c3","kind":"commit","published_at":"2014-02-21T19:58:49.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v0.8.1","html_url":"https://github.com/r-lib/testthat/releases/tag/v0.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v0.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.8.1/manifests"},{"name":"v0.8","sha":"e76372bdbf4ef399b31c583310a4b8aa126cc199","kind":"commit","published_at":"2014-01-23T17:08:36.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v0.8","html_url":"https://github.com/r-lib/testthat/releases/tag/v0.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v0.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.8/manifests"},{"name":"testthat-0.6","sha":"511c0858f53599770797e97c81ccce95b99ca414","kind":"tag","published_at":"2011-12-30T14:25:28.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/testthat-0.6","html_url":"https://github.com/r-lib/testthat/releases/tag/testthat-0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@testthat-0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/testthat-0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/testthat-0.6/manifests"},{"name":"testthat-0.4","sha":"8b5d7570ca39dd393170a792c12080ccaa82d5f1","kind":"tag","published_at":"2011-03-20T23:13:16.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/testthat-0.4","html_url":"https://github.com/r-lib/testthat/releases/tag/testthat-0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@testthat-0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/testthat-0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/testthat-0.4/manifests"},{"name":"testhat-0.3","sha":"ec9b13eff2a0585fdd64a6d572dfcf1c4a6a54b5","kind":"commit","published_at":"2010-08-30T13:54:16.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/testhat-0.3","html_url":"https://github.com/r-lib/testthat/releases/tag/testhat-0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@testhat-0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/testhat-0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/testhat-0.3/manifests"},{"name":"testthat-0.1","sha":"a5c944a6fad02eeb8eb3abe24058503054fa0ac3","kind":"tag","published_at":"2009-11-18T01:07:21.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/testthat-0.1","html_url":"https://github.com/r-lib/testthat/releases/tag/testthat-0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@testthat-0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/testthat-0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/testthat-0.1/manifests"}]},"repo_metadata_updated_at":"2025-09-01T11:38:30.326Z","dependent_packages_count":8675,"downloads":1152157,"downloads_period":"last-month","dependent_repos_count":35710,"rankings":{"downloads":0.435464204842362,"dependent_repos_count":0.0,"dependent_packages_count":0.00435464204842362,"stargazers_count":0.32659815363177147,"forks_count":0.14370318759797945,"docker_downloads_count":17.296638216338618,"average":3.034459734076526},"purl":"pkg:cran/testthat","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/cran/testthat","docker_dependents_count":1707,"docker_downloads_count":128558516,"usage_url":"https://repos.ecosyste.ms/usage/cran/testthat","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/cran/testthat/dependencies","status":null,"funding_links":[],"critical":true,"issue_metadata":{"last_synced_at":"2025-08-31T08:20:56.586Z","issues_count":339,"pull_requests_count":225,"avg_time_to_close_issue":19337589.125475284,"avg_time_to_close_pull_request":5842536.254437869,"issues_closed_count":263,"pull_requests_closed_count":169,"pull_request_authors_count":41,"issue_authors_count":163,"avg_comments_per_issue":1.7846607669616519,"avg_comments_per_pull_request":0.8088888888888889,"merged_pull_requests_count":148,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":100,"past_year_pull_requests_count":114,"past_year_avg_time_to_close_issue":5859218.192307692,"past_year_avg_time_to_close_pull_request":1200582.1230769232,"past_year_issues_closed_count":52,"past_year_pull_requests_closed_count":65,"past_year_pull_request_authors_count":18,"past_year_issue_authors_count":54,"past_year_avg_comments_per_issue":0.71,"past_year_avg_comments_per_pull_request":0.5877192982456141,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":61,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/issues","maintainers":[{"login":"hadley","count":192,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hadley"},{"login":"kevinushey","count":14,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/kevinushey"},{"login":"lionel-","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/lionel-"},{"login":"jennybc","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jennybc"},{"login":"gaborcsardi","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gaborcsardi"},{"login":"krlmlr","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/krlmlr"},{"login":"DavisVaughan","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/DavisVaughan"},{"login":"maxheld83","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/maxheld83"},{"login":"t-kalinowski","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/t-kalinowski"},{"login":"jeroen","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jeroen"},{"login":"EmilHvitfeldt","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/EmilHvitfeldt"}],"active_maintainers":[{"login":"hadley","count":99,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hadley"},{"login":"kevinushey","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/kevinushey"},{"login":"gaborcsardi","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gaborcsardi"},{"login":"krlmlr","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/krlmlr"},{"login":"jennybc","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jennybc"},{"login":"jeroen","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jeroen"},{"login":"EmilHvitfeldt","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/EmilHvitfeldt"},{"login":"maxheld83","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/maxheld83"},{"login":"t-kalinowski","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/t-kalinowski"},{"login":"lionel-","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/lionel-"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/packages/testthat/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/packages/testthat/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/packages/testthat/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/packages/testthat/related_packages","maintainers":[{"uuid":"hadley@posit.co","login":null,"name":"Hadley Wickham","email":"hadley@posit.co","url":null,"packages_count":29,"html_url":null,"role":null,"created_at":"2023-05-04T12:57:03.417Z","updated_at":"2023-05-04T12:57:03.417Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/maintainers/hadley@posit.co/packages"}],"registry":{"name":"cran.r-project.org","url":"https://cran.r-project.org","ecosystem":"cran","default":true,"packages_count":26181,"maintainers_count":14299,"namespaces_count":0,"keywords_count":8326,"github":"r-project-org","metadata":{"funded_packages_count":539},"icon_url":"https://github.com/r-project-org.png","created_at":"2022-04-06T16:32:25.637Z","updated_at":"2025-09-08T06:54:01.855Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/namespaces"}},{"id":5292708,"name":"r-testthat","ecosystem":"conda","description":null,"homepage":"http://testthat.r-lib.org","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/r-lib/testthat","keywords_array":[],"namespace":null,"versions_count":19,"first_release_published_at":"2022-10-03T15:53:56.298Z","latest_release_published_at":"2022-10-08T11:40:19.000Z","latest_release_number":"3.1.5","last_synced_at":"2025-09-01T10:20:14.331Z","created_at":"2022-10-03T15:53:56.291Z","updated_at":"2025-09-01T11:38:30.328Z","registry_url":"https://anaconda.org/conda-forge/r-testthat","install_command":"conda install -c conda-forge r-testthat","documentation_url":null,"metadata":{},"repo_metadata":{"id":652767,"uuid":"295311","full_name":"r-lib/testthat","owner":"r-lib","description":"An R 📦 to make testing 😀","archived":false,"fork":false,"pushed_at":"2025-08-30T13:17:51.000Z","size":19776,"stargazers_count":906,"open_issues_count":8,"forks_count":333,"subscribers_count":19,"default_branch":"main","last_synced_at":"2025-09-01T09:50:48.150Z","etag":null,"topics":["r","unit-testing"],"latest_commit_sha":null,"homepage":"https://testthat.r-lib.org","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/r-lib.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2009-09-02T12:51:44.000Z","updated_at":"2025-08-30T13:14:38.000Z","dependencies_parsed_at":"2023-09-26T15:01:28.227Z","dependency_job_id":"743b8bbb-2d05-4790-b607-4423aa0a87f5","html_url":"https://github.com/r-lib/testthat","commit_stats":{"total_commits":2141,"total_committers":141,"mean_commits":"15.184397163120567","dds":0.3876693134049509,"last_synced_commit":"f060ccec365e1343ae926c53c215a423b295d7a8"},"previous_names":["hadley/testthat"],"tags_count":43,"template":false,"template_full_name":null,"purl":"pkg:github/r-lib/testthat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/r-lib","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/sbom","scorecard":{"id":13575,"data":{"date":"2025-08-04","repo":{"name":"github.com/r-lib/testthat","commit":"8f16f265344812dae401bab7bf8b2a23dc33382f"},"scorecard":{"version":"v5.2.1-28-gc1d103a9","commit":"c1d103a9bb9f635ec7260bf9aa0699466fa4be0e"},"score":5.7,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#packaging"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 27 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#maintained"}},{"name":"Code-Review","score":4,"reason":"Found 14/30 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/pkgdown.yaml:24","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/pr-commands.yaml:19","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/pr-commands.yaml:58","Info: topLevel permissions set to 'read-all': .github/workflows/R-CMD-check.yaml:14","Info: topLevel permissions set to 'read-all': .github/workflows/pkgdown.yaml:13","Info: topLevel permissions set to 'read-all': .github/workflows/pr-commands.yaml:9","Info: topLevel permissions set to 'read-all': .github/workflows/test-coverage.yaml:10"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/R-CMD-check.yaml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/R-CMD-check.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/R-CMD-check.yaml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/R-CMD-check.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/R-CMD-check.yaml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/R-CMD-check.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/R-CMD-check.yaml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/R-CMD-check.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/R-CMD-check.yaml:64: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/R-CMD-check.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pkgdown.yaml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pkgdown.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pkgdown.yaml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pkgdown.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pkgdown.yaml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pkgdown.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pkgdown.yaml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pkgdown.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pkgdown.yaml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pkgdown.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pr-commands.yaml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pr-commands.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pr-commands.yaml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pr-commands.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pr-commands.yaml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pr-commands.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pr-commands.yaml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pr-commands.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pr-commands.yaml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pr-commands.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pr-commands.yaml:60: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pr-commands.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pr-commands.yaml:62: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pr-commands.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pr-commands.yaml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pr-commands.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pr-commands.yaml:83: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pr-commands.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-coverage.yaml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/test-coverage.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-coverage.yaml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/test-coverage.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-coverage.yaml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/test-coverage.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-coverage.yaml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/test-coverage.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-coverage.yaml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/test-coverage.yaml/main?enable=pin","Info:   0 out of   6 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of  18 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#vulnerabilities"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-14T15:10:29.587Z","repository_id":652767,"created_at":"2025-08-14T15:10:29.587Z","updated_at":"2025-08-14T15:10:29.587Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273114756,"owners_count":25048253,"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-09-01T02:00:09.058Z","response_time":120,"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"},"owner_record":{"login":"r-lib","name":"R infrastructure","uuid":"22618716","kind":"organization","description":"","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/22618716?v=4","repositories_count":154,"last_synced_at":"2025-03-31T15:25:33.926Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/r-lib","funding_links":[],"total_stars":27465,"followers":579,"following":0,"created_at":"2022-11-02T16:38:00.922Z","updated_at":"2025-03-31T15:25:33.927Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/r-lib","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/r-lib/repositories"},"tags":[{"name":"v3.2.3","sha":"50a99ec76fed8140a9211ed862289e877e86614d","kind":"commit","published_at":"2025-01-11T00:11:01.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.2.3","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.2.3/manifests"},{"name":"v3.2.2","sha":"e02f85aa497989a02410f88d707fedbf5b99a2a6","kind":"commit","published_at":"2024-12-09T00:44:43.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.2.2","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.2.2/manifests"},{"name":"v3.2.1","sha":"20377fbe9a6d5317927a7cfd901d586b899e17cd","kind":"commit","published_at":"2023-11-30T22:07:00.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.2.1","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.2.1/manifests"},{"name":"v3.2.0","sha":"07c5cd99c3098b9f228258fe7a3df5a3e9a7a2b8","kind":"commit","published_at":"2023-10-04T02:26:57.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.2.0","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.2.0/manifests"},{"name":"v3.1.10","sha":"5ef668a3f60bab8343f21355789cf1256fb300b4","kind":"commit","published_at":"2023-07-05T17:12:34.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.1.10","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.1.10","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.1.10","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.10/manifests"},{"name":"v3.1.9","sha":"f2240a78fdcbe0c43912cbfb4f393393b0cb0316","kind":"commit","published_at":"2023-06-13T12:50:38.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.1.9","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.1.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.1.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.9/manifests"},{"name":"v3.1.8","sha":"f8292b34afd3f0374fcc339d68cad98917f796e3","kind":"commit","published_at":"2023-05-01T16:40:37.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.1.8","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.1.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.1.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.8/manifests"},{"name":"v3.1.7","sha":"2ee150a52601a098ac2a2925c1a71b2b4591edff","kind":"commit","published_at":"2023-03-02T14:09:39.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.1.7","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.1.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.7/manifests"},{"name":"v3.1.6","sha":"386a4ac1f55c03263292463c2f6f33282a5c67bb","kind":"commit","published_at":"2022-12-08T22:25:58.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.1.6","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.1.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.6/manifests"},{"name":"v3.1.5","sha":"d8007a9145c26fd9a832b2495d8528ea889fa4bc","kind":"commit","published_at":"2022-10-07T13:07:16.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.1.5","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.1.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.5/manifests"},{"name":"v3.1.4","sha":"eaa02035d9f38849c6e30899985c398bd86c898f","kind":"commit","published_at":"2022-04-25T18:18:06.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.1.4","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.4/manifests"},{"name":"v3.1.3","sha":"22a68dd85b65c95173424760a78955b6c55f3848","kind":"commit","published_at":"2022-02-19T17:04:52.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.1.3","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.3/manifests"},{"name":"v3.1.2","sha":"bef1e3064bbc37abf13e47d4431b218abdd22be1","kind":"commit","published_at":"2022-01-20T21:06:37.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.1.2","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.2/manifests"},{"name":"v3.1.1","sha":"9d0a252e1c240e0e93b5e0f99c3e29a3eb2324b7","kind":"commit","published_at":"2021-12-03T19:31:40.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.1.1","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.1/manifests"},{"name":"v3.1.0","sha":"45633419db4822bfe53bb3b0d69f80e1a5e9b6d9","kind":"commit","published_at":"2021-10-01T12:43:33.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.1.0","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.0/manifests"},{"name":"v3.0.4","sha":"0c5751ea4f5649cb494793996fad4e1d88898bba","kind":"commit","published_at":"2021-06-30T07:56:46.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.0.4","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.0.4/manifests"},{"name":"v3.0.3","sha":"893dfce62dafeec0a6c14c8243e77427beaf43be","kind":"commit","published_at":"2021-06-16T10:34:16.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.0.3","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.0.3/manifests"},{"name":"v3.0.2","sha":"2421d8a6c80ae5b172d1470e221305b281c51bde","kind":"commit","published_at":"2021-02-14T20:15:34.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.0.2","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.0.2/manifests"},{"name":"v3.0.1","sha":"e99155af85261e065192feb946dcfa6679cffae4","kind":"commit","published_at":"2020-12-15T17:52:43.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.0.1","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.0.1/manifests"},{"name":"v3.0.0","sha":"91e726e83484d3c125a27f0bb299af81e79a4a87","kind":"commit","published_at":"2020-10-13T20:29:33.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.0.0","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.0.0/manifests"},{"name":"v2.3.2","sha":"b6391b8a37a72a3e7c3f90a3611d5798ad17e63a","kind":"commit","published_at":"2020-03-02T14:59:05.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v2.3.2","html_url":"https://github.com/r-lib/testthat/releases/tag/v2.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v2.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.3.2/manifests"},{"name":"v2.3.1","sha":"3633dfeb30fe89aac17b43e5f919447c2a1185da","kind":"commit","published_at":"2019-11-19T12:34:54.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v2.3.1","html_url":"https://github.com/r-lib/testthat/releases/tag/v2.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v2.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.3.1/manifests"},{"name":"v2.3.0","sha":"8b57e99c9a6cb56d86e3db278d16955fc7a7de0a","kind":"commit","published_at":"2019-11-05T22:00:46.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v2.3.0","html_url":"https://github.com/r-lib/testthat/releases/tag/v2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v2.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.3.0/manifests"},{"name":"v2.2.1","sha":"af1951b592193294daf212524584e1eeecd6004e","kind":"commit","published_at":"2019-07-25T14:59:14.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v2.2.1","html_url":"https://github.com/r-lib/testthat/releases/tag/v2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v2.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.2.1/manifests"},{"name":"v2.2.0","sha":"f11c0a2724ca20e184244e76376c3e512a26dfec","kind":"commit","published_at":"2019-07-22T17:34:57.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v2.2.0","html_url":"https://github.com/r-lib/testthat/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.2.0/manifests"},{"name":"v2.1.1","sha":"2d06179da378073d551403e53c9efb6efb0d3251","kind":"commit","published_at":"2019-04-23T15:09:51.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v2.1.1","html_url":"https://github.com/r-lib/testthat/releases/tag/v2.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v2.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.1.1/manifests"},{"name":"v2.1.0","sha":"fd4a14a47efd3c1af22cb00ea4c51e3f6b1a04fc","kind":"commit","published_at":"2019-04-22T16:32:30.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v2.1.0","html_url":"https://github.com/r-lib/testthat/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.1.0/manifests"},{"name":"v2.0.1","sha":"1e34212b2e35649882058654d23bf20e40b423e4","kind":"commit","published_at":"2018-10-12T18:03:28.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v2.0.1","html_url":"https://github.com/r-lib/testthat/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"b0c0d5dcd78c5f97790c4b6ddb5babbce4c63a9d","kind":"commit","published_at":"2017-12-14T18:16:06.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v2.0.0","html_url":"https://github.com/r-lib/testthat/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.0.0/manifests"},{"name":"v1.0.2","sha":"75c30cc7f0f04a014965afe724532ff1dd25b62e","kind":"commit","published_at":"2016-04-22T20:14:25.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v1.0.2","html_url":"https://github.com/r-lib/testthat/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"52d549439195a1864c714e145007224eb0e7a045","kind":"commit","published_at":"2016-04-18T20:43:56.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v1.0.1","html_url":"https://github.com/r-lib/testthat/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"dcde69dc9f02abc59e990d1e70f00f1963f01a58","kind":"commit","published_at":"2016-04-18T16:19:25.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v1.0.0","html_url":"https://github.com/r-lib/testthat/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v1.0.0/manifests"},{"name":"v0.11.0","sha":"cdb875c1943f0bee3d8d0366aaad8ce92ad62430","kind":"commit","published_at":"2015-10-13T20:52:09.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v0.11.0","html_url":"https://github.com/r-lib/testthat/releases/tag/v0.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v0.11.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.11.0/manifests"},{"name":"v0.10.0","sha":"4d404c1ed0ff2d44cb609df93b65f84d1f9c3dfb","kind":"commit","published_at":"2015-05-22T22:09:54.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v0.10.0","html_url":"https://github.com/r-lib/testthat/releases/tag/v0.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v0.10.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.10.0/manifests"},{"name":"v0.10.1","sha":"ca4e601e8039143640395909441fc2b20b3dac9e","kind":"commit","published_at":"2015-05-22T22:03:35.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v0.10.1","html_url":"https://github.com/r-lib/testthat/releases/tag/v0.10.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v0.10.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.10.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.10.1/manifests"},{"name":"v0.9.1","sha":"ff8678f2b18d999dcb6ca8ab7140a09e457c5322","kind":"commit","published_at":"2014-09-29T19:19:06.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v0.9.1","html_url":"https://github.com/r-lib/testthat/releases/tag/v0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.9.1/manifests"},{"name":"v0.9","sha":"973536b412a152e35961104a6480ea09a26360b4","kind":"commit","published_at":"2014-09-22T16:48:29.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v0.9","html_url":"https://github.com/r-lib/testthat/releases/tag/v0.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v0.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.9/manifests"},{"name":"v0.8.1","sha":"e56d390563b7bb558f396a36050df879738a86c3","kind":"commit","published_at":"2014-02-21T19:58:49.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v0.8.1","html_url":"https://github.com/r-lib/testthat/releases/tag/v0.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v0.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.8.1/manifests"},{"name":"v0.8","sha":"e76372bdbf4ef399b31c583310a4b8aa126cc199","kind":"commit","published_at":"2014-01-23T17:08:36.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v0.8","html_url":"https://github.com/r-lib/testthat/releases/tag/v0.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v0.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.8/manifests"},{"name":"testthat-0.6","sha":"511c0858f53599770797e97c81ccce95b99ca414","kind":"tag","published_at":"2011-12-30T14:25:28.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/testthat-0.6","html_url":"https://github.com/r-lib/testthat/releases/tag/testthat-0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@testthat-0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/testthat-0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/testthat-0.6/manifests"},{"name":"testthat-0.4","sha":"8b5d7570ca39dd393170a792c12080ccaa82d5f1","kind":"tag","published_at":"2011-03-20T23:13:16.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/testthat-0.4","html_url":"https://github.com/r-lib/testthat/releases/tag/testthat-0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@testthat-0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/testthat-0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/testthat-0.4/manifests"},{"name":"testhat-0.3","sha":"ec9b13eff2a0585fdd64a6d572dfcf1c4a6a54b5","kind":"commit","published_at":"2010-08-30T13:54:16.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/testhat-0.3","html_url":"https://github.com/r-lib/testthat/releases/tag/testhat-0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@testhat-0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/testhat-0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/testhat-0.3/manifests"},{"name":"testthat-0.1","sha":"a5c944a6fad02eeb8eb3abe24058503054fa0ac3","kind":"tag","published_at":"2009-11-18T01:07:21.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/testthat-0.1","html_url":"https://github.com/r-lib/testthat/releases/tag/testthat-0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@testthat-0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/testthat-0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/testthat-0.1/manifests"}]},"repo_metadata_updated_at":"2025-09-01T11:38:30.328Z","dependent_packages_count":24,"downloads":null,"downloads_period":null,"dependent_repos_count":71,"rankings":{"downloads":null,"dependent_repos_count":4.1269524427366635,"dependent_packages_count":2.789560357303259,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":3.458256400019961},"purl":"pkg:conda/r-testthat","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/conda/r-testthat","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/conda/r-testthat","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/conda/r-testthat/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-31T08:20:56.586Z","issues_count":339,"pull_requests_count":225,"avg_time_to_close_issue":19337589.125475284,"avg_time_to_close_pull_request":5842536.254437869,"issues_closed_count":263,"pull_requests_closed_count":169,"pull_request_authors_count":41,"issue_authors_count":163,"avg_comments_per_issue":1.7846607669616519,"avg_comments_per_pull_request":0.8088888888888889,"merged_pull_requests_count":148,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":100,"past_year_pull_requests_count":114,"past_year_avg_time_to_close_issue":5859218.192307692,"past_year_avg_time_to_close_pull_request":1200582.1230769232,"past_year_issues_closed_count":52,"past_year_pull_requests_closed_count":65,"past_year_pull_request_authors_count":18,"past_year_issue_authors_count":54,"past_year_avg_comments_per_issue":0.71,"past_year_avg_comments_per_pull_request":0.5877192982456141,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":61,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/issues","maintainers":[{"login":"hadley","count":192,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hadley"},{"login":"kevinushey","count":14,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/kevinushey"},{"login":"lionel-","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/lionel-"},{"login":"jennybc","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jennybc"},{"login":"gaborcsardi","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gaborcsardi"},{"login":"krlmlr","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/krlmlr"},{"login":"DavisVaughan","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/DavisVaughan"},{"login":"maxheld83","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/maxheld83"},{"login":"t-kalinowski","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/t-kalinowski"},{"login":"jeroen","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jeroen"},{"login":"EmilHvitfeldt","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/EmilHvitfeldt"}],"active_maintainers":[{"login":"hadley","count":99,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hadley"},{"login":"kevinushey","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/kevinushey"},{"login":"gaborcsardi","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gaborcsardi"},{"login":"krlmlr","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/krlmlr"},{"login":"jennybc","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jennybc"},{"login":"jeroen","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jeroen"},{"login":"EmilHvitfeldt","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/EmilHvitfeldt"},{"login":"maxheld83","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/maxheld83"},{"login":"t-kalinowski","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/t-kalinowski"},{"login":"lionel-","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/lionel-"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/r-testthat/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/r-testthat/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/r-testthat/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/r-testthat/related_packages","maintainers":[],"registry":{"name":"conda-forge.org","url":"https://conda-forge.org","ecosystem":"conda","default":false,"packages_count":20636,"maintainers_count":0,"namespaces_count":0,"keywords_count":13414,"github":"conda-forge","metadata":{"kind":"conda-forge","key":"CondaForge","api":"https://conda.anaconda.org","funded_packages_count":2190},"icon_url":"https://github.com/conda-forge.png","created_at":"2022-10-03T15:37:08.743Z","updated_at":"2025-09-08T06:53:21.618Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/namespaces"}},{"id":10430573,"name":"github.com/r-lib/testthat","ecosystem":"go","description":null,"homepage":null,"licenses":"other","normalized_licenses":["GPL-1.0+"],"repository_url":"https://github.com/r-lib/testthat","keywords_array":[],"namespace":null,"versions_count":37,"first_release_published_at":"2014-02-21T19:58:49.000Z","latest_release_published_at":"2025-01-11T00:11:01.000Z","latest_release_number":"v3.2.3+incompatible","last_synced_at":"2025-09-01T10:19:34.031Z","created_at":"2024-06-23T04:46:26.199Z","updated_at":"2025-09-01T11:38:30.316Z","registry_url":"https://pkg.go.dev/github.com/r-lib/testthat","install_command":"go get github.com/r-lib/testthat","documentation_url":"https://pkg.go.dev/github.com/r-lib/testthat#section-documentation","metadata":{},"repo_metadata":{"id":652767,"uuid":"295311","full_name":"r-lib/testthat","owner":"r-lib","description":"An R 📦 to make testing 😀","archived":false,"fork":false,"pushed_at":"2025-08-30T13:17:51.000Z","size":19776,"stargazers_count":906,"open_issues_count":8,"forks_count":333,"subscribers_count":19,"default_branch":"main","last_synced_at":"2025-09-01T09:50:48.150Z","etag":null,"topics":["r","unit-testing"],"latest_commit_sha":null,"homepage":"https://testthat.r-lib.org","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/r-lib.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2009-09-02T12:51:44.000Z","updated_at":"2025-08-30T13:14:38.000Z","dependencies_parsed_at":"2023-09-26T15:01:28.227Z","dependency_job_id":"743b8bbb-2d05-4790-b607-4423aa0a87f5","html_url":"https://github.com/r-lib/testthat","commit_stats":{"total_commits":2141,"total_committers":141,"mean_commits":"15.184397163120567","dds":0.3876693134049509,"last_synced_commit":"f060ccec365e1343ae926c53c215a423b295d7a8"},"previous_names":["hadley/testthat"],"tags_count":43,"template":false,"template_full_name":null,"purl":"pkg:github/r-lib/testthat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/r-lib","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/sbom","scorecard":{"id":13575,"data":{"date":"2025-08-04","repo":{"name":"github.com/r-lib/testthat","commit":"8f16f265344812dae401bab7bf8b2a23dc33382f"},"scorecard":{"version":"v5.2.1-28-gc1d103a9","commit":"c1d103a9bb9f635ec7260bf9aa0699466fa4be0e"},"score":5.7,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#packaging"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 27 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#maintained"}},{"name":"Code-Review","score":4,"reason":"Found 14/30 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/pkgdown.yaml:24","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/pr-commands.yaml:19","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/pr-commands.yaml:58","Info: topLevel permissions set to 'read-all': .github/workflows/R-CMD-check.yaml:14","Info: topLevel permissions set to 'read-all': .github/workflows/pkgdown.yaml:13","Info: topLevel permissions set to 'read-all': .github/workflows/pr-commands.yaml:9","Info: topLevel permissions set to 'read-all': .github/workflows/test-coverage.yaml:10"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/R-CMD-check.yaml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/R-CMD-check.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/R-CMD-check.yaml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/R-CMD-check.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/R-CMD-check.yaml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/R-CMD-check.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/R-CMD-check.yaml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/R-CMD-check.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/R-CMD-check.yaml:64: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/R-CMD-check.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pkgdown.yaml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pkgdown.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pkgdown.yaml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pkgdown.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pkgdown.yaml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pkgdown.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pkgdown.yaml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pkgdown.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pkgdown.yaml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pkgdown.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pr-commands.yaml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pr-commands.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pr-commands.yaml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pr-commands.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pr-commands.yaml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pr-commands.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pr-commands.yaml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pr-commands.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pr-commands.yaml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pr-commands.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pr-commands.yaml:60: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pr-commands.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pr-commands.yaml:62: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pr-commands.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pr-commands.yaml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pr-commands.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pr-commands.yaml:83: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/pr-commands.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-coverage.yaml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/test-coverage.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-coverage.yaml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/test-coverage.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-coverage.yaml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/test-coverage.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-coverage.yaml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/test-coverage.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-coverage.yaml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/r-lib/testthat/test-coverage.yaml/main?enable=pin","Info:   0 out of   6 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of  18 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#vulnerabilities"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-14T15:10:29.587Z","repository_id":652767,"created_at":"2025-08-14T15:10:29.587Z","updated_at":"2025-08-14T15:10:29.587Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273114756,"owners_count":25048253,"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-09-01T02:00:09.058Z","response_time":120,"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"},"owner_record":{"login":"r-lib","name":"R infrastructure","uuid":"22618716","kind":"organization","description":"","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/22618716?v=4","repositories_count":154,"last_synced_at":"2025-03-31T15:25:33.926Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/r-lib","funding_links":[],"total_stars":27465,"followers":579,"following":0,"created_at":"2022-11-02T16:38:00.922Z","updated_at":"2025-03-31T15:25:33.927Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/r-lib","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/r-lib/repositories"},"tags":[{"name":"v3.2.3","sha":"50a99ec76fed8140a9211ed862289e877e86614d","kind":"commit","published_at":"2025-01-11T00:11:01.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.2.3","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.2.3/manifests"},{"name":"v3.2.2","sha":"e02f85aa497989a02410f88d707fedbf5b99a2a6","kind":"commit","published_at":"2024-12-09T00:44:43.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.2.2","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.2.2/manifests"},{"name":"v3.2.1","sha":"20377fbe9a6d5317927a7cfd901d586b899e17cd","kind":"commit","published_at":"2023-11-30T22:07:00.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.2.1","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.2.1/manifests"},{"name":"v3.2.0","sha":"07c5cd99c3098b9f228258fe7a3df5a3e9a7a2b8","kind":"commit","published_at":"2023-10-04T02:26:57.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.2.0","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.2.0/manifests"},{"name":"v3.1.10","sha":"5ef668a3f60bab8343f21355789cf1256fb300b4","kind":"commit","published_at":"2023-07-05T17:12:34.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.1.10","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.1.10","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.1.10","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.10/manifests"},{"name":"v3.1.9","sha":"f2240a78fdcbe0c43912cbfb4f393393b0cb0316","kind":"commit","published_at":"2023-06-13T12:50:38.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.1.9","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.1.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.1.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.9/manifests"},{"name":"v3.1.8","sha":"f8292b34afd3f0374fcc339d68cad98917f796e3","kind":"commit","published_at":"2023-05-01T16:40:37.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.1.8","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.1.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.1.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.8/manifests"},{"name":"v3.1.7","sha":"2ee150a52601a098ac2a2925c1a71b2b4591edff","kind":"commit","published_at":"2023-03-02T14:09:39.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.1.7","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.1.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.7/manifests"},{"name":"v3.1.6","sha":"386a4ac1f55c03263292463c2f6f33282a5c67bb","kind":"commit","published_at":"2022-12-08T22:25:58.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.1.6","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.1.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.6/manifests"},{"name":"v3.1.5","sha":"d8007a9145c26fd9a832b2495d8528ea889fa4bc","kind":"commit","published_at":"2022-10-07T13:07:16.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.1.5","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.1.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.5/manifests"},{"name":"v3.1.4","sha":"eaa02035d9f38849c6e30899985c398bd86c898f","kind":"commit","published_at":"2022-04-25T18:18:06.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.1.4","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.4/manifests"},{"name":"v3.1.3","sha":"22a68dd85b65c95173424760a78955b6c55f3848","kind":"commit","published_at":"2022-02-19T17:04:52.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.1.3","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.3/manifests"},{"name":"v3.1.2","sha":"bef1e3064bbc37abf13e47d4431b218abdd22be1","kind":"commit","published_at":"2022-01-20T21:06:37.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.1.2","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.2/manifests"},{"name":"v3.1.1","sha":"9d0a252e1c240e0e93b5e0f99c3e29a3eb2324b7","kind":"commit","published_at":"2021-12-03T19:31:40.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.1.1","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.1/manifests"},{"name":"v3.1.0","sha":"45633419db4822bfe53bb3b0d69f80e1a5e9b6d9","kind":"commit","published_at":"2021-10-01T12:43:33.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.1.0","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.1.0/manifests"},{"name":"v3.0.4","sha":"0c5751ea4f5649cb494793996fad4e1d88898bba","kind":"commit","published_at":"2021-06-30T07:56:46.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.0.4","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.0.4/manifests"},{"name":"v3.0.3","sha":"893dfce62dafeec0a6c14c8243e77427beaf43be","kind":"commit","published_at":"2021-06-16T10:34:16.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.0.3","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.0.3/manifests"},{"name":"v3.0.2","sha":"2421d8a6c80ae5b172d1470e221305b281c51bde","kind":"commit","published_at":"2021-02-14T20:15:34.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.0.2","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.0.2/manifests"},{"name":"v3.0.1","sha":"e99155af85261e065192feb946dcfa6679cffae4","kind":"commit","published_at":"2020-12-15T17:52:43.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.0.1","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.0.1/manifests"},{"name":"v3.0.0","sha":"91e726e83484d3c125a27f0bb299af81e79a4a87","kind":"commit","published_at":"2020-10-13T20:29:33.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v3.0.0","html_url":"https://github.com/r-lib/testthat/releases/tag/v3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v3.0.0/manifests"},{"name":"v2.3.2","sha":"b6391b8a37a72a3e7c3f90a3611d5798ad17e63a","kind":"commit","published_at":"2020-03-02T14:59:05.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v2.3.2","html_url":"https://github.com/r-lib/testthat/releases/tag/v2.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v2.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.3.2/manifests"},{"name":"v2.3.1","sha":"3633dfeb30fe89aac17b43e5f919447c2a1185da","kind":"commit","published_at":"2019-11-19T12:34:54.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v2.3.1","html_url":"https://github.com/r-lib/testthat/releases/tag/v2.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v2.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.3.1/manifests"},{"name":"v2.3.0","sha":"8b57e99c9a6cb56d86e3db278d16955fc7a7de0a","kind":"commit","published_at":"2019-11-05T22:00:46.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v2.3.0","html_url":"https://github.com/r-lib/testthat/releases/tag/v2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v2.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.3.0/manifests"},{"name":"v2.2.1","sha":"af1951b592193294daf212524584e1eeecd6004e","kind":"commit","published_at":"2019-07-25T14:59:14.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v2.2.1","html_url":"https://github.com/r-lib/testthat/releases/tag/v2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v2.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.2.1/manifests"},{"name":"v2.2.0","sha":"f11c0a2724ca20e184244e76376c3e512a26dfec","kind":"commit","published_at":"2019-07-22T17:34:57.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v2.2.0","html_url":"https://github.com/r-lib/testthat/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.2.0/manifests"},{"name":"v2.1.1","sha":"2d06179da378073d551403e53c9efb6efb0d3251","kind":"commit","published_at":"2019-04-23T15:09:51.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v2.1.1","html_url":"https://github.com/r-lib/testthat/releases/tag/v2.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v2.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.1.1/manifests"},{"name":"v2.1.0","sha":"fd4a14a47efd3c1af22cb00ea4c51e3f6b1a04fc","kind":"commit","published_at":"2019-04-22T16:32:30.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v2.1.0","html_url":"https://github.com/r-lib/testthat/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.1.0/manifests"},{"name":"v2.0.1","sha":"1e34212b2e35649882058654d23bf20e40b423e4","kind":"commit","published_at":"2018-10-12T18:03:28.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v2.0.1","html_url":"https://github.com/r-lib/testthat/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"b0c0d5dcd78c5f97790c4b6ddb5babbce4c63a9d","kind":"commit","published_at":"2017-12-14T18:16:06.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v2.0.0","html_url":"https://github.com/r-lib/testthat/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v2.0.0/manifests"},{"name":"v1.0.2","sha":"75c30cc7f0f04a014965afe724532ff1dd25b62e","kind":"commit","published_at":"2016-04-22T20:14:25.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v1.0.2","html_url":"https://github.com/r-lib/testthat/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"52d549439195a1864c714e145007224eb0e7a045","kind":"commit","published_at":"2016-04-18T20:43:56.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v1.0.1","html_url":"https://github.com/r-lib/testthat/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"dcde69dc9f02abc59e990d1e70f00f1963f01a58","kind":"commit","published_at":"2016-04-18T16:19:25.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v1.0.0","html_url":"https://github.com/r-lib/testthat/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v1.0.0/manifests"},{"name":"v0.11.0","sha":"cdb875c1943f0bee3d8d0366aaad8ce92ad62430","kind":"commit","published_at":"2015-10-13T20:52:09.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v0.11.0","html_url":"https://github.com/r-lib/testthat/releases/tag/v0.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v0.11.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.11.0/manifests"},{"name":"v0.10.0","sha":"4d404c1ed0ff2d44cb609df93b65f84d1f9c3dfb","kind":"commit","published_at":"2015-05-22T22:09:54.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v0.10.0","html_url":"https://github.com/r-lib/testthat/releases/tag/v0.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v0.10.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.10.0/manifests"},{"name":"v0.10.1","sha":"ca4e601e8039143640395909441fc2b20b3dac9e","kind":"commit","published_at":"2015-05-22T22:03:35.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v0.10.1","html_url":"https://github.com/r-lib/testthat/releases/tag/v0.10.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v0.10.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.10.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.10.1/manifests"},{"name":"v0.9.1","sha":"ff8678f2b18d999dcb6ca8ab7140a09e457c5322","kind":"commit","published_at":"2014-09-29T19:19:06.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v0.9.1","html_url":"https://github.com/r-lib/testthat/releases/tag/v0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v0.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.9.1/manifests"},{"name":"v0.9","sha":"973536b412a152e35961104a6480ea09a26360b4","kind":"commit","published_at":"2014-09-22T16:48:29.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v0.9","html_url":"https://github.com/r-lib/testthat/releases/tag/v0.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v0.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.9/manifests"},{"name":"v0.8.1","sha":"e56d390563b7bb558f396a36050df879738a86c3","kind":"commit","published_at":"2014-02-21T19:58:49.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v0.8.1","html_url":"https://github.com/r-lib/testthat/releases/tag/v0.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v0.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.8.1/manifests"},{"name":"v0.8","sha":"e76372bdbf4ef399b31c583310a4b8aa126cc199","kind":"commit","published_at":"2014-01-23T17:08:36.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/v0.8","html_url":"https://github.com/r-lib/testthat/releases/tag/v0.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@v0.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/v0.8/manifests"},{"name":"testthat-0.6","sha":"511c0858f53599770797e97c81ccce95b99ca414","kind":"tag","published_at":"2011-12-30T14:25:28.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/testthat-0.6","html_url":"https://github.com/r-lib/testthat/releases/tag/testthat-0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@testthat-0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/testthat-0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/testthat-0.6/manifests"},{"name":"testthat-0.4","sha":"8b5d7570ca39dd393170a792c12080ccaa82d5f1","kind":"tag","published_at":"2011-03-20T23:13:16.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/testthat-0.4","html_url":"https://github.com/r-lib/testthat/releases/tag/testthat-0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@testthat-0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/testthat-0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/testthat-0.4/manifests"},{"name":"testhat-0.3","sha":"ec9b13eff2a0585fdd64a6d572dfcf1c4a6a54b5","kind":"commit","published_at":"2010-08-30T13:54:16.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/testhat-0.3","html_url":"https://github.com/r-lib/testthat/releases/tag/testhat-0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@testhat-0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/testhat-0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/testhat-0.3/manifests"},{"name":"testthat-0.1","sha":"a5c944a6fad02eeb8eb3abe24058503054fa0ac3","kind":"tag","published_at":"2009-11-18T01:07:21.000Z","download_url":"https://codeload.github.com/r-lib/testthat/tar.gz/testthat-0.1","html_url":"https://github.com/r-lib/testthat/releases/tag/testthat-0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/r-lib/testthat@testthat-0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/testthat-0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/tags/testthat-0.1/manifests"}]},"repo_metadata_updated_at":"2025-09-01T11:38:30.316Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":6.892092295290424,"dependent_packages_count":6.456365915920028,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":6.674229105605226},"purl":"pkg:golang/github.com/r-lib/testthat","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/r-lib/testthat","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/r-lib/testthat","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/r-lib/testthat/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-31T08:20:56.586Z","issues_count":339,"pull_requests_count":225,"avg_time_to_close_issue":19337589.125475284,"avg_time_to_close_pull_request":5842536.254437869,"issues_closed_count":263,"pull_requests_closed_count":169,"pull_request_authors_count":41,"issue_authors_count":163,"avg_comments_per_issue":1.7846607669616519,"avg_comments_per_pull_request":0.8088888888888889,"merged_pull_requests_count":148,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":100,"past_year_pull_requests_count":114,"past_year_avg_time_to_close_issue":5859218.192307692,"past_year_avg_time_to_close_pull_request":1200582.1230769232,"past_year_issues_closed_count":52,"past_year_pull_requests_closed_count":65,"past_year_pull_request_authors_count":18,"past_year_issue_authors_count":54,"past_year_avg_comments_per_issue":0.71,"past_year_avg_comments_per_pull_request":0.5877192982456141,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":61,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/issues","maintainers":[{"login":"hadley","count":192,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hadley"},{"login":"kevinushey","count":14,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/kevinushey"},{"login":"lionel-","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/lionel-"},{"login":"jennybc","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jennybc"},{"login":"gaborcsardi","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gaborcsardi"},{"login":"krlmlr","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/krlmlr"},{"login":"DavisVaughan","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/DavisVaughan"},{"login":"maxheld83","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/maxheld83"},{"login":"t-kalinowski","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/t-kalinowski"},{"login":"jeroen","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jeroen"},{"login":"EmilHvitfeldt","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/EmilHvitfeldt"}],"active_maintainers":[{"login":"hadley","count":99,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hadley"},{"login":"kevinushey","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/kevinushey"},{"login":"gaborcsardi","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gaborcsardi"},{"login":"krlmlr","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/krlmlr"},{"login":"jennybc","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jennybc"},{"login":"jeroen","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jeroen"},{"login":"EmilHvitfeldt","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/EmilHvitfeldt"},{"login":"maxheld83","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/maxheld83"},{"login":"t-kalinowski","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/t-kalinowski"},{"login":"lionel-","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/lionel-"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fr-lib%2Ftestthat/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fr-lib%2Ftestthat/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fr-lib%2Ftestthat/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fr-lib%2Ftestthat/related_packages","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":1954233,"maintainers_count":0,"namespaces_count":741771,"keywords_count":109320,"github":"golang","metadata":{"funded_packages_count":49342},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2025-09-08T05:47:38.872Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}}],"commits":{"id":3964,"full_name":"r-lib/testthat","default_branch":"main","committers":[{"name":"hadley","email":"h.wickham@gmail.com","login":"hadley","count":1344},{"name":"Kirill Müller","email":"kirill.mueller@ivt.baug.ethz.ch","login":null,"count":248},{"name":"Lionel Henry","email":"lionel.hry@gmail.com","login":"lionel-","count":105},{"name":"Kevin Ushey","email":"kevinushey@gmail.com","login":"kevinushey","count":74},{"name":"Gábor Csárdi","email":"csardi.gabor@gmail.com","login":"gaborcsardi","count":59},{"name":"Jim Hester","email":"james.f.hester@gmail.com","login":"jimhester","count":43},{"name":"Kirill Müller","email":"krlmlr","login":"krlmlr","count":39},{"name":"Karl Forner","email":"Karl.Forner@quartzbio.com","login":"karl-forner-quartz-bio","count":30},{"name":"Michael Chirico","email":"chiricom@google.com","login":"MichaelChirico","count":11},{"name":"Neal Richardson","email":"neal@crunch.io","login":null,"count":10},{"name":"Jennifer (Jenny) Bryan","email":"jenny.f.bryan@gmail.com","login":"jennybc","count":10},{"name":"Dirk Schumacher","email":"mail@dirk-schumacher.net","login":"dirkschumacher","count":10},{"name":"Maëlle Salmon","email":"maelle.salmon@yahoo.se","login":"maelle","count":8},{"name":"Salim B","email":"salim@posteo.de","login":"salim-b","count":6},{"name":"Craig Citro","email":"craigcitro@google.com","login":"craigcitro","count":6},{"name":"Michal Bojanowski","email":"michal2992@gmail.com","login":"mbojan","count":6},{"name":"Peter Meilstrup","email":"peter.meilstrup@gmail.com","login":"crowding","count":5},{"name":"brodieG","email":"brodieG","login":"brodieG","count":5},{"name":"windelinckx","email":"neilwindelinckx@hotmail.com","login":"windelinckx","count":5},{"name":"Dan Keshet","email":"dan.keshet@gmail.com","login":"dkesh","count":4},{"name":"Jeff Allen","email":"jeff.allen@trestletechnology.net","login":"trestletech","count":4},{"name":"Max Held","email":"info@maxheld.de","login":"maxheld83","count":3},{"name":"Daniel Possenriede","email":"possenriede@gmail.com","login":"dpprdan","count":3},{"name":"Hugo Gruson","email":"Bisaloo","login":"Bisaloo","count":3},{"name":"Karl Forner","email":"karl.forner@gmail.com","login":"kforner","count":3},{"name":"Mara Averick","email":"maraaverick@gmail.com","login":"batpigandme","count":3},{"name":"Davis Vaughan","email":"davis@rstudio.com","login":"DavisVaughan","count":3},{"name":"olivroy","email":"52606734+olivroy","login":"olivroy","count":3},{"name":"Tomas Kalibera","email":"kalibera@cs.purdue.edu","login":"kalibera","count":3},{"name":"Romain François","email":"romain@rstudio.com","login":"romainfrancois","count":3},{"name":"Michael Quinn","email":"msquinn@google.com","login":"michaelquinn32","count":3},{"name":"Jennifer (Jenny) Bryan","email":"jenny@stat.ubc.ca","login":null,"count":3},{"name":"Jon Harmon","email":"jonthegeek@gmail.com","login":"jonthegeek","count":2},{"name":"Jonathan McPherson","email":"jonathan@rstudio.com","login":"jmcphers","count":2},{"name":"Maximilian Girlich","email":"maximilian.girlich@metoda.com","login":"mgirlich","count":2},{"name":"Michael Barrowman","email":"48382869+MyKo101","login":"MyKo101","count":2},{"name":"Patrick Miller","email":"pmiller@civisanalytics.com","login":"patr1ckm","count":2},{"name":"Will Beasley","email":"wibeasley@hotmail.com","login":"wibeasley","count":2},{"name":"Winston Chang","email":"winston@stdout.org","login":"wch","count":2},{"name":"Jon Clayden","email":"code@clayden.org","login":"jonclayden","count":2},{"name":"John Blischak","email":"jdblischak@gmail.com","login":"jdblischak","count":2},{"name":"Jameel Alsalam","email":"jalsalam@gmail.com","login":"jalsalam","count":2},{"name":"Hannah Frick","email":"hfrick","login":"hfrick","count":2},{"name":"Corrado Lanera","email":"corrado.lanera@gmail.com","login":"CorradoLanera","count":2},{"name":"Andy Teucher","email":"andy.teucher@gmail.com","login":"ateucher","count":2},{"name":"Barret Schloerke","email":"schloerke@gmail.com","login":"schloerke","count":2},{"name":"James Harris","email":"jimmy@jamesharris.org","login":null,"count":2},{"name":"François Guillem","email":"guillem.francois@gmail.com","login":"FrancoisGuillem","count":1},{"name":"Bill Denney","email":"billdenney","login":"billdenney","count":1},{"name":"Bernd Bischl","email":"bernd_bischl@gmx.net","login":"berndbischl","count":1},{"name":"Sean Kross","email":"smk240@gmail.com","login":"seankross","count":1},{"name":"Stephen Eglen","email":"sje30@cam.ac.uk","login":"sje30","count":1},{"name":"Steve Lianoglou","email":"slianoglou@gmail.com","login":"lianos","count":1},{"name":"Steven Maude","email":"StevenMaude","login":"StevenMaude","count":1},{"name":"Stu Field","email":"wiki.kimi@gmail.com","login":"stufield","count":1},{"name":"Alex Bertram","email":"alex@bedatadriven.com","login":"akbertram","count":1},{"name":"Alex Zvoleff","email":"azvoleff@gmail.com","login":"azvoleff","count":1},{"name":"Alexander Grueneberg","email":"alexander.grueneberg@googlemail.com","login":"agrueneberg","count":1},{"name":"Anders Ellern Bilgrau","email":"anders.ellern.bilgrau@gmail.com","login":"AEBilgrau","count":1},{"name":"Bastiaan Quast","email":"bquast@gmail.com","login":"bquast","count":1},{"name":"Ben Stevenson","email":"ben.stevenson@auckland.ac.nz","login":"b-steve","count":1},{"name":"Chase Clark","email":"cclark42@uic.edu","login":null,"count":1},{"name":"Super-User","email":"root@jeroen.sparc.ohmage.org","login":null,"count":1},{"name":"Rob Tirrell","email":"rpt@stanford.edu","login":null,"count":1},{"name":"bischl","email":"bischl@shell.statistik.uni-dortmund.de","login":null,"count":1},{"name":"James Harris","email":"relen.drkhmr@gmail.com","login":null,"count":1},{"name":"Jack Wasey","email":"jack@jackwasey.com","login":null,"count":1},{"name":"Ryan Duryea","email":"aguynamedryan@gmail.com","login":"aguynamedryan","count":1},{"name":"Ruaridh Williamson","email":"ruaridhw","login":"ruaridhw","count":1},{"name":"Ross Fineman","email":"33735858+rfineman","login":"rfineman","count":1},{"name":"Peter Zingg","email":"pzingg","login":"pzingg","count":1},{"name":"Pavel Marek","email":"pavel.akira.marek@gmail.com","login":"Akirathan","count":1},{"name":"Paul Staab","email":"paulstaab","login":"paulstaab","count":1},{"name":"Patrick Schratz","email":"patrick.schratz@gmail.com","login":"pat-s","count":1},{"name":"Mike Love","email":"mikelove","login":"mikelove","count":1},{"name":"Michel","email":"michellang@gmail.com","login":"mllg","count":1},{"name":"Max Kuhn","email":"mxkuhn@gmail.com","login":"topepo","count":1},{"name":"Łukasz A. Bartnik","email":"lbartnik","login":"lbartnik","count":1},{"name":"yui-knk","email":"spiketeika@gmail.com","login":"yui-knk","count":1},{"name":"tzakharko","email":"taras.zakharko@gmail.com","login":"tzakharko","count":1},{"name":"tbates","email":"timothy.c.bates@gmail.com","login":"tbates","count":1},{"name":"nbenn","email":"nicolas.bennett@me.com","login":"nbenn","count":1},{"name":"mtkerbeR","email":"45527952+mtkerbeR","login":"mtkerbeR","count":1},{"name":"James Laird-Smith","email":"jameslairdsmith@gmail.com","login":"jameslairdsmith","count":1},{"name":"Brian G. Barkley","email":"BarkleyBG@outlook.com","login":"BarkleyBG","count":1},{"name":"maksymiuks","email":"32574056+maksymiuks","login":"maksymiuks","count":1},{"name":"leeper","email":"thosjleeper@gmail.com","login":"leeper","count":1},{"name":"juancentro","email":"jmtruppia@gmail.com","login":"juancentro","count":1},{"name":"comicfans","email":"comicfans44@gmail.com","login":"comicfans","count":1},{"name":"bblette1","email":"bletteb18@gmail.com","login":"bblette1","count":1},{"name":"andrewdolman","email":"andydolman@gmail.com","login":"andrewdolman","count":1},{"name":"ahjota","email":"3588606+ahjota","login":"ahjota","count":1},{"name":"Watal M. Iwasaki","email":"heavywatal","login":"heavywatal","count":1},{"name":"Vitalie Spinu","email":"spinuvit@gmail.com","login":"vspinu","count":1},{"name":"Tom Palmer","email":"remlapmot@hotmail.com","login":"remlapmot","count":1},{"name":"Jonathan Keane","email":"jkeane@gmail.com","login":"jonkeane","count":1},{"name":"Johannes Gruber","email":"JohannesB.Gruber@gmail.com","login":"JBGruber","count":1},{"name":"Joe Cheng","email":"joe@rstudio.com","login":"jcheng5","count":1},{"name":"Jeroen Ooms","email":"jeroenooms@gmail.com","login":"jeroen","count":1},{"name":"Jamie Lendrum","email":"jalendrum@gmail.com","login":"jl5000","count":1},{"name":"James Lamb","email":"jaylamb20@gmail.com","login":"jameslamb","count":1},{"name":"Tobias Rockel","email":"60826877+torockel","login":"torockel","count":1},{"name":"Max Joseph","email":"maxwellbjoseph@gmail.com","login":"mbjoseph","count":1},{"name":"Matthias Grenié","email":"matthias.grenie@ens-lyon.fr","login":"Rekyt","count":1},{"name":"Mark","email":"github@markedmondson.me","login":"MarkEdmondson1234","count":1},{"name":"Marco Colombo","email":"mar.colombo13@gmail.com","login":"mcol","count":1},{"name":"Malcolm Barrett","email":"malcolmbarrett","login":"malcolmbarrett","count":1},{"name":"Lluís Revilla","email":"llrs","login":"llrs","count":1},{"name":"Lluís Ramon","email":"lluisramon.tgn@gmail.com","login":"LluisRamon","count":1},{"name":"Carl Boettiger","email":"cboettig@gmail.com","login":"cboettig","count":1},{"name":"Charlie Sharpsteen","email":"source@sharpsteen.net","login":"Sharpie","count":1},{"name":"Chris Beeley","email":"chris.beeley@gmail.com","login":"ChrisBeeley","count":1},{"name":"David LeBauer","email":"dlebauer@gmail.com","login":"dlebauer","count":1},{"name":"David Mawdsley","email":"david.mawdsley@manchester.ac.uk","login":"mawds","count":1},{"name":"Doug Kelkhoff","email":"18220321+dgkf","login":"dgkf","count":1},{"name":"Elmar Langholz","email":"langholz@gmail.com","login":"langholz","count":1},{"name":"Federico Marini","email":"marinif@uni-mainz.de","login":"federicomarini","count":1},{"name":"Joshua Rosenberg","email":"jrosen@msu.edu","login":null,"count":1},{"name":"Lincoln Mullen","email":"lincoln@lincolnmullen.com","login":"lmullen","count":1},{"name":"Leon Samson","email":"42182207+LDSamson","login":"LDSamson","count":1},{"name":"Kevin M. Smith","email":"Kevin.Smith@tufts.edu","login":"Kevin-M-Smith","count":1},{"name":"Kenneth Tay","email":"kjytay@gmail.com","login":"kjytay","count":1},{"name":"Ken Williams","email":"Ken.Williams@WindLogics.com","login":"kenahoo","count":1},{"name":"Katrin Leinweber","email":"9948149+katrinleinweber","login":"katrinleinweber","count":1},{"name":"Karl Broman","email":"kbroman@gmail.com","login":"kbroman","count":1},{"name":"Jozef","email":"jozef.hajnala@gmail.com","login":"jozefhajnala","count":1},{"name":"Joona Lehtomäki","email":"joona.lehtomaki@gmail.com","login":"jlehtoma","count":1},{"name":"Jack Hannah","email":"38332502+jackhannah95","login":"jackhannah95","count":1},{"name":"Ildikó Czeller","email":"czeildi","login":"czeildi","count":1},{"name":"Ian Lyttle","email":"ijlyttle","login":"ijlyttle","count":1},{"name":"Ian Cook","email":"ianmcook@gmail.com","login":"ianmcook","count":1},{"name":"Hiroaki Yutani","email":"yutani.ini@gmail.com","login":"yutannihilation","count":1},{"name":"Gregory Jefferis","email":"jefferis@gmail.com","login":"jefferis","count":1},{"name":"Greg Freedman Ellis","email":"greg.freedman@gmail.com","login":"gergness","count":1},{"name":"ABE Kosei","email":"mail@recyclebin.jp","login":"kos59125","count":1}],"total_commits":2183,"total_committers":135,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":16.17037037037037,"dds":0.38433348602840123,"past_year_committers":[{"name":"Hadley Wickham","email":"h.wickham@gmail.com","login":"hadley","count":32},{"name":"Kevin Ushey","email":"kevinushey@gmail.com","login":"kevinushey","count":3},{"name":"olivroy","email":"52606734+olivroy","login":"olivroy","count":2},{"name":"Michael Chirico","email":"chiricom@google.com","login":"MichaelChirico","count":1},{"name":"Maëlle Salmon","email":"maelle.salmon@yahoo.se","login":"maelle","count":1},{"name":"Leon Samson","email":"42182207+LDSamson","login":"LDSamson","count":1},{"name":"Kirill Müller","email":"krlmlr","login":"krlmlr","count":1},{"name":"Gábor Csárdi","email":"csardi.gabor@gmail.com","login":"gaborcsardi","count":1}],"past_year_total_commits":42,"past_year_total_committers":8,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":5.25,"past_year_dds":0.23809523809523814,"last_synced_at":"2025-07-09T01:26:45.985Z","last_synced_commit":"30f5b119875852005f2a02e6adf96276dbd1ef26","created_at":"2023-03-07T09:19:29.178Z","updated_at":"2025-07-09T01:26:46.006Z","commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-05T00:00:10.343Z","repositories_count":5480019,"commits_count":853389012,"contributors_count":31098138,"owners_count":906558,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"r-lib/testthat","html_url":"https://github.com/r-lib/testthat","last_synced_at":"2025-09-06T23:58:36.588Z","status":null,"issues_count":330,"pull_requests_count":241,"avg_time_to_close_issue":19631588.867521368,"avg_time_to_close_pull_request":5544525.406779661,"issues_closed_count":234,"pull_requests_closed_count":177,"pull_request_authors_count":40,"issue_authors_count":163,"avg_comments_per_issue":1.5424242424242425,"avg_comments_per_pull_request":0.7925311203319502,"merged_pull_requests_count":154,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":99,"past_year_pull_requests_count":123,"past_year_avg_time_to_close_issue":2361318.205128205,"past_year_avg_time_to_close_pull_request":349641.4142857143,"past_year_issues_closed_count":39,"past_year_pull_requests_closed_count":70,"past_year_pull_request_authors_count":18,"past_year_issue_authors_count":55,"past_year_avg_comments_per_issue":0.35353535353535354,"past_year_avg_comments_per_pull_request":0.4878048780487805,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":68,"created_at":"2023-05-10T22:14:17.165Z","updated_at":"2025-09-06T23:58:36.590Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lib%2Ftestthat/issues","issue_labels_count":{"feature":57,"bug":31,"snapshot :camera:":30,"expectation :scream_cat:":20,"documentation":14,"skip":9,"parallel ⇶":9,"conditions":7,"tests :blue_book:":7,"reporter :memo:":6,"upkeep":4,"reprex":4,"mocking :bird:":3,"3e :books:":2,"BDD :teacher:":2,"fixtures :factory:":2,"help wanted :heart:":1,"breaking change :skull_and_crossbones:":1},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":176,"MEMBER":98,"CONTRIBUTOR":49,"COLLABORATOR":7},"pull_request_author_associations_count":{"MEMBER":159,"CONTRIBUTOR":44,"NONE":29,"COLLABORATOR":9},"issue_authors":{"hadley":64,"MichaelChirico":19,"jennybc":11,"DanChaltiel":10,"kevinushey":7,"lionel-":6,"olivroy":5,"krlmlr":5,"maelle":5,"DavisVaughan":5,"pawelru":5,"kubajal":4,"fh-mthomson":4,"moodymudskipper":3,"aronatkins":3,"ateucher":3,"billdenney":3,"maxheld83":3,"MLopez-Ibanez":3,"IndrajeetPatil":3,"daattali":2,"njtierney":2,"nealrichardson":2,"stla":2,"jonthegeek":2,"schloerke":2,"t-kalinowski":2,"gavinsimpson":2,"wurli":2,"lawalter":2,"maksymiuks":2,"dvg-p4":2,"krivit":2,"nunotexbsd":2,"mcol":2,"latot":2,"DanielHermosilla":1,"d-morrison":1,"JasonCurole":1,"dougwyu":1,"jarad":1,"hpages":1,"mduncans":1,"cboettig":1,"merliseclyde":1,"daynefiler":1,"mmuurr":1,"musvaage":1,"tentacles-from-outer-space":1,"ALanguillaume":1,"damianooldoni":1,"kjytay":1,"dbdimitrov":1,"jameslairdsmith":1,"gael-millot":1,"averissimo":1,"luma-sb":1,"homer3018":1,"gdurif":1,"lutzgruber-quantco":1,"bdforbes":1,"larmarange":1,"dheimgartner":1,"EmilHvitfeldt":1,"rgayler":1,"majr-red":1,"mtmorgan":1,"chriscarrollsmith":1,"giovannikraushaar":1,"osorensen":1,"lgtm70b":1,"s6mike":1,"zkamvar":1,"lschneiderbauer":1,"StatisMike":1,"Moohan":1,"tschoonj":1,"mjfrigaard":1,"astayleraz":1,"louisaslett":1,"gaborcsardi":1,"DavorJ":1,"danielinteractive":1,"avhz":1,"hsloot":1,"schuemie":1,"ghill-fusion":1,"m-muecke":1,"emstruong":1,"mgirlich":1,"gareth-j":1,"rickhelmus":1,"jakubsob":1,"mikemahoney218":1,"netique":1,"tanaphum":1,"levsa":1,"florisvdh":1,"ColinFay":1,"JimMcL":1,"pabangan":1,"lachlansimpson":1,"hughjonesd":1,"mlell":1,"mattfidler":1,"Ahill25":1,"slager":1,"JBGruber":1,"TymekDev":1,"ashander":1,"sebkopf":1,"stibu81":1,"shug0131":1,"LDSamson":1,"tbrown122387":1,"kapsner":1,"kummerer94":1,"ms609":1,"unDocUMeantIt":1,"eitsupi":1,"maciekbanas":1,"jayruffell":1,"FlippieCoetser":1,"dgkf-roche":1,"tylermorganwall":1,"CGlemser":1,"Bisaloo":1,"ambevill":1,"stefanedwards":1,"mattwarkentin":1,"wes-brooks":1,"andybeet":1,"mkoohafkan":1,"yangsophieee":1,"JosiahParry":1,"plietar":1,"alessandroaccettulli":1,"tillea":1,"doccstat":1,"3styleJam":1,"lcougnaud":1,"venpopov":1,"dimfalk":1,"hoeflerb":1,"pbulsink":1,"tomliptrot":1,"sebffischer":1,"qmarcou":1,"metanoid":1,"etiennebacher":1,"wsherwin":1,"annweideman":1,"MatthieuStigler":1,"nikosbosse":1,"torbjorn":1,"machow":1,"alexander793":1,"StatsMan53":1,"hdhshowalter-lilly":1,"jamesfowkes":1,"s-fleck":1,"paleolimbot":1,"ralmond":1},"pull_request_authors":{"hadley":136,"MichaelChirico":11,"gaborcsardi":10,"kevinushey":9,"lionel-":7,"olivroy":6,"maelle":4,"kubajal":4,"jonthegeek":4,"stibu81":2,"mcol":2,"atheriel":2,"m-muecke":2,"jeroen":2,"tylermorganwall":2,"jdblischak":2,"radbasa":2,"schloerke":2,"ateucher":2,"aj-sykes92":2,"pachadotdev":2,"JBGruber":2,"ilyaZar":2,"salim-b":2,"averissimo":2,"LDSamson":2,"billdenney":2,"krlmlr":2,"eitsupi":1,"jonathanvoelkle":1,"EmilHvitfeldt":1,"mgirlich":1,"IndrajeetPatil":1,"wleoncio":1,"romainfrancois":1,"d-morrison":1,"maksymiuks":1,"ALanguillaume":1,"jennybc":1,"DanChaltiel":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-08T00:00:17.013Z","repositories_count":10165670,"issues_count":31989241,"pull_requests_count":100238337,"authors_count":10729070,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{"bug":5,"snapshot :camera:":3,"feature":2,"parallel ⇶":2,"conditions":2,"reporter :memo:":1,"documentation":1,"upkeep":1,"expectation :scream_cat:":1},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"NONE":49,"MEMBER":32,"CONTRIBUTOR":16,"COLLABORATOR":2},"past_year_pull_request_author_associations_count":{"MEMBER":89,"CONTRIBUTOR":16,"NONE":14,"COLLABORATOR":4},"past_year_issue_authors":{"hadley":23,"MichaelChirico":10,"kubajal":4,"DanChaltiel":4,"maxheld83":2,"mcol":2,"lawalter":2,"krlmlr":2,"kevinushey":2,"MLopez-Ibanez":2,"jennybc":2,"njtierney":1,"moodymudskipper":1,"m-muecke":1,"mlell":1,"metanoid":1,"mattwarkentin":1,"nunotexbsd":1,"pabangan":1,"plietar":1,"ralmond":1,"schloerke":1,"schuemie":1,"sebkopf":1,"stibu81":1,"tentacles-from-outer-space":1,"t-kalinowski":1,"tschoonj":1,"tylermorganwall":1,"wurli":1,"zkamvar":1,"3styleJam":1,"andybeet":1,"averissimo":1,"avhz":1,"bdforbes":1,"chriscarrollsmith":1,"DanielHermosilla":1,"dheimgartner":1,"d-morrison":1,"eitsupi":1,"EmilHvitfeldt":1,"emstruong":1,"gael-millot":1,"hoeflerb":1,"jakubsob":1,"jamesfowkes":1,"JasonCurole":1,"jonthegeek":1,"JosiahParry":1,"krivit":1,"lionel-":1,"louisaslett":1,"lschneiderbauer":1,"maelle":1},"past_year_pull_request_authors":{"hadley":82,"MichaelChirico":5,"kevinushey":4,"maelle":4,"gaborcsardi":4,"kubajal":4,"jeroen":2,"m-muecke":2,"averissimo":2,"atheriel":2,"mcol":2,"jdblischak":2,"tylermorganwall":2,"stibu81":2,"schloerke":1,"d-morrison":1,"eitsupi":1,"EmilHvitfeldt":1},"maintainers":[{"login":"hadley","count":200,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hadley"},{"login":"kevinushey","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/kevinushey"},{"login":"lionel-","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/lionel-"},{"login":"jennybc","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jennybc"},{"login":"gaborcsardi","count":11,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gaborcsardi"},{"login":"krlmlr","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/krlmlr"},{"login":"DavisVaughan","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/DavisVaughan"},{"login":"maxheld83","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/maxheld83"},{"login":"jeroen","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jeroen"},{"login":"EmilHvitfeldt","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/EmilHvitfeldt"},{"login":"t-kalinowski","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/t-kalinowski"}],"active_maintainers":[{"login":"hadley","count":105,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hadley"},{"login":"kevinushey","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/kevinushey"},{"login":"gaborcsardi","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gaborcsardi"},{"login":"krlmlr","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/krlmlr"},{"login":"maxheld83","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/maxheld83"},{"login":"jennybc","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jennybc"},{"login":"jeroen","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jeroen"},{"login":"EmilHvitfeldt","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/EmilHvitfeldt"},{"login":"t-kalinowski","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/t-kalinowski"},{"login":"lionel-","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/lionel-"}]},"events":{"total":{"CreateEvent":70,"ReleaseEvent":2,"IssuesEvent":214,"WatchEvent":23,"DeleteEvent":77,"IssueCommentEvent":317,"PushEvent":327,"PullRequestReviewCommentEvent":149,"PullRequestReviewEvent":136,"PullRequestEvent":173,"ForkEvent":18},"last_year":{"CreateEvent":70,"ReleaseEvent":2,"IssuesEvent":214,"WatchEvent":23,"DeleteEvent":77,"IssueCommentEvent":317,"PushEvent":327,"PullRequestReviewCommentEvent":149,"PullRequestReviewEvent":136,"PullRequestEvent":173,"ForkEvent":18}},"keywords":["r","unit-testing"],"dependencies":[{"ecosystem":"cran","filepath":"DESCRIPTION","sha":null,"kind":"manifest","created_at":"2022-06-21T15:09:12.024Z","updated_at":"2022-06-21T15:09:12.024Z","repository_link":"https://github.com/r-lib/testthat/blob/main/DESCRIPTION","dependencies":[{"id":2808,"package_name":"rlang","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":2809,"package_name":"testthat","ecosystem":"cran","requirements":"\u003e= 3.0.0","direct":true,"kind":"suggests","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/R-CMD-check.yaml","sha":null,"kind":"manifest","created_at":"2023-01-11T20:09:43.236Z","updated_at":"2023-01-11T20:09:43.236Z","repository_link":"https://github.com/r-lib/testthat/blob/main/.github/workflows/R-CMD-check.yaml","dependencies":[{"id":6870392167,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":6870392168,"package_name":"r-lib/actions/setup-pandoc","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":6870392169,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":6870392170,"package_name":"r-lib/actions/setup-r-dependencies","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":6870392171,"package_name":"r-lib/actions/check-r-package","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/pkgdown.yaml","sha":null,"kind":"manifest","created_at":"2023-01-11T20:09:43.285Z","updated_at":"2023-01-11T20:09:43.285Z","repository_link":"https://github.com/r-lib/testthat/blob/main/.github/workflows/pkgdown.yaml","dependencies":[{"id":6870392173,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":6870392174,"package_name":"r-lib/actions/setup-pandoc","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":6870392175,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":6870392176,"package_name":"r-lib/actions/setup-r-dependencies","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":6870392178,"package_name":"JamesIves/github-pages-deploy-action","ecosystem":"actions","requirements":"4.1.4","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/pr-commands.yaml","sha":null,"kind":"manifest","created_at":"2023-01-11T20:09:43.362Z","updated_at":"2023-01-11T20:09:43.362Z","repository_link":"https://github.com/r-lib/testthat/blob/main/.github/workflows/pr-commands.yaml","dependencies":[{"id":6870392179,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":6870392180,"package_name":"r-lib/actions/pr-fetch","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":6870392181,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":6870392182,"package_name":"r-lib/actions/setup-r-dependencies","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":6870392183,"package_name":"r-lib/actions/pr-push","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/test-coverage.yaml","sha":null,"kind":"manifest","created_at":"2023-01-11T20:09:43.387Z","updated_at":"2023-01-11T20:09:43.387Z","repository_link":"https://github.com/r-lib/testthat/blob/main/.github/workflows/test-coverage.yaml","dependencies":[{"id":6870392184,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":6870392185,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":6870392186,"package_name":"r-lib/actions/setup-r-dependencies","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"cran","filepath":"tests/testthat/test-parallel/crash/DESCRIPTION","sha":null,"kind":"manifest","created_at":"2023-01-11T20:09:43.419Z","updated_at":"2023-01-11T20:09:43.419Z","repository_link":"https://github.com/r-lib/testthat/blob/main/tests/testthat/test-parallel/crash/DESCRIPTION","dependencies":[{"id":6870392188,"package_name":"testthat","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false}]},{"ecosystem":"cran","filepath":"tests/testthat/test-parallel/ok/DESCRIPTION","sha":null,"kind":"manifest","created_at":"2023-01-11T20:09:43.486Z","updated_at":"2023-01-11T20:09:43.486Z","repository_link":"https://github.com/r-lib/testthat/blob/main/tests/testthat/test-parallel/ok/DESCRIPTION","dependencies":[{"id":6870392190,"package_name":"testthat","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false}]},{"ecosystem":"cran","filepath":"tests/testthat/test-parallel/outside/DESCRIPTION","sha":null,"kind":"manifest","created_at":"2023-01-11T20:09:43.570Z","updated_at":"2023-01-11T20:09:43.570Z","repository_link":"https://github.com/r-lib/testthat/blob/main/tests/testthat/test-parallel/outside/DESCRIPTION","dependencies":[{"id":6870392192,"package_name":"testthat","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false}]},{"ecosystem":"cran","filepath":"tests/testthat/test-parallel/setup/DESCRIPTION","sha":null,"kind":"manifest","created_at":"2023-01-11T20:09:43.663Z","updated_at":"2023-01-11T20:09:43.663Z","repository_link":"https://github.com/r-lib/testthat/blob/main/tests/testthat/test-parallel/setup/DESCRIPTION","dependencies":[{"id":6870392195,"package_name":"testthat","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false}]},{"ecosystem":"cran","filepath":"tests/testthat/test-parallel/startup/DESCRIPTION","sha":null,"kind":"manifest","created_at":"2023-01-11T20:09:43.726Z","updated_at":"2023-01-11T20:09:43.726Z","repository_link":"https://github.com/r-lib/testthat/blob/main/tests/testthat/test-parallel/startup/DESCRIPTION","dependencies":[{"id":6870392197,"package_name":"testthat","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false}]},{"ecosystem":"cran","filepath":"tests/testthat/test-parallel/teardown/DESCRIPTION","sha":null,"kind":"manifest","created_at":"2023-01-11T20:09:43.770Z","updated_at":"2023-01-11T20:09:43.770Z","repository_link":"https://github.com/r-lib/testthat/blob/main/tests/testthat/test-parallel/teardown/DESCRIPTION","dependencies":[{"id":6870392199,"package_name":"testthat","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false}]},{"ecosystem":"cran","filepath":"tests/testthat/testConfigLoadAll/DESCRIPTION","sha":null,"kind":"manifest","created_at":"2023-01-11T20:09:43.792Z","updated_at":"2023-01-11T20:09:43.792Z","repository_link":"https://github.com/r-lib/testthat/blob/main/tests/testthat/testConfigLoadAll/DESCRIPTION","dependencies":[{"id":6870392200,"package_name":"rlang","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":6870392201,"package_name":"testthat","ecosystem":"cran","requirements":"\u003e= 3.0.0","direct":true,"kind":"suggests","optional":false}]},{"ecosystem":"cran","filepath":"tests/testthat/test-parallel/fail/DESCRIPTION","sha":null,"kind":"manifest","created_at":"2023-07-06T01:54:08.415Z","updated_at":"2023-07-06T01:54:08.415Z","repository_link":"https://github.com/r-lib/testthat/blob/main/tests/testthat/test-parallel/fail/DESCRIPTION","dependencies":[{"id":11150283681,"package_name":"testthat","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false}]},{"ecosystem":"cran","filepath":"tests/testthat/test-parallel/snap/DESCRIPTION","sha":null,"kind":"manifest","created_at":"2023-07-06T01:54:08.445Z","updated_at":"2023-07-06T01:54:08.445Z","repository_link":"https://github.com/r-lib/testthat/blob/main/tests/testthat/test-parallel/snap/DESCRIPTION","dependencies":[{"id":11150283886,"package_name":"testthat","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false}]}],"score":30.404278307117544,"created_at":"2025-09-08T11:18:32.244Z","updated_at":"2025-10-07T08:24:40.717Z","avatar_url":"https://github.com/r-lib.png","language":"R","category":null,"sub_category":null,"monthly_downloads":1152157,"funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["package-creation","tidy-data","documentation-tool","rmarkdown","visualisation","data-manipulation","grammar","latex","csv","book"],"project_url":"https://science.ecosyste.ms/api/v1/projects/64010","html_url":"https://science.ecosyste.ms/projects/64010"}