{"id":349141,"name":"IOOS Compliance Checker","description":"A python based tool for data providers to check for completeness and community standard compliance of local or remote netCDF files against CF and ACDD file standards.","url":"https://github.com/ioos/compliance-checker","last_synced_at":"2026-04-15T01:30:19.585Z","repository":{"id":10965348,"uuid":"13279768","full_name":"ioos/compliance-checker","owner":"ioos","description":"Python tool to check your datasets against compliance standards","archived":false,"fork":false,"pushed_at":"2026-04-03T16:36:39.000Z","size":10077,"stargazers_count":130,"open_issues_count":42,"forks_count":76,"subscribers_count":19,"default_branch":"main","last_synced_at":"2026-04-03T18:35:34.857Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://ioos.github.io/compliance-checker/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"ChangeWu/SomePoject","license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ioos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2013-10-02T18:49:48.000Z","updated_at":"2026-04-03T16:36:42.000Z","dependencies_parsed_at":"2025-11-27T12:01:55.007Z","dependency_job_id":null,"html_url":"https://github.com/ioos/compliance-checker","commit_stats":{"total_commits":1331,"total_committers":47,"mean_commits":"28.319148936170212","dds":0.7024793388429752,"last_synced_commit":"a745fc7d63d344a01c8fd94ba0eefd53efcf7857"},"previous_names":[],"tags_count":46,"template":false,"template_full_name":null,"purl":"pkg:github/ioos/compliance-checker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ioos","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/sbom","scorecard":{"id":493110,"data":{"date":"2025-08-11","repo":{"name":"github.com/ioos/compliance-checker","commit":"5dc0aee2e0bda02ca0121f55db7e9f83583cd8b1"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.3,"checks":[{"name":"Maintained","score":10,"reason":"30 commit(s) and 7 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":"Code-Review","score":7,"reason":"Found 13/18 approved changesets -- score normalized to 7","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":4,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: found token with 'none' permissions: .github/workflows/cc-plugin-cc6-test.yml:44","Info: found token with 'none' permissions: .github/workflows/cc-plugin-glider-test.yml:45","Info: found token with 'none' permissions: .github/workflows/cc-plugin-ncei-test.yml:43","Info: found token with 'none' permissions: .github/workflows/cc-plugin-og-test.yml:43","Info: found token with 'none' permissions: .github/workflows/cc-plugin-sgrid-test.yml:43","Info: found token with 'none' permissions: .github/workflows/cc-plugin-ugrid-test.yml:43","Warn: jobLevel 'actions' permission set to 'write': .github/workflows/codecov.yml:46","Info: found token with 'none' permissions: .github/workflows/default-tests.yml:42","Warn: jobLevel 'actions' permission set to 'write': .github/workflows/deploy-docs.yml:53","Info: found token with 'none' permissions: .github/workflows/integration-tests.yml:36","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/update-cf-names-table.yml:13","Warn: no topLevel permission defined: .github/workflows/cc-plugin-cc6-test.yml:1","Warn: no topLevel permission defined: .github/workflows/cc-plugin-glider-test.yml:1","Warn: no topLevel permission defined: .github/workflows/cc-plugin-ncei-test.yml:1","Warn: no topLevel permission defined: .github/workflows/cc-plugin-og-test.yml:1","Warn: no topLevel permission defined: .github/workflows/cc-plugin-sgrid-test.yml:1","Warn: no topLevel permission defined: .github/workflows/cc-plugin-ugrid-test.yml:1","Warn: no topLevel permission defined: .github/workflows/codecov.yml:1","Warn: no topLevel permission defined: .github/workflows/default-tests.yml:1","Warn: no topLevel permission defined: .github/workflows/deploy-docs.yml:1","Warn: no topLevel permission defined: .github/workflows/integration-tests.yml:1","Warn: no topLevel permission defined: .github/workflows/pypi.yml:1","Warn: no topLevel permission defined: .github/workflows/update-cf-names-table.yml:1"],"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":"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":"Pinned-Dependencies","score":9,"reason":"dependency not pinned by hash detected -- score normalized to 9","details":["Warn: pipCommand not pinned by hash: .github/workflows/pypi.yml:36","Info:  13 out of  13 GitHub-owned GitHubAction dependencies pinned","Info:  14 out of  14 third-party GitHubAction dependencies pinned","Info:   1 out of   2 pipCommand 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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"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":"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":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/pypi.yml:11"],"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":"Vulnerabilities","score":0,"reason":"23 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: PYSEC-2019-217 / GHSA-462w-v97r-4m45","Warn: Project is vulnerable to: GHSA-cpwx-vrp4-4pq7","Warn: Project is vulnerable to: PYSEC-2021-66 / GHSA-g3rq-g295-4j3m","Warn: Project is vulnerable to: GHSA-h5c8-rqwp-cp95","Warn: Project is vulnerable to: GHSA-h75v-3vvj-5mfj","Warn: Project is vulnerable to: PYSEC-2019-220 / GHSA-hj2j-77xm-mc5v","Warn: Project is vulnerable to: GHSA-q2x7-8rv6-6q7h","Warn: Project is vulnerable to: GHSA-55x5-fj6c-h6m8","Warn: Project is vulnerable to: PYSEC-2014-9 / GHSA-57qw-cc2g-pv5p","Warn: Project is vulnerable to: PYSEC-2021-19 / GHSA-jq4v-f5q6-mjqq","Warn: Project is vulnerable to: PYSEC-2020-62 / GHSA-pgww-xf46-h92r","Warn: Project is vulnerable to: PYSEC-2022-230 / GHSA-wrxv-2j5q-m38w","Warn: Project is vulnerable to: PYSEC-2018-12 / GHSA-xp26-p53h-6h2p","Warn: Project is vulnerable to: GHSA-8h9c-r582-mggc","Warn: Project is vulnerable to: PYSEC-2014-14 / GHSA-652x-xj99-gmcc","Warn: Project is vulnerable to: GHSA-9hjg-9r4m-mvj7","Warn: Project is vulnerable to: GHSA-9wx4-h78v-vm56","Warn: Project is vulnerable to: PYSEC-2014-13 / GHSA-cfj3-7x9c-4p3h","Warn: Project is vulnerable to: PYSEC-2015-17 / GHSA-pg2w-x9wp-vw92","Warn: Project is vulnerable to: PYSEC-2018-28 / GHSA-x84v-xcm2-53pg","Warn: Project is vulnerable to: PYSEC-2025-49 / GHSA-5rjg-fvgr-3xxf","Warn: Project is vulnerable to: GHSA-cx63-2mw6-8hw5","Warn: Project is vulnerable to: PYSEC-2022-43012 / GHSA-r9hx-vwmv-q579"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-19T19:45:47.949Z","repository_id":10965348,"created_at":"2025-08-19T19:45:47.949Z","updated_at":"2025-08-19T19:45:47.949Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31777348,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T00:11:49.126Z","status":"ssl_error","status_checked_at":"2026-04-14T00:10:29.837Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":"ioos","name":"US Integrated Ocean Observing System","uuid":"5313832","kind":"organization","description":"Software, tools, and technical documentation supporting IOOS Data Management and Cyberinfrastructure (DMAC).","email":"data.ioos@noaa.gov","website":"http://ioos.github.io","location":"Silver Spring, MD","twitter":"usioosgov","company":null,"icon_url":"https://avatars.githubusercontent.com/u/5313832?v=4","repositories_count":123,"last_synced_at":"2025-06-23T16:05:33.061Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ioos","funding_links":[],"total_stars":662,"followers":91,"following":0,"created_at":"2022-11-03T14:01:18.424Z","updated_at":"2025-06-23T16:05:33.061Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ioos","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ioos/repositories"},"packages":[{"id":5283477,"name":"compliance-checker","ecosystem":"conda","description":null,"homepage":"https://github.com/ioos/compliance-checker","licenses":"Apache-2.0","normalized_licenses":["Apache-2.0"],"repository_url":"https://github.com/ioos/compliance-checker","keywords_array":[],"namespace":null,"versions_count":23,"first_release_published_at":"2022-10-03T15:39:39.521Z","latest_release_published_at":"2022-05-26T13:25:35.000Z","latest_release_number":"5.0.2","last_synced_at":"2026-03-22T03:18:41.724Z","created_at":"2022-10-03T15:39:39.514Z","updated_at":"2026-03-22T03:18:42.272Z","registry_url":"https://anaconda.org/conda-forge/compliance-checker","install_command":"conda install -c conda-forge compliance-checker","documentation_url":null,"metadata":{},"repo_metadata":{"id":10965348,"uuid":"13279768","full_name":"ioos/compliance-checker","owner":"ioos","description":"Python tool to check your datasets against compliance standards","archived":false,"fork":false,"pushed_at":"2025-09-19T10:31:28.000Z","size":10012,"stargazers_count":123,"open_issues_count":37,"forks_count":71,"subscribers_count":19,"default_branch":"main","last_synced_at":"2025-09-27T10:22:06.236Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://ioos.github.io/compliance-checker/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"ChangeWu/SomePoject","license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ioos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2013-10-02T18:49:48.000Z","updated_at":"2025-09-20T12:00:22.000Z","dependencies_parsed_at":"2023-11-07T02:31:09.178Z","dependency_job_id":"46aa2ad5-ed52-438a-82d5-bd26158b8549","html_url":"https://github.com/ioos/compliance-checker","commit_stats":{"total_commits":1331,"total_committers":47,"mean_commits":"28.319148936170212","dds":0.7024793388429752,"last_synced_commit":"a745fc7d63d344a01c8fd94ba0eefd53efcf7857"},"previous_names":[],"tags_count":46,"template":false,"template_full_name":null,"purl":"pkg:github/ioos/compliance-checker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ioos","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/sbom","scorecard":{"id":493110,"data":{"date":"2025-08-11","repo":{"name":"github.com/ioos/compliance-checker","commit":"5dc0aee2e0bda02ca0121f55db7e9f83583cd8b1"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.3,"checks":[{"name":"Maintained","score":10,"reason":"30 commit(s) and 7 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":"Code-Review","score":7,"reason":"Found 13/18 approved changesets -- score normalized to 7","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":4,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: found token with 'none' permissions: .github/workflows/cc-plugin-cc6-test.yml:44","Info: found token with 'none' permissions: .github/workflows/cc-plugin-glider-test.yml:45","Info: found token with 'none' permissions: .github/workflows/cc-plugin-ncei-test.yml:43","Info: found token with 'none' permissions: .github/workflows/cc-plugin-og-test.yml:43","Info: found token with 'none' permissions: .github/workflows/cc-plugin-sgrid-test.yml:43","Info: found token with 'none' permissions: .github/workflows/cc-plugin-ugrid-test.yml:43","Warn: jobLevel 'actions' permission set to 'write': .github/workflows/codecov.yml:46","Info: found token with 'none' permissions: .github/workflows/default-tests.yml:42","Warn: jobLevel 'actions' permission set to 'write': .github/workflows/deploy-docs.yml:53","Info: found token with 'none' permissions: .github/workflows/integration-tests.yml:36","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/update-cf-names-table.yml:13","Warn: no topLevel permission defined: .github/workflows/cc-plugin-cc6-test.yml:1","Warn: no topLevel permission defined: .github/workflows/cc-plugin-glider-test.yml:1","Warn: no topLevel permission defined: .github/workflows/cc-plugin-ncei-test.yml:1","Warn: no topLevel permission defined: .github/workflows/cc-plugin-og-test.yml:1","Warn: no topLevel permission defined: .github/workflows/cc-plugin-sgrid-test.yml:1","Warn: no topLevel permission defined: .github/workflows/cc-plugin-ugrid-test.yml:1","Warn: no topLevel permission defined: .github/workflows/codecov.yml:1","Warn: no topLevel permission defined: .github/workflows/default-tests.yml:1","Warn: no topLevel permission defined: .github/workflows/deploy-docs.yml:1","Warn: no topLevel permission defined: .github/workflows/integration-tests.yml:1","Warn: no topLevel permission defined: .github/workflows/pypi.yml:1","Warn: no topLevel permission defined: .github/workflows/update-cf-names-table.yml:1"],"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":"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":"Pinned-Dependencies","score":9,"reason":"dependency not pinned by hash detected -- score normalized to 9","details":["Warn: pipCommand not pinned by hash: .github/workflows/pypi.yml:36","Info:  13 out of  13 GitHub-owned GitHubAction dependencies pinned","Info:  14 out of  14 third-party GitHubAction dependencies pinned","Info:   1 out of   2 pipCommand 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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"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":"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":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/pypi.yml:11"],"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":"Vulnerabilities","score":0,"reason":"23 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: PYSEC-2019-217 / GHSA-462w-v97r-4m45","Warn: Project is vulnerable to: GHSA-cpwx-vrp4-4pq7","Warn: Project is vulnerable to: PYSEC-2021-66 / GHSA-g3rq-g295-4j3m","Warn: Project is vulnerable to: GHSA-h5c8-rqwp-cp95","Warn: Project is vulnerable to: GHSA-h75v-3vvj-5mfj","Warn: Project is vulnerable to: PYSEC-2019-220 / GHSA-hj2j-77xm-mc5v","Warn: Project is vulnerable to: GHSA-q2x7-8rv6-6q7h","Warn: Project is vulnerable to: GHSA-55x5-fj6c-h6m8","Warn: Project is vulnerable to: PYSEC-2014-9 / GHSA-57qw-cc2g-pv5p","Warn: Project is vulnerable to: PYSEC-2021-19 / GHSA-jq4v-f5q6-mjqq","Warn: Project is vulnerable to: PYSEC-2020-62 / GHSA-pgww-xf46-h92r","Warn: Project is vulnerable to: PYSEC-2022-230 / GHSA-wrxv-2j5q-m38w","Warn: Project is vulnerable to: PYSEC-2018-12 / GHSA-xp26-p53h-6h2p","Warn: Project is vulnerable to: GHSA-8h9c-r582-mggc","Warn: Project is vulnerable to: PYSEC-2014-14 / GHSA-652x-xj99-gmcc","Warn: Project is vulnerable to: GHSA-9hjg-9r4m-mvj7","Warn: Project is vulnerable to: GHSA-9wx4-h78v-vm56","Warn: Project is vulnerable to: PYSEC-2014-13 / GHSA-cfj3-7x9c-4p3h","Warn: Project is vulnerable to: PYSEC-2015-17 / GHSA-pg2w-x9wp-vw92","Warn: Project is vulnerable to: PYSEC-2018-28 / GHSA-x84v-xcm2-53pg","Warn: Project is vulnerable to: PYSEC-2025-49 / GHSA-5rjg-fvgr-3xxf","Warn: Project is vulnerable to: GHSA-cx63-2mw6-8hw5","Warn: Project is vulnerable to: PYSEC-2022-43012 / GHSA-r9hx-vwmv-q579"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-19T19:45:47.949Z","repository_id":10965348,"created_at":"2025-08-19T19:45:47.949Z","updated_at":"2025-08-19T19:45:47.949Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":277282671,"owners_count":25792299,"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-27T02:00:08.978Z","response_time":73,"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":"ioos","name":"US Integrated Ocean Observing System","uuid":"5313832","kind":"organization","description":"Software, tools, and technical documentation supporting IOOS Data Management and Cyberinfrastructure (DMAC).","email":"data.ioos@noaa.gov","website":"http://ioos.github.io","location":"Silver Spring, MD","twitter":"usioosgov","company":null,"icon_url":"https://avatars.githubusercontent.com/u/5313832?v=4","repositories_count":123,"last_synced_at":"2025-06-23T16:05:33.061Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ioos","funding_links":[],"total_stars":662,"followers":91,"following":0,"created_at":"2022-11-03T14:01:18.424Z","updated_at":"2025-06-23T16:05:33.061Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ioos","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ioos/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-03-22T03:18:42.251Z","dependent_packages_count":4,"downloads":1018633,"downloads_period":"total","dependent_repos_count":16,"rankings":{"downloads":null,"dependent_repos_count":8.917610659214532,"dependent_packages_count":12.500623783621936,"stargazers_count":35.33110434652428,"forks_count":24.881481111831928,"docker_downloads_count":null,"average":20.407704975298167},"purl":"pkg:conda/compliance-checker?repository_url=https://conda-forge.org","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/conda/compliance-checker","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/conda/compliance-checker","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/conda/compliance-checker/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-22T22:06:24.570Z","issues_count":110,"pull_requests_count":326,"avg_time_to_close_issue":32171809.369863015,"avg_time_to_close_pull_request":1729858.7122807018,"issues_closed_count":73,"pull_requests_closed_count":285,"pull_request_authors_count":19,"issue_authors_count":32,"avg_comments_per_issue":2.3636363636363638,"avg_comments_per_pull_request":1.4570552147239264,"merged_pull_requests_count":250,"bot_issues_count":1,"bot_pull_requests_count":83,"past_year_issues_count":39,"past_year_pull_requests_count":157,"past_year_avg_time_to_close_issue":1737609.7142857143,"past_year_avg_time_to_close_pull_request":480249.5564516129,"past_year_issues_closed_count":14,"past_year_pull_requests_closed_count":124,"past_year_pull_request_authors_count":13,"past_year_issue_authors_count":15,"past_year_avg_comments_per_issue":0.8717948717948718,"past_year_avg_comments_per_pull_request":1.1401273885350318,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":37,"past_year_merged_pull_requests_count":109,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/issues","maintainers":[{"login":"ocefpaf","count":110,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ocefpaf"},{"login":"mwengren","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mwengren"},{"login":"lukecampbell","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/lukecampbell"},{"login":"yosoyjay","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/yosoyjay"},{"login":"rsignell-usgs","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rsignell-usgs"}],"active_maintainers":[{"login":"ocefpaf","count":53,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ocefpaf"},{"login":"mwengren","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mwengren"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/compliance-checker/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/compliance-checker/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/compliance-checker/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/compliance-checker/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/compliance-checker/codemeta","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":0,"github":"conda-forge","metadata":{"kind":"conda-forge","key":"CondaForge","api":"https://conda.anaconda.org","funded_packages_count":2266},"icon_url":"https://github.com/conda-forge.png","created_at":"2022-10-03T15:37:08.743Z","updated_at":"2026-04-03T06:46:36.736Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/namespaces"}},{"id":2678267,"name":"compliance-checker","ecosystem":"pypi","description":"Checks Datasets and SOS endpoints for standards compliance","homepage":null,"licenses":"Apache-2.0","normalized_licenses":["Apache-2.0"],"repository_url":"https://github.com/ioos/compliance-checker","keywords_array":[],"namespace":null,"versions_count":39,"first_release_published_at":"2014-04-08T02:30:23.000Z","latest_release_published_at":"2025-09-09T20:42:40.000Z","latest_release_number":"5.4.2","last_synced_at":"2026-03-28T12:46:38.884Z","created_at":"2022-04-10T10:25:54.963Z","updated_at":"2026-03-28T12:46:38.885Z","registry_url":"https://pypi.org/project/compliance-checker/","install_command":"pip install compliance-checker --index-url https://pypi.org/simple","documentation_url":"https://compliance-checker.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Development Status :: 5 - Production/Stable","Intended Audience :: Developers","Intended Audience :: Science/Research","License :: OSI Approved :: Apache Software License","Operating System :: MacOS :: MacOS X","Operating System :: Microsoft :: Windows","Operating System :: POSIX :: Linux","Programming Language :: Python","Programming Language :: Python :: 3 :: Only","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.13","Topic :: Scientific/Engineering"],"normalized_name":"compliance-checker","project_status":null},"repo_metadata":{"id":10965348,"uuid":"13279768","full_name":"ioos/compliance-checker","owner":"ioos","description":"Python tool to check your datasets against compliance standards","archived":false,"fork":false,"pushed_at":"2025-10-08T13:38:09.000Z","size":10013,"stargazers_count":123,"open_issues_count":39,"forks_count":71,"subscribers_count":18,"default_branch":"main","last_synced_at":"2025-10-21T20:56:26.879Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://ioos.github.io/compliance-checker/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"ChangeWu/SomePoject","license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ioos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2013-10-02T18:49:48.000Z","updated_at":"2025-10-08T13:37:17.000Z","dependencies_parsed_at":"2023-11-07T02:31:09.178Z","dependency_job_id":"46aa2ad5-ed52-438a-82d5-bd26158b8549","html_url":"https://github.com/ioos/compliance-checker","commit_stats":{"total_commits":1331,"total_committers":47,"mean_commits":"28.319148936170212","dds":0.7024793388429752,"last_synced_commit":"a745fc7d63d344a01c8fd94ba0eefd53efcf7857"},"previous_names":[],"tags_count":46,"template":false,"template_full_name":null,"purl":"pkg:github/ioos/compliance-checker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ioos","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/sbom","scorecard":{"id":493110,"data":{"date":"2025-08-11","repo":{"name":"github.com/ioos/compliance-checker","commit":"5dc0aee2e0bda02ca0121f55db7e9f83583cd8b1"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.3,"checks":[{"name":"Maintained","score":10,"reason":"30 commit(s) and 7 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":"Code-Review","score":7,"reason":"Found 13/18 approved changesets -- score normalized to 7","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":4,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: found token with 'none' permissions: .github/workflows/cc-plugin-cc6-test.yml:44","Info: found token with 'none' permissions: .github/workflows/cc-plugin-glider-test.yml:45","Info: found token with 'none' permissions: .github/workflows/cc-plugin-ncei-test.yml:43","Info: found token with 'none' permissions: .github/workflows/cc-plugin-og-test.yml:43","Info: found token with 'none' permissions: .github/workflows/cc-plugin-sgrid-test.yml:43","Info: found token with 'none' permissions: .github/workflows/cc-plugin-ugrid-test.yml:43","Warn: jobLevel 'actions' permission set to 'write': .github/workflows/codecov.yml:46","Info: found token with 'none' permissions: .github/workflows/default-tests.yml:42","Warn: jobLevel 'actions' permission set to 'write': .github/workflows/deploy-docs.yml:53","Info: found token with 'none' permissions: .github/workflows/integration-tests.yml:36","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/update-cf-names-table.yml:13","Warn: no topLevel permission defined: .github/workflows/cc-plugin-cc6-test.yml:1","Warn: no topLevel permission defined: .github/workflows/cc-plugin-glider-test.yml:1","Warn: no topLevel permission defined: .github/workflows/cc-plugin-ncei-test.yml:1","Warn: no topLevel permission defined: .github/workflows/cc-plugin-og-test.yml:1","Warn: no topLevel permission defined: .github/workflows/cc-plugin-sgrid-test.yml:1","Warn: no topLevel permission defined: .github/workflows/cc-plugin-ugrid-test.yml:1","Warn: no topLevel permission defined: .github/workflows/codecov.yml:1","Warn: no topLevel permission defined: .github/workflows/default-tests.yml:1","Warn: no topLevel permission defined: .github/workflows/deploy-docs.yml:1","Warn: no topLevel permission defined: .github/workflows/integration-tests.yml:1","Warn: no topLevel permission defined: .github/workflows/pypi.yml:1","Warn: no topLevel permission defined: .github/workflows/update-cf-names-table.yml:1"],"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":"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":"Pinned-Dependencies","score":9,"reason":"dependency not pinned by hash detected -- score normalized to 9","details":["Warn: pipCommand not pinned by hash: .github/workflows/pypi.yml:36","Info:  13 out of  13 GitHub-owned GitHubAction dependencies pinned","Info:  14 out of  14 third-party GitHubAction dependencies pinned","Info:   1 out of   2 pipCommand 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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"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":"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":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/pypi.yml:11"],"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":"Vulnerabilities","score":0,"reason":"23 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: PYSEC-2019-217 / GHSA-462w-v97r-4m45","Warn: Project is vulnerable to: GHSA-cpwx-vrp4-4pq7","Warn: Project is vulnerable to: PYSEC-2021-66 / GHSA-g3rq-g295-4j3m","Warn: Project is vulnerable to: GHSA-h5c8-rqwp-cp95","Warn: Project is vulnerable to: GHSA-h75v-3vvj-5mfj","Warn: Project is vulnerable to: PYSEC-2019-220 / GHSA-hj2j-77xm-mc5v","Warn: Project is vulnerable to: GHSA-q2x7-8rv6-6q7h","Warn: Project is vulnerable to: GHSA-55x5-fj6c-h6m8","Warn: Project is vulnerable to: PYSEC-2014-9 / GHSA-57qw-cc2g-pv5p","Warn: Project is vulnerable to: PYSEC-2021-19 / GHSA-jq4v-f5q6-mjqq","Warn: Project is vulnerable to: PYSEC-2020-62 / GHSA-pgww-xf46-h92r","Warn: Project is vulnerable to: PYSEC-2022-230 / GHSA-wrxv-2j5q-m38w","Warn: Project is vulnerable to: PYSEC-2018-12 / GHSA-xp26-p53h-6h2p","Warn: Project is vulnerable to: GHSA-8h9c-r582-mggc","Warn: Project is vulnerable to: PYSEC-2014-14 / GHSA-652x-xj99-gmcc","Warn: Project is vulnerable to: GHSA-9hjg-9r4m-mvj7","Warn: Project is vulnerable to: GHSA-9wx4-h78v-vm56","Warn: Project is vulnerable to: PYSEC-2014-13 / GHSA-cfj3-7x9c-4p3h","Warn: Project is vulnerable to: PYSEC-2015-17 / GHSA-pg2w-x9wp-vw92","Warn: Project is vulnerable to: PYSEC-2018-28 / GHSA-x84v-xcm2-53pg","Warn: Project is vulnerable to: PYSEC-2025-49 / GHSA-5rjg-fvgr-3xxf","Warn: Project is vulnerable to: GHSA-cx63-2mw6-8hw5","Warn: Project is vulnerable to: PYSEC-2022-43012 / GHSA-r9hx-vwmv-q579"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-19T19:45:47.949Z","repository_id":10965348,"created_at":"2025-08-19T19:45:47.949Z","updated_at":"2025-08-19T19:45:47.949Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280770501,"owners_count":26387850,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-24T02:00:06.418Z","response_time":73,"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":"ioos","name":"US Integrated Ocean Observing System","uuid":"5313832","kind":"organization","description":"Software, tools, and technical documentation supporting IOOS Data Management and Cyberinfrastructure (DMAC).","email":"data.ioos@noaa.gov","website":"http://ioos.github.io","location":"Silver Spring, MD","twitter":"usioosgov","company":null,"icon_url":"https://avatars.githubusercontent.com/u/5313832?v=4","repositories_count":123,"last_synced_at":"2025-06-23T16:05:33.061Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ioos","funding_links":[],"total_stars":662,"followers":91,"following":0,"created_at":"2022-11-03T14:01:18.424Z","updated_at":"2025-06-23T16:05:33.061Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ioos","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ioos/repositories"},"tags":[{"name":"v5.4.2","sha":"c53d8ca465c288404b889a47c9da44e564602dae","kind":"commit","published_at":"2025-09-09T20:38:46.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/v5.4.2","html_url":"https://github.com/ioos/compliance-checker/releases/tag/v5.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@v5.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/v5.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/v5.4.2/manifests"},{"name":"v5.4.1","sha":"c50ae467df2e0e71ba2bc3152b2aaaf3674aac83","kind":"commit","published_at":"2025-09-02T18:04:02.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/v5.4.1","html_url":"https://github.com/ioos/compliance-checker/releases/tag/v5.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@v5.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/v5.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/v5.4.1/manifests"},{"name":"v5.4.0","sha":"1b826ec4d2553298a953376bdadb28a79c80e570","kind":"commit","published_at":"2025-08-25T18:02:37.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/v5.4.0","html_url":"https://github.com/ioos/compliance-checker/releases/tag/v5.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@v5.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/v5.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/v5.4.0/manifests"},{"name":"v5.3.0","sha":"3cad37fbe5c9a22bcf50c1f44c6daa6e3e93a7b9","kind":"commit","published_at":"2025-04-29T13:49:58.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/v5.3.0","html_url":"https://github.com/ioos/compliance-checker/releases/tag/v5.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@v5.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/v5.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/v5.3.0/manifests"},{"name":"v5.2.0","sha":"ef9c2db5f0949825c691e9c276c735f2f960428b","kind":"commit","published_at":"2025-03-12T21:16:39.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/v5.2.0","html_url":"https://github.com/ioos/compliance-checker/releases/tag/v5.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@v5.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/v5.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/v5.2.0/manifests"},{"name":"v5.1.2","sha":"caedeac49fd0d6cef4e5a11663703e46777bd830","kind":"commit","published_at":"2025-02-24T20:20:15.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/v5.1.2","html_url":"https://github.com/ioos/compliance-checker/releases/tag/v5.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@v5.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/v5.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/v5.1.2/manifests"},{"name":"v5.1.1","sha":"da97a6dbe3bc8ba760e7ac1e806de4d1fbac947c","kind":"commit","published_at":"2024-04-16T17:20:20.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/v5.1.1","html_url":"https://github.com/ioos/compliance-checker/releases/tag/v5.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@v5.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/v5.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/v5.1.1/manifests"},{"name":"v5.1.0","sha":"cb451c555da1a27f03ee8127f92bab21becdf643","kind":"commit","published_at":"2023-05-17T22:07:36.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/v5.1.0","html_url":"https://github.com/ioos/compliance-checker/releases/tag/v5.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@v5.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/v5.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/v5.1.0/manifests"},{"name":"v5.0.2","sha":"70b287ebe73d0d8c6aa56f0d77f50ce23f5f6727","kind":"tag","published_at":"2022-05-25T17:37:56.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/v5.0.2","html_url":"https://github.com/ioos/compliance-checker/releases/tag/v5.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@v5.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/v5.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/v5.0.2/manifests"},{"name":"5.0.1","sha":"1cef413574b86f1a76df0cf4f1c9c8edba4e3e69","kind":"commit","published_at":"2022-02-03T15:39:09.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/5.0.1","html_url":"https://github.com/ioos/compliance-checker/releases/tag/5.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@5.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/5.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/5.0.1/manifests"},{"name":"5.0.0","sha":"fffda4701039f5bec65856e9d4069c36f6d12ecc","kind":"commit","published_at":"2022-01-25T19:19:57.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/5.0.0","html_url":"https://github.com/ioos/compliance-checker/releases/tag/5.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@5.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/5.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/5.0.0/manifests"},{"name":"4.3.4","sha":"8ba4f4303c8c53e8d447bcd4ad6f9dd482b87b34","kind":"commit","published_at":"2021-08-16T20:39:57.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/4.3.4","html_url":"https://github.com/ioos/compliance-checker/releases/tag/4.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@4.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/4.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/4.3.4/manifests"},{"name":"4.3.3","sha":"71a42280429a73cf590a1bfc6f09d283006a5d8c","kind":"commit","published_at":"2020-05-18T19:24:18.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/4.3.3","html_url":"https://github.com/ioos/compliance-checker/releases/tag/4.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@4.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/4.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/4.3.3/manifests"},{"name":"4.3.3rc2","sha":"4c14ad4ef3437d1d345ea8a3da6106d68953fdce","kind":"commit","published_at":"2020-03-20T19:02:35.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/4.3.3rc2","html_url":"https://github.com/ioos/compliance-checker/releases/tag/4.3.3rc2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@4.3.3rc2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/4.3.3rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/4.3.3rc2/manifests"},{"name":"4.3.3rc1","sha":"4f1c82255505672f38cd67ef7fd94328afc9a822","kind":"commit","published_at":"2020-02-14T21:21:36.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/4.3.3rc1","html_url":"https://github.com/ioos/compliance-checker/releases/tag/4.3.3rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@4.3.3rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/4.3.3rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/4.3.3rc1/manifests"},{"name":"4.3.2","sha":"380e16a4f84135605632d75e398564d6885d0de1","kind":"commit","published_at":"2020-01-09T20:50:46.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/4.3.2","html_url":"https://github.com/ioos/compliance-checker/releases/tag/4.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@4.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/4.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/4.3.2/manifests"},{"name":"4.3.1","sha":"a5b457a44b609b9da104897a7ea46c4f62cc42d4","kind":"commit","published_at":"2019-12-02T23:04:38.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/4.3.1","html_url":"https://github.com/ioos/compliance-checker/releases/tag/4.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@4.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/4.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/4.3.1/manifests"},{"name":"4.3.0","sha":"b5877521a3842ca2d45d4700b7d6eeb85d90ec00","kind":"commit","published_at":"2019-12-02T20:27:23.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/4.3.0","html_url":"https://github.com/ioos/compliance-checker/releases/tag/4.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@4.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/4.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/4.3.0/manifests"},{"name":"4.2.2","sha":"8e93aba70e5090c1f8e223f3afb9f1b4482412a9","kind":"commit","published_at":"2019-02-27T15:50:00.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/4.2.2","html_url":"https://github.com/ioos/compliance-checker/releases/tag/4.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@4.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/4.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/4.2.2/manifests"},{"name":"4.2.1","sha":"e9a5784701bea4e81235aedb499aaddc2868676b","kind":"commit","published_at":"2019-02-18T21:46:16.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/4.2.1","html_url":"https://github.com/ioos/compliance-checker/releases/tag/4.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@4.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/4.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/4.2.1/manifests"},{"name":"4.2.0","sha":"e32ef9245917959031c39c8d9b1491aa4b1e9378","kind":"commit","published_at":"2019-02-06T17:58:12.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/4.2.0","html_url":"https://github.com/ioos/compliance-checker/releases/tag/4.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@4.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/4.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/4.2.0/manifests"},{"name":"4.1.1","sha":"2f92a132fa5c6863b37e8b024cb390930aee22b2","kind":"commit","published_at":"2018-08-30T20:05:43.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/4.1.1","html_url":"https://github.com/ioos/compliance-checker/releases/tag/4.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@4.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/4.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/4.1.1/manifests"},{"name":"4.1.0","sha":"833de218609179d7d23160381989170041144a1b","kind":"commit","published_at":"2018-08-28T20:49:34.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/4.1.0","html_url":"https://github.com/ioos/compliance-checker/releases/tag/4.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@4.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/4.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/4.1.0/manifests"},{"name":"4.0.1","sha":"3a8672d8ab95be8532958b8b346f74cd2371cee9","kind":"commit","published_at":"2018-05-18T20:11:43.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/4.0.1","html_url":"https://github.com/ioos/compliance-checker/releases/tag/4.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@4.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/4.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/4.0.1/manifests"},{"name":"4.0.0","sha":"3cec07d2b95fb86ad229d0d4a2bfff1de2fd088f","kind":"commit","published_at":"2018-04-13T18:55:02.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/4.0.0","html_url":"https://github.com/ioos/compliance-checker/releases/tag/4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@4.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/4.0.0/manifests"},{"name":"3.1.1","sha":"3a696d14aab08638b3b4ebb47fc4f8cfcb2444e6","kind":"commit","published_at":"2017-10-13T22:11:28.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/3.1.1","html_url":"https://github.com/ioos/compliance-checker/releases/tag/3.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@3.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/3.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/3.1.1/manifests"},{"name":"3.1.0","sha":"89abf29f3ab698c229c23cb0f48a1a04704f15ed","kind":"commit","published_at":"2017-10-13T20:58:12.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/3.1.0","html_url":"https://github.com/ioos/compliance-checker/releases/tag/3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@3.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/3.1.0/manifests"},{"name":"3.0.4","sha":"6a827236a2802306867088f843ce5fc87088141d","kind":"commit","published_at":"2017-05-23T14:31:35.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/3.0.4","html_url":"https://github.com/ioos/compliance-checker/releases/tag/3.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@3.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/3.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/3.0.4/manifests"},{"name":"3.0.3","sha":"f58d5a3654be6d2e1b386f3ac7221a9f5d1e5fa7","kind":"commit","published_at":"2017-04-26T14:44:23.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/3.0.3","html_url":"https://github.com/ioos/compliance-checker/releases/tag/3.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@3.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/3.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/3.0.3/manifests"},{"name":"3.0.2","sha":"0fcffb8cb7cb9d41dc252b89244f302517e138a1","kind":"commit","published_at":"2017-04-11T13:47:51.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/3.0.2","html_url":"https://github.com/ioos/compliance-checker/releases/tag/3.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@3.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/3.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/3.0.2/manifests"},{"name":"3.0.1","sha":"088281aec02032b6d466e3fb7542d477755bae06","kind":"commit","published_at":"2017-02-02T20:01:06.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/3.0.1","html_url":"https://github.com/ioos/compliance-checker/releases/tag/3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@3.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/3.0.1/manifests"},{"name":"3.0.0","sha":"321d57e6112f9ecd10c436f6eae2c7d470d22da4","kind":"commit","published_at":"2016-11-14T13:23:54.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/3.0.0","html_url":"https://github.com/ioos/compliance-checker/releases/tag/3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/3.0.0/manifests"},{"name":"2.3.1","sha":"d2dfb21679ee5ddb0991eb614aa86f58ee9649bb","kind":"commit","published_at":"2016-11-03T01:33:50.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/2.3.1","html_url":"https://github.com/ioos/compliance-checker/releases/tag/2.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@2.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/2.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/2.3.1/manifests"},{"name":"3.0.0-rc.1","sha":"1ba0c3550bc634cc4b6c24e2a69dfb0ed65ebc1b","kind":"commit","published_at":"2016-11-01T14:28:07.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/3.0.0-rc.1","html_url":"https://github.com/ioos/compliance-checker/releases/tag/3.0.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@3.0.0-rc.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/3.0.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/3.0.0-rc.1/manifests"},{"name":"2.3.0","sha":"6bfdf397f0acc9d7754a625838b69adccba24a4f","kind":"commit","published_at":"2016-10-03T18:59:16.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/2.3.0","html_url":"https://github.com/ioos/compliance-checker/releases/tag/2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@2.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/2.3.0/manifests"},{"name":"2.2.1","sha":"9a453b86ebb32dcdd4826d57eb5d9cdff908186f","kind":"commit","published_at":"2016-09-15T13:31:58.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/2.2.1","html_url":"https://github.com/ioos/compliance-checker/releases/tag/2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@2.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/2.2.1/manifests"},{"name":"2.2.0","sha":"05e00babf86b2d0ba22201bc04b667aff0db1169","kind":"commit","published_at":"2016-05-03T16:25:13.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/2.2.0","html_url":"https://github.com/ioos/compliance-checker/releases/tag/2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/2.2.0/manifests"},{"name":"2.1.0","sha":"532426dc8117d91c0e87badb9b134535463a41c9","kind":"commit","published_at":"2016-02-29T13:38:04.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/2.1.0","html_url":"https://github.com/ioos/compliance-checker/releases/tag/2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/2.1.0/manifests"},{"name":"2.0.0","sha":"539fc4124c5e3c0b8586d2c375e87c92f6e0a821","kind":"commit","published_at":"2015-11-03T19:00:16.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/2.0.0","html_url":"https://github.com/ioos/compliance-checker/releases/tag/2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/2.0.0/manifests"},{"name":"1.1.1","sha":"cd6ebe38cc22651711dd79fb38add7da5ae21812","kind":"commit","published_at":"2015-05-29T15:07:53.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/1.1.1","html_url":"https://github.com/ioos/compliance-checker/releases/tag/1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/1.1.1/manifests"},{"name":"1.1.0","sha":"d322deafbf165a82893deb448368e0d3dd88cf7e","kind":"commit","published_at":"2015-05-11T12:30:55.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/1.1.0","html_url":"https://github.com/ioos/compliance-checker/releases/tag/1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/1.1.0/manifests"},{"name":"1.0.2","sha":"aae60670a7c2de09661e93d49e50d127388ab115","kind":"commit","published_at":"2015-03-19T16:37:18.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/1.0.2","html_url":"https://github.com/ioos/compliance-checker/releases/tag/1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/1.0.2/manifests"},{"name":"1.0.1","sha":"04bcbf1bcd9399d47dfa3ceb021de5fdf02f9478","kind":"commit","published_at":"2014-11-03T18:10:10.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/1.0.1","html_url":"https://github.com/ioos/compliance-checker/releases/tag/1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/1.0.1/manifests"},{"name":"1.0.0","sha":"fcaed8494e3dfc94bcb90e7defbd18c63d886238","kind":"commit","published_at":"2014-07-18T18:28:40.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/1.0.0","html_url":"https://github.com/ioos/compliance-checker/releases/tag/1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/1.0.0/manifests"},{"name":"v0.2.0","sha":"17deb30043cf7f0417e4d99a1f9290c11479a385","kind":"commit","published_at":"2014-04-09T14:57:46.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/v0.2.0","html_url":"https://github.com/ioos/compliance-checker/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/v0.2.0/manifests"},{"name":"v0.1","sha":"47a50188f3888b546ecbdd4d8aa947c4d152d5c4","kind":"commit","published_at":"2014-04-08T02:32:18.000Z","download_url":"https://codeload.github.com/ioos/compliance-checker/tar.gz/v0.1","html_url":"https://github.com/ioos/compliance-checker/releases/tag/v0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ioos/compliance-checker@v0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/v0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/tags/v0.1/manifests"}]},"repo_metadata_updated_at":"2026-02-19T15:19:36.239Z","dependent_packages_count":2,"downloads":33824,"downloads_period":"last-month","dependent_repos_count":26,"rankings":{"downloads":10.518712791388158,"dependent_repos_count":2.8433673479099215,"dependent_packages_count":3.1654339410042747,"stargazers_count":7.347652851624891,"forks_count":5.734395907048275,"docker_downloads_count":2.2409107518041473,"average":5.308412265129944},"purl":"pkg:pypi/compliance-checker","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/compliance-checker","docker_dependents_count":2,"docker_downloads_count":319,"usage_url":"https://repos.ecosyste.ms/usage/pypi/compliance-checker","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/compliance-checker/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-10-07T16:01:22.343Z","issues_count":110,"pull_requests_count":328,"avg_time_to_close_issue":32171809.369863015,"avg_time_to_close_pull_request":1729858.7122807018,"issues_closed_count":73,"pull_requests_closed_count":285,"pull_request_authors_count":19,"issue_authors_count":32,"avg_comments_per_issue":2.390909090909091,"avg_comments_per_pull_request":1.4481707317073171,"merged_pull_requests_count":250,"bot_issues_count":1,"bot_pull_requests_count":84,"past_year_issues_count":38,"past_year_pull_requests_count":155,"past_year_avg_time_to_close_issue":1737609.7142857143,"past_year_avg_time_to_close_pull_request":491676.97520661156,"past_year_issues_closed_count":14,"past_year_pull_requests_closed_count":121,"past_year_pull_request_authors_count":13,"past_year_issue_authors_count":14,"past_year_avg_comments_per_issue":0.9736842105263158,"past_year_avg_comments_per_pull_request":1.1161290322580646,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":36,"past_year_merged_pull_requests_count":107,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/issues","maintainers":[{"login":"ocefpaf","count":111,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ocefpaf"},{"login":"mwengren","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mwengren"},{"login":"lukecampbell","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/lukecampbell"},{"login":"yosoyjay","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/yosoyjay"},{"login":"rsignell-usgs","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rsignell-usgs"}],"active_maintainers":[{"login":"ocefpaf","count":48,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ocefpaf"},{"login":"mwengren","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mwengren"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/compliance-checker/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/compliance-checker/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/compliance-checker/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/compliance-checker/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/compliance-checker/codemeta","maintainers":[{"uuid":"MathewBiddle","login":"MathewBiddle","name":null,"email":null,"url":null,"packages_count":11,"html_url":"https://pypi.org/user/MathewBiddle/","role":null,"created_at":"2023-02-23T20:58:49.176Z","updated_at":"2023-02-23T20:58:49.176Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/MathewBiddle/packages"},{"uuid":"mwengren","login":"mwengren","name":null,"email":null,"url":null,"packages_count":12,"html_url":"https://pypi.org/user/mwengren/","role":null,"created_at":"2023-02-23T20:58:49.194Z","updated_at":"2023-02-23T20:58:49.194Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/mwengren/packages"},{"uuid":"lcampbell","login":"lcampbell","name":null,"email":null,"url":null,"packages_count":14,"html_url":"https://pypi.org/user/lcampbell/","role":null,"created_at":"2023-02-23T20:58:49.153Z","updated_at":"2023-02-23T20:58:49.153Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/lcampbell/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":839749,"maintainers_count":358724,"namespaces_count":0,"keywords_count":271316,"github":"pypi","metadata":{"funded_packages_count":53172},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2026-04-09T05:08:03.587Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}}],"commits":{"id":27015,"full_name":"ioos/compliance-checker","default_branch":"master","total_commits":1683,"total_committers":50,"total_bot_commits":90,"total_bot_committers":2,"mean_commits":33.66,"dds":0.7177658942364824,"past_year_total_commits":133,"past_year_total_committers":10,"past_year_total_bot_commits":31,"past_year_total_bot_committers":2,"past_year_mean_commits":13.3,"past_year_dds":0.518796992481203,"last_synced_at":"2026-03-21T12:46:46.710Z","last_synced_commit":"bdb8bfde0f8aa643f70ac37f540dbf7e87ab5f32","created_at":"2023-03-07T16:33:48.523Z","updated_at":"2026-03-21T12:46:35.725Z","committers":[{"name":"Benjamin Adams","email":"ben.adams@rpsgroup.com","login":"benjwadams","count":475},{"name":"Filipe Fernandes","email":"ocefpaf@gmail.com","login":"ocefpaf","count":308},{"name":"Luke Campbell","email":"luke.s.campbell@gmail.com","login":"lukecampbell","count":230},{"name":"daltonkell","email":"daltonkell13@gmail.com","login":"daltonkell","count":124},{"name":"Dave Foster","email":"dfoster@asascience.com","login":null,"count":66},{"name":"pre-commit-ci[bot]","email":"66853113+pre-commit-ci[bot]","login":"pre-commit-ci[bot]","count":56},{"name":"Bob Fratantonio","email":"bobfrat@gmail.com","login":"Bobfrat","count":55},{"name":"Dave Foster","email":"dave@axiomdatascience.com","login":"daf","count":51},{"name":"mhidas","email":"marty.hidas@utas.edu.au","login":"mhidas","count":43},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":34},{"name":"DanielJMaher","email":"DMaher@ASAScience.com","login":null,"count":31},{"name":"Kyle Wilcox","email":"kyle@axiomalaska.com","login":"kwilcox","count":28},{"name":"Daniel Neumann","email":"daniel.neumann@dkrz.de","login":null,"count":25},{"name":"Dan Maher","email":"dmaher@asascience.com","login":null,"count":19},{"name":"Leila Belabbassi","email":"leila.baghdadbrahim@gmail.com","login":"leilabbb","count":19},{"name":"openSourcerer","email":"seanrm100@gmail.com","login":"openSourcerer9000","count":17},{"name":"ming fu","email":"fxmzb123@gmail.com","login":"fxmzb123","count":15},{"name":"Christopher Duncombe Rae","email":"christopher.duncombe.rae@noaa.gov","login":null,"count":10},{"name":"Jake Polatty","email":"jakepolatty@gmail.com","login":"jakepolatty","count":8},{"name":"DanielJMaher","email":"DanielJMaher@gmail.com","login":"DanielJMaher","count":6},{"name":"Christopher Adams","email":"chrismichaeladams@gmail.com","login":"gitchrisadams","count":5},{"name":"Joe Singleton","email":"joesingo@gmail.com","login":"joesingo","count":5},{"name":"A.F.","email":"andrej.fast@dkrz.de","login":"Karinon","count":5},{"name":"Ben Hall","email":"ben.hall@rpsgroup.com","login":"greenteadigital","count":4},{"name":"abirger","email":"alexander.birger@noaa.gov","login":"abirger","count":4},{"name":"Dan Nowacki","email":"dnowacki@usgs.gov","login":"dnowacki-usgs","count":3},{"name":"Micah Wengren","email":"micah.wengren@gmail.com","login":"mwengren","count":3},{"name":"sol1105","email":"martin.schupfner@web.de","login":"sol1105","count":3},{"name":"Bob Fratantonio","email":"robert.fratantonio@rpsgroup.com","login":null,"count":3},{"name":"daltonkell","email":"Daltonkell@rpsgroup.com","login":null,"count":2},{"name":"gmasetti","email":"gmasetti@ccom.unh.edu","login":"giumas","count":2},{"name":"Shuvam","email":"isidforward@gmail.com","login":"unichronic","count":2},{"name":"Rob Cermak","email":"rob.cermak@gmail.com","login":"jr3cermak","count":2},{"name":"Guilherme Castelao","email":"guilherme@castelao.net","login":"castelao","count":2},{"name":"Chris Barker","email":"Chris.Barker@noaa.gov","login":"ChrisBarker-NOAA","count":2},{"name":"Ag Stephens","email":"ag.stephens@stfc.ac.uk","login":"agstephens","count":2},{"name":"robragsdale","email":"rob.ragsdale@noaa.gov","login":"robragsdale","count":1},{"name":"petejan","email":"peter.jansen@csiro.au","login":"petejan","count":1},{"name":"marqh","email":"markh@scitools.org.uk","login":"marqh","count":1},{"name":"ggalibert","email":"guillaume.galibert@utas.edu.au","login":"ggalibert","count":1},{"name":"Shreyaav18","email":"157266939+Shreyaav18","login":"Shreyaav18","count":1},{"name":"Brian McKenna","email":"bmckenna@asascience.com","login":null,"count":1},{"name":"Leigh Gordon","email":"leigh.gordon@utas.edu.au","login":null,"count":1},{"name":"Ryan Maciel","email":"rspams1234@gmail.com","login":"RyanMaciel","count":1},{"name":"Rok Mandeljc","email":"rok.mandeljc@gmail.com","login":"rokm","count":1},{"name":"Mike McCann","email":"MBARIMike@gmail.com","login":"MBARIMike","count":1},{"name":"Lars Buntemeyer","email":"larsbuntemeyer@gmail.com","login":"larsbuntemeyer","count":1},{"name":"Jonathan Winn","email":"30663163+jonathan-winn-geo","login":"jonathan-winn-geo","count":1},{"name":"Daniel Heydebreck","email":"daniel.heydebreck@posteo.de","login":"neumannd","count":1},{"name":"Christoph Paulik","email":"cpaulik@gmail.com","login":"cpaulik","count":1}],"past_year_committers":[{"name":"Filipe Fernandes","email":"ocefpaf@gmail.com","login":"ocefpaf","count":64},{"name":"Benjamin Adams","email":"benjamin.adams@tetratech.com","login":"benjwadams","count":26},{"name":"pre-commit-ci[bot]","email":"66853113+pre-commit-ci[bot]","login":"pre-commit-ci[bot]","count":16},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":15},{"name":"Leila Belabbassi","email":"leila.baghdadbrahim@gmail.com","login":"leilabbb","count":5},{"name":"A.F.","email":"andrej.fast@dkrz.de","login":"Karinon","count":3},{"name":"Shreyaav18","email":"157266939+Shreyaav18","login":"Shreyaav18","count":1},{"name":"Rok Mandeljc","email":"rok.mandeljc@gmail.com","login":"rokm","count":1},{"name":"Lars Buntemeyer","email":"larsbuntemeyer@gmail.com","login":"larsbuntemeyer","count":1},{"name":"Jonathan Winn","email":"30663163+jonathan-winn-geo","login":"jonathan-winn-geo","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-14T00:00:07.982Z","repositories_count":6213154,"commits_count":903876933,"contributors_count":34933398,"owners_count":1144179,"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":"ioos/compliance-checker","html_url":"https://github.com/ioos/compliance-checker","last_synced_at":"2026-04-08T13:00:32.380Z","status":null,"issues_count":113,"pull_requests_count":332,"avg_time_to_close_issue":31767752.35135135,"avg_time_to_close_pull_request":1708847.1003460207,"issues_closed_count":74,"pull_requests_closed_count":289,"pull_request_authors_count":20,"issue_authors_count":35,"avg_comments_per_issue":2.353982300884956,"avg_comments_per_pull_request":1.4337349397590362,"merged_pull_requests_count":254,"bot_issues_count":1,"bot_pull_requests_count":87,"past_year_issues_count":33,"past_year_pull_requests_count":94,"past_year_avg_time_to_close_issue":2411171.5454545454,"past_year_avg_time_to_close_pull_request":373296.6,"past_year_issues_closed_count":11,"past_year_pull_requests_closed_count":65,"past_year_pull_request_authors_count":13,"past_year_issue_authors_count":12,"past_year_avg_comments_per_issue":1.1515151515151516,"past_year_avg_comments_per_pull_request":0.9148936170212766,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":24,"past_year_merged_pull_requests_count":59,"created_at":"2023-05-10T20:44:30.035Z","updated_at":"2026-04-08T13:00:32.380Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ioos%2Fcompliance-checker/issues","issue_labels_count":{"CF-Checker":21,"enhancement":3,"ioos-code-sprint-2024":2,"bug":2,"IOOS:1.2":2,"in progress":1,"NCEI-Checker":1},"pull_request_labels_count":{"Bot":37,"ioos-code-sprint-2024":15,"CF-Checker":4,"in progress":1},"issue_author_associations_count":{"NONE":61,"CONTRIBUTOR":38,"MEMBER":14},"pull_request_author_associations_count":{"CONTRIBUTOR":206,"MEMBER":108,"NONE":18},"issue_authors":{"jamesdoyle21":35,"benjwadams":15,"mhidas":7,"mwengren":7,"jcermauwedu":5,"daltonkell":5,"ocefpaf":3,"dnowacki-usgs":3,"uriii3":2,"larsbuntemeyer":2,"neumannd":2,"lukecampbell":2,"sol1105":2,"FObersteiner":2,"pre-commit-ci[bot]":1,"edesfandiari":1,"fgayanilo":1,"jdemaria":1,"renaudjester":1,"charlienegri":1,"d70-t":1,"huaracheguarache":1,"mjbrodzik":1,"RoryMMMM":1,"Arnoques":1,"openSourcerer9000":1,"yosoyjay":1,"jonathan-winn-geo":1,"jacobthompson101":1,"ksauby":1,"SpacemanPaul":1,"rsignell-usgs":1,"rokm":1,"kerfoot":1,"mphemming":1},"pull_request_authors":{"ocefpaf":108,"benjwadams":90,"pre-commit-ci[bot]":50,"dependabot[bot]":33,"leilabbb":15,"Karinon":10,"ChrisBarker-NOAA":4,"github-actions[bot]":4,"jcermauwedu":3,"larsbuntemeyer":2,"sol1105":2,"mhidas":2,"Unichronic":2,"Shreyaav18":1,"rokm":1,"unichronic":1,"dnowacki-usgs":1,"jonathan-winn-geo":1,"openSourcerer9000":1,"abkfenris":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-14T00:00:07.923Z","repositories_count":14248055,"issues_count":34600235,"pull_requests_count":113060319,"authors_count":11233856,"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":{"CF-Checker":4},"past_year_pull_request_labels_count":{"Bot":14,"CF-Checker":4},"past_year_issue_author_associations_count":{"NONE":25,"CONTRIBUTOR":6,"MEMBER":1},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":67,"MEMBER":16,"NONE":8},"past_year_issue_authors":{"jamesdoyle21":18,"benjwadams":2,"FObersteiner":2,"sol1105":2,"huaracheguarache":1,"jonathan-winn-geo":1,"ksauby":1,"larsbuntemeyer":1,"mphemming":1,"ocefpaf":1,"rokm":1,"RoryMMMM":1},"past_year_pull_request_authors":{"benjwadams":30,"ocefpaf":16,"dependabot[bot]":10,"pre-commit-ci[bot]":10,"Karinon":8,"leilabbb":7,"github-actions[bot]":4,"larsbuntemeyer":2,"abkfenris":1,"jonathan-winn-geo":1,"rokm":1,"Shreyaav18":1},"maintainers":[{"login":"ocefpaf","count":111,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ocefpaf"},{"login":"mwengren","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mwengren"},{"login":"lukecampbell","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/lukecampbell"},{"login":"yosoyjay","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/yosoyjay"},{"login":"rsignell-usgs","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rsignell-usgs"}],"active_maintainers":[{"login":"ocefpaf","count":17,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ocefpaf"}]},"events":{"total":{"CreateEvent":35,"CommitCommentEvent":1,"ReleaseEvent":5,"DeleteEvent":24,"PullRequestEvent":166,"ForkEvent":10,"IssuesEvent":61,"WatchEvent":13,"IssueCommentEvent":180,"PushEvent":99,"PullRequestReviewEvent":71,"PullRequestReviewCommentEvent":66},"last_year":{"ReleaseEvent":3,"DeleteEvent":15,"PullRequestEvent":106,"ForkEvent":3,"IssuesEvent":40,"WatchEvent":7,"IssueCommentEvent":107,"PushEvent":69,"PullRequestReviewCommentEvent":28,"PullRequestReviewEvent":38,"CreateEvent":25}},"keywords":[],"dependencies":[{"ecosystem":"pypi","filepath":"test_requirements.txt","sha":null,"kind":"manifest","created_at":"2022-09-11T19:32:10.622Z","updated_at":"2022-09-11T19:32:10.622Z","repository_link":"https://github.com/ioos/compliance-checker/blob/main/test_requirements.txt","dependencies":[{"id":4522790149,"package_name":"codecov","ecosystem":"pypi","requirements":"*","direct":true,"kind":"test","optional":false},{"id":4522790150,"package_name":"codespell","ecosystem":"pypi","requirements":"*","direct":true,"kind":"test","optional":false},{"id":4522790151,"package_name":"flake8","ecosystem":"pypi","requirements":"*","direct":true,"kind":"test","optional":false},{"id":4522790152,"package_name":"httpretty","ecosystem":"pypi","requirements":"*","direct":true,"kind":"test","optional":false},{"id":4522790153,"package_name":"mypy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"test","optional":false},{"id":4522790154,"package_name":"pre-commit","ecosystem":"pypi","requirements":"*","direct":true,"kind":"test","optional":false},{"id":4522790155,"package_name":"pytest","ecosystem":"pypi","requirements":"\u003e=2.9.0","direct":true,"kind":"test","optional":false},{"id":4522790156,"package_name":"pytest-cov","ecosystem":"pypi","requirements":"*","direct":true,"kind":"test","optional":false},{"id":4522790157,"package_name":"pytest-cov","ecosystem":"pypi","requirements":"\u003e=3.0.0","direct":true,"kind":"test","optional":false},{"id":4522790158,"package_name":"pytest-vcr","ecosystem":"pypi","requirements":"*","direct":true,"kind":"test","optional":false},{"id":4522790159,"package_name":"requests-mock","ecosystem":"pypi","requirements":"\u003e=1.7.0","direct":true,"kind":"test","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/cc-plugin-glider-test.yml","sha":null,"kind":"manifest","created_at":"2023-01-13T16:15:41.927Z","updated_at":"2023-01-13T16:15:41.927Z","repository_link":"https://github.com/ioos/compliance-checker/blob/main/.github/workflows/cc-plugin-glider-test.yml","dependencies":[{"id":6890134640,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":6890134641,"package_name":"s-weigand/setup-conda","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/cc-plugin-sgrid-test.yml","sha":null,"kind":"manifest","created_at":"2023-01-13T16:15:42.152Z","updated_at":"2023-01-13T16:15:42.152Z","repository_link":"https://github.com/ioos/compliance-checker/blob/main/.github/workflows/cc-plugin-sgrid-test.yml","dependencies":[{"id":6890134642,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":6890134643,"package_name":"s-weigand/setup-conda","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/codecov.yml","sha":null,"kind":"manifest","created_at":"2023-01-13T16:15:42.395Z","updated_at":"2023-01-13T16:15:42.395Z","repository_link":"https://github.com/ioos/compliance-checker/blob/main/.github/workflows/codecov.yml","dependencies":[{"id":6890134644,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":6890134645,"package_name":"s-weigand/setup-conda","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":6890134646,"package_name":"codecov/codecov-action","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/default-tests.yml","sha":null,"kind":"manifest","created_at":"2023-01-13T16:15:42.715Z","updated_at":"2023-01-13T16:15:42.715Z","repository_link":"https://github.com/ioos/compliance-checker/blob/main/.github/workflows/default-tests.yml","dependencies":[{"id":6890134647,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":6890134648,"package_name":"s-weigand/setup-conda","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/integration-tests.yml","sha":null,"kind":"manifest","created_at":"2023-01-13T16:15:43.010Z","updated_at":"2023-01-13T16:15:43.010Z","repository_link":"https://github.com/ioos/compliance-checker/blob/main/.github/workflows/integration-tests.yml","dependencies":[{"id":6890134649,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":6890134650,"package_name":"s-weigand/setup-conda","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/pypi.yml","sha":null,"kind":"manifest","created_at":"2023-01-13T16:15:43.361Z","updated_at":"2023-01-13T16:15:43.361Z","repository_link":"https://github.com/ioos/compliance-checker/blob/main/.github/workflows/pypi.yml","dependencies":[{"id":6890134653,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":6890134654,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":6890134655,"package_name":"pypa/gh-action-pypi-publish","ecosystem":"actions","requirements":"v1.6.4","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/cc-plugin-ugrid-test.yml","sha":null,"kind":"manifest","created_at":"2023-10-04T19:57:40.797Z","updated_at":"2023-10-04T19:57:40.797Z","repository_link":"https://github.com/ioos/compliance-checker/blob/main/.github/workflows/cc-plugin-ugrid-test.yml","dependencies":[{"id":14109447360,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":14109447361,"package_name":"mamba-org/setup-micromamba","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/deploy-docs.yml","sha":null,"kind":"manifest","created_at":"2023-10-04T19:57:40.934Z","updated_at":"2023-10-04T19:57:40.934Z","repository_link":"https://github.com/ioos/compliance-checker/blob/main/.github/workflows/deploy-docs.yml","dependencies":[{"id":14109447366,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":14109447367,"package_name":"mamba-org/setup-micromamba","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":14109447368,"package_name":"peaceiris/actions-gh-pages","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2023-10-04T19:57:41.178Z","updated_at":"2023-10-04T19:57:41.178Z","repository_link":"https://github.com/ioos/compliance-checker/blob/main/pyproject.toml","dependencies":[]},{"ecosystem":"actions","filepath":".github/workflows/cc-plugin-cc6-test.yml","sha":null,"kind":"manifest","created_at":"2025-11-27T12:01:53.894Z","updated_at":"2025-11-27T12:01:53.894Z","repository_link":"https://github.com/ioos/compliance-checker/blob/main/.github/workflows/cc-plugin-cc6-test.yml","dependencies":[{"id":25749984219,"package_name":"actions/checkout","ecosystem":"actions","requirements":"1af3b93b6815bc44a9784bd300feb67ff0d1eeb3","direct":true,"kind":"composite","optional":false},{"id":25749984220,"package_name":"mamba-org/setup-micromamba","ecosystem":"actions","requirements":"add3a49764cedee8ee24e82dfde87f5bc2914462","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/cc-plugin-og-test.yml","sha":null,"kind":"manifest","created_at":"2025-11-27T12:01:54.058Z","updated_at":"2025-11-27T12:01:54.058Z","repository_link":"https://github.com/ioos/compliance-checker/blob/main/.github/workflows/cc-plugin-og-test.yml","dependencies":[{"id":25749984223,"package_name":"actions/checkout","ecosystem":"actions","requirements":"1af3b93b6815bc44a9784bd300feb67ff0d1eeb3","direct":true,"kind":"composite","optional":false},{"id":25749984224,"package_name":"mamba-org/setup-micromamba","ecosystem":"actions","requirements":"add3a49764cedee8ee24e82dfde87f5bc2914462","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/update-cf-names-table.yml","sha":null,"kind":"manifest","created_at":"2025-11-27T12:01:54.230Z","updated_at":"2025-11-27T12:01:54.230Z","repository_link":"https://github.com/ioos/compliance-checker/blob/main/.github/workflows/update-cf-names-table.yml","dependencies":[{"id":25749984225,"package_name":"actions/checkout","ecosystem":"actions","requirements":"1af3b93b6815bc44a9784bd300feb67ff0d1eeb3","direct":true,"kind":"composite","optional":false},{"id":25749984226,"package_name":"peter-evans/create-pull-request","ecosystem":"actions","requirements":"84ae59a2cdc2258d6fa0732dd66352dddae2a412","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/cc-plugin-ncei-test.yml","sha":null,"kind":"manifest","created_at":"2025-11-27T12:01:53.987Z","updated_at":"2025-11-27T12:01:53.987Z","repository_link":"https://github.com/ioos/compliance-checker/blob/main/.github/workflows/cc-plugin-ncei-test.yml","dependencies":[{"id":25749984221,"package_name":"actions/checkout","ecosystem":"actions","requirements":"1af3b93b6815bc44a9784bd300feb67ff0d1eeb3","direct":true,"kind":"composite","optional":false},{"id":25749984222,"package_name":"mamba-org/setup-micromamba","ecosystem":"actions","requirements":"add3a49764cedee8ee24e82dfde87f5bc2914462","direct":true,"kind":"composite","optional":false}]}],"score":22.92650886700812,"created_at":"2026-03-21T12:46:19.409Z","updated_at":"2026-04-15T01:30:19.586Z","avatar_url":"https://github.com/ioos.png","language":"Python","category":"Climate Change","sub_category":"Climate Data Standards","monthly_downloads":33824,"total_dependent_repos":42,"total_dependent_packages":6,"readme":"# IOOS Compliance Checker\n\n[![Tests](https://github.com/ioos/compliance-checker/actions/workflows/default-tests.yml/badge.svg)](https://github.com/ioos/compliance-checker/actions/workflows/default-tests.yml)\n[![codecov](https://codecov.io/gh/ioos/compliance-checker/branch/develop/graph/badge.svg)](https://app.codecov.io/gh/ioos/compliance-checker)\n\nThe IOOS Compliance Checker is a python based tool for data providers to check\nfor completeness and community standard compliance of local or remote\n[netCDF](https://en.wikipedia.org/wiki/NetCDF) files against\n[CF](http://cfconventions.org/Data/cf-conventions/cf-conventions-1.7/cf-conventions.html) and\n[ACDD](https://wiki.esipfed.org/Attribute_Convention_for_Data_Discovery_1-3)\nfile standards. The python module can be used as a command-line tool or as a\nlibrary that can be integrated into other software.\n\nA [web-based version](https://compliance.ioos.us/index.html) of the Compliance\nChecker was developed to enable a broader audience and improve accessibility for the\nchecker. With the web version, providers can simply provide a link or upload their\ndatasets and get the full suite of capabilities that Compliance Checker offers.\n\n\nIt currently supports the following sources and standards:\n\n| Standard                                                                                                                   | Source                                                            | Release Date |\n| -------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- | ------------ |\n| [ACDD (1.1, 1.3)](https://wiki.esipfed.org/Attribute_Convention_for_Data_Discovery_1-3)                                    | Built-in                                                          | X            |\n| [CF (1.11)](http://cfconventions.org/Data/cf-conventions/cf-conventions-1.11/cf-conventions.html)                          | Built-in                                                          | Aug 25, 2025 |\n| [CF (1.10)](http://cfconventions.org/Data/cf-conventions/cf-conventions-1.10/cf-conventions.html)                          | Built-in                                                          | Apr 29, 2025 |\n| [CF (1.9)](http://cfconventions.org/Data/cf-conventions/cf-conventions-1.9/cf-conventions.html)                            | Built-in                                                          | May 15, 2023 |\n| [CF (1.8)](http://cfconventions.org/Data/cf-conventions/cf-conventions-1.8/cf-conventions.html)                            | Built-in                                                          | Jan 25, 2022 |\n| [CF (1.7)](http://cfconventions.org/Data/cf-conventions/cf-conventions-1.7/cf-conventions.html)                            | Built-in                                                          | Jan 25, 2022 |\n| [CF (1.6)](https://cfconventions.org/cf-conventions/v1.6.0/cf-conventions.html)                                            | Built-in                                                          | Jan 20, 2022 |\n| [IOOS (1.1)](https://ioos.github.io/ioos-metadata/ioos-metadata-profile-v1-1.html#ioos-netcdf-metadata-profile-attributes) | Built-in                                                          | X            |\n| [IOOS (1.2)](https://ioos.github.io/ioos-metadata/ioos-metadata-profile-v1-2.html)                                         | Built-in                                                          | X            |\n| [Glider DAC](https://ioos.github.io/glider-dac/ngdac-netcdf-file-format-version-2.html)                                    | [ioos/cc-plugin-glider](https://github.com/ioos/cc-plugin-glider) | X            |\n| [NCEI (1.1, 2.0)](https://www.ncei.noaa.gov/data/oceans/ncei/formats/netcdf/v2.0/index.html)                               | [ioos/cc-plugin-ncei](https://github.com/ioos/cc-plugin-ncei)     | X            |\n\n\n## Advice to data providers\n\nWhile the command-line version of this tool can be run in a loop, it is not necessary to check\nevery file if they are all created the same way. In short, this tool is not meant for\nidentifying bugs in your data processing stream. It is, however, intended to help you identify\nyour process procedure compliance to the standards.  If you change your processing procedure\nfor any reason it would be worth your while to run one file through the Compliance Checker to\ninsure you procedure change does not impact your file’s compliance.\n\nIf you feel you will need to run a batch of files through the Compliance Checker, please contact\nthe IOOS Program Office Operations Division for assistance.\n\n\n# [The Compliance Checker Web Tool](https://compliance.ioos.us/index.html)\n\nThe IOOS Compliance Checker front end companion.\n\n[https://compliance.ioos.us/index.html](https://compliance.ioos.us/index.html)\n\nSource Code is available on GitHub:\n\n[https://github.com/ioos/compliance-checker-web](https://github.com/ioos/compliance-checker-web)\n\n## Usage\nSelect the test you want to run from the dropdown menu. Then, either upload your dataset or provide a url to a\nremote dataset (OPeNDAP) and click 'Submit'.\n\nThe output of the Compliance Checker will give you a comprehensive list of issues and the actions needed to correct them.\nYou may download the Compliance Checker report as a text file by clicking the 'Download Report' button\n\n![Compliance-Checker-Web](https://user-images.githubusercontent.com/5702672/30527267-b4bb136c-9bf4-11e7-8345-dd9b8e2e859f.png)\n\n## API\n\nIn addition to a web-based front-end for the IOOS Compliance Checker project, an API is provided for\nusers interested in batch processing files hosted via OPeNDAP. Details on how to use the API are\navailable on the Compliance Checker Web [wiki page](https://github.com/ioos/compliance-checker-web/wiki/API).\n\nHere are a couple examples:\n\n**HTML Output**\n\nhttps://compliance.ioos.us/index.htmlapi/run?report_format=html\u0026test=acdd\u0026url=http://sos.maracoos.org/stable/dodsC/hrecos/stationHRMARPH-agg.ncml\n\n**JSON Output**\n\nhttps://compliance.ioos.us/index.htmlapi/run?report_format=json\u0026test=acdd\u0026url=http://sos.maracoos.org/stable/dodsC/hrecos/stationHRMARPH-agg.ncml\n\n# The Compliance Checker Command Line Tool\n\n\n## Concepts \u0026 Terminology\n\nEach compliance standard is executed by a Check Suite,\nwhich functions similar to a Python standard Unit Test.\nA Check Suite runs checks against a dataset based on a metadata standard,\nreturning a list of Results which are then aggregated into a summary.\n\nEach Result has a (# passed / # total) score, a weight (HIGH/MEDIUM/LOW),\na computer-readable name, an optional list of human-readable messages,\nand optionally a list of child Results.\n\nA single score is then calculated by aggregating on the names,\nthen multiplying the score by the weight and summing them together.\n\nThe computer-readable name field controls how Results are aggregated together - in order to prevent the overall score for a Check Suite varying on the number of variables,\nit is possible to *group* Results together via the name property.\nGrouped results will only add up to a single top-level entry.\n\nSee the [Development](https://github.com/ioos/compliance-checker/wiki/Development) wiki page for more details on implementation.\n\n## Installation\n\nCheck out the [Installation wiki](https://github.com/ioos/compliance-checker/wiki/Installation) for instructions on how to install.\n\n## Command Line Usage\n\nThe compliance-checker can work against local files (`.nc` files, `.cdl`\nmetadata files, .xml files of SOS GetCapabilities/DescribeSensor requests)\nor against remote URLs (OPeNDAP data URLs, SOS GetCapabilities/DescribeSensor URLs).\n\nIf you are aiming to check a netCDF-dump, also known as a CDL file, the file\nmust be named to end with a `.cdl` for the check-suite to be able to correctly\nparse it's contents.\n\n\u003e **WARNING** The CF/ACDD checks **will access data**, so if using a remote OPeNDAP URL, please be sure the size is reasonable!\n\n```\nusage: cchecker.py [-h] [--test TEST] [--criteria {lenient,normal,strict}] [--verbose] [--describe-checks] [--skip-checks SKIP_CHECKS | --include-checks INCLUDE_CHECKS]\n                   [-f {text,html,json,json_new}] [-o OUTPUT] [-O OPTION] [-V] [-l] [-d DOWNLOAD_STANDARD_NAMES]\n                   [dataset_location ...]\n\npositional arguments:\n  dataset_location      Defines the location of the dataset to be checked. The location can be a local netCDF file, a remote OPeNDAP endpoint, a remote netCDF file which\n                        returns content-type header of 'application/x-netcdf', or an ERDDAP TableDAP endpoint. Note that the ERDDAP TableDAP endpoint will currently attempt\n                        to fetch the entire TableDAP dataset.\n\noptions:\n  -h, --help            show this help message and exit\n  --test, -t TEST       Select the Checks you want to perform. Defaults to 'acdd' if unspecified. Versions of standards can be specified via `-t \u003ctest_standard\u003e:\u003cversion\u003e`.\n                        If `\u003cversion\u003e` is omitted the latest version of the test standard is used.\n  --criteria, -c {lenient,normal,strict}\n                        Define the criteria for the checks. Either Strict, Normal, or Lenient. Defaults to Normal.\n  --verbose, -v         Increase output. May be specified up to three times.\n  --describe-checks, -D\n                        Describes checks for checkers specified using `-t`. If `-t` is not specified, lists checks from all available checkers.\n  --skip-checks, -s SKIP_CHECKS\n                        Specifies tests to skip. Can take the form of either `\u003ccheck_name\u003e` or `\u003ccheck_name\u003e:\u003cskip_level\u003e`. The first form skips any checks matching the\n                        name. In the second form \u003cskip_level\u003e may be specified as \"A\", \"M\", or \"L\". \"A\" skips all checks and is equivalent to calling the first form. \"M\"\n                        will only show high priority output from the given check and will skip medium and low. \"L\" will show both high and medium priority issues, while\n                        skipping low priority issues. Cannot be used with `-i`/`--include-checks` option.\n  --include-checks, -i INCLUDE_CHECKS\n                        Specifies checks to include. Can only take the form of `\u003ccheck_name\u003e`. Cannot be specified along with `-s`/`skip_checks`.\n  -f, --format {text,html,json,json_new}\n                        Output format(s). Options are 'text', 'html', 'json', 'json_new'. The difference between the 'json' and the 'json_new' formats is that the 'json'\n                        format has the check as the top level key, whereas the 'json_new' format has the dataset name(s) as the main key in the output follow by any checks\n                        as subkeys. Also, 'json' format can be only be run against one input file, whereas 'json_new' can be run against multiple files.\n  -o, --output OUTPUT   Output filename(s). If '-' is supplied, output to stdout. Can either be one or many files. If one file is supplied, but the checker is run against\n                        many files, all the output from the checks goes to that file (does not presently work with 'json' format). If more than one output file is supplied,\n                        the number of input datasets supplied must match the number of output files.\n  -O, --option OPTION   Additional options to be passed to the checkers. Multiple options can be specified via multiple invocations of this switch. Options should be\n                        prefixed with a the checker name followed by the option, potentially followed by a value, e.g. '\u003cchecker\u003e:\u003coption_name\u003e[:\u003coption_value\u003e]' Available\n                        options: 'cf:enable_appendix_a_checks' - Allow check results against CF Appendix A for attribute location and data types.\n  -V, --version         Display the IOOS Compliance Checker version information.\n  -l, --list-tests      List the available tests\n  -d, --download-standard-names DOWNLOAD_STANDARD_NAMES\n                        Specify a version of the cf standard name table to download as packaged version. Either specify a version number (e.g. \"72\") to fetch a specific\n                        version or \"latest\" to get the latest CF standard name table.\n```\n\n## Examples\n\n### Check a local file against CF 1.6\n```shell\ncompliance-checker --test=cf:1.6 compliance_checker/tests/data/examples/hycom_global.nc\n```\n\n```\n--------------------------------------------------------------------------------\n                         IOOS Compliance Checker Report\n                                  cf:1.6 check\n--------------------------------------------------------------------------------\n                               Corrective Actions\nhycom_global.nc has 9 potential issues\n\n\n                                     Errors\n--------------------------------------------------------------------------------\nName                                      Reasoning\n§3.2 Either long_name or standard_name    Attribute long_name or/and standard_name\nis highly recommended for variable time:  is highly recommended for variable time\n§4.3.1 depth is a valid vertical          vertical coordinates not defining\ncoordinate:                               pressure must include a positive\n                                          attribute that is either 'up' or 'down'\n\n\n                                    Warnings\n--------------------------------------------------------------------------------\nName                                   Reasoning\n§2.6.1 Global Attribute Conventions    Conventions global attribute does not\nincludes CF-1.6:                       contain \"CF-1.6\". The CF Checker only\n                                       supports CF-1.6 at this time.\n§2.6.2 Recommended Attributes:         institution should be defined source\n                                       should be defined references should be\n                                       defined\n§2.6.2 Recommended Global Attributes:  global attribute history should exist\n                                       and be a non-empty string\n§8.1 Packed Data defined by water_u    Attributes add_offset and scale_factor\ncontains valid packing:                are not of type float or double.\n§8.1 Packed Data defined by water_v    Attributes add_offset and scale_factor\ncontains valid packing:                are not of type float or double.\n```\n\n### Check a remote file against ACDD 1.3\n\nThe remote dataset url is taken from the Data URL section of an OPeNDAP endpoint.\n\n```shell\ncompliance-checker --test=acdd:1.3 \"http://sos.maracoos.org/stable/dodsC/hrecos/stationHRMARPH-agg.ncml\"\n```\n\n### Checking against remote ERDDAP Datasets\n\nERDDAP datasets are becoming a popular way to access data. Supply an ERDDAP `TableDAP` or `GridDAP` URL to the checker:\n\n```shell\ncompliance-checker --test ioos:1.2 \"https://pae-paha.pacioos.hawaii.edu/erddap/griddap/pibhmc_bathy_60m_guam\"\n```\n\nEnsure to supply the URL *without* the format extension at the end (no `.nc`, `.ncCF`, etc.).\n\nSome examples of ERDDAP datasets:\n\n  - https://pae-paha.pacioos.hawaii.edu/erddap/tabledap/aws_himb\n  - http://erddap.secoora.org/erddap/tabledap/edu_usf_marine_comps_1407d550\n  - http://erddap.cencoos.org/erddap/tabledap/bodega-bay-bml_wts\n  - http://erddap.cencoos.org/erddap/tabledap/fort-point\n  - http://erddap.cencoos.org/erddap/tabledap/edu_humboldt_humboldt\n  - http://erddap.cencoos.org/erddap/tabledap/edu_calpoly_marine_morro\n  - http://erddap.cencoos.org/erddap/tabledap/mlml_mlml_sea\n  - http://erddap.cencoos.org/erddap/tabledap/mlml_mlml_met\n  - http://erddap.cencoos.org/erddap/tabledap/mlml_monterey\n  - http://erddap.cencoos.org/erddap/tabledap/edu_humboldt_tdp\n\n### Write results to text file\n\n```shell\ncompliance-checker --test=acdd:1.3 --format=text --output=/tmp/report.txt compliance_checker/tests/data/examples/hycom_global.nc\n```\n\n### Write results to JSON file\n\n```shell\ncompliance-checker --test=acdd:1.3 --format=json --output=/tmp/report.json compliance_checker/tests/data/examples/hycom_global.nc\n```\n\n### Write results to HTML file\n\n```shell\ncompliance-checker --test=acdd:1.3 --format=html --output=/tmp/report.html compliance_checker/tests/data/examples/hycom_global.nc\n```\n\n### Output text from multiple input files to one output file\n\n```shell\ncompliance-checker --test=cf:1.6 --format text --output=/tmp/combined_output.txt compliance_checker/tests/data/examples/hycom_global.nc compliance_checker/tests/data/examples/ww3.nc\n```\n\n### Output html and text files from multiple input files (part 1)\nIn this case you'll get 2 files ```/tmp/combined_output.txt``` and ```/tmp/combined_output.html``` that contain cf check results for both input files because you only specified 1 output filename.\n```shell\ncompliance-checker --test=cf:1.6 --format text --format html --output=/tmp/combined_output.txt compliance_checker/tests/data/examples/hycom_global.nc compliance_checker/tests/data/examples/ww3.nc\n```\n\n### Output html and text files from multiple input files (part 2)\nIn this case you'll get 4 files ```/tmp/hycom.txt```, ```/tmp/hycom.html```, ```/tmp/ww3.txt```, and ```/tmp/ww3.html``` that contain cf check results because you specified as many output filenames as input filenames.\n```shell\ncompliance-checker --test=cf:1.6 --format text --format html --output=/tmp/hycom.txt --output=/tmp/ww3.txt compliance_checker/tests/data/examples/hycom_global.nc compliance_checker/tests/data/examples/ww3.nc\n```\n\n### Download a particular CF standard names table for use in the test\n\n**Note**\nDuring the CF test, if a file has a particular version of the cf standard name table specified in the global attributes\n(i.e. ```:standard_name_vocabulary = \"CF Standard Name Table v30\" ;```) that doesn't match the packaged version, it will\ntry to download the specified version. If it fails, it will fall back to packaged version.\n\n```shell\ncompliance-checker -d 35\n```\n\nAlternatively, you can specify an absolute path to a standard name table you may have locally in an environment variable named CF_STANDARD_NAME_TABLE and the compliance checker will use that version instead.\n\n\n## Python Usage\n\nIf you are interested in incorporating the IOOS Compliance Checker into your own python projects, check out the following python code example:\n```python\nfrom compliance_checker.runner import ComplianceChecker, CheckSuite\n\n# Load all available checker classes\ncheck_suite = CheckSuite()\ncheck_suite.load_all_available_checkers()\n\n# Run cf and adcc checks\npath = \"/path/or/url/to/your/dataset\"\nchecker_names = [\"cf\", \"acdd\"]\nverbose = 0\ncriteria = \"normal\"\noutput_filename = \"/output/report.json\"\noutput_format = \"json\"\n\"\"\"\nInputs to ComplianceChecker.run_checker\n\npath            Dataset location (url or file)\nchecker_names   List of string names to run, should match keys of checkers dict (empty list means run all)\nverbose         Verbosity of the output (0, 1, 2)\ncriteria        Determines failure (lenient, normal, strict)\noutput_filename Path to the file for output\noutput_format   Format of the output\n\n@returns                If the tests failed (based on the criteria)\n\"\"\"\nreturn_value, errors = ComplianceChecker.run_checker(\n    path,\n    checker_names,\n    verbose,\n    criteria,\n    output_filename=output_filename,\n    output_format=output_format,\n)\n\n# Open the JSON output and get the compliance scores\nwith open(output_filename, \"r\") as fp:\n    cc_data = json.load(fp)\n    scored = cc_data[cc_test[0]][\"scored_points\"]\n    possible = cc_data[cc_test[0]][\"possible_points\"]\n    log.debug(f\"CC Scored {scored} out of {possible} possible points\")\n```\n\n## Compliance Checker Plug-Ins\n\nSeparate Plug-ins have been developed to complement the Compliance Checker tool with\nspecifications for preparing data to be submitted to different data assembly centers.\nThe version numbering of these plug-ins are not necessarily link to the version of the\nCompliance Checker, but they are all designed to run with the Compliance Checker tool.\n\n### Current Plug-in Releases:\n\n- [GliderDAC](https://github.com/ioos/cc-plugin-glider/releases)\n\nThis is a checker for [GliderDAC](https://ioos.github.io/glider-dac/ngdac-netcdf-file-format-version-2.html) files\n\n- [NCEI](https://github.com/ioos/cc-plugin-ncei/releases) - [link](https://github.com/ioos/cc-plugin-ncei)\n\nThis is a checker for NCEI netCDF Templates [v1.1](https://www.ncei.noaa.gov/data/oceans/ncei/formats/netcdf/v1.1/index.html) and [v2.0](https://www.ncei.noaa.gov/data/oceans/ncei/formats/netcdf/v2.0/index.html) files.\n\n- [UGRID](https://github.com/ioos/cc-plugin-ugrid/releases)\n\nThis is a checker for UGRID (https://ugrid-conventions.github.io/ugrid-conventions/)\n\nThese plug-ins must be installed separately but work on top of the base compliance checker software.\n\n```shell\npip install cc-plugin-ncei\n```\n\nCheck to see if it installed correctly, list the tests:\n\n```shell\ncompliance-checker -l\n```\n\nYou should see\n\n```\n IOOS compliance checker available checker suites (code version):\n - ncei-grid (2.1.0)\n - ncei-grid:1.1 (2.1.0)\n - ncei-grid:2.0 (2.3.0)\n - ncei-grid:latest (2.1.0)\n - ncei-point (2.3.0)\n - ncei-point:1.1 (2.1.0)\n - ncei-point:2.0 (2.3.0)\n etc ....\n```\n\nOnce installing the plug-in the usage is similar to the built in checkers.\n\n### Examples of how to use the Plug-Ins\n\n1. Run the NCEI Point check on a THREDDS endpoint\n\n```shell\ncompliance-checker -t ncei-point -v \"https://data.nodc.noaa.gov/thredds/dodsC/testdata/mbiddle/GOLD_STANDARD_NETCDF/1.1/NODC_point_template_v1.1_2016-06-15_133710.844375.nc\"\n```\n\n2. Run NCEI Trajectory Profile Orthogonal Check on local dataset\n\n```shell\ncompliance-checker -t ncei-trajectory-profile-orthogonal -v ~/data/sample-trajectory-profile.nc\n\n```\n\n3. Outputting JSON from a gridded file check\n\n```shell\ncompliance-checker -t ncei-grid -f json -o ~/Documents/sample_grid_report.json ~/Documents/sample_grid_report.nc\n```\n\n## UGRID support\n\nCompliance Checker does not support UGRID in the base package, although implicitly required by CF.  If your needs include checking UGRID implementing files, we recommend that you either use an external checker such as the one maintained by the UK Met Office (https://github.com/pp-mo/ugrid-checks) or the Compliance Checker plugin listed above. (https://github.com/ioos/cc-plugin-ugrid)\n\n## Disclaimer\n\nThe objective of the IOOS Compliance Checker is to check your file against our interpretation of select dataset metadata standards to use as a guideline in generating compliant files. The compliance checker should not be considered the authoritative source on whether your file is 100% \"compliant\". Instead, we recommend that users use the results as a guide to work towards compliance.  A table with the current CF feature support documenting implemented portions of CF is located here for reference: [Feature Parity Matrix](docs/cf_feature_parity_matrix.md)\n\n\n## Miscellaneous/Acknowledgements\n\n### Contributors\n![GitHub Contributors Image](https://contrib.rocks/image?repo=ioos/compliance-checker)\n\nPortions of the CF checker are based on Michael Decker's work, http://repositories.iek.fz-juelich.de/hg/CFchecker/\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["ogc","ogcapi","ows","oceanography","netcdf4","climate-science","meteorology","climate-data","earth-science","esgf"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/349141","html_url":"https://ost.ecosyste.ms/projects/349141"}