{"id":67329,"name":"janitor","description":"simple tools for data cleaning in R","url":"https://github.com/sfirke/janitor","last_synced_at":"2025-09-08T13:53:25.940Z","repository":{"id":39543464,"uuid":"56102322","full_name":"sfirke/janitor","owner":"sfirke","description":"simple tools for data cleaning in R","archived":false,"fork":false,"pushed_at":"2024-12-23T14:20:04.000Z","size":8594,"stargazers_count":1419,"open_issues_count":39,"forks_count":134,"subscribers_count":35,"default_branch":"main","last_synced_at":"2025-08-14T14:56:19.354Z","etag":null,"topics":["data-analysis","data-cleaning","data-science","dirty-data","excel","pivot-tables","r","spss","tabulations","tidyverse"],"latest_commit_sha":null,"homepage":"http://sfirke.github.io/janitor/","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/sfirke.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-04-12T22:29:40.000Z","updated_at":"2025-08-07T11:51:34.000Z","dependencies_parsed_at":"2023-02-18T09:01:23.057Z","dependency_job_id":"92e8b8b6-8444-4b3e-a4d2-7b452b7f1768","html_url":"https://github.com/sfirke/janitor","commit_stats":{"total_commits":904,"total_committers":41,"mean_commits":"22.048780487804876","dds":"0.26991150442477874","last_synced_commit":"709b2abb38dd98252da479388db35e9106526561"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/sfirke/janitor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sfirke","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/sbom","scorecard":{"id":814038,"data":{"date":"2025-08-11","repo":{"name":"github.com/sfirke/janitor","commit":"81702b6ed2b97a143319700a8edf48e8e4cce9cd"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"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":"Maintained","score":0,"reason":"0 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":8,"reason":"Found 19/23 approved changesets -- score normalized to 8","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":"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":"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:25","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/style.yaml:15","Info: topLevel permissions set to 'read-all': .github/workflows/R-CMD-check.yaml:11","Info: topLevel permissions set to 'read-all': .github/workflows/pkgdown.yaml:14","Info: topLevel permissions set to 'read-all': .github/workflows/style.yaml:9","Info: topLevel permissions set to 'read-all': .github/workflows/test-coverage.yaml:11"],"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:34: update your workflow using https://app.stepsecurity.io/secureworkflow/sfirke/janitor/R-CMD-check.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/R-CMD-check.yaml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/sfirke/janitor/R-CMD-check.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/R-CMD-check.yaml:38: update your workflow using https://app.stepsecurity.io/secureworkflow/sfirke/janitor/R-CMD-check.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/R-CMD-check.yaml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/sfirke/janitor/R-CMD-check.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/R-CMD-check.yaml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/sfirke/janitor/R-CMD-check.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pkgdown.yaml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/sfirke/janitor/pkgdown.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pkgdown.yaml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/sfirke/janitor/pkgdown.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pkgdown.yaml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/sfirke/janitor/pkgdown.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pkgdown.yaml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/sfirke/janitor/pkgdown.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pkgdown.yaml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/sfirke/janitor/pkgdown.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/style.yaml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/sfirke/janitor/style.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/style.yaml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/sfirke/janitor/style.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/style.yaml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/sfirke/janitor/style.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/style.yaml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/sfirke/janitor/style.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-coverage.yaml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/sfirke/janitor/test-coverage.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-coverage.yaml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/sfirke/janitor/test-coverage.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-coverage.yaml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/sfirke/janitor/test-coverage.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-coverage.yaml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/sfirke/janitor/test-coverage.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-coverage.yaml:61: update your workflow using https://app.stepsecurity.io/secureworkflow/sfirke/janitor/test-coverage.yaml/main?enable=pin","Info:   0 out of   6 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of  13 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":"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":"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":"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":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v2.1.0 not signed: https://api.github.com/repos/sfirke/janitor/releases/36098268","Warn: release artifact v2.0.1 not signed: https://api.github.com/repos/sfirke/janitor/releases/25428127","Warn: release artifact v2.0.0 not signed: https://api.github.com/repos/sfirke/janitor/releases/25344177","Warn: release artifact v2.1.0 does not have provenance: https://api.github.com/repos/sfirke/janitor/releases/36098268","Warn: release artifact v2.0.1 does not have provenance: https://api.github.com/repos/sfirke/janitor/releases/25428127","Warn: release artifact v2.0.0 does not have provenance: https://api.github.com/repos/sfirke/janitor/releases/25344177"],"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":3,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'main'","Info: 'force pushes' disabled on branch 'main'","Info: 'branch protection settings apply to administrators' is required to merge on branch 'main'","Warn: 'stale review dismissal' is disabled on branch 'main'","Warn: branch 'main' does not require approvers","Warn: codeowners review is not required on branch 'main'","Warn: 'last push approval' is disabled on branch 'main'","Warn: no status checks found to merge onto branch 'main'","Info: PRs are required in order to make changes on 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 29 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-23T13:49:05.043Z","repository_id":39543464,"created_at":"2025-08-23T13:49:05.043Z","updated_at":"2025-08-23T13:49:05.043Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274196094,"owners_count":25239148,"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":"sfirke","name":"Sam Firke","uuid":"7569808","kind":"user","description":"Data scientist, caring human.\r\nCurrent: municipal data analysis and BI in SQL, Apache Superset, and Python.\r\nPreviously: #rstats all day.","email":"","website":"samfirke.com","location":"Ann Arbor, MI","twitter":null,"company":"City of Ann Arbor","icon_url":"https://avatars.githubusercontent.com/u/7569808?u=65848ad2df27ed5532426dcf8352d2d7f71c595f\u0026v=4","repositories_count":3,"last_synced_at":"2023-02-28T07:31:11.478Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/sfirke","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-11T11:34:43.321Z","updated_at":"2023-02-28T07:31:11.501Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sfirke","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sfirke/repositories"},"packages":[{"id":433412,"name":"janitor","ecosystem":"cran","description":"Simple Tools for Examining and Cleaning Dirty Data","homepage":"https://github.com/sfirke/janitor","licenses":"MIT + file LICENSE","normalized_licenses":["MIT"],"repository_url":"https://github.com/sfirke/janitor","keywords_array":[],"namespace":null,"versions_count":14,"first_release_published_at":"2016-10-03T08:17:00.000Z","latest_release_published_at":"2024-12-22T00:00:00.000Z","latest_release_number":"2.2.1","last_synced_at":"2025-08-14T07:35:27.825Z","created_at":"2022-04-06T22:20:33.711Z","updated_at":"2025-08-21T13:16:42.351Z","registry_url":"https://cran.r-project.org/package=janitor","install_command":null,"documentation_url":"http://cran.r-project.org/web/packages/janitor/janitor.pdf","metadata":{},"repo_metadata":{"id":39543464,"uuid":"56102322","full_name":"sfirke/janitor","owner":"sfirke","description":"simple tools for data cleaning in R","archived":false,"fork":false,"pushed_at":"2024-12-23T14:20:04.000Z","size":8594,"stargazers_count":1419,"open_issues_count":39,"forks_count":134,"subscribers_count":35,"default_branch":"main","last_synced_at":"2025-08-14T14:56:19.354Z","etag":null,"topics":["data-analysis","data-cleaning","data-science","dirty-data","excel","pivot-tables","r","spss","tabulations","tidyverse"],"latest_commit_sha":null,"homepage":"http://sfirke.github.io/janitor/","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/sfirke.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-04-12T22:29:40.000Z","updated_at":"2025-08-07T11:51:34.000Z","dependencies_parsed_at":"2023-02-18T09:01:23.057Z","dependency_job_id":"92e8b8b6-8444-4b3e-a4d2-7b452b7f1768","html_url":"https://github.com/sfirke/janitor","commit_stats":{"total_commits":904,"total_committers":41,"mean_commits":"22.048780487804876","dds":"0.26991150442477874","last_synced_commit":"709b2abb38dd98252da479388db35e9106526561"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/sfirke/janitor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sfirke","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271486155,"owners_count":24767915,"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-08-21T02:00:08.990Z","response_time":74,"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":"sfirke","name":"Sam Firke","uuid":"7569808","kind":"user","description":"Data scientist, caring human.\r\nCurrent: municipal data analysis and BI in SQL, Apache Superset, and Python.\r\nPreviously: #rstats all day.","email":"","website":"samfirke.com","location":"Ann Arbor, MI","twitter":null,"company":"City of Ann Arbor","icon_url":"https://avatars.githubusercontent.com/u/7569808?u=65848ad2df27ed5532426dcf8352d2d7f71c595f\u0026v=4","repositories_count":3,"last_synced_at":"2023-02-28T07:31:11.478Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/sfirke","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-11T11:34:43.321Z","updated_at":"2023-02-28T07:31:11.501Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sfirke","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sfirke/repositories"},"tags":[{"name":"v2.2.1","sha":"928ba52ae9e3b30ff33c3fde150b98a1e62dbfab","kind":"commit","published_at":"2024-12-22T15:38:55.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/v2.2.1","html_url":"https://github.com/sfirke/janitor/releases/tag/v2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@v2.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v2.2.1/manifests"},{"name":"v2.2.0","sha":"42b12ed6fc8d9158f3bdfe73198c2c11dc0a114b","kind":"commit","published_at":"2023-02-02T15:50:07.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/v2.2.0","html_url":"https://github.com/sfirke/janitor/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@v2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v2.2.0/manifests"},{"name":"v2.1.0","sha":"1635ac75154e6cc9bc33a4488dc711c82e5555df","kind":"commit","published_at":"2021-01-07T14:47:23.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/v2.1.0","html_url":"https://github.com/sfirke/janitor/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v2.1.0/manifests"},{"name":"v2.0.1","sha":"436940525b7a475b1c2d34be7c93d222e597f9c6","kind":"commit","published_at":"2020-04-12T14:29:46.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/v2.0.1","html_url":"https://github.com/sfirke/janitor/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"01d18dae8145d0ff2e7ea02d2dbfab10a102f066","kind":"commit","published_at":"2020-04-08T15:15:27.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/v2.0.0","html_url":"https://github.com/sfirke/janitor/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v2.0.0/manifests"},{"name":"v1.2.0","sha":"be3b29b1c55e171b334a38ad2fb73975f3c5fb30","kind":"commit","published_at":"2019-04-21T03:57:49.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/v1.2.0","html_url":"https://github.com/sfirke/janitor/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v1.2.0/manifests"},{"name":"1.1.1","sha":"a039c2291f6be5e8588cebb0fd0d7c89527fea97","kind":"commit","published_at":"2018-07-31T02:19:56.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/1.1.1","html_url":"https://github.com/sfirke/janitor/releases/tag/1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/1.1.1/manifests"},{"name":"1.1.0","sha":"24b5d9aa8f434ac6e4b02a164feaec777e818c94","kind":"commit","published_at":"2018-07-18T02:18:35.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/1.1.0","html_url":"https://github.com/sfirke/janitor/releases/tag/1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/1.1.0/manifests"},{"name":"v1.0.0","sha":"8f0d96d50e3ff2018cd0b77c18ed7575d3aef8aa","kind":"commit","published_at":"2018-03-22T12:49:55.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/v1.0.0","html_url":"https://github.com/sfirke/janitor/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v1.0.0/manifests"},{"name":"v.0.3.0","sha":"ec56630294b8fd04ebb519783d70a16a1fadf166","kind":"commit","published_at":"2017-05-06T06:12:30.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/v.0.3.0","html_url":"https://github.com/sfirke/janitor/releases/tag/v.0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@v.0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v.0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v.0.3.0/manifests"},{"name":"v0.2.1","sha":"ae2447cc7ee02b9993d01769209b8115f29f9c4a","kind":"commit","published_at":"2016-10-31T00:59:13.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/v0.2.1","html_url":"https://github.com/sfirke/janitor/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"9d1830b4d19110c4a368a7c11b14877391bf5f61","kind":"commit","published_at":"2016-10-03T12:00:45.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/v0.2.0","html_url":"https://github.com/sfirke/janitor/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v0.2.0/manifests"},{"name":"0.1.0","sha":"2953ab7388304652eb53df4ac339f30bc10bb8d9","kind":"commit","published_at":"2016-04-17T17:50:18.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/0.1.0","html_url":"https://github.com/sfirke/janitor/releases/tag/0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/0.1.0/manifests"}]},"repo_metadata_updated_at":"2025-08-21T13:16:42.351Z","dependent_packages_count":130,"downloads":239638,"downloads_period":"last-month","dependent_repos_count":573,"rankings":{"downloads":1.223654415607037,"dependent_repos_count":0.6096498867793068,"dependent_packages_count":0.766417000522557,"stargazers_count":0.16983103988852116,"forks_count":0.4615920571329037,"docker_downloads_count":19.83103988852116,"average":3.8436973814085813},"purl":"pkg:cran/janitor","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/cran/janitor","docker_dependents_count":116,"docker_downloads_count":175600,"usage_url":"https://repos.ecosyste.ms/usage/cran/janitor","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/cran/janitor/dependencies","status":null,"funding_links":[],"critical":true,"issue_metadata":{"last_synced_at":"2025-08-15T04:10:34.179Z","issues_count":95,"pull_requests_count":62,"avg_time_to_close_issue":26661148.704225354,"avg_time_to_close_pull_request":3412072.793103448,"issues_closed_count":71,"pull_requests_closed_count":58,"pull_request_authors_count":9,"issue_authors_count":54,"avg_comments_per_issue":4.273684210526316,"avg_comments_per_pull_request":3.3548387096774195,"merged_pull_requests_count":54,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":11,"past_year_pull_requests_count":6,"past_year_avg_time_to_close_issue":275906.2,"past_year_avg_time_to_close_pull_request":44572.5,"past_year_issues_closed_count":5,"past_year_pull_requests_closed_count":4,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":8,"past_year_avg_comments_per_issue":1.6363636363636365,"past_year_avg_comments_per_pull_request":2.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/issues","maintainers":[{"login":"sfirke","count":40,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sfirke"},{"login":"billdenney","count":37,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/billdenney"}],"active_maintainers":[{"login":"sfirke","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sfirke"},{"login":"billdenney","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/billdenney"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/packages/janitor/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/packages/janitor/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/packages/janitor/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/packages/janitor/related_packages","maintainers":[{"uuid":"samuel.firke@gmail.com","login":null,"name":"Sam Firke","email":"samuel.firke@gmail.com","url":null,"packages_count":1,"html_url":null,"role":null,"created_at":"2022-11-14T17:21:41.313Z","updated_at":"2022-11-14T17:21:41.313Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/maintainers/samuel.firke@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":11642258,"name":"github.com/sfirke/janitor","ecosystem":"go","description":null,"homepage":null,"licenses":"other","normalized_licenses":["GPL-1.0+"],"repository_url":"https://github.com/sfirke/janitor","keywords_array":[],"namespace":null,"versions_count":9,"first_release_published_at":"2016-10-03T12:00:45.000Z","latest_release_published_at":"2024-12-22T15:38:55.000Z","latest_release_number":"v2.2.1+incompatible","last_synced_at":"2025-08-14T14:56:26.776Z","created_at":"2025-05-15T08:16:23.464Z","updated_at":"2025-08-14T21:10:47.730Z","registry_url":"https://pkg.go.dev/github.com/sfirke/janitor","install_command":"go get github.com/sfirke/janitor","documentation_url":"https://pkg.go.dev/github.com/sfirke/janitor#section-documentation","metadata":{},"repo_metadata":{"id":39543464,"uuid":"56102322","full_name":"sfirke/janitor","owner":"sfirke","description":"simple tools for data cleaning in R","archived":false,"fork":false,"pushed_at":"2024-12-23T14:20:04.000Z","size":8594,"stargazers_count":1419,"open_issues_count":39,"forks_count":134,"subscribers_count":35,"default_branch":"main","last_synced_at":"2025-08-14T14:56:19.354Z","etag":null,"topics":["data-analysis","data-cleaning","data-science","dirty-data","excel","pivot-tables","r","spss","tabulations","tidyverse"],"latest_commit_sha":null,"homepage":"http://sfirke.github.io/janitor/","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/sfirke.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-04-12T22:29:40.000Z","updated_at":"2025-08-07T11:51:34.000Z","dependencies_parsed_at":"2023-02-18T09:01:23.057Z","dependency_job_id":"92e8b8b6-8444-4b3e-a4d2-7b452b7f1768","html_url":"https://github.com/sfirke/janitor","commit_stats":{"total_commits":904,"total_committers":41,"mean_commits":"22.048780487804876","dds":"0.26991150442477874","last_synced_commit":"709b2abb38dd98252da479388db35e9106526561"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/sfirke/janitor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sfirke","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270482338,"owners_count":24591342,"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-08-14T02:00:10.309Z","response_time":75,"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":"sfirke","name":"Sam Firke","uuid":"7569808","kind":"user","description":"Data scientist, caring human.\r\nCurrent: municipal data analysis and BI in SQL, Apache Superset, and Python.\r\nPreviously: #rstats all day.","email":"","website":"samfirke.com","location":"Ann Arbor, MI","twitter":null,"company":"City of Ann Arbor","icon_url":"https://avatars.githubusercontent.com/u/7569808?u=65848ad2df27ed5532426dcf8352d2d7f71c595f\u0026v=4","repositories_count":3,"last_synced_at":"2023-02-28T07:31:11.478Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/sfirke","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-11T11:34:43.321Z","updated_at":"2023-02-28T07:31:11.501Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sfirke","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sfirke/repositories"},"tags":[{"name":"v2.2.1","sha":"928ba52ae9e3b30ff33c3fde150b98a1e62dbfab","kind":"commit","published_at":"2024-12-22T15:38:55.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/v2.2.1","html_url":"https://github.com/sfirke/janitor/releases/tag/v2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@v2.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v2.2.1/manifests"},{"name":"v2.2.0","sha":"42b12ed6fc8d9158f3bdfe73198c2c11dc0a114b","kind":"commit","published_at":"2023-02-02T15:50:07.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/v2.2.0","html_url":"https://github.com/sfirke/janitor/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@v2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v2.2.0/manifests"},{"name":"v2.1.0","sha":"1635ac75154e6cc9bc33a4488dc711c82e5555df","kind":"commit","published_at":"2021-01-07T14:47:23.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/v2.1.0","html_url":"https://github.com/sfirke/janitor/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v2.1.0/manifests"},{"name":"v2.0.1","sha":"436940525b7a475b1c2d34be7c93d222e597f9c6","kind":"commit","published_at":"2020-04-12T14:29:46.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/v2.0.1","html_url":"https://github.com/sfirke/janitor/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"01d18dae8145d0ff2e7ea02d2dbfab10a102f066","kind":"commit","published_at":"2020-04-08T15:15:27.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/v2.0.0","html_url":"https://github.com/sfirke/janitor/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v2.0.0/manifests"},{"name":"v1.2.0","sha":"be3b29b1c55e171b334a38ad2fb73975f3c5fb30","kind":"commit","published_at":"2019-04-21T03:57:49.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/v1.2.0","html_url":"https://github.com/sfirke/janitor/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v1.2.0/manifests"},{"name":"1.1.1","sha":"a039c2291f6be5e8588cebb0fd0d7c89527fea97","kind":"commit","published_at":"2018-07-31T02:19:56.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/1.1.1","html_url":"https://github.com/sfirke/janitor/releases/tag/1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/1.1.1/manifests"},{"name":"1.1.0","sha":"24b5d9aa8f434ac6e4b02a164feaec777e818c94","kind":"commit","published_at":"2018-07-18T02:18:35.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/1.1.0","html_url":"https://github.com/sfirke/janitor/releases/tag/1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/1.1.0/manifests"},{"name":"v1.0.0","sha":"8f0d96d50e3ff2018cd0b77c18ed7575d3aef8aa","kind":"commit","published_at":"2018-03-22T12:49:55.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/v1.0.0","html_url":"https://github.com/sfirke/janitor/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v1.0.0/manifests"},{"name":"v.0.3.0","sha":"ec56630294b8fd04ebb519783d70a16a1fadf166","kind":"commit","published_at":"2017-05-06T06:12:30.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/v.0.3.0","html_url":"https://github.com/sfirke/janitor/releases/tag/v.0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@v.0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v.0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v.0.3.0/manifests"},{"name":"v0.2.1","sha":"ae2447cc7ee02b9993d01769209b8115f29f9c4a","kind":"commit","published_at":"2016-10-31T00:59:13.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/v0.2.1","html_url":"https://github.com/sfirke/janitor/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"9d1830b4d19110c4a368a7c11b14877391bf5f61","kind":"commit","published_at":"2016-10-03T12:00:45.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/v0.2.0","html_url":"https://github.com/sfirke/janitor/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v0.2.0/manifests"},{"name":"0.1.0","sha":"2953ab7388304652eb53df4ac339f30bc10bb8d9","kind":"commit","published_at":"2016-04-17T17:50:18.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/0.1.0","html_url":"https://github.com/sfirke/janitor/releases/tag/0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/0.1.0/manifests"}]},"repo_metadata_updated_at":"2025-08-14T21:10:47.729Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":5.865733838392594,"dependent_packages_count":5.496961843177366,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":5.68134784078498},"purl":"pkg:golang/github.com/sfirke/janitor","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/sfirke/janitor","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/sfirke/janitor","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/sfirke/janitor/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-07-07T19:32:07.745Z","issues_count":95,"pull_requests_count":62,"avg_time_to_close_issue":26661148.704225354,"avg_time_to_close_pull_request":3412072.793103448,"issues_closed_count":71,"pull_requests_closed_count":58,"pull_request_authors_count":9,"issue_authors_count":54,"avg_comments_per_issue":4.273684210526316,"avg_comments_per_pull_request":3.3548387096774195,"merged_pull_requests_count":54,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":11,"past_year_pull_requests_count":6,"past_year_avg_time_to_close_issue":275906.2,"past_year_avg_time_to_close_pull_request":44572.5,"past_year_issues_closed_count":5,"past_year_pull_requests_closed_count":4,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":8,"past_year_avg_comments_per_issue":1.6363636363636365,"past_year_avg_comments_per_pull_request":2.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/issues","maintainers":[{"login":"sfirke","count":40,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sfirke"},{"login":"billdenney","count":37,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/billdenney"}],"active_maintainers":[{"login":"sfirke","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sfirke"},{"login":"billdenney","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/billdenney"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fsfirke%2Fjanitor/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fsfirke%2Fjanitor/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fsfirke%2Fjanitor/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fsfirke%2Fjanitor/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"}},{"id":5291712,"name":"r-janitor","ecosystem":"conda","description":null,"homepage":"https://github.com/sfirke/janitor","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/sfirke/janitor","keywords_array":[],"namespace":null,"versions_count":8,"first_release_published_at":"2022-10-03T15:52:12.037Z","latest_release_published_at":"2021-01-05T02:59:20.000Z","latest_release_number":"2.1.0","last_synced_at":"2025-08-14T14:56:27.792Z","created_at":"2022-10-03T15:52:12.029Z","updated_at":"2025-08-14T21:10:46.878Z","registry_url":"https://anaconda.org/conda-forge/r-janitor","install_command":"conda install -c conda-forge r-janitor","documentation_url":null,"metadata":{},"repo_metadata":{"id":39543464,"uuid":"56102322","full_name":"sfirke/janitor","owner":"sfirke","description":"simple tools for data cleaning in R","archived":false,"fork":false,"pushed_at":"2024-12-23T14:20:04.000Z","size":8594,"stargazers_count":1419,"open_issues_count":39,"forks_count":134,"subscribers_count":35,"default_branch":"main","last_synced_at":"2025-08-14T14:56:19.354Z","etag":null,"topics":["data-analysis","data-cleaning","data-science","dirty-data","excel","pivot-tables","r","spss","tabulations","tidyverse"],"latest_commit_sha":null,"homepage":"http://sfirke.github.io/janitor/","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/sfirke.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-04-12T22:29:40.000Z","updated_at":"2025-08-07T11:51:34.000Z","dependencies_parsed_at":"2023-02-18T09:01:23.057Z","dependency_job_id":"92e8b8b6-8444-4b3e-a4d2-7b452b7f1768","html_url":"https://github.com/sfirke/janitor","commit_stats":{"total_commits":904,"total_committers":41,"mean_commits":"22.048780487804876","dds":"0.26991150442477874","last_synced_commit":"709b2abb38dd98252da479388db35e9106526561"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/sfirke/janitor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sfirke","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270482338,"owners_count":24591342,"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-08-14T02:00:10.309Z","response_time":75,"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":"sfirke","name":"Sam Firke","uuid":"7569808","kind":"user","description":"Data scientist, caring human.\r\nCurrent: municipal data analysis and BI in SQL, Apache Superset, and Python.\r\nPreviously: #rstats all day.","email":"","website":"samfirke.com","location":"Ann Arbor, MI","twitter":null,"company":"City of Ann Arbor","icon_url":"https://avatars.githubusercontent.com/u/7569808?u=65848ad2df27ed5532426dcf8352d2d7f71c595f\u0026v=4","repositories_count":3,"last_synced_at":"2023-02-28T07:31:11.478Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/sfirke","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-11T11:34:43.321Z","updated_at":"2023-02-28T07:31:11.501Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sfirke","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sfirke/repositories"},"tags":[{"name":"v2.2.1","sha":"928ba52ae9e3b30ff33c3fde150b98a1e62dbfab","kind":"commit","published_at":"2024-12-22T15:38:55.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/v2.2.1","html_url":"https://github.com/sfirke/janitor/releases/tag/v2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@v2.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v2.2.1/manifests"},{"name":"v2.2.0","sha":"42b12ed6fc8d9158f3bdfe73198c2c11dc0a114b","kind":"commit","published_at":"2023-02-02T15:50:07.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/v2.2.0","html_url":"https://github.com/sfirke/janitor/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@v2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v2.2.0/manifests"},{"name":"v2.1.0","sha":"1635ac75154e6cc9bc33a4488dc711c82e5555df","kind":"commit","published_at":"2021-01-07T14:47:23.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/v2.1.0","html_url":"https://github.com/sfirke/janitor/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v2.1.0/manifests"},{"name":"v2.0.1","sha":"436940525b7a475b1c2d34be7c93d222e597f9c6","kind":"commit","published_at":"2020-04-12T14:29:46.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/v2.0.1","html_url":"https://github.com/sfirke/janitor/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"01d18dae8145d0ff2e7ea02d2dbfab10a102f066","kind":"commit","published_at":"2020-04-08T15:15:27.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/v2.0.0","html_url":"https://github.com/sfirke/janitor/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v2.0.0/manifests"},{"name":"v1.2.0","sha":"be3b29b1c55e171b334a38ad2fb73975f3c5fb30","kind":"commit","published_at":"2019-04-21T03:57:49.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/v1.2.0","html_url":"https://github.com/sfirke/janitor/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v1.2.0/manifests"},{"name":"1.1.1","sha":"a039c2291f6be5e8588cebb0fd0d7c89527fea97","kind":"commit","published_at":"2018-07-31T02:19:56.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/1.1.1","html_url":"https://github.com/sfirke/janitor/releases/tag/1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/1.1.1/manifests"},{"name":"1.1.0","sha":"24b5d9aa8f434ac6e4b02a164feaec777e818c94","kind":"commit","published_at":"2018-07-18T02:18:35.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/1.1.0","html_url":"https://github.com/sfirke/janitor/releases/tag/1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/1.1.0/manifests"},{"name":"v1.0.0","sha":"8f0d96d50e3ff2018cd0b77c18ed7575d3aef8aa","kind":"commit","published_at":"2018-03-22T12:49:55.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/v1.0.0","html_url":"https://github.com/sfirke/janitor/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v1.0.0/manifests"},{"name":"v.0.3.0","sha":"ec56630294b8fd04ebb519783d70a16a1fadf166","kind":"commit","published_at":"2017-05-06T06:12:30.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/v.0.3.0","html_url":"https://github.com/sfirke/janitor/releases/tag/v.0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@v.0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v.0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v.0.3.0/manifests"},{"name":"v0.2.1","sha":"ae2447cc7ee02b9993d01769209b8115f29f9c4a","kind":"commit","published_at":"2016-10-31T00:59:13.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/v0.2.1","html_url":"https://github.com/sfirke/janitor/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"9d1830b4d19110c4a368a7c11b14877391bf5f61","kind":"commit","published_at":"2016-10-03T12:00:45.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/v0.2.0","html_url":"https://github.com/sfirke/janitor/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/v0.2.0/manifests"},{"name":"0.1.0","sha":"2953ab7388304652eb53df4ac339f30bc10bb8d9","kind":"commit","published_at":"2016-04-17T17:50:18.000Z","download_url":"https://codeload.github.com/sfirke/janitor/tar.gz/0.1.0","html_url":"https://github.com/sfirke/janitor/releases/tag/0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sfirke/janitor@0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/tags/0.1.0/manifests"}]},"repo_metadata_updated_at":"2025-08-14T21:10:46.878Z","dependent_packages_count":8,"downloads":null,"downloads_period":null,"dependent_repos_count":8,"rankings":{"downloads":null,"dependent_repos_count":12.063888195657599,"dependent_packages_count":7.077614175193411,"stargazers_count":11.390067382081357,"forks_count":16.291489892687796,"docker_downloads_count":null,"average":11.70576491140504},"purl":"pkg:conda/r-janitor","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/conda/r-janitor","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/conda/r-janitor","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/conda/r-janitor/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-07-07T19:32:07.745Z","issues_count":95,"pull_requests_count":62,"avg_time_to_close_issue":26661148.704225354,"avg_time_to_close_pull_request":3412072.793103448,"issues_closed_count":71,"pull_requests_closed_count":58,"pull_request_authors_count":9,"issue_authors_count":54,"avg_comments_per_issue":4.273684210526316,"avg_comments_per_pull_request":3.3548387096774195,"merged_pull_requests_count":54,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":11,"past_year_pull_requests_count":6,"past_year_avg_time_to_close_issue":275906.2,"past_year_avg_time_to_close_pull_request":44572.5,"past_year_issues_closed_count":5,"past_year_pull_requests_closed_count":4,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":8,"past_year_avg_comments_per_issue":1.6363636363636365,"past_year_avg_comments_per_pull_request":2.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/issues","maintainers":[{"login":"sfirke","count":40,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sfirke"},{"login":"billdenney","count":37,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/billdenney"}],"active_maintainers":[{"login":"sfirke","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sfirke"},{"login":"billdenney","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/billdenney"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/r-janitor/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/r-janitor/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/r-janitor/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/r-janitor/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":4129,"full_name":"sfirke/janitor","default_branch":"main","committers":[{"name":"Sam Firke","email":"samuel.firke@gmail.com","login":"sfirke","count":733},{"name":"Bill Denney","email":"billdenney","login":"billdenney","count":64},{"name":"Matan","email":"matanhakim@gmail.com","login":"matanhakim","count":22},{"name":"JosiahParry","email":"josiah.parry@gmail.com","login":"JosiahParry","count":11},{"name":"Chris Haid","email":"chaid@kippchicago.org","login":"chrishaid","count":10},{"name":"olivroy","email":"52606734+olivroy","login":"olivroy","count":10},{"name":"Ryan Knight","email":"ryangknight@gmail.com","login":"rgknight","count":9},{"name":"Julien","email":"julien@nozav.org","login":"juba","count":7},{"name":"Tazinho","email":"malte.grosser@gmail.com","login":"Tazinho","count":6},{"name":"khueyama","email":"khueyama@gmail.com","login":"khueyama","count":3},{"name":"Jonathan Zadra","email":"jon.zadra@sorensonimpact.com","login":"jzadra","count":2},{"name":"Matt","email":"matthewroumaya@gmail.com","login":"mattroumaya","count":2},{"name":"Henry Naish","email":"52625719+hamstr147","login":"hamstr147","count":2},{"name":"fernando","email":"fernandovmacedo@gmail.com","login":"fernandovmacedo","count":2},{"name":"Romain François","email":"romain@rstudio.com","login":"romainfrancois","count":2},{"name":"jsta","email":"stachel2@msu.edu","login":"jsta","count":2},{"name":"khueyama","email":"kueyama@urban.org","login":null,"count":2},{"name":"Jason Aizkalns","email":"jason.aizkalns@gmail.com","login":"JasonAizkalns","count":2},{"name":"Bernie Gray","email":"bfgray3","login":"bfgray3","count":1},{"name":"=","email":"josiah.parry@ngca-jparry-mbp-4035.local","login":null,"count":1},{"name":"Kyle Haynes","email":"kyle.haynes@treasury.qld.gov.au","login":null,"count":1},{"name":"Dan Chaltiel","email":"dan.chaltiel@gmail.com","login":"DanChaltiel","count":1},{"name":"Daniel Barnett","email":"16076593+daniel-barnett","login":"daniel-barnett","count":1},{"name":"Francis Barton","email":"franbarton@gmail.com","login":"francisbarton","count":1},{"name":"Garth Tarr","email":"garth.tarr@gmail.com","login":"garthtarr","count":1},{"name":"JJSteph","email":"JJSteph","login":"JJSteph","count":1},{"name":"Jonathan Leslie","email":"32072409+jonleslie","login":"jonleslie","count":1},{"name":"Josep Pueyo-Ros","email":"56930644+jospueyo","login":"jospueyo","count":1},{"name":"Kevin Gilds","email":"kevingilds@gmail.com","login":"kgilds","count":1},{"name":"Kirill Müller","email":"krlmlr","login":"krlmlr","count":1},{"name":"Lionel Henry","email":"lionel.hry@gmail.com","login":"lionel-","count":1},{"name":"NelsonGon","email":"gonzabato@hotmail.com","login":"Nelson-Gon","count":1},{"name":"gdutz","email":"gregor.dutz@uni-hamburg.de","login":"gdutz","count":1},{"name":"svgsstats","email":"36506021+svgsstats","login":"svgsstats","count":1},{"name":"Ben Bolker","email":"bbolker@gmail.com","login":"bbolker","count":1},{"name":"Andrew Barros","email":"abarros@gmail.com","login":"andrewbarros","count":1}],"total_commits":909,"total_committers":36,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":25.25,"dds":0.19361936193619367,"past_year_committers":[{"name":"Sam Firke","email":"sfirke","login":"sfirke","count":2},{"name":"Bill Denney","email":"billdenney","login":"billdenney","count":2},{"name":"Matan Hakim","email":"matanhakim@gmail.com","login":"matanhakim","count":1},{"name":"Josep Pueyo-Ros","email":"56930644+jospueyo","login":"jospueyo","count":1}],"past_year_total_commits":6,"past_year_total_committers":4,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":1.5,"past_year_dds":0.6666666666666667,"last_synced_at":"2025-07-08T09:44:24.297Z","last_synced_commit":"81702b6ed2b97a143319700a8edf48e8e4cce9cd","created_at":"2023-03-07T09:19:57.464Z","updated_at":"2025-07-08T09:44:24.307Z","commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-06T00:00:13.651Z","repositories_count":5480019,"commits_count":853389126,"contributors_count":31098155,"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":"sfirke/janitor","html_url":"https://github.com/sfirke/janitor","last_synced_at":"2025-08-21T13:18:46.393Z","status":"error","issues_count":95,"pull_requests_count":62,"avg_time_to_close_issue":26661148.704225354,"avg_time_to_close_pull_request":3412072.793103448,"issues_closed_count":71,"pull_requests_closed_count":58,"pull_request_authors_count":9,"issue_authors_count":54,"avg_comments_per_issue":4.273684210526316,"avg_comments_per_pull_request":3.3548387096774195,"merged_pull_requests_count":54,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":11,"past_year_pull_requests_count":6,"past_year_avg_time_to_close_issue":275906.2,"past_year_avg_time_to_close_pull_request":44572.5,"past_year_issues_closed_count":5,"past_year_pull_requests_closed_count":4,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":8,"past_year_avg_comments_per_issue":1.6363636363636365,"past_year_avg_comments_per_pull_request":2.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":4,"created_at":"2023-05-10T21:08:06.698Z","updated_at":"2025-09-03T05:32:05.549Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfirke%2Fjanitor/issues","issue_labels_count":{"seeking comments":8,"bug":3,"next-release":2,"pull-request-welcome":2,"in progress":1},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":47,"OWNER":24,"COLLABORATOR":12,"CONTRIBUTOR":11},"pull_request_author_associations_count":{"COLLABORATOR":30,"CONTRIBUTOR":22,"OWNER":17,"NONE":2},"issue_authors":{"sfirke":24,"billdenney":12,"olivroy":3,"larry77":3,"mgacc0":2,"matanhakim":2,"jzadra":2,"CITESmike2018":1,"AltfunsMA":1,"cstepper":1,"daranzolin":1,"panporter":1,"eauleaf":1,"statzhero":1,"francisbarton":1,"sjkiss":1,"DavisVaughan":1,"arnold-c":1,"gfleetwood":1,"capitanman":1,"ocelhay":1,"themichjam":1,"lucasmation":1,"jospueyo":1,"arhot":1,"dpashouwer":1,"mvanaman":1,"bradfordjohnson":1,"egozoglu":1,"AarshBatra":1,"hammadsheikh":1,"KasperThystrup":1,"dpprdan":1,"schneiderpy":1,"richardjtelford":1,"zheng-gt":1,"gekess":1,"tabauer23":1,"m31uk3":1,"aetheogamout":1,"Thyrisis":1,"brunomioto":1,"DanChaltiel":1,"JasonAizkalns":1,"luizaandrade":1,"ar-puuk":1,"IndrajeetPatil":1,"tklebel":1,"kiernann":1,"chris-beech":1,"EA-Ammar":1,"Cidree":1,"higgi13425":1},"pull_request_authors":{"billdenney":30,"sfirke":17,"olivroy":13,"matanhakim":4,"jospueyo":2,"JasonAizkalns":2,"DanChaltiel":1,"mgacc0":1,"lionel-":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-03T00:00:08.273Z","repositories_count":10059033,"issues_count":31006821,"pull_requests_count":93826236,"authors_count":10685221,"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":{"in progress":1},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"NONE":5,"OWNER":4,"COLLABORATOR":2},"past_year_pull_request_author_associations_count":{"COLLABORATOR":5,"OWNER":4,"CONTRIBUTOR":2},"past_year_issue_authors":{"sfirke":4,"billdenney":2,"ar-puuk":1,"chris-beech":1,"Cidree":1,"larry77":1,"zheng-gt":1},"past_year_pull_request_authors":{"billdenney":5,"sfirke":4,"olivroy":2},"maintainers":[{"login":"billdenney","count":42,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/billdenney"},{"login":"sfirke","count":41,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sfirke"}],"active_maintainers":[{"login":"sfirke","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sfirke"},{"login":"billdenney","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/billdenney"}]},"events":{"total":{"CreateEvent":6,"ReleaseEvent":1,"IssuesEvent":14,"WatchEvent":36,"DeleteEvent":2,"IssueCommentEvent":40,"PushEvent":30,"PullRequestReviewEvent":6,"PullRequestReviewCommentEvent":6,"PullRequestEvent":9,"ForkEvent":5},"last_year":{"CreateEvent":6,"ReleaseEvent":1,"IssuesEvent":14,"WatchEvent":36,"DeleteEvent":2,"IssueCommentEvent":40,"PushEvent":30,"PullRequestReviewEvent":6,"PullRequestReviewCommentEvent":6,"PullRequestEvent":9,"ForkEvent":5}},"keywords":["data-analysis","data-cleaning","data-science","dirty-data","excel","pivot-tables","r","spss","tabulations","tidyverse"],"dependencies":[{"ecosystem":"cran","filepath":"DESCRIPTION","sha":null,"kind":"manifest","created_at":"2022-07-04T10:43:04.191Z","updated_at":"2022-07-04T10:43:04.191Z","repository_link":"https://github.com/sfirke/janitor/blob/main/DESCRIPTION","dependencies":[{"id":103862290,"package_name":"R","ecosystem":"cran","requirements":"\u003e= 3.1.2","direct":true,"kind":"depends","optional":false},{"id":103862291,"package_name":"dplyr","ecosystem":"cran","requirements":"\u003e= 1.0.0","direct":true,"kind":"imports","optional":false},{"id":103862292,"package_name":"hms","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":103862293,"package_name":"lifecycle","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":103862294,"package_name":"lubridate","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":103862295,"package_name":"magrittr","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":103862296,"package_name":"purrr","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":103862297,"package_name":"rlang","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":103862298,"package_name":"stringi","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":103862299,"package_name":"stringr","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":103862300,"package_name":"snakecase","ecosystem":"cran","requirements":"\u003e= 0.9.2","direct":true,"kind":"imports","optional":false},{"id":103862301,"package_name":"tidyselect","ecosystem":"cran","requirements":"\u003e= 1.0.0","direct":true,"kind":"imports","optional":false},{"id":103862302,"package_name":"tidyr","ecosystem":"cran","requirements":"\u003e= 0.7.0","direct":true,"kind":"imports","optional":false},{"id":103862303,"package_name":"knitr","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":103862304,"package_name":"rmarkdown","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":103862305,"package_name":"sf","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":103862306,"package_name":"testthat","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":103862307,"package_name":"tibble","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":103862308,"package_name":"tidygraph","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/R-CMD-check.yaml","sha":null,"kind":"manifest","created_at":"2023-02-18T09:01:22.724Z","updated_at":"2023-02-18T09:01:22.724Z","repository_link":"https://github.com/sfirke/janitor/blob/main/.github/workflows/R-CMD-check.yaml","dependencies":[{"id":7758303151,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7758303152,"package_name":"r-lib/actions/setup-pandoc","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7758303153,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7758303154,"package_name":"r-lib/actions/setup-r-dependencies","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7758303155,"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-02-18T09:01:22.928Z","updated_at":"2023-02-18T09:01:22.928Z","repository_link":"https://github.com/sfirke/janitor/blob/main/.github/workflows/pkgdown.yaml","dependencies":[{"id":7758303410,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7758303411,"package_name":"r-lib/actions/setup-pandoc","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7758303412,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7758303413,"package_name":"r-lib/actions/setup-r-dependencies","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7758303414,"package_name":"JamesIves/github-pages-deploy-action","ecosystem":"actions","requirements":"v4.4.1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/test-coverage.yaml","sha":null,"kind":"manifest","created_at":"2023-02-18T09:01:22.984Z","updated_at":"2023-02-18T09:01:22.984Z","repository_link":"https://github.com/sfirke/janitor/blob/main/.github/workflows/test-coverage.yaml","dependencies":[{"id":7758303454,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7758303455,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7758303456,"package_name":"r-lib/actions/setup-r-dependencies","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7758303457,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]}],"score":23.806958259063908,"created_at":"2025-09-08T11:18:47.025Z","updated_at":"2025-10-07T08:25:22.358Z","avatar_url":"https://github.com/sfirke.png","language":"R","category":null,"sub_category":null,"monthly_downloads":239638,"funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["visualisation","tidy-data","package-creation","shiny","data-manipulation","setup","devtools","unit-testing","parsing","strings"],"project_url":"https://science.ecosyste.ms/api/v1/projects/67329","html_url":"https://science.ecosyste.ms/projects/67329"}