{"id":66766,"name":"gganimate","description":"A Grammar of Animated Graphics","url":"https://github.com/thomasp85/gganimate","last_synced_at":"2025-09-08T13:44:13.019Z","repository":{"id":31984735,"uuid":"50872540","full_name":"thomasp85/gganimate","owner":"thomasp85","description":"A Grammar of Animated Graphics","archived":false,"fork":false,"pushed_at":"2025-09-04T12:14:57.000Z","size":57362,"stargazers_count":1976,"open_issues_count":84,"forks_count":314,"subscribers_count":58,"default_branch":"main","last_synced_at":"2025-09-04T12:21:35.299Z","etag":null,"topics":["animation","data-visualization","ggplot-extension","ggplot2","rstats","transition"],"latest_commit_sha":null,"homepage":"https://gganimate.com","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"dgrtwo/gganimate","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thomasp85.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":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2016-02-01T21:28:54.000Z","updated_at":"2025-09-04T12:06:11.000Z","dependencies_parsed_at":"2022-07-13T11:20:27.526Z","dependency_job_id":"dbd2aec9-95e3-454d-88ae-659a898e9822","html_url":"https://github.com/thomasp85/gganimate","commit_stats":{"total_commits":416,"total_committers":29,"mean_commits":"14.344827586206897","dds":"0.11538461538461542","last_synced_commit":"facc672534431a140a2e2fa047cfe22eda091903"},"previous_names":["dgrtwo/gganimate"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/thomasp85/gganimate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thomasp85","download_url":"https://codeload.github.com/thomasp85/gganimate/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/sbom","scorecard":{"id":882516,"data":{"date":"2025-08-11","repo":{"name":"github.com/thomasp85/gganimate","commit":"e279d8590f4e45db92f667c9f6e3e85755f2c2cc"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.4,"checks":[{"name":"Code-Review","score":1,"reason":"Found 4/30 approved changesets -- score normalized to 1","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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":10,"reason":"8 commit(s) and 5 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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"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/thomasp85/gganimate/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/thomasp85/gganimate/R-CMD-check.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/R-CMD-check.yaml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/thomasp85/gganimate/R-CMD-check.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/R-CMD-check.yaml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/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 4 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-24T08:45:14.437Z","repository_id":31984735,"created_at":"2025-08-24T08:45:14.437Z","updated_at":"2025-08-24T08:45:14.437Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273997155,"owners_count":25204479,"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-07T02:00:09.463Z","response_time":67,"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":"thomasp85","name":"Thomas Lin Pedersen","uuid":"1775316","kind":"user","description":"Maker of tools focusing on data science and data visualisation","email":"","website":"www.data-imaginist.com","location":"Copenhagen","twitter":"thomasp85","company":"@posit-pbc, part of @tidyverse team ","icon_url":"https://avatars.githubusercontent.com/u/1775316?u=42739e16457a1061e122cf58f378bd8fb6c92a6e\u0026v=4","repositories_count":121,"last_synced_at":"2025-03-31T15:27:01.120Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/thomasp85","funding_links":[],"total_stars":10757,"followers":3191,"following":2,"created_at":"2022-11-02T16:51:21.758Z","updated_at":"2025-03-31T15:27:01.121Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thomasp85","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thomasp85/repositories"},"packages":[{"id":434088,"name":"gganimate","ecosystem":"cran","description":"A Grammar of Animated Graphics","homepage":"https://gganimate.com","licenses":"MIT + file LICENSE","normalized_licenses":["MIT"],"repository_url":"https://github.com/thomasp85/gganimate","keywords_array":[],"namespace":null,"versions_count":12,"first_release_published_at":"2019-01-03T00:50:00.000Z","latest_release_published_at":"2025-09-04T00:00:00.000Z","latest_release_number":"1.0.11","last_synced_at":"2025-09-07T11:34:51.816Z","created_at":"2022-04-06T22:36:06.828Z","updated_at":"2025-09-07T23:52:12.993Z","registry_url":"https://cran.r-project.org/package=gganimate","install_command":null,"documentation_url":"http://cran.r-project.org/web/packages/gganimate/gganimate.pdf","metadata":{},"repo_metadata":{"id":31984735,"uuid":"50872540","full_name":"thomasp85/gganimate","owner":"thomasp85","description":"A Grammar of Animated Graphics","archived":false,"fork":false,"pushed_at":"2025-09-04T12:14:57.000Z","size":57362,"stargazers_count":1976,"open_issues_count":84,"forks_count":314,"subscribers_count":58,"default_branch":"main","last_synced_at":"2025-09-04T12:21:35.299Z","etag":null,"topics":["animation","data-visualization","ggplot-extension","ggplot2","rstats","transition"],"latest_commit_sha":null,"homepage":"https://gganimate.com","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"dgrtwo/gganimate","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thomasp85.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":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2016-02-01T21:28:54.000Z","updated_at":"2025-09-04T12:06:11.000Z","dependencies_parsed_at":"2022-07-13T11:20:27.526Z","dependency_job_id":"dbd2aec9-95e3-454d-88ae-659a898e9822","html_url":"https://github.com/thomasp85/gganimate","commit_stats":{"total_commits":416,"total_committers":29,"mean_commits":"14.344827586206897","dds":"0.11538461538461542","last_synced_commit":"facc672534431a140a2e2fa047cfe22eda091903"},"previous_names":["dgrtwo/gganimate"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/thomasp85/gganimate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thomasp85","download_url":"https://codeload.github.com/thomasp85/gganimate/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/sbom","scorecard":{"id":882516,"data":{"date":"2025-08-11","repo":{"name":"github.com/thomasp85/gganimate","commit":"e279d8590f4e45db92f667c9f6e3e85755f2c2cc"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.4,"checks":[{"name":"Code-Review","score":1,"reason":"Found 4/30 approved changesets -- score normalized to 1","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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":10,"reason":"8 commit(s) and 5 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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"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/thomasp85/gganimate/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/thomasp85/gganimate/R-CMD-check.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/R-CMD-check.yaml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/thomasp85/gganimate/R-CMD-check.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/R-CMD-check.yaml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/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 4 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-24T08:45:14.437Z","repository_id":31984735,"created_at":"2025-08-24T08:45:14.437Z","updated_at":"2025-08-24T08:45:14.437Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273997155,"owners_count":25204479,"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-07T02:00:09.463Z","response_time":67,"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":"thomasp85","name":"Thomas Lin Pedersen","uuid":"1775316","kind":"user","description":"Maker of tools focusing on data science and data visualisation","email":"","website":"www.data-imaginist.com","location":"Copenhagen","twitter":"thomasp85","company":"@posit-pbc, part of @tidyverse team ","icon_url":"https://avatars.githubusercontent.com/u/1775316?u=42739e16457a1061e122cf58f378bd8fb6c92a6e\u0026v=4","repositories_count":121,"last_synced_at":"2025-03-31T15:27:01.120Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/thomasp85","funding_links":[],"total_stars":10757,"followers":3191,"following":2,"created_at":"2022-11-02T16:51:21.758Z","updated_at":"2025-03-31T15:27:01.121Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thomasp85","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thomasp85/repositories"},"tags":[]},"repo_metadata_updated_at":"2025-09-07T23:52:12.993Z","dependent_packages_count":39,"downloads":16818,"downloads_period":"last-month","dependent_repos_count":109,"rankings":{"downloads":3.262222222222222,"dependent_repos_count":2.128888888888889,"dependent_packages_count":1.96,"stargazers_count":0.08444444444444445,"forks_count":0.14666666666666667,"docker_downloads_count":23.502222222222223,"average":5.180740740740741},"purl":"pkg:cran/gganimate","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/cran/gganimate","docker_dependents_count":35,"docker_downloads_count":48160,"usage_url":"https://repos.ecosyste.ms/usage/cran/gganimate","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/cran/gganimate/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-05T12:54:47.384Z","issues_count":127,"pull_requests_count":22,"avg_time_to_close_issue":31517631.45588235,"avg_time_to_close_pull_request":20428888.9375,"issues_closed_count":68,"pull_requests_closed_count":16,"pull_request_authors_count":11,"issue_authors_count":99,"avg_comments_per_issue":2.188976377952756,"avg_comments_per_pull_request":1.4090909090909092,"merged_pull_requests_count":10,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":15,"past_year_pull_requests_count":5,"past_year_avg_time_to_close_issue":1498281.0,"past_year_avg_time_to_close_pull_request":3530595.6666666665,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":3,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":13,"past_year_avg_comments_per_issue":0.26666666666666666,"past_year_avg_comments_per_pull_request":0.4,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":3,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/issues","maintainers":[{"login":"thomasp85","count":17,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/thomasp85"},{"login":"teunbrand","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/teunbrand"}],"active_maintainers":[{"login":"teunbrand","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/teunbrand"},{"login":"thomasp85","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/thomasp85"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/packages/gganimate/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/packages/gganimate/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/packages/gganimate/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/packages/gganimate/related_packages","maintainers":[{"uuid":"thomasp85@gmail.com","login":null,"name":"Thomas Lin Pedersen","email":"thomasp85@gmail.com","url":null,"packages_count":18,"html_url":null,"role":null,"created_at":"2022-11-14T17:22:09.090Z","updated_at":"2022-11-14T17:22:09.090Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/maintainers/thomasp85@gmail.com/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":5301884,"name":"r-gganimate","ecosystem":"conda","description":null,"homepage":"http://github.com/thomasp85/gganimate","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/thomasp85/gganimate","keywords_array":[],"namespace":null,"versions_count":8,"first_release_published_at":"2019-01-04T22:04:50.000Z","latest_release_published_at":"2022-09-08T15:52:18.000Z","latest_release_number":"1.0.8","last_synced_at":"2025-09-04T12:37:49.171Z","created_at":"2022-10-03T16:11:43.121Z","updated_at":"2025-09-05T02:54:19.560Z","registry_url":"https://anaconda.org/conda-forge/r-gganimate","install_command":"conda install -c conda-forge r-gganimate","documentation_url":null,"metadata":{},"repo_metadata":{"id":31984735,"uuid":"50872540","full_name":"thomasp85/gganimate","owner":"thomasp85","description":"A Grammar of Animated Graphics","archived":false,"fork":false,"pushed_at":"2025-09-04T12:14:57.000Z","size":57362,"stargazers_count":1976,"open_issues_count":84,"forks_count":314,"subscribers_count":58,"default_branch":"main","last_synced_at":"2025-09-04T12:21:35.299Z","etag":null,"topics":["animation","data-visualization","ggplot-extension","ggplot2","rstats","transition"],"latest_commit_sha":null,"homepage":"https://gganimate.com","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"dgrtwo/gganimate","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thomasp85.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":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2016-02-01T21:28:54.000Z","updated_at":"2025-09-04T12:06:11.000Z","dependencies_parsed_at":"2022-07-13T11:20:27.526Z","dependency_job_id":"dbd2aec9-95e3-454d-88ae-659a898e9822","html_url":"https://github.com/thomasp85/gganimate","commit_stats":{"total_commits":416,"total_committers":29,"mean_commits":"14.344827586206897","dds":"0.11538461538461542","last_synced_commit":"facc672534431a140a2e2fa047cfe22eda091903"},"previous_names":["dgrtwo/gganimate"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/thomasp85/gganimate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thomasp85","download_url":"https://codeload.github.com/thomasp85/gganimate/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/sbom","scorecard":{"id":882516,"data":{"date":"2025-08-11","repo":{"name":"github.com/thomasp85/gganimate","commit":"e279d8590f4e45db92f667c9f6e3e85755f2c2cc"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.4,"checks":[{"name":"Code-Review","score":1,"reason":"Found 4/30 approved changesets -- score normalized to 1","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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":10,"reason":"8 commit(s) and 5 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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"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/thomasp85/gganimate/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/thomasp85/gganimate/R-CMD-check.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/R-CMD-check.yaml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/thomasp85/gganimate/R-CMD-check.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/R-CMD-check.yaml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/thomasp85/gganimate/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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/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 4 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-24T08:45:14.437Z","repository_id":31984735,"created_at":"2025-08-24T08:45:14.437Z","updated_at":"2025-08-24T08:45:14.437Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273699178,"owners_count":25152274,"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-04T02:00:08.968Z","response_time":61,"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":"thomasp85","name":"Thomas Lin Pedersen","uuid":"1775316","kind":"user","description":"Maker of tools focusing on data science and data visualisation","email":"","website":"www.data-imaginist.com","location":"Copenhagen","twitter":"thomasp85","company":"@posit-pbc, part of @tidyverse team ","icon_url":"https://avatars.githubusercontent.com/u/1775316?u=42739e16457a1061e122cf58f378bd8fb6c92a6e\u0026v=4","repositories_count":121,"last_synced_at":"2025-03-31T15:27:01.120Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/thomasp85","funding_links":[],"total_stars":10757,"followers":3191,"following":2,"created_at":"2022-11-02T16:51:21.758Z","updated_at":"2025-03-31T15:27:01.121Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thomasp85","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thomasp85/repositories"},"tags":[{"name":"v1.0.11","sha":"c7ede3b3b7abef37306f5411f1f48fea31aac24d","kind":"commit","published_at":"2025-09-04T10:16:34.000Z","download_url":"https://codeload.github.com/thomasp85/gganimate/tar.gz/v1.0.11","html_url":"https://github.com/thomasp85/gganimate/releases/tag/v1.0.11","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thomasp85/gganimate@v1.0.11","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/tags/v1.0.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/tags/v1.0.11/manifests"},{"name":"v1.0.10","sha":"c12783bcbc2c5dd7efa6efc5f5a5ee43e714fd21","kind":"commit","published_at":"2025-06-18T11:14:09.000Z","download_url":"https://codeload.github.com/thomasp85/gganimate/tar.gz/v1.0.10","html_url":"https://github.com/thomasp85/gganimate/releases/tag/v1.0.10","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thomasp85/gganimate@v1.0.10","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/tags/v1.0.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/tags/v1.0.10/manifests"},{"name":"v1.0.9","sha":"de4a51cc658831b7378493ff8ca3279ad6f7797b","kind":"commit","published_at":"2024-02-27T10:41:42.000Z","download_url":"https://codeload.github.com/thomasp85/gganimate/tar.gz/v1.0.9","html_url":"https://github.com/thomasp85/gganimate/releases/tag/v1.0.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thomasp85/gganimate@v1.0.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/tags/v1.0.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/tags/v1.0.9/manifests"},{"name":"v1.0.8","sha":"dfa9b44451340d01fa3a930d515afbed77313408","kind":"commit","published_at":"2022-09-08T10:29:08.000Z","download_url":"https://codeload.github.com/thomasp85/gganimate/tar.gz/v1.0.8","html_url":"https://github.com/thomasp85/gganimate/releases/tag/v1.0.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thomasp85/gganimate@v1.0.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/tags/v1.0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/tags/v1.0.8/manifests"},{"name":"v1.0.7","sha":"58c8160c92eaaa8a439f3cb74bb526121a1d7263","kind":"commit","published_at":"2020-10-14T21:36:09.000Z","download_url":"https://codeload.github.com/thomasp85/gganimate/tar.gz/v1.0.7","html_url":"https://github.com/thomasp85/gganimate/releases/tag/v1.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thomasp85/gganimate@v1.0.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/tags/v1.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/tags/v1.0.7/manifests"},{"name":"v1.0.6","sha":"9679a82e924df6d7d856e860ffbbe3b8174ded96","kind":"commit","published_at":"2020-10-14T18:25:04.000Z","download_url":"https://codeload.github.com/thomasp85/gganimate/tar.gz/v1.0.6","html_url":"https://github.com/thomasp85/gganimate/releases/tag/v1.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thomasp85/gganimate@v1.0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/tags/v1.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/tags/v1.0.6/manifests"},{"name":"v1.0.5","sha":"a097c0110348aeed0acd14c7219004c838cd9d79","kind":"commit","published_at":"2020-02-09T19:22:49.000Z","download_url":"https://codeload.github.com/thomasp85/gganimate/tar.gz/v1.0.5","html_url":"https://github.com/thomasp85/gganimate/releases/tag/v1.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thomasp85/gganimate@v1.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/tags/v1.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/tags/v1.0.5/manifests"},{"name":"v1.0.4","sha":"5d1242ce6acd1b9bd37553811a48afc43366072e","kind":"commit","published_at":"2019-11-18T08:43:37.000Z","download_url":"https://codeload.github.com/thomasp85/gganimate/tar.gz/v1.0.4","html_url":"https://github.com/thomasp85/gganimate/releases/tag/v1.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thomasp85/gganimate@v1.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/tags/v1.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/tags/v1.0.4/manifests"},{"name":"v1.0.3","sha":"46381d6dc8d1961bbd10e07984d30f4af605a1ad","kind":"commit","published_at":"2019-04-02T19:46:48.000Z","download_url":"https://codeload.github.com/thomasp85/gganimate/tar.gz/v1.0.3","html_url":"https://github.com/thomasp85/gganimate/releases/tag/v1.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thomasp85/gganimate@v1.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/tags/v1.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/tags/v1.0.3/manifests"},{"name":"v1.0.2","sha":"141b6f7c0b6c07b358690824ae9e03bf18c7cc85","kind":"commit","published_at":"2019-03-04T12:33:51.000Z","download_url":"https://codeload.github.com/thomasp85/gganimate/tar.gz/v1.0.2","html_url":"https://github.com/thomasp85/gganimate/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thomasp85/gganimate@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"d258713fb92b8533b0f27133dae088c932cc3b84","kind":"commit","published_at":"2019-02-15T21:55:42.000Z","download_url":"https://codeload.github.com/thomasp85/gganimate/tar.gz/v1.0.1","html_url":"https://github.com/thomasp85/gganimate/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thomasp85/gganimate@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"28b8e03d51fc2a5611f3f20b5dc35603d11917f8","kind":"commit","published_at":"2019-01-02T12:31:00.000Z","download_url":"https://codeload.github.com/thomasp85/gganimate/tar.gz/v1.0.0","html_url":"https://github.com/thomasp85/gganimate/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thomasp85/gganimate@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/tags/v1.0.0/manifests"},{"name":"v0.1.1","sha":"279d9bed74c802e2d3c4d909c945726931c3d849","kind":"commit","published_at":"2018-06-28T15:47:53.000Z","download_url":"https://codeload.github.com/thomasp85/gganimate/tar.gz/v0.1.1","html_url":"https://github.com/thomasp85/gganimate/releases/tag/v0.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/thomasp85/gganimate@v0.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/tags/v0.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/tags/v0.1.1/manifests"}]},"repo_metadata_updated_at":"2025-09-05T02:54:19.559Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":2,"rankings":{"downloads":null,"dependent_repos_count":20.210589350766007,"dependent_packages_count":51.58940066869604,"stargazers_count":9.187085183891412,"forks_count":9.900693647387595,"docker_downloads_count":null,"average":22.721942212685263},"purl":"pkg:conda/r-gganimate","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/conda/r-gganimate","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/conda/r-gganimate","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/conda/r-gganimate/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-31T13:15:31.521Z","issues_count":126,"pull_requests_count":19,"avg_time_to_close_issue":31061034.13043478,"avg_time_to_close_pull_request":22331983.384615384,"issues_closed_count":69,"pull_requests_closed_count":13,"pull_request_authors_count":11,"issue_authors_count":100,"avg_comments_per_issue":2.3015873015873014,"avg_comments_per_pull_request":1.5789473684210527,"merged_pull_requests_count":9,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":14,"past_year_pull_requests_count":5,"past_year_avg_time_to_close_issue":1002992.6666666666,"past_year_avg_time_to_close_pull_request":3530595.6666666665,"past_year_issues_closed_count":3,"past_year_pull_requests_closed_count":3,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":13,"past_year_avg_comments_per_issue":0.9285714285714286,"past_year_avg_comments_per_pull_request":0.4,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":3,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/issues","maintainers":[{"login":"thomasp85","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/thomasp85"},{"login":"teunbrand","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/teunbrand"}],"active_maintainers":[{"login":"teunbrand","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/teunbrand"},{"login":"thomasp85","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/thomasp85"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/r-gganimate/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/r-gganimate/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/r-gganimate/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/r-gganimate/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"}}],"commits":{"id":34195,"full_name":"thomasp85/gganimate","default_branch":"main","committers":[{"name":"Thomas Lin Pedersen","email":"thomasp85@gmail.com","login":"thomasp85","count":378},{"name":"dgrtwo","email":"dgrtwo@princeton.edu","login":null,"count":8},{"name":"Dave Robinson","email":"drobinson@stackoverflow.com","login":null,"count":8},{"name":"Alper Yilmaz","email":"alperyilmaz@gmail.com","login":"alperyilmaz","count":2},{"name":"Jeroen Ooms","email":"jeroenooms@gmail.com","login":"jeroen","count":2},{"name":"Jim Hester","email":"james.f.hester@gmail.com","login":"jimhester","count":2},{"name":"Kanishka","email":"menogetusername@gmail.com","login":"kanishkamisra","count":2},{"name":"Michael Chirico","email":"michaelchirico4@gmail.com","login":"MichaelChirico","count":2},{"name":"Teun van den Brand","email":"49372158+teunbrand","login":"teunbrand","count":2},{"name":"khailper","email":"khailper","login":"khailper","count":2},{"name":"Mickaël Canouil","email":"mickael.canouil@cnrs.fr","login":null,"count":1},{"name":"Carson Sievert","email":"cpsievert1@gmail.com","login":"cpsievert","count":1},{"name":"Claus Wilke","email":"wilke@austin.utexas.edu","login":"clauswilke","count":1},{"name":"David F. Severski","email":"davidski","login":"davidski","count":1},{"name":"David Robinson","email":"admiral.david@gmail.com","login":"dgrtwo","count":1},{"name":"Dmytro Perepolkin","email":"dperepolkin@gmail.com","login":"dmi3kno","count":1},{"name":"Ezequiel Paura","email":"ezequielpaura@gmail.com","login":"ezequielpaura","count":1},{"name":"Howard Baek","email":"50791792+howardbaek","login":"howardbaek","count":1},{"name":"Jacob Wujciak-Jens","email":"github@krushak.me","login":"assignUser","count":1},{"name":"Jay Hesselberth","email":"jay.hesselberth@gmail.com","login":"jayhesselberth","count":1},{"name":"Joel Kitching","email":"joel@jkweb.ca","login":"jkitching","count":1},{"name":"Kevin Zen","email":"kzenstratus@uchicago.edu","login":"kzenstratus","count":1},{"name":"Pierre Roudier","email":"pierre.roudier@gmail.com","login":"pierreroudier","count":1},{"name":"Rick Saporta","email":"RickSaporta@gmail.com","login":"rsaporta","count":1},{"name":"Stefan Schreiber","email":"sgschreiber","login":"sgschreiber","count":1},{"name":"Victor Ordu","email":"victorordu@outlook.com","login":"BroVic","count":1},{"name":"Yihui Xie","email":"xie@yihui.name","login":"yihui","count":1},{"name":"rfaelens","email":"ruben.faelens@gmail.com","login":"rfaelens","count":1},{"name":"tjebo","email":"36016789+tjebo","login":"tjebo","count":1},{"name":"yunching","email":"yunching.lim@gmail.com","login":"yunching","count":1}],"total_commits":428,"total_committers":30,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":14.266666666666667,"dds":0.11682242990654201,"past_year_committers":[{"name":"Teun van den Brand","email":"49372158+teunbrand","login":"teunbrand","count":1}],"past_year_total_commits":1,"past_year_total_committers":1,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":1.0,"past_year_dds":0.0,"last_synced_at":"2025-05-14T01:48:36.477Z","last_synced_commit":"41c30cf2419c7cda43a45a698a2b3eff7da8a217","created_at":"2023-03-07T16:55:44.571Z","updated_at":"2025-05-14T01:48:36.506Z","commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-08-29T00:00:19.078Z","repositories_count":5479764,"commits_count":853309543,"contributors_count":31095222,"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":"thomasp85/gganimate","html_url":"https://github.com/thomasp85/gganimate","last_synced_at":"2025-09-05T12:54:47.384Z","status":null,"issues_count":127,"pull_requests_count":22,"avg_time_to_close_issue":31517631.45588235,"avg_time_to_close_pull_request":20428888.9375,"issues_closed_count":68,"pull_requests_closed_count":16,"pull_request_authors_count":11,"issue_authors_count":99,"avg_comments_per_issue":2.188976377952756,"avg_comments_per_pull_request":1.4090909090909092,"merged_pull_requests_count":10,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":15,"past_year_pull_requests_count":5,"past_year_avg_time_to_close_issue":1498281.0,"past_year_avg_time_to_close_pull_request":3530595.6666666665,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":3,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":13,"past_year_avg_comments_per_issue":0.26666666666666666,"past_year_avg_comments_per_pull_request":0.4,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":3,"created_at":"2023-05-10T21:55:20.292Z","updated_at":"2025-09-05T12:54:47.385Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomasp85%2Fgganimate/issues","issue_labels_count":{"bug":22,"enhancement":19,"Documentation":10,"reprex":8,"question":7,"transitions":5,"shadows":4,"views":3,"enter/exit":1,"duplicate":1},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":107,"OWNER":17,"CONTRIBUTOR":3},"pull_request_author_associations_count":{"CONTRIBUTOR":11,"NONE":9,"COLLABORATOR":2},"issue_authors":{"thomasp85":17,"bbcuffer":5,"py9mrg":3,"gudryan":2,"katrinabrock":2,"saeeshm":2,"neuwirthe":2,"mccarthy-m-g":2,"cderv":2,"banbh":1,"emcbride09":1,"dgraetz":1,"LukasWallrich":1,"yutannihilation":1,"abiyug":1,"topepo":1,"basarabam":1,"covid19ec":1,"moondog1969":1,"JuanGaleano":1,"SimonDedman":1,"ambijat":1,"ahcyip":1,"tsgouros":1,"Torvaney":1,"frederikziebell":1,"antoine4ucsd":1,"reblake":1,"edornshuld":1,"avrenli2":1,"zavud":1,"AdrianAllen1977":1,"rressler":1,"ixodid198":1,"ahmedmoustafa":1,"vojtechkania":1,"themichjam":1,"Mosk915":1,"bkostadi":1,"JojoOno":1,"Vishwavani-00":1,"maxdrohde":1,"timlrx":1,"jfsalzmann":1,"miguelbp22":1,"DavisVaughan":1,"caldwellst":1,"rajibchakrabarti1":1,"royfrancis":1,"ibaltzakis":1,"richarddmorey":1,"ptoche":1,"sebsilas":1,"CGMossa":1,"tjebo":1,"Mayur1009":1,"trevorld":1,"mgei":1,"UNFPAmaldives":1,"mdubeau20":1,"vkartha":1,"bart1":1,"danm0nster":1,"zhengchencai":1,"d-qn":1,"Tsode":1,"linzi-sg":1,"petersmp":1,"dominicroye":1,"vpprasanth":1,"PedroBelavenutti":1,"pengchenglai":1,"Aliya-Caldwell":1,"xingyezn":1,"seanhardison1":1,"JVAQUEROM":1,"ghost":1,"LarsHernandez":1,"jtlandis":1,"heerymichael":1,"jfthm":1,"mansi-aggarwal-2504":1,"Beedmoser":1,"SebastianG4":1,"jonspring":1,"metanoid":1,"will-rogers":1,"kanishkamisra":1,"jzadra":1,"devktpx":1,"rahulxc":1,"NathanHeath27":1,"h2ugo24":1,"lgaborini":1,"datarttu":1,"LaurentSmeets":1,"abhsarma":1,"MichelNivard":1,"MichaelChirico":1},"pull_request_authors":{"teunbrand":7,"MichaelChirico":4,"espinielli":2,"aminadibi":2,"HenrikBengtsson":1,"jkitching":1,"the-mad-statter":1,"rrmn":1,"assignUser":1,"jeroen":1,"coolbutuseless":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-05T00:00:10.444Z","repositories_count":10110576,"issues_count":31574884,"pull_requests_count":98138389,"authors_count":10706244,"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":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"NONE":13,"OWNER":2},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":3,"COLLABORATOR":2},"past_year_issue_authors":{"katrinabrock":2,"thomasp85":2,"abiyug":1,"antoine4ucsd":1,"bbcuffer":1,"danm0nster":1,"dominicroye":1,"jfsalzmann":1,"MichelNivard":1,"moondog1969":1,"richarddmorey":1,"Vishwavani-00":1,"vkartha":1},"past_year_pull_request_authors":{"teunbrand":5},"maintainers":[{"login":"thomasp85","count":17,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/thomasp85"},{"login":"teunbrand","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/teunbrand"}],"active_maintainers":[{"login":"teunbrand","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/teunbrand"},{"login":"thomasp85","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/thomasp85"}]},"events":{"total":{"CreateEvent":1,"ReleaseEvent":1,"IssuesEvent":16,"WatchEvent":40,"MemberEvent":1,"IssueCommentEvent":22,"PushEvent":17,"PullRequestEvent":5,"ForkEvent":7},"last_year":{"CreateEvent":1,"ReleaseEvent":1,"IssuesEvent":16,"WatchEvent":40,"MemberEvent":1,"IssueCommentEvent":22,"PushEvent":17,"PullRequestEvent":5,"ForkEvent":7}},"keywords":["animation","data-visualization","ggplot-extension","ggplot2","rstats","transition"],"dependencies":[],"score":22.116321091631843,"created_at":"2025-09-08T11:18:44.156Z","updated_at":"2025-10-07T08:25:14.932Z","avatar_url":"https://github.com/thomasp85.png","language":"R","category":null,"sub_category":null,"monthly_downloads":16818,"funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["tidy-data","geos","tidyverse","setup","visualisation","genome","gdal","package-creation","grammar","data-manipulation"],"project_url":"https://science.ecosyste.ms/api/v1/projects/66766","html_url":"https://science.ecosyste.ms/projects/66766"}