{"id":371680,"url":"https://github.com/pycqa/mccabe","last_synced_at":"2026-08-25T14:03:49.737Z","repository":{"id":7045095,"uuid":"8323509","full_name":"PyCQA/mccabe","owner":"PyCQA","description":"McCabe complexity checker for Python","archived":false,"fork":false,"pushed_at":"2026-06-28T01:01:39.000Z","size":116,"stargazers_count":681,"open_issues_count":12,"forks_count":65,"subscribers_count":15,"default_branch":"master","last_synced_at":"2026-08-18T10:36:57.494Z","etag":null,"topics":["complexity","complexity-analysis","flake8","flake8-extensions","flake8-plugin","linter-flake8","linter-plugin","mccabe","python"],"latest_commit_sha":null,"homepage":"pypi.python.org/pypi/mccabe","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"mxcl/PromiseKit","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PyCQA.png","metadata":{"files":{"readme":"README.rst","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-02-20T22:19:04.000Z","updated_at":"2026-08-13T18:12:59.000Z","dependencies_parsed_at":"2023-01-13T14:14:44.065Z","dependency_job_id":"97d17ba8-e5b2-4dcb-a1ef-90cbb568d25e","html_url":"https://github.com/PyCQA/mccabe","commit_stats":{"total_commits":110,"total_committers":26,"mean_commits":4.230769230769231,"dds":0.6818181818181819,"last_synced_commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"previous_names":["flintwork/mccabe"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/PyCQA/mccabe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/sbom","scorecard":{"id":115205,"data":{"date":"2025-08-11","repo":{"name":"github.com/PyCQA/mccabe","commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":"Code-Review","score":9,"reason":"Found 13/14 approved changesets -- score normalized to 9","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":-1,"reason":"no workflows found","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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: OSSFuzz integration found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 29 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T01:01:57.399Z","repository_id":7045095,"created_at":"2025-08-16T01:01:57.399Z","updated_at":"2025-08-16T01:01:57.399Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782157,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"PyCQA","name":"Python Code Quality Authority","uuid":"8749848","kind":"organization","description":"Organization for code quality tools (and plugins) for the Python programming language","email":"code-quality@python.org","website":"http://meta.pycqa.org","location":"Everywhere","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/8749848?v=4","repositories_count":28,"last_synced_at":"2026-08-25T01:26:18.485Z","metadata":{"has_sponsors_listing":false,"funding":null},"html_url":"https://github.com/PyCQA","funding_links":[],"total_stars":28819,"followers":1026,"following":0,"created_at":"2022-11-02T16:22:05.191Z","updated_at":"2026-08-25T01:26:18.542Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA/repositories"},"packages":[{"id":11139322,"name":"py3-mccabe-pyc","ecosystem":"alpine","description":"Precompiled Python bytecode for py3-mccabe","homepage":"https://github.com/PyCQA/mccabe","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/PyCQA/mccabe","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2024-09-21T21:56:06.000Z","latest_release_published_at":"2024-09-21T21:56:06.000Z","latest_release_number":"0.7.0-r4","last_synced_at":"2026-08-24T11:29:54.749Z","created_at":"2024-12-07T12:51:00.967Z","updated_at":"2026-08-24T11:29:54.750Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.21/community/x86_64/py3-mccabe-pyc","install_command":"apk add py3-mccabe-pyc","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":7045095,"uuid":"8323509","full_name":"PyCQA/mccabe","owner":"PyCQA","description":"McCabe complexity checker for Python","archived":false,"fork":false,"pushed_at":"2026-06-28T01:01:39.000Z","size":116,"stargazers_count":680,"open_issues_count":11,"forks_count":64,"subscribers_count":15,"default_branch":"master","last_synced_at":"2026-08-04T07:21:06.588Z","etag":null,"topics":["complexity","complexity-analysis","flake8","flake8-extensions","flake8-plugin","linter-flake8","linter-plugin","mccabe","python"],"latest_commit_sha":null,"homepage":"pypi.python.org/pypi/mccabe","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"mxcl/PromiseKit","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PyCQA.png","metadata":{"files":{"readme":"README.rst","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-02-20T22:19:04.000Z","updated_at":"2026-08-03T02:32:04.000Z","dependencies_parsed_at":"2023-01-13T14:14:44.065Z","dependency_job_id":"97d17ba8-e5b2-4dcb-a1ef-90cbb568d25e","html_url":"https://github.com/PyCQA/mccabe","commit_stats":{"total_commits":110,"total_committers":26,"mean_commits":4.230769230769231,"dds":0.6818181818181819,"last_synced_commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"previous_names":["flintwork/mccabe"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/PyCQA/mccabe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/sbom","scorecard":{"id":115205,"data":{"date":"2025-08-11","repo":{"name":"github.com/PyCQA/mccabe","commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":"Code-Review","score":9,"reason":"Found 13/14 approved changesets -- score normalized to 9","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":-1,"reason":"no workflows found","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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: OSSFuzz integration found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 29 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T01:01:57.399Z","repository_id":7045095,"created_at":"2025-08-16T01:01:57.399Z","updated_at":"2025-08-16T01:01:57.399Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36318301,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-08-05T02:00:06.619Z","response_time":104,"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":"PyCQA","name":"Python Code Quality Authority","uuid":"8749848","kind":"organization","description":"Organization for code quality tools (and plugins) for the Python programming language","email":"code-quality@python.org","website":"http://meta.pycqa.org","location":"Everywhere","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/8749848?v=4","repositories_count":28,"last_synced_at":"2026-08-18T00:22:02.382Z","metadata":{"has_sponsors_listing":false,"funding":null},"html_url":"https://github.com/PyCQA","funding_links":[],"total_stars":28819,"followers":1026,"following":0,"created_at":"2022-11-02T16:22:05.191Z","updated_at":"2026-08-18T00:22:02.396Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA/repositories"},"tags":[{"name":"0.7.0","sha":"835a5400881b7460998be51d871fd36f836db3c9","kind":"tag","published_at":"2022-01-24T01:11:31.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.7.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0/manifests"},{"name":"0.6.1","sha":"55942cba66d39c39bd0d8425ee29822be16dfded","kind":"tag","published_at":"2017-02-07T12:31:06.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1/manifests"},{"name":"0.6.0","sha":"6a7aa34d0b7a03fd3a0ab42c45f4cc37c5e204f8","kind":"tag","published_at":"2017-01-23T12:41:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0/manifests"},{"name":"0.5.3","sha":"682145a37fee41fe7b6640244faa0c3f58e3b496","kind":"tag","published_at":"2016-12-14T13:07:37.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3/manifests"},{"name":"0.5.2","sha":"ec3787d685fe4ac3fa3f74ddd448db0a63f9464a","kind":"tag","published_at":"2016-07-31T19:05:08.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2/manifests"},{"name":"0.5.1","sha":"a3d91e8558e8d85d641b31276d34793caeb546ff","kind":"tag","published_at":"2016-07-28T10:54:32.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1/manifests"},{"name":"0.5.0","sha":"24ed5ee0791b1006e2d3d4774f651aa77c7b9a45","kind":"tag","published_at":"2016-05-30T20:55:35.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0/manifests"},{"name":"0.4.0","sha":"4931fcd5acebcc408a676b00cd1b9822e868c279","kind":"tag","published_at":"2016-01-27T16:59:28.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.4.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0/manifests"},{"name":"0.3.1","sha":"b193aaa906161ba590f2e0722eb479defa073923","kind":"tag","published_at":"2015-06-14T18:57:49.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1/manifests"},{"name":"0.3","sha":"e8aea16d28e92bd3c62601275762fc9c16808f6c","kind":"commit","published_at":"2014-12-17T01:22:10.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3/manifests"},{"name":"0.2.1","sha":"255ca7f93d62d56f53c1b7b8eb74923dec30ffe4","kind":"commit","published_at":"2013-04-03T12:45:13.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1/manifests"},{"name":"0.2","sha":"e88be51e0c6c2bd1b87d7a44b7e71b78fdc53959","kind":"commit","published_at":"2013-02-22T07:04:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2/manifests"},{"name":"0.1","sha":"4c326ed876b4a3046d1f2521c61b1d29d7633cd6","kind":"commit","published_at":"2013-02-11T08:14:25.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1/manifests"}]},"repo_metadata_updated_at":"2026-08-18T11:17:42.836Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:apk/alpine/py3-mccabe-pyc?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.21","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-mccabe-pyc","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-mccabe-pyc","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-mccabe-pyc/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:05:24.022Z","issues_count":50,"pull_requests_count":63,"avg_time_to_close_issue":8569675.048780488,"avg_time_to_close_pull_request":8642673.064516129,"issues_closed_count":41,"pull_requests_closed_count":62,"pull_request_authors_count":35,"issue_authors_count":40,"avg_comments_per_issue":2.72,"avg_comments_per_pull_request":1.8571428571428572,"merged_pull_requests_count":43,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":13909.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/issues","maintainers":[{"login":"sigmavirus24","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sigmavirus24"},{"login":"asottile","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/asottile"},{"login":"ssbarnea","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ssbarnea"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/py3-mccabe-pyc/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/py3-mccabe-pyc/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/py3-mccabe-pyc/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/py3-mccabe-pyc/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/py3-mccabe-pyc/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/py3-mccabe-pyc/codemeta","maintainers":[{"uuid":"alpine@ptrcnull.me","login":null,"name":"Patrycja Rosa","email":"alpine@ptrcnull.me","url":"https://pkgs.alpinelinux.org/packages?maintainer=Patrycja Rosa","packages_count":492,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Patrycja Rosa","role":null,"created_at":"2024-12-11T20:25:09.900Z","updated_at":"2024-12-11T20:25:09.900Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/maintainers/alpine@ptrcnull.me/packages"}],"registry":{"name":"alpine-v3.21","url":"https://pkgs.alpinelinux.org/packages?branch=v3.21","ecosystem":"alpine","default":false,"packages_count":25394,"maintainers_count":413,"namespaces_count":2,"keywords_count":3607,"github":"alpinelinux","metadata":{"repos":["main","community"],"funded_packages_count":1400},"icon_url":"https://github.com/alpinelinux.png","created_at":"2024-12-06T12:06:36.014Z","updated_at":"2026-08-24T05:06:22.358Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/namespaces"}},{"id":7779229,"name":"py3-mccabe","ecosystem":"alpine","description":"A McCabe complexity checker plugin for Flake8","homepage":"https://github.com/PyCQA/mccabe","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/PyCQA/mccabe","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2023-04-20T10:22:30.000Z","latest_release_published_at":"2023-04-20T10:22:30.000Z","latest_release_number":"0.7.0-r2","last_synced_at":"2026-08-24T11:29:48.666Z","created_at":"2023-05-22T14:28:23.399Z","updated_at":"2026-08-24T11:29:48.666Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.18/community/x86_64/py3-mccabe","install_command":"apk add py3-mccabe","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":7045095,"uuid":"8323509","full_name":"PyCQA/mccabe","owner":"PyCQA","description":"McCabe complexity checker for Python","archived":false,"fork":false,"pushed_at":"2026-06-28T01:01:39.000Z","size":116,"stargazers_count":681,"open_issues_count":12,"forks_count":65,"subscribers_count":15,"default_branch":"master","last_synced_at":"2026-08-18T10:36:57.494Z","etag":null,"topics":["complexity","complexity-analysis","flake8","flake8-extensions","flake8-plugin","linter-flake8","linter-plugin","mccabe","python"],"latest_commit_sha":null,"homepage":"pypi.python.org/pypi/mccabe","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"mxcl/PromiseKit","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PyCQA.png","metadata":{"files":{"readme":"README.rst","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-02-20T22:19:04.000Z","updated_at":"2026-08-13T18:12:59.000Z","dependencies_parsed_at":"2023-01-13T14:14:44.065Z","dependency_job_id":"97d17ba8-e5b2-4dcb-a1ef-90cbb568d25e","html_url":"https://github.com/PyCQA/mccabe","commit_stats":{"total_commits":110,"total_committers":26,"mean_commits":4.230769230769231,"dds":0.6818181818181819,"last_synced_commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"previous_names":["flintwork/mccabe"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/PyCQA/mccabe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/sbom","scorecard":{"id":115205,"data":{"date":"2025-08-11","repo":{"name":"github.com/PyCQA/mccabe","commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":"Code-Review","score":9,"reason":"Found 13/14 approved changesets -- score normalized to 9","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":-1,"reason":"no workflows found","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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: OSSFuzz integration found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 29 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T01:01:57.399Z","repository_id":7045095,"created_at":"2025-08-16T01:01:57.399Z","updated_at":"2025-08-16T01:01:57.399Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36767091,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-18T02:00:06.197Z","response_time":52,"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":"PyCQA","name":"Python Code Quality Authority","uuid":"8749848","kind":"organization","description":"Organization for code quality tools (and plugins) for the Python programming language","email":"code-quality@python.org","website":"http://meta.pycqa.org","location":"Everywhere","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/8749848?v=4","repositories_count":28,"last_synced_at":"2026-08-18T00:22:02.382Z","metadata":{"has_sponsors_listing":false,"funding":null},"html_url":"https://github.com/PyCQA","funding_links":[],"total_stars":28819,"followers":1026,"following":0,"created_at":"2022-11-02T16:22:05.191Z","updated_at":"2026-08-18T00:22:02.396Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA/repositories"},"tags":[{"name":"0.7.0","sha":"835a5400881b7460998be51d871fd36f836db3c9","kind":"tag","published_at":"2022-01-24T01:11:31.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.7.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0/manifests"},{"name":"0.6.1","sha":"55942cba66d39c39bd0d8425ee29822be16dfded","kind":"tag","published_at":"2017-02-07T12:31:06.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1/manifests"},{"name":"0.6.0","sha":"6a7aa34d0b7a03fd3a0ab42c45f4cc37c5e204f8","kind":"tag","published_at":"2017-01-23T12:41:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0/manifests"},{"name":"0.5.3","sha":"682145a37fee41fe7b6640244faa0c3f58e3b496","kind":"tag","published_at":"2016-12-14T13:07:37.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3/manifests"},{"name":"0.5.2","sha":"ec3787d685fe4ac3fa3f74ddd448db0a63f9464a","kind":"tag","published_at":"2016-07-31T19:05:08.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2/manifests"},{"name":"0.5.1","sha":"a3d91e8558e8d85d641b31276d34793caeb546ff","kind":"tag","published_at":"2016-07-28T10:54:32.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1/manifests"},{"name":"0.5.0","sha":"24ed5ee0791b1006e2d3d4774f651aa77c7b9a45","kind":"tag","published_at":"2016-05-30T20:55:35.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0/manifests"},{"name":"0.4.0","sha":"4931fcd5acebcc408a676b00cd1b9822e868c279","kind":"tag","published_at":"2016-01-27T16:59:28.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.4.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0/manifests"},{"name":"0.3.1","sha":"b193aaa906161ba590f2e0722eb479defa073923","kind":"tag","published_at":"2015-06-14T18:57:49.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1/manifests"},{"name":"0.3","sha":"e8aea16d28e92bd3c62601275762fc9c16808f6c","kind":"commit","published_at":"2014-12-17T01:22:10.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3/manifests"},{"name":"0.2.1","sha":"255ca7f93d62d56f53c1b7b8eb74923dec30ffe4","kind":"commit","published_at":"2013-04-03T12:45:13.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1/manifests"},{"name":"0.2","sha":"e88be51e0c6c2bd1b87d7a44b7e71b78fdc53959","kind":"commit","published_at":"2013-02-22T07:04:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2/manifests"},{"name":"0.1","sha":"4c326ed876b4a3046d1f2521c61b1d29d7633cd6","kind":"commit","published_at":"2013-02-11T08:14:25.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1/manifests"}]},"repo_metadata_updated_at":"2026-08-18T11:44:41.292Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":10.667797117350755,"forks_count":15.181287716323375,"docker_downloads_count":null,"average":6.4622712084185325},"purl":"pkg:apk/alpine/py3-mccabe?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.18","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-mccabe","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-mccabe","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-mccabe/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-18T10:31:57.067Z","issues_count":50,"pull_requests_count":64,"avg_time_to_close_issue":8569675.048780488,"avg_time_to_close_pull_request":8642673.064516129,"issues_closed_count":41,"pull_requests_closed_count":62,"pull_request_authors_count":36,"issue_authors_count":40,"avg_comments_per_issue":2.72,"avg_comments_per_pull_request":1.828125,"merged_pull_requests_count":43,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":3,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":13909.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/issues","maintainers":[{"login":"sigmavirus24","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sigmavirus24"},{"login":"asottile","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/asottile"},{"login":"ssbarnea","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ssbarnea"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/py3-mccabe/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/py3-mccabe/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/py3-mccabe/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/py3-mccabe/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/py3-mccabe/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/py3-mccabe/codemeta","maintainers":[{"uuid":"fabian@affolter-engineering.ch","login":null,"name":"Fabian Affolter","email":null,"url":"https://pkgs.alpinelinux.org/packages?maintainer=Fabian Affolter","packages_count":280,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Fabian Affolter","role":null,"created_at":"2023-05-23T07:16:08.498Z","updated_at":"2023-05-23T07:16:08.498Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/maintainers/fabian@affolter-engineering.ch/packages"}],"registry":{"name":"alpine-v3.18","url":"https://pkgs.alpinelinux.org/packages?branch=v3.18","ecosystem":"alpine","default":false,"packages_count":20068,"maintainers_count":367,"namespaces_count":2,"keywords_count":3639,"github":"alpinelinux","metadata":{"repos":["main","community"],"funded_packages_count":1238},"icon_url":"https://github.com/alpinelinux.png","created_at":"2023-05-22T10:43:30.622Z","updated_at":"2026-08-22T05:06:15.110Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/namespaces"}},{"id":11765909,"name":"py3-mccabe","ecosystem":"alpine","description":"A McCabe complexity checker plugin for Flake8","homepage":"https://github.com/PyCQA/mccabe","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/PyCQA/mccabe","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2024-09-21T21:56:06.000Z","latest_release_published_at":"2024-09-21T21:56:06.000Z","latest_release_number":"0.7.0-r4","last_synced_at":"2026-08-24T11:30:14.711Z","created_at":"2025-06-07T18:32:26.038Z","updated_at":"2026-08-24T11:30:14.711Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.22/community/x86_64/py3-mccabe","install_command":"apk add py3-mccabe","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":7045095,"uuid":"8323509","full_name":"PyCQA/mccabe","owner":"PyCQA","description":"McCabe complexity checker for Python","archived":false,"fork":false,"pushed_at":"2026-06-28T01:01:39.000Z","size":116,"stargazers_count":680,"open_issues_count":11,"forks_count":64,"subscribers_count":15,"default_branch":"master","last_synced_at":"2026-08-04T07:21:06.588Z","etag":null,"topics":["complexity","complexity-analysis","flake8","flake8-extensions","flake8-plugin","linter-flake8","linter-plugin","mccabe","python"],"latest_commit_sha":null,"homepage":"pypi.python.org/pypi/mccabe","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"mxcl/PromiseKit","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PyCQA.png","metadata":{"files":{"readme":"README.rst","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-02-20T22:19:04.000Z","updated_at":"2026-08-03T02:32:04.000Z","dependencies_parsed_at":"2023-01-13T14:14:44.065Z","dependency_job_id":"97d17ba8-e5b2-4dcb-a1ef-90cbb568d25e","html_url":"https://github.com/PyCQA/mccabe","commit_stats":{"total_commits":110,"total_committers":26,"mean_commits":4.230769230769231,"dds":0.6818181818181819,"last_synced_commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"previous_names":["flintwork/mccabe"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/PyCQA/mccabe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/sbom","scorecard":{"id":115205,"data":{"date":"2025-08-11","repo":{"name":"github.com/PyCQA/mccabe","commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":"Code-Review","score":9,"reason":"Found 13/14 approved changesets -- score normalized to 9","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":-1,"reason":"no workflows found","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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: OSSFuzz integration found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 29 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T01:01:57.399Z","repository_id":7045095,"created_at":"2025-08-16T01:01:57.399Z","updated_at":"2025-08-16T01:01:57.399Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36318301,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-08-05T02:00:06.619Z","response_time":104,"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":"PyCQA","name":"Python Code Quality Authority","uuid":"8749848","kind":"organization","description":"Organization for code quality tools (and plugins) for the Python programming language","email":"code-quality@python.org","website":"http://meta.pycqa.org","location":"Everywhere","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/8749848?v=4","repositories_count":28,"last_synced_at":"2026-08-18T00:22:02.382Z","metadata":{"has_sponsors_listing":false,"funding":null},"html_url":"https://github.com/PyCQA","funding_links":[],"total_stars":28819,"followers":1026,"following":0,"created_at":"2022-11-02T16:22:05.191Z","updated_at":"2026-08-18T00:22:02.396Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA/repositories"},"tags":[{"name":"0.7.0","sha":"835a5400881b7460998be51d871fd36f836db3c9","kind":"tag","published_at":"2022-01-24T01:11:31.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.7.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0/manifests"},{"name":"0.6.1","sha":"55942cba66d39c39bd0d8425ee29822be16dfded","kind":"tag","published_at":"2017-02-07T12:31:06.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1/manifests"},{"name":"0.6.0","sha":"6a7aa34d0b7a03fd3a0ab42c45f4cc37c5e204f8","kind":"tag","published_at":"2017-01-23T12:41:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0/manifests"},{"name":"0.5.3","sha":"682145a37fee41fe7b6640244faa0c3f58e3b496","kind":"tag","published_at":"2016-12-14T13:07:37.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3/manifests"},{"name":"0.5.2","sha":"ec3787d685fe4ac3fa3f74ddd448db0a63f9464a","kind":"tag","published_at":"2016-07-31T19:05:08.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2/manifests"},{"name":"0.5.1","sha":"a3d91e8558e8d85d641b31276d34793caeb546ff","kind":"tag","published_at":"2016-07-28T10:54:32.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1/manifests"},{"name":"0.5.0","sha":"24ed5ee0791b1006e2d3d4774f651aa77c7b9a45","kind":"tag","published_at":"2016-05-30T20:55:35.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0/manifests"},{"name":"0.4.0","sha":"4931fcd5acebcc408a676b00cd1b9822e868c279","kind":"tag","published_at":"2016-01-27T16:59:28.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.4.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0/manifests"},{"name":"0.3.1","sha":"b193aaa906161ba590f2e0722eb479defa073923","kind":"tag","published_at":"2015-06-14T18:57:49.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1/manifests"},{"name":"0.3","sha":"e8aea16d28e92bd3c62601275762fc9c16808f6c","kind":"commit","published_at":"2014-12-17T01:22:10.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3/manifests"},{"name":"0.2.1","sha":"255ca7f93d62d56f53c1b7b8eb74923dec30ffe4","kind":"commit","published_at":"2013-04-03T12:45:13.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1/manifests"},{"name":"0.2","sha":"e88be51e0c6c2bd1b87d7a44b7e71b78fdc53959","kind":"commit","published_at":"2013-02-22T07:04:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2/manifests"},{"name":"0.1","sha":"4c326ed876b4a3046d1f2521c61b1d29d7633cd6","kind":"commit","published_at":"2013-02-11T08:14:25.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1/manifests"}]},"repo_metadata_updated_at":"2026-08-18T10:40:05.800Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:apk/alpine/py3-mccabe?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.22","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-mccabe","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-mccabe","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-mccabe/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:05:24.022Z","issues_count":50,"pull_requests_count":63,"avg_time_to_close_issue":8569675.048780488,"avg_time_to_close_pull_request":8642673.064516129,"issues_closed_count":41,"pull_requests_closed_count":62,"pull_request_authors_count":35,"issue_authors_count":40,"avg_comments_per_issue":2.72,"avg_comments_per_pull_request":1.8571428571428572,"merged_pull_requests_count":43,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":13909.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/issues","maintainers":[{"login":"sigmavirus24","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sigmavirus24"},{"login":"asottile","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/asottile"},{"login":"ssbarnea","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ssbarnea"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/py3-mccabe/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/py3-mccabe/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/py3-mccabe/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/py3-mccabe/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/py3-mccabe/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/py3-mccabe/codemeta","maintainers":[{"uuid":"alpine@ptrcnull.me","login":null,"name":"Patrycja Rosa","email":"alpine@ptrcnull.me","url":"https://pkgs.alpinelinux.org/packages?maintainer=Patrycja Rosa","packages_count":493,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Patrycja Rosa","role":null,"created_at":"2025-06-08T15:39:21.030Z","updated_at":"2025-06-08T15:39:21.030Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/maintainers/alpine@ptrcnull.me/packages"}],"registry":{"name":"alpine-v3.22","url":"https://pkgs.alpinelinux.org/packages?branch=v3.22","ecosystem":"alpine","default":false,"packages_count":26323,"maintainers_count":422,"namespaces_count":2,"keywords_count":4638,"github":"alpinelinux","metadata":{"repos":["main","community"],"funded_packages_count":1803},"icon_url":"https://github.com/alpinelinux.png","created_at":"2025-06-05T10:49:56.987Z","updated_at":"2026-08-24T05:06:25.345Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/namespaces"}},{"id":13951815,"name":"python-mccabe","ecosystem":"guix","description":"McCabe checker, plugin for flake8","homepage":"https://github.com/PyCQA/mccabe","licenses":"expat","normalized_licenses":["Other"],"repository_url":"https://github.com/PyCQA/mccabe","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2026-03-02T19:24:00.791Z","latest_release_published_at":"2026-03-02T19:24:00.791Z","latest_release_number":"0.7.0","last_synced_at":"2026-04-27T16:37:20.226Z","created_at":"2026-03-02T19:24:00.616Z","updated_at":"2026-08-18T10:42:40.203Z","registry_url":"https://packages.guix.gnu.org/packages/python-mccabe/0.7.0/","install_command":"guix install python-mccabe","documentation_url":"https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/python-xyz.scm#n16286","metadata":{"location":"gnu/packages/python-xyz.scm:16286","variable_name":"python-mccabe"},"repo_metadata":{"id":7045095,"uuid":"8323509","full_name":"PyCQA/mccabe","owner":"PyCQA","description":"McCabe complexity checker for Python","archived":false,"fork":false,"pushed_at":"2026-06-28T01:01:39.000Z","size":116,"stargazers_count":680,"open_issues_count":11,"forks_count":64,"subscribers_count":15,"default_branch":"master","last_synced_at":"2026-08-04T07:21:06.588Z","etag":null,"topics":["complexity","complexity-analysis","flake8","flake8-extensions","flake8-plugin","linter-flake8","linter-plugin","mccabe","python"],"latest_commit_sha":null,"homepage":"pypi.python.org/pypi/mccabe","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"mxcl/PromiseKit","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PyCQA.png","metadata":{"files":{"readme":"README.rst","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-02-20T22:19:04.000Z","updated_at":"2026-08-03T02:32:04.000Z","dependencies_parsed_at":"2023-01-13T14:14:44.065Z","dependency_job_id":"97d17ba8-e5b2-4dcb-a1ef-90cbb568d25e","html_url":"https://github.com/PyCQA/mccabe","commit_stats":{"total_commits":110,"total_committers":26,"mean_commits":4.230769230769231,"dds":0.6818181818181819,"last_synced_commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"previous_names":["flintwork/mccabe"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/PyCQA/mccabe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/sbom","scorecard":{"id":115205,"data":{"date":"2025-08-11","repo":{"name":"github.com/PyCQA/mccabe","commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":"Code-Review","score":9,"reason":"Found 13/14 approved changesets -- score normalized to 9","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":-1,"reason":"no workflows found","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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: OSSFuzz integration found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 29 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T01:01:57.399Z","repository_id":7045095,"created_at":"2025-08-16T01:01:57.399Z","updated_at":"2025-08-16T01:01:57.399Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36318301,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-08-05T02:00:06.619Z","response_time":104,"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":"PyCQA","name":"Python Code Quality Authority","uuid":"8749848","kind":"organization","description":"Organization for code quality tools (and plugins) for the Python programming language","email":"code-quality@python.org","website":"http://meta.pycqa.org","location":"Everywhere","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/8749848?v=4","repositories_count":28,"last_synced_at":"2026-08-18T00:22:02.382Z","metadata":{"has_sponsors_listing":false,"funding":null},"html_url":"https://github.com/PyCQA","funding_links":[],"total_stars":28819,"followers":1026,"following":0,"created_at":"2022-11-02T16:22:05.191Z","updated_at":"2026-08-18T00:22:02.396Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA/repositories"},"tags":[{"name":"0.7.0","sha":"835a5400881b7460998be51d871fd36f836db3c9","kind":"tag","published_at":"2022-01-24T01:11:31.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.7.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0/manifests"},{"name":"0.6.1","sha":"55942cba66d39c39bd0d8425ee29822be16dfded","kind":"tag","published_at":"2017-02-07T12:31:06.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1/manifests"},{"name":"0.6.0","sha":"6a7aa34d0b7a03fd3a0ab42c45f4cc37c5e204f8","kind":"tag","published_at":"2017-01-23T12:41:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0/manifests"},{"name":"0.5.3","sha":"682145a37fee41fe7b6640244faa0c3f58e3b496","kind":"tag","published_at":"2016-12-14T13:07:37.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3/manifests"},{"name":"0.5.2","sha":"ec3787d685fe4ac3fa3f74ddd448db0a63f9464a","kind":"tag","published_at":"2016-07-31T19:05:08.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2/manifests"},{"name":"0.5.1","sha":"a3d91e8558e8d85d641b31276d34793caeb546ff","kind":"tag","published_at":"2016-07-28T10:54:32.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1/manifests"},{"name":"0.5.0","sha":"24ed5ee0791b1006e2d3d4774f651aa77c7b9a45","kind":"tag","published_at":"2016-05-30T20:55:35.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0/manifests"},{"name":"0.4.0","sha":"4931fcd5acebcc408a676b00cd1b9822e868c279","kind":"tag","published_at":"2016-01-27T16:59:28.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.4.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0/manifests"},{"name":"0.3.1","sha":"b193aaa906161ba590f2e0722eb479defa073923","kind":"tag","published_at":"2015-06-14T18:57:49.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1/manifests"},{"name":"0.3","sha":"e8aea16d28e92bd3c62601275762fc9c16808f6c","kind":"commit","published_at":"2014-12-17T01:22:10.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3/manifests"},{"name":"0.2.1","sha":"255ca7f93d62d56f53c1b7b8eb74923dec30ffe4","kind":"commit","published_at":"2013-04-03T12:45:13.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1/manifests"},{"name":"0.2","sha":"e88be51e0c6c2bd1b87d7a44b7e71b78fdc53959","kind":"commit","published_at":"2013-02-22T07:04:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2/manifests"},{"name":"0.1","sha":"4c326ed876b4a3046d1f2521c61b1d29d7633cd6","kind":"commit","published_at":"2013-02-11T08:14:25.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1/manifests"}]},"repo_metadata_updated_at":"2026-08-18T10:42:40.203Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:guix/python-mccabe","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/guix/python-mccabe","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/guix/python-mccabe","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/guix/python-mccabe/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:05:24.022Z","issues_count":50,"pull_requests_count":63,"avg_time_to_close_issue":8569675.048780488,"avg_time_to_close_pull_request":8642673.064516129,"issues_closed_count":41,"pull_requests_closed_count":62,"pull_request_authors_count":35,"issue_authors_count":40,"avg_comments_per_issue":2.72,"avg_comments_per_pull_request":1.8571428571428572,"merged_pull_requests_count":43,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":13909.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/issues","maintainers":[{"login":"sigmavirus24","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sigmavirus24"},{"login":"asottile","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/asottile"},{"login":"ssbarnea","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ssbarnea"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/python-mccabe/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/python-mccabe/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/python-mccabe/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/python-mccabe/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/python-mccabe/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/python-mccabe/codemeta","maintainers":[],"registry":{"name":"guix","url":"https://guix.gnu.org","ecosystem":"guix","default":true,"packages_count":32336,"maintainers_count":0,"namespaces_count":0,"keywords_count":1654,"github":"guix-mirror","metadata":{"funded_packages_count":1223},"icon_url":"https://github.com/guix-mirror.png","created_at":"2026-03-02T16:23:46.981Z","updated_at":"2026-08-24T05:05:20.073Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/guix/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/guix/namespaces"}},{"id":13009378,"name":"py3-mccabe-pyc","ecosystem":"alpine","description":"Precompiled Python bytecode for py3-mccabe","homepage":"https://github.com/PyCQA/mccabe","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/PyCQA/mccabe","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2024-09-21T21:56:06.000Z","latest_release_published_at":"2024-09-21T21:56:06.000Z","latest_release_number":"0.7.0-r4","last_synced_at":"2026-04-12T05:06:53.744Z","created_at":"2026-01-31T00:57:33.001Z","updated_at":"2026-08-18T10:42:40.427Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.23/community/x86_64/py3-mccabe-pyc","install_command":"apk add py3-mccabe-pyc","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":7045095,"uuid":"8323509","full_name":"PyCQA/mccabe","owner":"PyCQA","description":"McCabe complexity checker for Python","archived":false,"fork":false,"pushed_at":"2026-06-28T01:01:39.000Z","size":116,"stargazers_count":680,"open_issues_count":11,"forks_count":64,"subscribers_count":15,"default_branch":"master","last_synced_at":"2026-08-04T07:21:06.588Z","etag":null,"topics":["complexity","complexity-analysis","flake8","flake8-extensions","flake8-plugin","linter-flake8","linter-plugin","mccabe","python"],"latest_commit_sha":null,"homepage":"pypi.python.org/pypi/mccabe","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"mxcl/PromiseKit","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PyCQA.png","metadata":{"files":{"readme":"README.rst","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-02-20T22:19:04.000Z","updated_at":"2026-08-03T02:32:04.000Z","dependencies_parsed_at":"2023-01-13T14:14:44.065Z","dependency_job_id":"97d17ba8-e5b2-4dcb-a1ef-90cbb568d25e","html_url":"https://github.com/PyCQA/mccabe","commit_stats":{"total_commits":110,"total_committers":26,"mean_commits":4.230769230769231,"dds":0.6818181818181819,"last_synced_commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"previous_names":["flintwork/mccabe"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/PyCQA/mccabe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/sbom","scorecard":{"id":115205,"data":{"date":"2025-08-11","repo":{"name":"github.com/PyCQA/mccabe","commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":"Code-Review","score":9,"reason":"Found 13/14 approved changesets -- score normalized to 9","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":-1,"reason":"no workflows found","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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: OSSFuzz integration found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 29 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T01:01:57.399Z","repository_id":7045095,"created_at":"2025-08-16T01:01:57.399Z","updated_at":"2025-08-16T01:01:57.399Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36318301,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-08-05T02:00:06.619Z","response_time":104,"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":"PyCQA","name":"Python Code Quality Authority","uuid":"8749848","kind":"organization","description":"Organization for code quality tools (and plugins) for the Python programming language","email":"code-quality@python.org","website":"http://meta.pycqa.org","location":"Everywhere","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/8749848?v=4","repositories_count":28,"last_synced_at":"2026-08-18T00:22:02.382Z","metadata":{"has_sponsors_listing":false,"funding":null},"html_url":"https://github.com/PyCQA","funding_links":[],"total_stars":28819,"followers":1026,"following":0,"created_at":"2022-11-02T16:22:05.191Z","updated_at":"2026-08-18T00:22:02.396Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA/repositories"},"tags":[{"name":"0.7.0","sha":"835a5400881b7460998be51d871fd36f836db3c9","kind":"tag","published_at":"2022-01-24T01:11:31.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.7.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0/manifests"},{"name":"0.6.1","sha":"55942cba66d39c39bd0d8425ee29822be16dfded","kind":"tag","published_at":"2017-02-07T12:31:06.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1/manifests"},{"name":"0.6.0","sha":"6a7aa34d0b7a03fd3a0ab42c45f4cc37c5e204f8","kind":"tag","published_at":"2017-01-23T12:41:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0/manifests"},{"name":"0.5.3","sha":"682145a37fee41fe7b6640244faa0c3f58e3b496","kind":"tag","published_at":"2016-12-14T13:07:37.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3/manifests"},{"name":"0.5.2","sha":"ec3787d685fe4ac3fa3f74ddd448db0a63f9464a","kind":"tag","published_at":"2016-07-31T19:05:08.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2/manifests"},{"name":"0.5.1","sha":"a3d91e8558e8d85d641b31276d34793caeb546ff","kind":"tag","published_at":"2016-07-28T10:54:32.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1/manifests"},{"name":"0.5.0","sha":"24ed5ee0791b1006e2d3d4774f651aa77c7b9a45","kind":"tag","published_at":"2016-05-30T20:55:35.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0/manifests"},{"name":"0.4.0","sha":"4931fcd5acebcc408a676b00cd1b9822e868c279","kind":"tag","published_at":"2016-01-27T16:59:28.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.4.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0/manifests"},{"name":"0.3.1","sha":"b193aaa906161ba590f2e0722eb479defa073923","kind":"tag","published_at":"2015-06-14T18:57:49.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1/manifests"},{"name":"0.3","sha":"e8aea16d28e92bd3c62601275762fc9c16808f6c","kind":"commit","published_at":"2014-12-17T01:22:10.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3/manifests"},{"name":"0.2.1","sha":"255ca7f93d62d56f53c1b7b8eb74923dec30ffe4","kind":"commit","published_at":"2013-04-03T12:45:13.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1/manifests"},{"name":"0.2","sha":"e88be51e0c6c2bd1b87d7a44b7e71b78fdc53959","kind":"commit","published_at":"2013-02-22T07:04:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2/manifests"},{"name":"0.1","sha":"4c326ed876b4a3046d1f2521c61b1d29d7633cd6","kind":"commit","published_at":"2013-02-11T08:14:25.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1/manifests"}]},"repo_metadata_updated_at":"2026-08-18T10:42:40.427Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:apk/alpine/py3-mccabe-pyc?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.23","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-mccabe-pyc","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-mccabe-pyc","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-mccabe-pyc/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:05:24.022Z","issues_count":50,"pull_requests_count":63,"avg_time_to_close_issue":8569675.048780488,"avg_time_to_close_pull_request":8642673.064516129,"issues_closed_count":41,"pull_requests_closed_count":62,"pull_request_authors_count":35,"issue_authors_count":40,"avg_comments_per_issue":2.72,"avg_comments_per_pull_request":1.8571428571428572,"merged_pull_requests_count":43,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":13909.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/issues","maintainers":[{"login":"sigmavirus24","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sigmavirus24"},{"login":"asottile","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/asottile"},{"login":"ssbarnea","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ssbarnea"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/py3-mccabe-pyc/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/py3-mccabe-pyc/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/py3-mccabe-pyc/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/py3-mccabe-pyc/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/py3-mccabe-pyc/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/py3-mccabe-pyc/codemeta","maintainers":[{"uuid":"alpine@ptrcnull.me","login":null,"name":"Patrycja Rosa","email":"alpine@ptrcnull.me","url":"https://pkgs.alpinelinux.org/packages?maintainer=Patrycja Rosa","packages_count":487,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Patrycja Rosa","role":null,"created_at":"2026-03-04T02:16:26.204Z","updated_at":"2026-03-04T02:16:26.204Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/maintainers/alpine@ptrcnull.me/packages"}],"registry":{"name":"alpine-v3.23","url":"https://pkgs.alpinelinux.org/packages?branch=v3.23","ecosystem":"alpine","default":false,"packages_count":27576,"maintainers_count":428,"namespaces_count":2,"keywords_count":189,"github":"alpinelinux","metadata":{"repos":["main","community"],"funded_packages_count":1042},"icon_url":"https://github.com/alpinelinux.png","created_at":"2026-01-24T14:35:50.739Z","updated_at":"2026-08-24T05:05:17.086Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/namespaces"}},{"id":13009376,"name":"py3-mccabe","ecosystem":"alpine","description":"A McCabe complexity checker plugin for Flake8","homepage":"https://github.com/PyCQA/mccabe","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/PyCQA/mccabe","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2024-09-21T21:56:06.000Z","latest_release_published_at":"2024-09-21T21:56:06.000Z","latest_release_number":"0.7.0-r4","last_synced_at":"2026-04-12T05:06:52.617Z","created_at":"2026-01-31T00:57:31.760Z","updated_at":"2026-08-18T10:42:40.662Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.23/community/x86_64/py3-mccabe","install_command":"apk add py3-mccabe","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":7045095,"uuid":"8323509","full_name":"PyCQA/mccabe","owner":"PyCQA","description":"McCabe complexity checker for Python","archived":false,"fork":false,"pushed_at":"2026-06-28T01:01:39.000Z","size":116,"stargazers_count":680,"open_issues_count":11,"forks_count":64,"subscribers_count":15,"default_branch":"master","last_synced_at":"2026-08-04T07:21:06.588Z","etag":null,"topics":["complexity","complexity-analysis","flake8","flake8-extensions","flake8-plugin","linter-flake8","linter-plugin","mccabe","python"],"latest_commit_sha":null,"homepage":"pypi.python.org/pypi/mccabe","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"mxcl/PromiseKit","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PyCQA.png","metadata":{"files":{"readme":"README.rst","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-02-20T22:19:04.000Z","updated_at":"2026-08-03T02:32:04.000Z","dependencies_parsed_at":"2023-01-13T14:14:44.065Z","dependency_job_id":"97d17ba8-e5b2-4dcb-a1ef-90cbb568d25e","html_url":"https://github.com/PyCQA/mccabe","commit_stats":{"total_commits":110,"total_committers":26,"mean_commits":4.230769230769231,"dds":0.6818181818181819,"last_synced_commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"previous_names":["flintwork/mccabe"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/PyCQA/mccabe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/sbom","scorecard":{"id":115205,"data":{"date":"2025-08-11","repo":{"name":"github.com/PyCQA/mccabe","commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":"Code-Review","score":9,"reason":"Found 13/14 approved changesets -- score normalized to 9","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":-1,"reason":"no workflows found","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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: OSSFuzz integration found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 29 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T01:01:57.399Z","repository_id":7045095,"created_at":"2025-08-16T01:01:57.399Z","updated_at":"2025-08-16T01:01:57.399Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36318301,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-08-05T02:00:06.619Z","response_time":104,"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":"PyCQA","name":"Python Code Quality Authority","uuid":"8749848","kind":"organization","description":"Organization for code quality tools (and plugins) for the Python programming language","email":"code-quality@python.org","website":"http://meta.pycqa.org","location":"Everywhere","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/8749848?v=4","repositories_count":28,"last_synced_at":"2026-08-18T00:22:02.382Z","metadata":{"has_sponsors_listing":false,"funding":null},"html_url":"https://github.com/PyCQA","funding_links":[],"total_stars":28819,"followers":1026,"following":0,"created_at":"2022-11-02T16:22:05.191Z","updated_at":"2026-08-18T00:22:02.396Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA/repositories"},"tags":[{"name":"0.7.0","sha":"835a5400881b7460998be51d871fd36f836db3c9","kind":"tag","published_at":"2022-01-24T01:11:31.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.7.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0/manifests"},{"name":"0.6.1","sha":"55942cba66d39c39bd0d8425ee29822be16dfded","kind":"tag","published_at":"2017-02-07T12:31:06.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1/manifests"},{"name":"0.6.0","sha":"6a7aa34d0b7a03fd3a0ab42c45f4cc37c5e204f8","kind":"tag","published_at":"2017-01-23T12:41:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0/manifests"},{"name":"0.5.3","sha":"682145a37fee41fe7b6640244faa0c3f58e3b496","kind":"tag","published_at":"2016-12-14T13:07:37.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3/manifests"},{"name":"0.5.2","sha":"ec3787d685fe4ac3fa3f74ddd448db0a63f9464a","kind":"tag","published_at":"2016-07-31T19:05:08.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2/manifests"},{"name":"0.5.1","sha":"a3d91e8558e8d85d641b31276d34793caeb546ff","kind":"tag","published_at":"2016-07-28T10:54:32.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1/manifests"},{"name":"0.5.0","sha":"24ed5ee0791b1006e2d3d4774f651aa77c7b9a45","kind":"tag","published_at":"2016-05-30T20:55:35.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0/manifests"},{"name":"0.4.0","sha":"4931fcd5acebcc408a676b00cd1b9822e868c279","kind":"tag","published_at":"2016-01-27T16:59:28.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.4.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0/manifests"},{"name":"0.3.1","sha":"b193aaa906161ba590f2e0722eb479defa073923","kind":"tag","published_at":"2015-06-14T18:57:49.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1/manifests"},{"name":"0.3","sha":"e8aea16d28e92bd3c62601275762fc9c16808f6c","kind":"commit","published_at":"2014-12-17T01:22:10.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3/manifests"},{"name":"0.2.1","sha":"255ca7f93d62d56f53c1b7b8eb74923dec30ffe4","kind":"commit","published_at":"2013-04-03T12:45:13.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1/manifests"},{"name":"0.2","sha":"e88be51e0c6c2bd1b87d7a44b7e71b78fdc53959","kind":"commit","published_at":"2013-02-22T07:04:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2/manifests"},{"name":"0.1","sha":"4c326ed876b4a3046d1f2521c61b1d29d7633cd6","kind":"commit","published_at":"2013-02-11T08:14:25.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1/manifests"}]},"repo_metadata_updated_at":"2026-08-18T10:42:40.662Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:apk/alpine/py3-mccabe?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.23","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-mccabe","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-mccabe","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-mccabe/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:05:24.022Z","issues_count":50,"pull_requests_count":63,"avg_time_to_close_issue":8569675.048780488,"avg_time_to_close_pull_request":8642673.064516129,"issues_closed_count":41,"pull_requests_closed_count":62,"pull_request_authors_count":35,"issue_authors_count":40,"avg_comments_per_issue":2.72,"avg_comments_per_pull_request":1.8571428571428572,"merged_pull_requests_count":43,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":13909.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/issues","maintainers":[{"login":"sigmavirus24","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sigmavirus24"},{"login":"asottile","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/asottile"},{"login":"ssbarnea","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ssbarnea"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/py3-mccabe/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/py3-mccabe/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/py3-mccabe/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/py3-mccabe/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/py3-mccabe/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/py3-mccabe/codemeta","maintainers":[{"uuid":"alpine@ptrcnull.me","login":null,"name":"Patrycja Rosa","email":"alpine@ptrcnull.me","url":"https://pkgs.alpinelinux.org/packages?maintainer=Patrycja Rosa","packages_count":487,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Patrycja Rosa","role":null,"created_at":"2026-03-04T02:16:21.530Z","updated_at":"2026-03-04T02:16:21.530Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/maintainers/alpine@ptrcnull.me/packages"}],"registry":{"name":"alpine-v3.23","url":"https://pkgs.alpinelinux.org/packages?branch=v3.23","ecosystem":"alpine","default":false,"packages_count":27576,"maintainers_count":428,"namespaces_count":2,"keywords_count":189,"github":"alpinelinux","metadata":{"repos":["main","community"],"funded_packages_count":1042},"icon_url":"https://github.com/alpinelinux.png","created_at":"2026-01-24T14:35:50.739Z","updated_at":"2026-08-24T05:05:17.086Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/namespaces"}},{"id":8677295,"name":"py3-mccabe-pyc","ecosystem":"alpine","description":"Precompiled Python bytecode for py3-mccabe","homepage":"https://github.com/PyCQA/mccabe","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/PyCQA/mccabe","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2023-04-20T10:22:30.000Z","latest_release_published_at":"2023-04-20T10:22:30.000Z","latest_release_number":"0.7.0-r2","last_synced_at":"2026-08-03T19:01:58.210Z","created_at":"2023-12-20T10:28:31.773Z","updated_at":"2026-08-18T10:42:40.874Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.19/community/x86_64/py3-mccabe-pyc","install_command":"apk add py3-mccabe-pyc","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":7045095,"uuid":"8323509","full_name":"PyCQA/mccabe","owner":"PyCQA","description":"McCabe complexity checker for Python","archived":false,"fork":false,"pushed_at":"2026-06-28T01:01:39.000Z","size":116,"stargazers_count":680,"open_issues_count":11,"forks_count":64,"subscribers_count":15,"default_branch":"master","last_synced_at":"2026-08-04T07:21:06.588Z","etag":null,"topics":["complexity","complexity-analysis","flake8","flake8-extensions","flake8-plugin","linter-flake8","linter-plugin","mccabe","python"],"latest_commit_sha":null,"homepage":"pypi.python.org/pypi/mccabe","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"mxcl/PromiseKit","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PyCQA.png","metadata":{"files":{"readme":"README.rst","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-02-20T22:19:04.000Z","updated_at":"2026-08-03T02:32:04.000Z","dependencies_parsed_at":"2023-01-13T14:14:44.065Z","dependency_job_id":"97d17ba8-e5b2-4dcb-a1ef-90cbb568d25e","html_url":"https://github.com/PyCQA/mccabe","commit_stats":{"total_commits":110,"total_committers":26,"mean_commits":4.230769230769231,"dds":0.6818181818181819,"last_synced_commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"previous_names":["flintwork/mccabe"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/PyCQA/mccabe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/sbom","scorecard":{"id":115205,"data":{"date":"2025-08-11","repo":{"name":"github.com/PyCQA/mccabe","commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":"Code-Review","score":9,"reason":"Found 13/14 approved changesets -- score normalized to 9","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":-1,"reason":"no workflows found","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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: OSSFuzz integration found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 29 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T01:01:57.399Z","repository_id":7045095,"created_at":"2025-08-16T01:01:57.399Z","updated_at":"2025-08-16T01:01:57.399Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36318301,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-08-05T02:00:06.619Z","response_time":104,"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":"PyCQA","name":"Python Code Quality Authority","uuid":"8749848","kind":"organization","description":"Organization for code quality tools (and plugins) for the Python programming language","email":"code-quality@python.org","website":"http://meta.pycqa.org","location":"Everywhere","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/8749848?v=4","repositories_count":28,"last_synced_at":"2026-08-18T00:22:02.382Z","metadata":{"has_sponsors_listing":false,"funding":null},"html_url":"https://github.com/PyCQA","funding_links":[],"total_stars":28819,"followers":1026,"following":0,"created_at":"2022-11-02T16:22:05.191Z","updated_at":"2026-08-18T00:22:02.396Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA/repositories"},"tags":[{"name":"0.7.0","sha":"835a5400881b7460998be51d871fd36f836db3c9","kind":"tag","published_at":"2022-01-24T01:11:31.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.7.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0/manifests"},{"name":"0.6.1","sha":"55942cba66d39c39bd0d8425ee29822be16dfded","kind":"tag","published_at":"2017-02-07T12:31:06.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1/manifests"},{"name":"0.6.0","sha":"6a7aa34d0b7a03fd3a0ab42c45f4cc37c5e204f8","kind":"tag","published_at":"2017-01-23T12:41:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0/manifests"},{"name":"0.5.3","sha":"682145a37fee41fe7b6640244faa0c3f58e3b496","kind":"tag","published_at":"2016-12-14T13:07:37.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3/manifests"},{"name":"0.5.2","sha":"ec3787d685fe4ac3fa3f74ddd448db0a63f9464a","kind":"tag","published_at":"2016-07-31T19:05:08.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2/manifests"},{"name":"0.5.1","sha":"a3d91e8558e8d85d641b31276d34793caeb546ff","kind":"tag","published_at":"2016-07-28T10:54:32.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1/manifests"},{"name":"0.5.0","sha":"24ed5ee0791b1006e2d3d4774f651aa77c7b9a45","kind":"tag","published_at":"2016-05-30T20:55:35.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0/manifests"},{"name":"0.4.0","sha":"4931fcd5acebcc408a676b00cd1b9822e868c279","kind":"tag","published_at":"2016-01-27T16:59:28.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.4.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0/manifests"},{"name":"0.3.1","sha":"b193aaa906161ba590f2e0722eb479defa073923","kind":"tag","published_at":"2015-06-14T18:57:49.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1/manifests"},{"name":"0.3","sha":"e8aea16d28e92bd3c62601275762fc9c16808f6c","kind":"commit","published_at":"2014-12-17T01:22:10.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3/manifests"},{"name":"0.2.1","sha":"255ca7f93d62d56f53c1b7b8eb74923dec30ffe4","kind":"commit","published_at":"2013-04-03T12:45:13.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1/manifests"},{"name":"0.2","sha":"e88be51e0c6c2bd1b87d7a44b7e71b78fdc53959","kind":"commit","published_at":"2013-02-22T07:04:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2/manifests"},{"name":"0.1","sha":"4c326ed876b4a3046d1f2521c61b1d29d7633cd6","kind":"commit","published_at":"2013-02-11T08:14:25.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1/manifests"}]},"repo_metadata_updated_at":"2026-08-18T10:42:40.873Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:apk/alpine/py3-mccabe-pyc?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.19","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-mccabe-pyc","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-mccabe-pyc","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-mccabe-pyc/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:05:24.022Z","issues_count":50,"pull_requests_count":63,"avg_time_to_close_issue":8569675.048780488,"avg_time_to_close_pull_request":8642673.064516129,"issues_closed_count":41,"pull_requests_closed_count":62,"pull_request_authors_count":35,"issue_authors_count":40,"avg_comments_per_issue":2.72,"avg_comments_per_pull_request":1.8571428571428572,"merged_pull_requests_count":43,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":13909.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/issues","maintainers":[{"login":"sigmavirus24","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sigmavirus24"},{"login":"asottile","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/asottile"},{"login":"ssbarnea","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ssbarnea"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/py3-mccabe-pyc/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/py3-mccabe-pyc/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/py3-mccabe-pyc/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/py3-mccabe-pyc/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/py3-mccabe-pyc/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/py3-mccabe-pyc/codemeta","maintainers":[{"uuid":"fabian@affolter-engineering.ch","login":null,"name":"Fabian Affolter","email":null,"url":"https://pkgs.alpinelinux.org/packages?maintainer=Fabian Affolter","packages_count":282,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Fabian Affolter","role":null,"created_at":"2026-02-11T22:48:16.504Z","updated_at":"2026-02-11T22:48:16.504Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/maintainers/fabian@affolter-engineering.ch/packages"}],"registry":{"name":"alpine-v3.19","url":"https://pkgs.alpinelinux.org/packages?branch=v3.19","ecosystem":"alpine","default":false,"packages_count":23031,"maintainers_count":392,"namespaces_count":2,"keywords_count":3176,"github":"alpinelinux","metadata":{"repos":["main","community"],"funded_packages_count":957},"icon_url":"https://github.com/alpinelinux.png","created_at":"2023-12-20T09:51:56.346Z","updated_at":"2026-08-24T05:06:38.587Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/namespaces"}},{"id":7632439,"name":"py3-mccabe-pyc","ecosystem":"alpine","description":"Precompiled Python bytecode for py3-mccabe","homepage":"https://github.com/PyCQA/mccabe","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/PyCQA/mccabe","keywords_array":[],"namespace":"community","versions_count":3,"first_release_published_at":"2023-04-20T10:22:30.000Z","latest_release_published_at":"2024-09-21T21:56:06.000Z","latest_release_number":"0.7.0-r4","last_synced_at":"2026-07-31T11:03:34.560Z","created_at":"2023-04-23T01:46:53.399Z","updated_at":"2026-08-18T10:45:15.265Z","registry_url":"https://pkgs.alpinelinux.org/package/edge/community/x86_64/py3-mccabe-pyc","install_command":"apk add py3-mccabe-pyc","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":7045095,"uuid":"8323509","full_name":"PyCQA/mccabe","owner":"PyCQA","description":"McCabe complexity checker for Python","archived":false,"fork":false,"pushed_at":"2026-06-28T01:01:39.000Z","size":116,"stargazers_count":680,"open_issues_count":11,"forks_count":64,"subscribers_count":15,"default_branch":"master","last_synced_at":"2026-08-04T07:21:06.588Z","etag":null,"topics":["complexity","complexity-analysis","flake8","flake8-extensions","flake8-plugin","linter-flake8","linter-plugin","mccabe","python"],"latest_commit_sha":null,"homepage":"pypi.python.org/pypi/mccabe","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"mxcl/PromiseKit","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PyCQA.png","metadata":{"files":{"readme":"README.rst","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-02-20T22:19:04.000Z","updated_at":"2026-08-03T02:32:04.000Z","dependencies_parsed_at":"2023-01-13T14:14:44.065Z","dependency_job_id":"97d17ba8-e5b2-4dcb-a1ef-90cbb568d25e","html_url":"https://github.com/PyCQA/mccabe","commit_stats":{"total_commits":110,"total_committers":26,"mean_commits":4.230769230769231,"dds":0.6818181818181819,"last_synced_commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"previous_names":["flintwork/mccabe"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/PyCQA/mccabe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/sbom","scorecard":{"id":115205,"data":{"date":"2025-08-11","repo":{"name":"github.com/PyCQA/mccabe","commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":"Code-Review","score":9,"reason":"Found 13/14 approved changesets -- score normalized to 9","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":-1,"reason":"no workflows found","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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: OSSFuzz integration found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 29 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T01:01:57.399Z","repository_id":7045095,"created_at":"2025-08-16T01:01:57.399Z","updated_at":"2025-08-16T01:01:57.399Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36318301,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-08-05T02:00:06.619Z","response_time":104,"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":"PyCQA","name":"Python Code Quality Authority","uuid":"8749848","kind":"organization","description":"Organization for code quality tools (and plugins) for the Python programming language","email":"code-quality@python.org","website":"http://meta.pycqa.org","location":"Everywhere","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/8749848?v=4","repositories_count":28,"last_synced_at":"2026-08-18T00:22:02.382Z","metadata":{"has_sponsors_listing":false,"funding":null},"html_url":"https://github.com/PyCQA","funding_links":[],"total_stars":28819,"followers":1026,"following":0,"created_at":"2022-11-02T16:22:05.191Z","updated_at":"2026-08-18T00:22:02.396Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA/repositories"},"tags":[{"name":"0.7.0","sha":"835a5400881b7460998be51d871fd36f836db3c9","kind":"tag","published_at":"2022-01-24T01:11:31.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.7.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0/manifests"},{"name":"0.6.1","sha":"55942cba66d39c39bd0d8425ee29822be16dfded","kind":"tag","published_at":"2017-02-07T12:31:06.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1/manifests"},{"name":"0.6.0","sha":"6a7aa34d0b7a03fd3a0ab42c45f4cc37c5e204f8","kind":"tag","published_at":"2017-01-23T12:41:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0/manifests"},{"name":"0.5.3","sha":"682145a37fee41fe7b6640244faa0c3f58e3b496","kind":"tag","published_at":"2016-12-14T13:07:37.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3/manifests"},{"name":"0.5.2","sha":"ec3787d685fe4ac3fa3f74ddd448db0a63f9464a","kind":"tag","published_at":"2016-07-31T19:05:08.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2/manifests"},{"name":"0.5.1","sha":"a3d91e8558e8d85d641b31276d34793caeb546ff","kind":"tag","published_at":"2016-07-28T10:54:32.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1/manifests"},{"name":"0.5.0","sha":"24ed5ee0791b1006e2d3d4774f651aa77c7b9a45","kind":"tag","published_at":"2016-05-30T20:55:35.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0/manifests"},{"name":"0.4.0","sha":"4931fcd5acebcc408a676b00cd1b9822e868c279","kind":"tag","published_at":"2016-01-27T16:59:28.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.4.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0/manifests"},{"name":"0.3.1","sha":"b193aaa906161ba590f2e0722eb479defa073923","kind":"tag","published_at":"2015-06-14T18:57:49.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1/manifests"},{"name":"0.3","sha":"e8aea16d28e92bd3c62601275762fc9c16808f6c","kind":"commit","published_at":"2014-12-17T01:22:10.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3/manifests"},{"name":"0.2.1","sha":"255ca7f93d62d56f53c1b7b8eb74923dec30ffe4","kind":"commit","published_at":"2013-04-03T12:45:13.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1/manifests"},{"name":"0.2","sha":"e88be51e0c6c2bd1b87d7a44b7e71b78fdc53959","kind":"commit","published_at":"2013-02-22T07:04:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2/manifests"},{"name":"0.1","sha":"4c326ed876b4a3046d1f2521c61b1d29d7633cd6","kind":"commit","published_at":"2013-02-11T08:14:25.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1/manifests"}]},"repo_metadata_updated_at":"2026-08-18T10:45:15.264Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":14.132689623958058,"stargazers_count":12.605291476492633,"forks_count":16.983932613455043,"average":10.930478428476434},"purl":"pkg:apk/alpine/py3-mccabe-pyc?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=edge","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-mccabe-pyc","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-mccabe-pyc","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-mccabe-pyc/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:05:24.022Z","issues_count":50,"pull_requests_count":63,"avg_time_to_close_issue":8569675.048780488,"avg_time_to_close_pull_request":8642673.064516129,"issues_closed_count":41,"pull_requests_closed_count":62,"pull_request_authors_count":35,"issue_authors_count":40,"avg_comments_per_issue":2.72,"avg_comments_per_pull_request":1.8571428571428572,"merged_pull_requests_count":43,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":13909.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/issues","maintainers":[{"login":"sigmavirus24","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sigmavirus24"},{"login":"asottile","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/asottile"},{"login":"ssbarnea","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ssbarnea"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/py3-mccabe-pyc/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/py3-mccabe-pyc/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/py3-mccabe-pyc/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/py3-mccabe-pyc/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/py3-mccabe-pyc/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/py3-mccabe-pyc/codemeta","maintainers":[{"uuid":"alpine@ptrcnull.me","login":null,"name":"Patrycja Rosa","email":"alpine@ptrcnull.me","url":"https://pkgs.alpinelinux.org/packages?maintainer=Patrycja Rosa","packages_count":770,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Patrycja Rosa","role":null,"created_at":"2026-02-14T12:11:52.887Z","updated_at":"2026-02-14T12:11:52.887Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/maintainers/alpine@ptrcnull.me/packages"}],"registry":{"name":"alpine-edge","url":"https://pkgs.alpinelinux.org/packages?branch=edge","ecosystem":"alpine","default":false,"packages_count":39924,"maintainers_count":905,"namespaces_count":3,"keywords_count":6584,"github":"alpinelinux","metadata":{"repos":["main","community","testing"],"funded_packages_count":2944},"icon_url":"https://github.com/alpinelinux.png","created_at":"2023-01-31T17:27:50.616Z","updated_at":"2026-08-24T05:05:51.343Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/namespaces"}},{"id":6091949,"name":"py3-mccabe","ecosystem":"alpine","description":"A McCabe complexity checker plugin for Flake8","homepage":"https://github.com/PyCQA/mccabe","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/PyCQA/mccabe","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2022-07-28T11:30:24.000Z","latest_release_published_at":"2022-07-28T11:30:24.000Z","latest_release_number":"0.7.0-r0","last_synced_at":"2026-07-28T05:02:06.375Z","created_at":"2023-01-31T20:23:37.952Z","updated_at":"2026-08-18T10:45:55.008Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.17/community/x86_64/py3-mccabe","install_command":"apk add py3-mccabe","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":7045095,"uuid":"8323509","full_name":"PyCQA/mccabe","owner":"PyCQA","description":"McCabe complexity checker for Python","archived":false,"fork":false,"pushed_at":"2026-06-28T01:01:39.000Z","size":116,"stargazers_count":680,"open_issues_count":11,"forks_count":64,"subscribers_count":15,"default_branch":"master","last_synced_at":"2026-08-04T07:21:06.588Z","etag":null,"topics":["complexity","complexity-analysis","flake8","flake8-extensions","flake8-plugin","linter-flake8","linter-plugin","mccabe","python"],"latest_commit_sha":null,"homepage":"pypi.python.org/pypi/mccabe","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"mxcl/PromiseKit","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PyCQA.png","metadata":{"files":{"readme":"README.rst","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-02-20T22:19:04.000Z","updated_at":"2026-08-03T02:32:04.000Z","dependencies_parsed_at":"2023-01-13T14:14:44.065Z","dependency_job_id":"97d17ba8-e5b2-4dcb-a1ef-90cbb568d25e","html_url":"https://github.com/PyCQA/mccabe","commit_stats":{"total_commits":110,"total_committers":26,"mean_commits":4.230769230769231,"dds":0.6818181818181819,"last_synced_commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"previous_names":["flintwork/mccabe"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/PyCQA/mccabe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/sbom","scorecard":{"id":115205,"data":{"date":"2025-08-11","repo":{"name":"github.com/PyCQA/mccabe","commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":"Code-Review","score":9,"reason":"Found 13/14 approved changesets -- score normalized to 9","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":-1,"reason":"no workflows found","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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: OSSFuzz integration found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 29 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T01:01:57.399Z","repository_id":7045095,"created_at":"2025-08-16T01:01:57.399Z","updated_at":"2025-08-16T01:01:57.399Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36318301,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-08-05T02:00:06.619Z","response_time":104,"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":"PyCQA","name":"Python Code Quality Authority","uuid":"8749848","kind":"organization","description":"Organization for code quality tools (and plugins) for the Python programming language","email":"code-quality@python.org","website":"http://meta.pycqa.org","location":"Everywhere","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/8749848?v=4","repositories_count":28,"last_synced_at":"2026-08-18T00:22:02.382Z","metadata":{"has_sponsors_listing":false,"funding":null},"html_url":"https://github.com/PyCQA","funding_links":[],"total_stars":28819,"followers":1026,"following":0,"created_at":"2022-11-02T16:22:05.191Z","updated_at":"2026-08-18T00:22:02.396Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA/repositories"},"tags":[{"name":"0.7.0","sha":"835a5400881b7460998be51d871fd36f836db3c9","kind":"tag","published_at":"2022-01-24T01:11:31.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.7.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0/manifests"},{"name":"0.6.1","sha":"55942cba66d39c39bd0d8425ee29822be16dfded","kind":"tag","published_at":"2017-02-07T12:31:06.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1/manifests"},{"name":"0.6.0","sha":"6a7aa34d0b7a03fd3a0ab42c45f4cc37c5e204f8","kind":"tag","published_at":"2017-01-23T12:41:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0/manifests"},{"name":"0.5.3","sha":"682145a37fee41fe7b6640244faa0c3f58e3b496","kind":"tag","published_at":"2016-12-14T13:07:37.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3/manifests"},{"name":"0.5.2","sha":"ec3787d685fe4ac3fa3f74ddd448db0a63f9464a","kind":"tag","published_at":"2016-07-31T19:05:08.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2/manifests"},{"name":"0.5.1","sha":"a3d91e8558e8d85d641b31276d34793caeb546ff","kind":"tag","published_at":"2016-07-28T10:54:32.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1/manifests"},{"name":"0.5.0","sha":"24ed5ee0791b1006e2d3d4774f651aa77c7b9a45","kind":"tag","published_at":"2016-05-30T20:55:35.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0/manifests"},{"name":"0.4.0","sha":"4931fcd5acebcc408a676b00cd1b9822e868c279","kind":"tag","published_at":"2016-01-27T16:59:28.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.4.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0/manifests"},{"name":"0.3.1","sha":"b193aaa906161ba590f2e0722eb479defa073923","kind":"tag","published_at":"2015-06-14T18:57:49.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1/manifests"},{"name":"0.3","sha":"e8aea16d28e92bd3c62601275762fc9c16808f6c","kind":"commit","published_at":"2014-12-17T01:22:10.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3/manifests"},{"name":"0.2.1","sha":"255ca7f93d62d56f53c1b7b8eb74923dec30ffe4","kind":"commit","published_at":"2013-04-03T12:45:13.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1/manifests"},{"name":"0.2","sha":"e88be51e0c6c2bd1b87d7a44b7e71b78fdc53959","kind":"commit","published_at":"2013-02-22T07:04:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2/manifests"},{"name":"0.1","sha":"4c326ed876b4a3046d1f2521c61b1d29d7633cd6","kind":"commit","published_at":"2013-02-11T08:14:25.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1/manifests"}]},"repo_metadata_updated_at":"2026-08-18T10:45:55.008Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":27.253845290221175,"stargazers_count":10.104412260020208,"forks_count":14.308970472661953,"average":12.916807005725834},"purl":"pkg:apk/alpine/py3-mccabe?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.17","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-mccabe","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-mccabe","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-mccabe/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:05:24.022Z","issues_count":50,"pull_requests_count":63,"avg_time_to_close_issue":8569675.048780488,"avg_time_to_close_pull_request":8642673.064516129,"issues_closed_count":41,"pull_requests_closed_count":62,"pull_request_authors_count":35,"issue_authors_count":40,"avg_comments_per_issue":2.72,"avg_comments_per_pull_request":1.8571428571428572,"merged_pull_requests_count":43,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":13909.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/issues","maintainers":[{"login":"sigmavirus24","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sigmavirus24"},{"login":"asottile","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/asottile"},{"login":"ssbarnea","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ssbarnea"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.17/packages/py3-mccabe/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.17/packages/py3-mccabe/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.17/packages/py3-mccabe/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.17/packages/py3-mccabe/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.17/packages/py3-mccabe/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.17/packages/py3-mccabe/codemeta","maintainers":[{"uuid":"fabian@affolter-engineering.ch","login":null,"name":"Fabian Affolter","email":null,"url":"https://pkgs.alpinelinux.org/packages?maintainer=Fabian Affolter","packages_count":184,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Fabian Affolter","role":null,"created_at":"2023-02-01T06:22:15.072Z","updated_at":"2023-02-01T06:22:15.072Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.17/maintainers/fabian@affolter-engineering.ch/packages"}],"registry":{"name":"alpine-v3.17","url":"https://pkgs.alpinelinux.org/packages?branch=v3.17","ecosystem":"alpine","default":false,"packages_count":17817,"maintainers_count":352,"namespaces_count":2,"keywords_count":3375,"github":"alpinelinux","metadata":{"repos":["main","community"],"funded_packages_count":1065},"icon_url":"https://github.com/alpinelinux.png","created_at":"2023-01-31T17:27:50.642Z","updated_at":"2026-08-24T05:06:44.447Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.17/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.17/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.17/namespaces"}},{"id":6049779,"name":"py3-mccabe","ecosystem":"alpine","description":"A McCabe complexity checker plugin for Flake8","homepage":"https://github.com/PyCQA/mccabe","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/PyCQA/mccabe","keywords_array":[],"namespace":"community","versions_count":4,"first_release_published_at":"2022-11-22T19:33:35.000Z","latest_release_published_at":"2024-09-21T21:56:06.000Z","latest_release_number":"0.7.0-r4","last_synced_at":"2026-08-01T23:03:28.157Z","created_at":"2023-01-31T18:19:22.300Z","updated_at":"2026-08-18T10:53:12.155Z","registry_url":"https://pkgs.alpinelinux.org/package/edge/community/x86_64/py3-mccabe","install_command":"apk add py3-mccabe","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":7045095,"uuid":"8323509","full_name":"PyCQA/mccabe","owner":"PyCQA","description":"McCabe complexity checker for Python","archived":false,"fork":false,"pushed_at":"2026-06-28T01:01:39.000Z","size":116,"stargazers_count":680,"open_issues_count":11,"forks_count":64,"subscribers_count":15,"default_branch":"master","last_synced_at":"2026-08-04T07:21:06.588Z","etag":null,"topics":["complexity","complexity-analysis","flake8","flake8-extensions","flake8-plugin","linter-flake8","linter-plugin","mccabe","python"],"latest_commit_sha":null,"homepage":"pypi.python.org/pypi/mccabe","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"mxcl/PromiseKit","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PyCQA.png","metadata":{"files":{"readme":"README.rst","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-02-20T22:19:04.000Z","updated_at":"2026-08-03T02:32:04.000Z","dependencies_parsed_at":"2023-01-13T14:14:44.065Z","dependency_job_id":"97d17ba8-e5b2-4dcb-a1ef-90cbb568d25e","html_url":"https://github.com/PyCQA/mccabe","commit_stats":{"total_commits":110,"total_committers":26,"mean_commits":4.230769230769231,"dds":0.6818181818181819,"last_synced_commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"previous_names":["flintwork/mccabe"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/PyCQA/mccabe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/sbom","scorecard":{"id":115205,"data":{"date":"2025-08-11","repo":{"name":"github.com/PyCQA/mccabe","commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":"Code-Review","score":9,"reason":"Found 13/14 approved changesets -- score normalized to 9","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":-1,"reason":"no workflows found","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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: OSSFuzz integration found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 29 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T01:01:57.399Z","repository_id":7045095,"created_at":"2025-08-16T01:01:57.399Z","updated_at":"2025-08-16T01:01:57.399Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36318301,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-08-05T02:00:06.619Z","response_time":104,"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":"PyCQA","name":"Python Code Quality Authority","uuid":"8749848","kind":"organization","description":"Organization for code quality tools (and plugins) for the Python programming language","email":"code-quality@python.org","website":"http://meta.pycqa.org","location":"Everywhere","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/8749848?v=4","repositories_count":28,"last_synced_at":"2026-08-18T00:22:02.382Z","metadata":{"has_sponsors_listing":false,"funding":null},"html_url":"https://github.com/PyCQA","funding_links":[],"total_stars":28819,"followers":1026,"following":0,"created_at":"2022-11-02T16:22:05.191Z","updated_at":"2026-08-18T00:22:02.396Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA/repositories"},"tags":[{"name":"0.7.0","sha":"835a5400881b7460998be51d871fd36f836db3c9","kind":"tag","published_at":"2022-01-24T01:11:31.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.7.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0/manifests"},{"name":"0.6.1","sha":"55942cba66d39c39bd0d8425ee29822be16dfded","kind":"tag","published_at":"2017-02-07T12:31:06.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1/manifests"},{"name":"0.6.0","sha":"6a7aa34d0b7a03fd3a0ab42c45f4cc37c5e204f8","kind":"tag","published_at":"2017-01-23T12:41:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0/manifests"},{"name":"0.5.3","sha":"682145a37fee41fe7b6640244faa0c3f58e3b496","kind":"tag","published_at":"2016-12-14T13:07:37.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3/manifests"},{"name":"0.5.2","sha":"ec3787d685fe4ac3fa3f74ddd448db0a63f9464a","kind":"tag","published_at":"2016-07-31T19:05:08.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2/manifests"},{"name":"0.5.1","sha":"a3d91e8558e8d85d641b31276d34793caeb546ff","kind":"tag","published_at":"2016-07-28T10:54:32.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1/manifests"},{"name":"0.5.0","sha":"24ed5ee0791b1006e2d3d4774f651aa77c7b9a45","kind":"tag","published_at":"2016-05-30T20:55:35.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0/manifests"},{"name":"0.4.0","sha":"4931fcd5acebcc408a676b00cd1b9822e868c279","kind":"tag","published_at":"2016-01-27T16:59:28.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.4.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0/manifests"},{"name":"0.3.1","sha":"b193aaa906161ba590f2e0722eb479defa073923","kind":"tag","published_at":"2015-06-14T18:57:49.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1/manifests"},{"name":"0.3","sha":"e8aea16d28e92bd3c62601275762fc9c16808f6c","kind":"commit","published_at":"2014-12-17T01:22:10.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3/manifests"},{"name":"0.2.1","sha":"255ca7f93d62d56f53c1b7b8eb74923dec30ffe4","kind":"commit","published_at":"2013-04-03T12:45:13.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1/manifests"},{"name":"0.2","sha":"e88be51e0c6c2bd1b87d7a44b7e71b78fdc53959","kind":"commit","published_at":"2013-02-22T07:04:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2/manifests"},{"name":"0.1","sha":"4c326ed876b4a3046d1f2521c61b1d29d7633cd6","kind":"commit","published_at":"2013-02-11T08:14:25.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1/manifests"}]},"repo_metadata_updated_at":"2026-08-18T10:53:12.155Z","dependent_packages_count":1,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":6.030839073262366,"stargazers_count":12.214308077645587,"forks_count":16.50360050093926,"average":8.687186912961803},"purl":"pkg:apk/alpine/py3-mccabe?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=edge","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-mccabe","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-mccabe","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-mccabe/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:05:24.022Z","issues_count":50,"pull_requests_count":63,"avg_time_to_close_issue":8569675.048780488,"avg_time_to_close_pull_request":8642673.064516129,"issues_closed_count":41,"pull_requests_closed_count":62,"pull_request_authors_count":35,"issue_authors_count":40,"avg_comments_per_issue":2.72,"avg_comments_per_pull_request":1.8571428571428572,"merged_pull_requests_count":43,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":13909.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/issues","maintainers":[{"login":"sigmavirus24","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sigmavirus24"},{"login":"asottile","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/asottile"},{"login":"ssbarnea","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ssbarnea"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/py3-mccabe/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/py3-mccabe/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/py3-mccabe/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/py3-mccabe/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/py3-mccabe/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/py3-mccabe/codemeta","maintainers":[{"uuid":"alpine@ptrcnull.me","login":null,"name":"Patrycja Rosa","email":"alpine@ptrcnull.me","url":"https://pkgs.alpinelinux.org/packages?maintainer=Patrycja Rosa","packages_count":770,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Patrycja Rosa","role":null,"created_at":"2026-02-11T22:11:45.128Z","updated_at":"2026-02-11T22:11:45.128Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/maintainers/alpine@ptrcnull.me/packages"}],"registry":{"name":"alpine-edge","url":"https://pkgs.alpinelinux.org/packages?branch=edge","ecosystem":"alpine","default":false,"packages_count":39924,"maintainers_count":905,"namespaces_count":3,"keywords_count":6584,"github":"alpinelinux","metadata":{"repos":["main","community","testing"],"funded_packages_count":2944},"icon_url":"https://github.com/alpinelinux.png","created_at":"2023-01-31T17:27:50.616Z","updated_at":"2026-08-24T05:05:51.343Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/namespaces"}},{"id":11765911,"name":"py3-mccabe-pyc","ecosystem":"alpine","description":"Precompiled Python bytecode for py3-mccabe","homepage":"https://github.com/PyCQA/mccabe","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/PyCQA/mccabe","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2024-09-21T21:56:06.000Z","latest_release_published_at":"2024-09-21T21:56:06.000Z","latest_release_number":"0.7.0-r4","last_synced_at":"2026-03-11T22:53:42.471Z","created_at":"2025-06-07T18:32:26.406Z","updated_at":"2026-08-18T11:04:19.095Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.22/community/x86_64/py3-mccabe-pyc","install_command":"apk add py3-mccabe-pyc","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":7045095,"uuid":"8323509","full_name":"PyCQA/mccabe","owner":"PyCQA","description":"McCabe complexity checker for Python","archived":false,"fork":false,"pushed_at":"2026-06-28T01:01:39.000Z","size":116,"stargazers_count":680,"open_issues_count":11,"forks_count":64,"subscribers_count":15,"default_branch":"master","last_synced_at":"2026-08-04T07:21:06.588Z","etag":null,"topics":["complexity","complexity-analysis","flake8","flake8-extensions","flake8-plugin","linter-flake8","linter-plugin","mccabe","python"],"latest_commit_sha":null,"homepage":"pypi.python.org/pypi/mccabe","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"mxcl/PromiseKit","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PyCQA.png","metadata":{"files":{"readme":"README.rst","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-02-20T22:19:04.000Z","updated_at":"2026-08-03T02:32:04.000Z","dependencies_parsed_at":"2023-01-13T14:14:44.065Z","dependency_job_id":"97d17ba8-e5b2-4dcb-a1ef-90cbb568d25e","html_url":"https://github.com/PyCQA/mccabe","commit_stats":{"total_commits":110,"total_committers":26,"mean_commits":4.230769230769231,"dds":0.6818181818181819,"last_synced_commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"previous_names":["flintwork/mccabe"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/PyCQA/mccabe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/sbom","scorecard":{"id":115205,"data":{"date":"2025-08-11","repo":{"name":"github.com/PyCQA/mccabe","commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":"Code-Review","score":9,"reason":"Found 13/14 approved changesets -- score normalized to 9","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":-1,"reason":"no workflows found","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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: OSSFuzz integration found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 29 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T01:01:57.399Z","repository_id":7045095,"created_at":"2025-08-16T01:01:57.399Z","updated_at":"2025-08-16T01:01:57.399Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36318301,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-08-05T02:00:06.619Z","response_time":104,"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":"PyCQA","name":"Python Code Quality Authority","uuid":"8749848","kind":"organization","description":"Organization for code quality tools (and plugins) for the Python programming language","email":"code-quality@python.org","website":"http://meta.pycqa.org","location":"Everywhere","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/8749848?v=4","repositories_count":28,"last_synced_at":"2026-08-18T00:22:02.382Z","metadata":{"has_sponsors_listing":false,"funding":null},"html_url":"https://github.com/PyCQA","funding_links":[],"total_stars":28819,"followers":1026,"following":0,"created_at":"2022-11-02T16:22:05.191Z","updated_at":"2026-08-18T00:22:02.396Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA/repositories"},"tags":[{"name":"0.7.0","sha":"835a5400881b7460998be51d871fd36f836db3c9","kind":"tag","published_at":"2022-01-24T01:11:31.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.7.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0/manifests"},{"name":"0.6.1","sha":"55942cba66d39c39bd0d8425ee29822be16dfded","kind":"tag","published_at":"2017-02-07T12:31:06.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1/manifests"},{"name":"0.6.0","sha":"6a7aa34d0b7a03fd3a0ab42c45f4cc37c5e204f8","kind":"tag","published_at":"2017-01-23T12:41:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0/manifests"},{"name":"0.5.3","sha":"682145a37fee41fe7b6640244faa0c3f58e3b496","kind":"tag","published_at":"2016-12-14T13:07:37.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3/manifests"},{"name":"0.5.2","sha":"ec3787d685fe4ac3fa3f74ddd448db0a63f9464a","kind":"tag","published_at":"2016-07-31T19:05:08.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2/manifests"},{"name":"0.5.1","sha":"a3d91e8558e8d85d641b31276d34793caeb546ff","kind":"tag","published_at":"2016-07-28T10:54:32.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1/manifests"},{"name":"0.5.0","sha":"24ed5ee0791b1006e2d3d4774f651aa77c7b9a45","kind":"tag","published_at":"2016-05-30T20:55:35.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0/manifests"},{"name":"0.4.0","sha":"4931fcd5acebcc408a676b00cd1b9822e868c279","kind":"tag","published_at":"2016-01-27T16:59:28.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.4.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0/manifests"},{"name":"0.3.1","sha":"b193aaa906161ba590f2e0722eb479defa073923","kind":"tag","published_at":"2015-06-14T18:57:49.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1/manifests"},{"name":"0.3","sha":"e8aea16d28e92bd3c62601275762fc9c16808f6c","kind":"commit","published_at":"2014-12-17T01:22:10.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3/manifests"},{"name":"0.2.1","sha":"255ca7f93d62d56f53c1b7b8eb74923dec30ffe4","kind":"commit","published_at":"2013-04-03T12:45:13.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1/manifests"},{"name":"0.2","sha":"e88be51e0c6c2bd1b87d7a44b7e71b78fdc53959","kind":"commit","published_at":"2013-02-22T07:04:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2/manifests"},{"name":"0.1","sha":"4c326ed876b4a3046d1f2521c61b1d29d7633cd6","kind":"commit","published_at":"2013-02-11T08:14:25.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1/manifests"}]},"repo_metadata_updated_at":"2026-08-18T11:04:19.094Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:apk/alpine/py3-mccabe-pyc?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.22","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-mccabe-pyc","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-mccabe-pyc","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-mccabe-pyc/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:05:24.022Z","issues_count":50,"pull_requests_count":63,"avg_time_to_close_issue":8569675.048780488,"avg_time_to_close_pull_request":8642673.064516129,"issues_closed_count":41,"pull_requests_closed_count":62,"pull_request_authors_count":35,"issue_authors_count":40,"avg_comments_per_issue":2.72,"avg_comments_per_pull_request":1.8571428571428572,"merged_pull_requests_count":43,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":13909.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/issues","maintainers":[{"login":"sigmavirus24","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sigmavirus24"},{"login":"asottile","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/asottile"},{"login":"ssbarnea","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ssbarnea"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/py3-mccabe-pyc/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/py3-mccabe-pyc/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/py3-mccabe-pyc/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/py3-mccabe-pyc/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/py3-mccabe-pyc/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/py3-mccabe-pyc/codemeta","maintainers":[{"uuid":"alpine@ptrcnull.me","login":null,"name":"Patrycja Rosa","email":"alpine@ptrcnull.me","url":"https://pkgs.alpinelinux.org/packages?maintainer=Patrycja Rosa","packages_count":493,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Patrycja Rosa","role":null,"created_at":"2025-06-08T15:39:19.418Z","updated_at":"2025-06-08T15:39:19.418Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/maintainers/alpine@ptrcnull.me/packages"}],"registry":{"name":"alpine-v3.22","url":"https://pkgs.alpinelinux.org/packages?branch=v3.22","ecosystem":"alpine","default":false,"packages_count":26323,"maintainers_count":422,"namespaces_count":2,"keywords_count":4638,"github":"alpinelinux","metadata":{"repos":["main","community"],"funded_packages_count":1803},"icon_url":"https://github.com/alpinelinux.png","created_at":"2025-06-05T10:49:56.987Z","updated_at":"2026-08-24T05:06:25.345Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/namespaces"}},{"id":14512515,"name":"dev-python/mccabe","ecosystem":"gentoo","description":"flake8 plugin: McCabe complexity checker","homepage":"https://github.com/PyCQA/mccabe/","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/PyCQA/mccabe","keywords_array":["~alpha","amd64","arm","arm64","~hppa","~loong","~m68k","~mips","ppc","ppc64","~riscv","~s390","~sparc","x86","~x64-macos","~x64-solaris"],"namespace":"dev-python","versions_count":1,"first_release_published_at":"2026-05-11T16:39:47.000Z","latest_release_published_at":"2026-05-11T16:39:47.000Z","latest_release_number":"0.7.0","last_synced_at":"2026-05-27T02:28:16.201Z","created_at":"2026-05-27T02:28:15.877Z","updated_at":"2026-08-18T11:24:32.610Z","registry_url":"https://packages.gentoo.org/packages/dev-python/mccabe","install_command":"emerge dev-python/mccabe","documentation_url":"https://packages.gentoo.org/packages/dev-python/mccabe","metadata":{"category":"dev-python","slot":"0","eapi":"8","inherit":"distutils-r1 pypi","iuse":"test python_targets_pypy3_11 python_targets_python3_11 python_targets_python3_12 python_targets_python3_13 python_targets_python3_14"},"repo_metadata":{"id":7045095,"uuid":"8323509","full_name":"PyCQA/mccabe","owner":"PyCQA","description":"McCabe complexity checker for Python","archived":false,"fork":false,"pushed_at":"2026-06-28T01:01:39.000Z","size":116,"stargazers_count":680,"open_issues_count":11,"forks_count":64,"subscribers_count":15,"default_branch":"master","last_synced_at":"2026-08-04T07:21:06.588Z","etag":null,"topics":["complexity","complexity-analysis","flake8","flake8-extensions","flake8-plugin","linter-flake8","linter-plugin","mccabe","python"],"latest_commit_sha":null,"homepage":"pypi.python.org/pypi/mccabe","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"mxcl/PromiseKit","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PyCQA.png","metadata":{"files":{"readme":"README.rst","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-02-20T22:19:04.000Z","updated_at":"2026-08-03T02:32:04.000Z","dependencies_parsed_at":"2023-01-13T14:14:44.065Z","dependency_job_id":"97d17ba8-e5b2-4dcb-a1ef-90cbb568d25e","html_url":"https://github.com/PyCQA/mccabe","commit_stats":{"total_commits":110,"total_committers":26,"mean_commits":4.230769230769231,"dds":0.6818181818181819,"last_synced_commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"previous_names":["flintwork/mccabe"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/PyCQA/mccabe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/sbom","scorecard":{"id":115205,"data":{"date":"2025-08-11","repo":{"name":"github.com/PyCQA/mccabe","commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":"Code-Review","score":9,"reason":"Found 13/14 approved changesets -- score normalized to 9","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":-1,"reason":"no workflows found","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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: OSSFuzz integration found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 29 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T01:01:57.399Z","repository_id":7045095,"created_at":"2025-08-16T01:01:57.399Z","updated_at":"2025-08-16T01:01:57.399Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36318301,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-08-05T02:00:06.619Z","response_time":104,"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":"PyCQA","name":"Python Code Quality Authority","uuid":"8749848","kind":"organization","description":"Organization for code quality tools (and plugins) for the Python programming language","email":"code-quality@python.org","website":"http://meta.pycqa.org","location":"Everywhere","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/8749848?v=4","repositories_count":28,"last_synced_at":"2026-08-18T00:22:02.382Z","metadata":{"has_sponsors_listing":false,"funding":null},"html_url":"https://github.com/PyCQA","funding_links":[],"total_stars":28819,"followers":1026,"following":0,"created_at":"2022-11-02T16:22:05.191Z","updated_at":"2026-08-18T00:22:02.396Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA/repositories"},"tags":[{"name":"0.7.0","sha":"835a5400881b7460998be51d871fd36f836db3c9","kind":"tag","published_at":"2022-01-24T01:11:31.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.7.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0/manifests"},{"name":"0.6.1","sha":"55942cba66d39c39bd0d8425ee29822be16dfded","kind":"tag","published_at":"2017-02-07T12:31:06.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1/manifests"},{"name":"0.6.0","sha":"6a7aa34d0b7a03fd3a0ab42c45f4cc37c5e204f8","kind":"tag","published_at":"2017-01-23T12:41:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0/manifests"},{"name":"0.5.3","sha":"682145a37fee41fe7b6640244faa0c3f58e3b496","kind":"tag","published_at":"2016-12-14T13:07:37.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3/manifests"},{"name":"0.5.2","sha":"ec3787d685fe4ac3fa3f74ddd448db0a63f9464a","kind":"tag","published_at":"2016-07-31T19:05:08.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2/manifests"},{"name":"0.5.1","sha":"a3d91e8558e8d85d641b31276d34793caeb546ff","kind":"tag","published_at":"2016-07-28T10:54:32.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1/manifests"},{"name":"0.5.0","sha":"24ed5ee0791b1006e2d3d4774f651aa77c7b9a45","kind":"tag","published_at":"2016-05-30T20:55:35.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0/manifests"},{"name":"0.4.0","sha":"4931fcd5acebcc408a676b00cd1b9822e868c279","kind":"tag","published_at":"2016-01-27T16:59:28.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.4.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0/manifests"},{"name":"0.3.1","sha":"b193aaa906161ba590f2e0722eb479defa073923","kind":"tag","published_at":"2015-06-14T18:57:49.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1/manifests"},{"name":"0.3","sha":"e8aea16d28e92bd3c62601275762fc9c16808f6c","kind":"commit","published_at":"2014-12-17T01:22:10.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3/manifests"},{"name":"0.2.1","sha":"255ca7f93d62d56f53c1b7b8eb74923dec30ffe4","kind":"commit","published_at":"2013-04-03T12:45:13.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1/manifests"},{"name":"0.2","sha":"e88be51e0c6c2bd1b87d7a44b7e71b78fdc53959","kind":"commit","published_at":"2013-02-22T07:04:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2/manifests"},{"name":"0.1","sha":"4c326ed876b4a3046d1f2521c61b1d29d7633cd6","kind":"commit","published_at":"2013-02-11T08:14:25.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1/manifests"}]},"repo_metadata_updated_at":"2026-08-18T11:24:32.609Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:gentoo/dev-python/mccabe","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/gentoo/dev-python/mccabe","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/gentoo/dev-python/mccabe","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/gentoo/dev-python/mccabe/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:05:24.022Z","issues_count":50,"pull_requests_count":63,"avg_time_to_close_issue":8569675.048780488,"avg_time_to_close_pull_request":8642673.064516129,"issues_closed_count":41,"pull_requests_closed_count":62,"pull_request_authors_count":35,"issue_authors_count":40,"avg_comments_per_issue":2.72,"avg_comments_per_pull_request":1.8571428571428572,"merged_pull_requests_count":43,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":13909.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/issues","maintainers":[{"login":"sigmavirus24","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sigmavirus24"},{"login":"asottile","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/asottile"},{"login":"ssbarnea","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ssbarnea"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-python%2Fmccabe/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-python%2Fmccabe/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-python%2Fmccabe/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-python%2Fmccabe/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-python%2Fmccabe/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-python%2Fmccabe/codemeta","maintainers":[],"registry":{"name":"gentoo-portage","url":"https://packages.gentoo.org/","ecosystem":"gentoo","default":true,"packages_count":19524,"maintainers_count":0,"namespaces_count":174,"keywords_count":1054,"github":"gentoo","metadata":{"snapshot_url":"https://distfiles.gentoo.org/snapshots/portage-latest.tar.xz","funded_packages_count":620},"icon_url":"https://github.com/gentoo.png","created_at":"2026-05-26T08:59:24.155Z","updated_at":"2026-08-24T05:05:20.930Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/namespaces"}},{"id":8677294,"name":"py3-mccabe","ecosystem":"alpine","description":"A McCabe complexity checker plugin for Flake8","homepage":"https://github.com/PyCQA/mccabe","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/PyCQA/mccabe","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2023-04-20T10:22:30.000Z","latest_release_published_at":"2023-04-20T10:22:30.000Z","latest_release_number":"0.7.0-r2","last_synced_at":"2026-03-16T15:27:54.763Z","created_at":"2023-12-20T10:28:31.695Z","updated_at":"2026-08-18T11:37:21.281Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.19/community/x86_64/py3-mccabe","install_command":"apk add py3-mccabe","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":7045095,"uuid":"8323509","full_name":"PyCQA/mccabe","owner":"PyCQA","description":"McCabe complexity checker for Python","archived":false,"fork":false,"pushed_at":"2026-06-28T01:01:39.000Z","size":116,"stargazers_count":680,"open_issues_count":11,"forks_count":64,"subscribers_count":15,"default_branch":"master","last_synced_at":"2026-08-04T07:21:06.588Z","etag":null,"topics":["complexity","complexity-analysis","flake8","flake8-extensions","flake8-plugin","linter-flake8","linter-plugin","mccabe","python"],"latest_commit_sha":null,"homepage":"pypi.python.org/pypi/mccabe","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"mxcl/PromiseKit","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PyCQA.png","metadata":{"files":{"readme":"README.rst","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-02-20T22:19:04.000Z","updated_at":"2026-08-03T02:32:04.000Z","dependencies_parsed_at":"2023-01-13T14:14:44.065Z","dependency_job_id":"97d17ba8-e5b2-4dcb-a1ef-90cbb568d25e","html_url":"https://github.com/PyCQA/mccabe","commit_stats":{"total_commits":110,"total_committers":26,"mean_commits":4.230769230769231,"dds":0.6818181818181819,"last_synced_commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"previous_names":["flintwork/mccabe"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/PyCQA/mccabe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/sbom","scorecard":{"id":115205,"data":{"date":"2025-08-11","repo":{"name":"github.com/PyCQA/mccabe","commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":"Code-Review","score":9,"reason":"Found 13/14 approved changesets -- score normalized to 9","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":-1,"reason":"no workflows found","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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: OSSFuzz integration found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 29 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T01:01:57.399Z","repository_id":7045095,"created_at":"2025-08-16T01:01:57.399Z","updated_at":"2025-08-16T01:01:57.399Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36318301,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-08-05T02:00:06.619Z","response_time":104,"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"}},"repo_metadata_updated_at":"2026-08-18T11:37:21.281Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:apk/alpine/py3-mccabe?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.19","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-mccabe","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-mccabe","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-mccabe/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:05:24.022Z","issues_count":50,"pull_requests_count":63,"avg_time_to_close_issue":8569675.048780488,"avg_time_to_close_pull_request":8642673.064516129,"issues_closed_count":41,"pull_requests_closed_count":62,"pull_request_authors_count":35,"issue_authors_count":40,"avg_comments_per_issue":2.72,"avg_comments_per_pull_request":1.8571428571428572,"merged_pull_requests_count":43,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":13909.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/issues","maintainers":[{"login":"sigmavirus24","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sigmavirus24"},{"login":"asottile","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/asottile"},{"login":"ssbarnea","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ssbarnea"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/py3-mccabe/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/py3-mccabe/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/py3-mccabe/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/py3-mccabe/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/py3-mccabe/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/py3-mccabe/codemeta","maintainers":[{"uuid":"fabian@affolter-engineering.ch","login":null,"name":"Fabian Affolter","email":null,"url":"https://pkgs.alpinelinux.org/packages?maintainer=Fabian Affolter","packages_count":282,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Fabian Affolter","role":null,"created_at":"2026-02-16T14:21:43.655Z","updated_at":"2026-02-16T14:21:43.655Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/maintainers/fabian@affolter-engineering.ch/packages"}],"registry":{"name":"alpine-v3.19","url":"https://pkgs.alpinelinux.org/packages?branch=v3.19","ecosystem":"alpine","default":false,"packages_count":23031,"maintainers_count":392,"namespaces_count":2,"keywords_count":3176,"github":"alpinelinux","metadata":{"repos":["main","community"],"funded_packages_count":957},"icon_url":"https://github.com/alpinelinux.png","created_at":"2023-12-20T09:51:56.346Z","updated_at":"2026-08-24T05:06:38.587Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/namespaces"}},{"id":7779231,"name":"py3-mccabe-pyc","ecosystem":"alpine","description":"Precompiled Python bytecode for py3-mccabe","homepage":"https://github.com/PyCQA/mccabe","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/PyCQA/mccabe","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2023-04-20T10:22:30.000Z","latest_release_published_at":"2023-04-20T10:22:30.000Z","latest_release_number":"0.7.0-r2","last_synced_at":"2026-03-11T23:20:03.947Z","created_at":"2023-05-22T14:28:23.631Z","updated_at":"2026-08-18T11:37:24.149Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.18/community/x86_64/py3-mccabe-pyc","install_command":"apk add py3-mccabe-pyc","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":7045095,"uuid":"8323509","full_name":"PyCQA/mccabe","owner":"PyCQA","description":"McCabe complexity checker for Python","archived":false,"fork":false,"pushed_at":"2026-06-28T01:01:39.000Z","size":116,"stargazers_count":681,"open_issues_count":12,"forks_count":65,"subscribers_count":15,"default_branch":"master","last_synced_at":"2026-08-18T10:36:57.494Z","etag":null,"topics":["complexity","complexity-analysis","flake8","flake8-extensions","flake8-plugin","linter-flake8","linter-plugin","mccabe","python"],"latest_commit_sha":null,"homepage":"pypi.python.org/pypi/mccabe","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"mxcl/PromiseKit","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PyCQA.png","metadata":{"files":{"readme":"README.rst","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-02-20T22:19:04.000Z","updated_at":"2026-08-13T18:12:59.000Z","dependencies_parsed_at":"2023-01-13T14:14:44.065Z","dependency_job_id":"97d17ba8-e5b2-4dcb-a1ef-90cbb568d25e","html_url":"https://github.com/PyCQA/mccabe","commit_stats":{"total_commits":110,"total_committers":26,"mean_commits":4.230769230769231,"dds":0.6818181818181819,"last_synced_commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"previous_names":["flintwork/mccabe"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/PyCQA/mccabe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/sbom","scorecard":{"id":115205,"data":{"date":"2025-08-11","repo":{"name":"github.com/PyCQA/mccabe","commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":"Code-Review","score":9,"reason":"Found 13/14 approved changesets -- score normalized to 9","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":-1,"reason":"no workflows found","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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: OSSFuzz integration found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 29 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T01:01:57.399Z","repository_id":7045095,"created_at":"2025-08-16T01:01:57.399Z","updated_at":"2025-08-16T01:01:57.399Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36767091,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-18T02:00:06.197Z","response_time":52,"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":"PyCQA","name":"Python Code Quality Authority","uuid":"8749848","kind":"organization","description":"Organization for code quality tools (and plugins) for the Python programming language","email":"code-quality@python.org","website":"http://meta.pycqa.org","location":"Everywhere","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/8749848?v=4","repositories_count":28,"last_synced_at":"2026-08-18T00:22:02.382Z","metadata":{"has_sponsors_listing":false,"funding":null},"html_url":"https://github.com/PyCQA","funding_links":[],"total_stars":28819,"followers":1026,"following":0,"created_at":"2022-11-02T16:22:05.191Z","updated_at":"2026-08-18T00:22:02.396Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA/repositories"},"tags":[{"name":"0.7.0","sha":"835a5400881b7460998be51d871fd36f836db3c9","kind":"tag","published_at":"2022-01-24T01:11:31.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.7.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0/manifests"},{"name":"0.6.1","sha":"55942cba66d39c39bd0d8425ee29822be16dfded","kind":"tag","published_at":"2017-02-07T12:31:06.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1/manifests"},{"name":"0.6.0","sha":"6a7aa34d0b7a03fd3a0ab42c45f4cc37c5e204f8","kind":"tag","published_at":"2017-01-23T12:41:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0/manifests"},{"name":"0.5.3","sha":"682145a37fee41fe7b6640244faa0c3f58e3b496","kind":"tag","published_at":"2016-12-14T13:07:37.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3/manifests"},{"name":"0.5.2","sha":"ec3787d685fe4ac3fa3f74ddd448db0a63f9464a","kind":"tag","published_at":"2016-07-31T19:05:08.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2/manifests"},{"name":"0.5.1","sha":"a3d91e8558e8d85d641b31276d34793caeb546ff","kind":"tag","published_at":"2016-07-28T10:54:32.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1/manifests"},{"name":"0.5.0","sha":"24ed5ee0791b1006e2d3d4774f651aa77c7b9a45","kind":"tag","published_at":"2016-05-30T20:55:35.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0/manifests"},{"name":"0.4.0","sha":"4931fcd5acebcc408a676b00cd1b9822e868c279","kind":"tag","published_at":"2016-01-27T16:59:28.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.4.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0/manifests"},{"name":"0.3.1","sha":"b193aaa906161ba590f2e0722eb479defa073923","kind":"tag","published_at":"2015-06-14T18:57:49.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1/manifests"},{"name":"0.3","sha":"e8aea16d28e92bd3c62601275762fc9c16808f6c","kind":"commit","published_at":"2014-12-17T01:22:10.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3/manifests"},{"name":"0.2.1","sha":"255ca7f93d62d56f53c1b7b8eb74923dec30ffe4","kind":"commit","published_at":"2013-04-03T12:45:13.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1/manifests"},{"name":"0.2","sha":"e88be51e0c6c2bd1b87d7a44b7e71b78fdc53959","kind":"commit","published_at":"2013-02-22T07:04:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2/manifests"},{"name":"0.1","sha":"4c326ed876b4a3046d1f2521c61b1d29d7633cd6","kind":"commit","published_at":"2013-02-11T08:14:25.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1/manifests"}]},"repo_metadata_updated_at":"2026-08-18T11:37:24.149Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":10.667797117350755,"forks_count":15.181287716323375,"docker_downloads_count":null,"average":6.4622712084185325},"purl":"pkg:apk/alpine/py3-mccabe-pyc?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.18","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-mccabe-pyc","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-mccabe-pyc","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-mccabe-pyc/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:05:24.022Z","issues_count":50,"pull_requests_count":63,"avg_time_to_close_issue":8569675.048780488,"avg_time_to_close_pull_request":8642673.064516129,"issues_closed_count":41,"pull_requests_closed_count":62,"pull_request_authors_count":35,"issue_authors_count":40,"avg_comments_per_issue":2.72,"avg_comments_per_pull_request":1.8571428571428572,"merged_pull_requests_count":43,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":13909.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/issues","maintainers":[{"login":"sigmavirus24","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sigmavirus24"},{"login":"asottile","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/asottile"},{"login":"ssbarnea","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ssbarnea"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/py3-mccabe-pyc/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/py3-mccabe-pyc/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/py3-mccabe-pyc/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/py3-mccabe-pyc/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/py3-mccabe-pyc/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/py3-mccabe-pyc/codemeta","maintainers":[{"uuid":"fabian@affolter-engineering.ch","login":null,"name":"Fabian Affolter","email":null,"url":"https://pkgs.alpinelinux.org/packages?maintainer=Fabian Affolter","packages_count":280,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Fabian Affolter","role":null,"created_at":"2023-05-23T07:16:10.695Z","updated_at":"2023-05-23T07:16:10.695Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/maintainers/fabian@affolter-engineering.ch/packages"}],"registry":{"name":"alpine-v3.18","url":"https://pkgs.alpinelinux.org/packages?branch=v3.18","ecosystem":"alpine","default":false,"packages_count":20068,"maintainers_count":367,"namespaces_count":2,"keywords_count":3639,"github":"alpinelinux","metadata":{"repos":["main","community"],"funded_packages_count":1238},"icon_url":"https://github.com/alpinelinux.png","created_at":"2023-05-22T10:43:30.622Z","updated_at":"2026-08-22T05:06:15.110Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/namespaces"}},{"id":10344863,"name":"py3-mccabe","ecosystem":"alpine","description":"A McCabe complexity checker plugin for Flake8","homepage":"https://github.com/PyCQA/mccabe","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/PyCQA/mccabe","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2024-04-12T09:59:22.000Z","latest_release_published_at":"2024-04-12T09:59:22.000Z","latest_release_number":"0.7.0-r3","last_synced_at":"2026-03-11T23:09:33.733Z","created_at":"2024-06-11T10:07:49.164Z","updated_at":"2026-08-18T11:38:41.743Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.20/community/x86_64/py3-mccabe","install_command":"apk add py3-mccabe","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":7045095,"uuid":"8323509","full_name":"PyCQA/mccabe","owner":"PyCQA","description":"McCabe complexity checker for Python","archived":false,"fork":false,"pushed_at":"2026-06-28T01:01:39.000Z","size":116,"stargazers_count":681,"open_issues_count":12,"forks_count":65,"subscribers_count":15,"default_branch":"master","last_synced_at":"2026-08-18T10:36:57.494Z","etag":null,"topics":["complexity","complexity-analysis","flake8","flake8-extensions","flake8-plugin","linter-flake8","linter-plugin","mccabe","python"],"latest_commit_sha":null,"homepage":"pypi.python.org/pypi/mccabe","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"mxcl/PromiseKit","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PyCQA.png","metadata":{"files":{"readme":"README.rst","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-02-20T22:19:04.000Z","updated_at":"2026-08-13T18:12:59.000Z","dependencies_parsed_at":"2023-01-13T14:14:44.065Z","dependency_job_id":"97d17ba8-e5b2-4dcb-a1ef-90cbb568d25e","html_url":"https://github.com/PyCQA/mccabe","commit_stats":{"total_commits":110,"total_committers":26,"mean_commits":4.230769230769231,"dds":0.6818181818181819,"last_synced_commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"previous_names":["flintwork/mccabe"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/PyCQA/mccabe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/sbom","scorecard":{"id":115205,"data":{"date":"2025-08-11","repo":{"name":"github.com/PyCQA/mccabe","commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":"Code-Review","score":9,"reason":"Found 13/14 approved changesets -- score normalized to 9","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":-1,"reason":"no workflows found","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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: OSSFuzz integration found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 29 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T01:01:57.399Z","repository_id":7045095,"created_at":"2025-08-16T01:01:57.399Z","updated_at":"2025-08-16T01:01:57.399Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36767091,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-18T02:00:06.197Z","response_time":52,"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":"PyCQA","name":"Python Code Quality Authority","uuid":"8749848","kind":"organization","description":"Organization for code quality tools (and plugins) for the Python programming language","email":"code-quality@python.org","website":"http://meta.pycqa.org","location":"Everywhere","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/8749848?v=4","repositories_count":28,"last_synced_at":"2026-08-18T00:22:02.382Z","metadata":{"has_sponsors_listing":false,"funding":null},"html_url":"https://github.com/PyCQA","funding_links":[],"total_stars":28819,"followers":1026,"following":0,"created_at":"2022-11-02T16:22:05.191Z","updated_at":"2026-08-18T00:22:02.396Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA/repositories"},"tags":[{"name":"0.7.0","sha":"835a5400881b7460998be51d871fd36f836db3c9","kind":"tag","published_at":"2022-01-24T01:11:31.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.7.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0/manifests"},{"name":"0.6.1","sha":"55942cba66d39c39bd0d8425ee29822be16dfded","kind":"tag","published_at":"2017-02-07T12:31:06.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1/manifests"},{"name":"0.6.0","sha":"6a7aa34d0b7a03fd3a0ab42c45f4cc37c5e204f8","kind":"tag","published_at":"2017-01-23T12:41:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0/manifests"},{"name":"0.5.3","sha":"682145a37fee41fe7b6640244faa0c3f58e3b496","kind":"tag","published_at":"2016-12-14T13:07:37.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3/manifests"},{"name":"0.5.2","sha":"ec3787d685fe4ac3fa3f74ddd448db0a63f9464a","kind":"tag","published_at":"2016-07-31T19:05:08.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2/manifests"},{"name":"0.5.1","sha":"a3d91e8558e8d85d641b31276d34793caeb546ff","kind":"tag","published_at":"2016-07-28T10:54:32.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1/manifests"},{"name":"0.5.0","sha":"24ed5ee0791b1006e2d3d4774f651aa77c7b9a45","kind":"tag","published_at":"2016-05-30T20:55:35.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0/manifests"},{"name":"0.4.0","sha":"4931fcd5acebcc408a676b00cd1b9822e868c279","kind":"tag","published_at":"2016-01-27T16:59:28.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.4.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0/manifests"},{"name":"0.3.1","sha":"b193aaa906161ba590f2e0722eb479defa073923","kind":"tag","published_at":"2015-06-14T18:57:49.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1/manifests"},{"name":"0.3","sha":"e8aea16d28e92bd3c62601275762fc9c16808f6c","kind":"commit","published_at":"2014-12-17T01:22:10.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3/manifests"},{"name":"0.2.1","sha":"255ca7f93d62d56f53c1b7b8eb74923dec30ffe4","kind":"commit","published_at":"2013-04-03T12:45:13.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1/manifests"},{"name":"0.2","sha":"e88be51e0c6c2bd1b87d7a44b7e71b78fdc53959","kind":"commit","published_at":"2013-02-22T07:04:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2/manifests"},{"name":"0.1","sha":"4c326ed876b4a3046d1f2521c61b1d29d7633cd6","kind":"commit","published_at":"2013-02-11T08:14:25.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1/manifests"}]},"repo_metadata_updated_at":"2026-08-18T11:38:41.743Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:apk/alpine/py3-mccabe?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.20","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-mccabe","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-mccabe","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-mccabe/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:05:24.022Z","issues_count":50,"pull_requests_count":63,"avg_time_to_close_issue":8569675.048780488,"avg_time_to_close_pull_request":8642673.064516129,"issues_closed_count":41,"pull_requests_closed_count":62,"pull_request_authors_count":35,"issue_authors_count":40,"avg_comments_per_issue":2.72,"avg_comments_per_pull_request":1.8571428571428572,"merged_pull_requests_count":43,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":13909.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/issues","maintainers":[{"login":"sigmavirus24","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sigmavirus24"},{"login":"asottile","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/asottile"},{"login":"ssbarnea","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ssbarnea"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/py3-mccabe/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/py3-mccabe/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/py3-mccabe/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/py3-mccabe/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/py3-mccabe/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/py3-mccabe/codemeta","maintainers":[{"uuid":"fabian@affolter-engineering.ch","login":null,"name":"Fabian Affolter","email":"fabian@affolter-engineering.ch","url":"https://pkgs.alpinelinux.org/packages?maintainer=Fabian Affolter","packages_count":190,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Fabian Affolter","role":null,"created_at":"2024-06-12T01:17:06.353Z","updated_at":"2024-06-12T01:17:06.353Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/maintainers/fabian@affolter-engineering.ch/packages"}],"registry":{"name":"alpine-v3.20","url":"https://pkgs.alpinelinux.org/packages?branch=v3.20","ecosystem":"alpine","default":false,"packages_count":24162,"maintainers_count":405,"namespaces_count":2,"keywords_count":4251,"github":"alpinelinux","metadata":{"repos":["main","community"],"funded_packages_count":1543},"icon_url":"https://github.com/alpinelinux.png","created_at":"2024-06-07T11:51:39.915Z","updated_at":"2026-08-24T05:06:36.705Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/namespaces"}},{"id":5284252,"name":"mccabe","ecosystem":"conda","description":null,"homepage":"https://github.com/PyCQA/mccabe","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/PyCQA/mccabe","keywords_array":[],"namespace":null,"versions_count":2,"first_release_published_at":"2018-07-05T13:56:01.000Z","latest_release_published_at":"2022-02-07T08:16:22.000Z","latest_release_number":"0.7.0","last_synced_at":"2026-03-14T13:17:50.129Z","created_at":"2022-10-03T15:40:41.569Z","updated_at":"2026-08-18T11:41:33.295Z","registry_url":"https://anaconda.org/anaconda/mccabe","install_command":"conda install -c anaconda mccabe","documentation_url":null,"metadata":{},"repo_metadata":{"id":7045095,"uuid":"8323509","full_name":"PyCQA/mccabe","owner":"PyCQA","description":"McCabe complexity checker for Python","archived":false,"fork":false,"pushed_at":"2026-06-28T01:01:39.000Z","size":116,"stargazers_count":681,"open_issues_count":12,"forks_count":65,"subscribers_count":15,"default_branch":"master","last_synced_at":"2026-08-18T10:36:57.494Z","etag":null,"topics":["complexity","complexity-analysis","flake8","flake8-extensions","flake8-plugin","linter-flake8","linter-plugin","mccabe","python"],"latest_commit_sha":null,"homepage":"pypi.python.org/pypi/mccabe","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"mxcl/PromiseKit","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PyCQA.png","metadata":{"files":{"readme":"README.rst","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-02-20T22:19:04.000Z","updated_at":"2026-08-13T18:12:59.000Z","dependencies_parsed_at":"2023-01-13T14:14:44.065Z","dependency_job_id":"97d17ba8-e5b2-4dcb-a1ef-90cbb568d25e","html_url":"https://github.com/PyCQA/mccabe","commit_stats":{"total_commits":110,"total_committers":26,"mean_commits":4.230769230769231,"dds":0.6818181818181819,"last_synced_commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"previous_names":["flintwork/mccabe"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/PyCQA/mccabe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/sbom","scorecard":{"id":115205,"data":{"date":"2025-08-11","repo":{"name":"github.com/PyCQA/mccabe","commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":"Code-Review","score":9,"reason":"Found 13/14 approved changesets -- score normalized to 9","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":-1,"reason":"no workflows found","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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: OSSFuzz integration found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 29 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T01:01:57.399Z","repository_id":7045095,"created_at":"2025-08-16T01:01:57.399Z","updated_at":"2025-08-16T01:01:57.399Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36767091,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-18T02:00:06.197Z","response_time":52,"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":"PyCQA","name":"Python Code Quality Authority","uuid":"8749848","kind":"organization","description":"Organization for code quality tools (and plugins) for the Python programming language","email":"code-quality@python.org","website":"http://meta.pycqa.org","location":"Everywhere","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/8749848?v=4","repositories_count":28,"last_synced_at":"2026-08-18T00:22:02.382Z","metadata":{"has_sponsors_listing":false,"funding":null},"html_url":"https://github.com/PyCQA","funding_links":[],"total_stars":28819,"followers":1026,"following":0,"created_at":"2022-11-02T16:22:05.191Z","updated_at":"2026-08-18T00:22:02.396Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA/repositories"},"tags":[{"name":"0.7.0","sha":"835a5400881b7460998be51d871fd36f836db3c9","kind":"tag","published_at":"2022-01-24T01:11:31.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.7.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0/manifests"},{"name":"0.6.1","sha":"55942cba66d39c39bd0d8425ee29822be16dfded","kind":"tag","published_at":"2017-02-07T12:31:06.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1/manifests"},{"name":"0.6.0","sha":"6a7aa34d0b7a03fd3a0ab42c45f4cc37c5e204f8","kind":"tag","published_at":"2017-01-23T12:41:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0/manifests"},{"name":"0.5.3","sha":"682145a37fee41fe7b6640244faa0c3f58e3b496","kind":"tag","published_at":"2016-12-14T13:07:37.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3/manifests"},{"name":"0.5.2","sha":"ec3787d685fe4ac3fa3f74ddd448db0a63f9464a","kind":"tag","published_at":"2016-07-31T19:05:08.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2/manifests"},{"name":"0.5.1","sha":"a3d91e8558e8d85d641b31276d34793caeb546ff","kind":"tag","published_at":"2016-07-28T10:54:32.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1/manifests"},{"name":"0.5.0","sha":"24ed5ee0791b1006e2d3d4774f651aa77c7b9a45","kind":"tag","published_at":"2016-05-30T20:55:35.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0/manifests"},{"name":"0.4.0","sha":"4931fcd5acebcc408a676b00cd1b9822e868c279","kind":"tag","published_at":"2016-01-27T16:59:28.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.4.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0/manifests"},{"name":"0.3.1","sha":"b193aaa906161ba590f2e0722eb479defa073923","kind":"tag","published_at":"2015-06-14T18:57:49.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1/manifests"},{"name":"0.3","sha":"e8aea16d28e92bd3c62601275762fc9c16808f6c","kind":"commit","published_at":"2014-12-17T01:22:10.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3/manifests"},{"name":"0.2.1","sha":"255ca7f93d62d56f53c1b7b8eb74923dec30ffe4","kind":"commit","published_at":"2013-04-03T12:45:13.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1/manifests"},{"name":"0.2","sha":"e88be51e0c6c2bd1b87d7a44b7e71b78fdc53959","kind":"commit","published_at":"2013-02-22T07:04:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2/manifests"},{"name":"0.1","sha":"4c326ed876b4a3046d1f2521c61b1d29d7633cd6","kind":"commit","published_at":"2013-02-11T08:14:25.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1/manifests"}]},"repo_metadata_updated_at":"2026-08-18T11:41:33.295Z","dependent_packages_count":4,"downloads":530719,"downloads_period":"total","dependent_repos_count":432,"rankings":{"downloads":null,"dependent_repos_count":8.124433705829055,"dependent_packages_count":11.114466928420416,"stargazers_count":29.809725158562365,"forks_count":38.23618242222893,"docker_downloads_count":null,"average":21.821202053760192},"purl":"pkg:conda/mccabe","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/conda/mccabe","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/conda/mccabe","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/conda/mccabe/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-18T10:31:57.067Z","issues_count":50,"pull_requests_count":64,"avg_time_to_close_issue":8569675.048780488,"avg_time_to_close_pull_request":8642673.064516129,"issues_closed_count":41,"pull_requests_closed_count":62,"pull_request_authors_count":36,"issue_authors_count":40,"avg_comments_per_issue":2.72,"avg_comments_per_pull_request":1.828125,"merged_pull_requests_count":43,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":3,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":13909.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/issues","maintainers":[{"login":"sigmavirus24","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sigmavirus24"},{"login":"asottile","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/asottile"},{"login":"ssbarnea","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ssbarnea"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/mccabe/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/mccabe/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/mccabe/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/mccabe/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/mccabe/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/mccabe/codemeta","maintainers":[],"registry":{"name":"anaconda.org","url":"https://anaconda.org","ecosystem":"conda","default":true,"packages_count":5475,"maintainers_count":0,"namespaces_count":0,"keywords_count":3313,"github":"Anaconda","metadata":{"kind":"anaconda","key":"Main","api":"https://repo.ananconda.com","funded_packages_count":852},"icon_url":"https://github.com/Anaconda.png","created_at":"2022-10-03T15:37:08.736Z","updated_at":"2026-08-24T05:06:29.101Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/namespaces"}},{"id":10344854,"name":"py3-mccabe-pyc","ecosystem":"alpine","description":"Precompiled Python bytecode for py3-mccabe","homepage":"https://github.com/PyCQA/mccabe","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/PyCQA/mccabe","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2024-04-12T09:59:22.000Z","latest_release_published_at":"2024-04-12T09:59:22.000Z","latest_release_number":"0.7.0-r3","last_synced_at":"2026-03-11T23:09:43.573Z","created_at":"2024-06-11T10:07:42.438Z","updated_at":"2026-08-18T12:32:53.776Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.20/community/x86_64/py3-mccabe-pyc","install_command":"apk add py3-mccabe-pyc","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":7045095,"uuid":"8323509","full_name":"PyCQA/mccabe","owner":"PyCQA","description":"McCabe complexity checker for Python","archived":false,"fork":false,"pushed_at":"2026-06-28T01:01:39.000Z","size":116,"stargazers_count":681,"open_issues_count":12,"forks_count":65,"subscribers_count":15,"default_branch":"master","last_synced_at":"2026-08-18T10:36:57.494Z","etag":null,"topics":["complexity","complexity-analysis","flake8","flake8-extensions","flake8-plugin","linter-flake8","linter-plugin","mccabe","python"],"latest_commit_sha":null,"homepage":"pypi.python.org/pypi/mccabe","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"mxcl/PromiseKit","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PyCQA.png","metadata":{"files":{"readme":"README.rst","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-02-20T22:19:04.000Z","updated_at":"2026-08-13T18:12:59.000Z","dependencies_parsed_at":"2023-01-13T14:14:44.065Z","dependency_job_id":"97d17ba8-e5b2-4dcb-a1ef-90cbb568d25e","html_url":"https://github.com/PyCQA/mccabe","commit_stats":{"total_commits":110,"total_committers":26,"mean_commits":4.230769230769231,"dds":0.6818181818181819,"last_synced_commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"previous_names":["flintwork/mccabe"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/PyCQA/mccabe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/sbom","scorecard":{"id":115205,"data":{"date":"2025-08-11","repo":{"name":"github.com/PyCQA/mccabe","commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":"Code-Review","score":9,"reason":"Found 13/14 approved changesets -- score normalized to 9","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":-1,"reason":"no workflows found","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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: OSSFuzz integration found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 29 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T01:01:57.399Z","repository_id":7045095,"created_at":"2025-08-16T01:01:57.399Z","updated_at":"2025-08-16T01:01:57.399Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36767091,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-18T02:00:06.197Z","response_time":52,"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":"PyCQA","name":"Python Code Quality Authority","uuid":"8749848","kind":"organization","description":"Organization for code quality tools (and plugins) for the Python programming language","email":"code-quality@python.org","website":"http://meta.pycqa.org","location":"Everywhere","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/8749848?v=4","repositories_count":28,"last_synced_at":"2026-08-18T00:22:02.382Z","metadata":{"has_sponsors_listing":false,"funding":null},"html_url":"https://github.com/PyCQA","funding_links":[],"total_stars":28819,"followers":1026,"following":0,"created_at":"2022-11-02T16:22:05.191Z","updated_at":"2026-08-18T00:22:02.396Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA/repositories"},"tags":[{"name":"0.7.0","sha":"835a5400881b7460998be51d871fd36f836db3c9","kind":"tag","published_at":"2022-01-24T01:11:31.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.7.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0/manifests"},{"name":"0.6.1","sha":"55942cba66d39c39bd0d8425ee29822be16dfded","kind":"tag","published_at":"2017-02-07T12:31:06.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1/manifests"},{"name":"0.6.0","sha":"6a7aa34d0b7a03fd3a0ab42c45f4cc37c5e204f8","kind":"tag","published_at":"2017-01-23T12:41:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0/manifests"},{"name":"0.5.3","sha":"682145a37fee41fe7b6640244faa0c3f58e3b496","kind":"tag","published_at":"2016-12-14T13:07:37.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3/manifests"},{"name":"0.5.2","sha":"ec3787d685fe4ac3fa3f74ddd448db0a63f9464a","kind":"tag","published_at":"2016-07-31T19:05:08.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2/manifests"},{"name":"0.5.1","sha":"a3d91e8558e8d85d641b31276d34793caeb546ff","kind":"tag","published_at":"2016-07-28T10:54:32.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1/manifests"},{"name":"0.5.0","sha":"24ed5ee0791b1006e2d3d4774f651aa77c7b9a45","kind":"tag","published_at":"2016-05-30T20:55:35.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0/manifests"},{"name":"0.4.0","sha":"4931fcd5acebcc408a676b00cd1b9822e868c279","kind":"tag","published_at":"2016-01-27T16:59:28.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.4.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0/manifests"},{"name":"0.3.1","sha":"b193aaa906161ba590f2e0722eb479defa073923","kind":"tag","published_at":"2015-06-14T18:57:49.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1/manifests"},{"name":"0.3","sha":"e8aea16d28e92bd3c62601275762fc9c16808f6c","kind":"commit","published_at":"2014-12-17T01:22:10.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3/manifests"},{"name":"0.2.1","sha":"255ca7f93d62d56f53c1b7b8eb74923dec30ffe4","kind":"commit","published_at":"2013-04-03T12:45:13.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1/manifests"},{"name":"0.2","sha":"e88be51e0c6c2bd1b87d7a44b7e71b78fdc53959","kind":"commit","published_at":"2013-02-22T07:04:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2/manifests"},{"name":"0.1","sha":"4c326ed876b4a3046d1f2521c61b1d29d7633cd6","kind":"commit","published_at":"2013-02-11T08:14:25.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1/manifests"}]},"repo_metadata_updated_at":"2026-08-18T12:32:53.775Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:apk/alpine/py3-mccabe-pyc?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.20","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-mccabe-pyc","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-mccabe-pyc","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-mccabe-pyc/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-18T10:31:57.067Z","issues_count":50,"pull_requests_count":64,"avg_time_to_close_issue":8569675.048780488,"avg_time_to_close_pull_request":8642673.064516129,"issues_closed_count":41,"pull_requests_closed_count":62,"pull_request_authors_count":36,"issue_authors_count":40,"avg_comments_per_issue":2.72,"avg_comments_per_pull_request":1.828125,"merged_pull_requests_count":43,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":3,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":13909.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/issues","maintainers":[{"login":"sigmavirus24","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sigmavirus24"},{"login":"asottile","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/asottile"},{"login":"ssbarnea","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ssbarnea"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/py3-mccabe-pyc/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/py3-mccabe-pyc/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/py3-mccabe-pyc/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/py3-mccabe-pyc/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/py3-mccabe-pyc/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/py3-mccabe-pyc/codemeta","maintainers":[{"uuid":"fabian@affolter-engineering.ch","login":null,"name":"Fabian Affolter","email":"fabian@affolter-engineering.ch","url":"https://pkgs.alpinelinux.org/packages?maintainer=Fabian Affolter","packages_count":190,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Fabian Affolter","role":null,"created_at":"2024-06-12T01:16:43.330Z","updated_at":"2024-06-12T01:16:43.330Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/maintainers/fabian@affolter-engineering.ch/packages"}],"registry":{"name":"alpine-v3.20","url":"https://pkgs.alpinelinux.org/packages?branch=v3.20","ecosystem":"alpine","default":false,"packages_count":24162,"maintainers_count":405,"namespaces_count":2,"keywords_count":4251,"github":"alpinelinux","metadata":{"repos":["main","community"],"funded_packages_count":1543},"icon_url":"https://github.com/alpinelinux.png","created_at":"2024-06-07T11:51:39.915Z","updated_at":"2026-08-24T05:06:36.705Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/namespaces"}},{"id":5288975,"name":"mccabe","ecosystem":"conda","description":null,"homepage":"https://github.com/PyCQA/mccabe","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/PyCQA/mccabe","keywords_array":[],"namespace":null,"versions_count":4,"first_release_published_at":"2022-10-03T15:46:45.779Z","latest_release_published_at":"2022-01-24T18:41:54.000Z","latest_release_number":"0.7.0","last_synced_at":"2026-03-14T22:22:31.384Z","created_at":"2022-10-03T15:46:45.772Z","updated_at":"2026-08-18T12:14:56.682Z","registry_url":"https://anaconda.org/conda-forge/mccabe","install_command":"conda install -c conda-forge mccabe","documentation_url":null,"metadata":{},"repo_metadata":{"id":7045095,"uuid":"8323509","full_name":"PyCQA/mccabe","owner":"PyCQA","description":"McCabe complexity checker for Python","archived":false,"fork":false,"pushed_at":"2026-06-28T01:01:39.000Z","size":116,"stargazers_count":681,"open_issues_count":12,"forks_count":65,"subscribers_count":15,"default_branch":"master","last_synced_at":"2026-08-18T10:36:57.494Z","etag":null,"topics":["complexity","complexity-analysis","flake8","flake8-extensions","flake8-plugin","linter-flake8","linter-plugin","mccabe","python"],"latest_commit_sha":null,"homepage":"pypi.python.org/pypi/mccabe","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"mxcl/PromiseKit","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PyCQA.png","metadata":{"files":{"readme":"README.rst","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-02-20T22:19:04.000Z","updated_at":"2026-08-13T18:12:59.000Z","dependencies_parsed_at":"2023-01-13T14:14:44.065Z","dependency_job_id":"97d17ba8-e5b2-4dcb-a1ef-90cbb568d25e","html_url":"https://github.com/PyCQA/mccabe","commit_stats":{"total_commits":110,"total_committers":26,"mean_commits":4.230769230769231,"dds":0.6818181818181819,"last_synced_commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"previous_names":["flintwork/mccabe"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/PyCQA/mccabe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/sbom","scorecard":{"id":115205,"data":{"date":"2025-08-11","repo":{"name":"github.com/PyCQA/mccabe","commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":"Code-Review","score":9,"reason":"Found 13/14 approved changesets -- score normalized to 9","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":-1,"reason":"no workflows found","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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: OSSFuzz integration found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 29 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T01:01:57.399Z","repository_id":7045095,"created_at":"2025-08-16T01:01:57.399Z","updated_at":"2025-08-16T01:01:57.399Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36767091,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-18T02:00:06.197Z","response_time":52,"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":"PyCQA","name":"Python Code Quality Authority","uuid":"8749848","kind":"organization","description":"Organization for code quality tools (and plugins) for the Python programming language","email":"code-quality@python.org","website":"http://meta.pycqa.org","location":"Everywhere","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/8749848?v=4","repositories_count":28,"last_synced_at":"2026-08-18T00:22:02.382Z","metadata":{"has_sponsors_listing":false,"funding":null},"html_url":"https://github.com/PyCQA","funding_links":[],"total_stars":28819,"followers":1026,"following":0,"created_at":"2022-11-02T16:22:05.191Z","updated_at":"2026-08-18T00:22:02.396Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA/repositories"},"tags":[{"name":"0.7.0","sha":"835a5400881b7460998be51d871fd36f836db3c9","kind":"tag","published_at":"2022-01-24T01:11:31.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.7.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0/manifests"},{"name":"0.6.1","sha":"55942cba66d39c39bd0d8425ee29822be16dfded","kind":"tag","published_at":"2017-02-07T12:31:06.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1/manifests"},{"name":"0.6.0","sha":"6a7aa34d0b7a03fd3a0ab42c45f4cc37c5e204f8","kind":"tag","published_at":"2017-01-23T12:41:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0/manifests"},{"name":"0.5.3","sha":"682145a37fee41fe7b6640244faa0c3f58e3b496","kind":"tag","published_at":"2016-12-14T13:07:37.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3/manifests"},{"name":"0.5.2","sha":"ec3787d685fe4ac3fa3f74ddd448db0a63f9464a","kind":"tag","published_at":"2016-07-31T19:05:08.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2/manifests"},{"name":"0.5.1","sha":"a3d91e8558e8d85d641b31276d34793caeb546ff","kind":"tag","published_at":"2016-07-28T10:54:32.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1/manifests"},{"name":"0.5.0","sha":"24ed5ee0791b1006e2d3d4774f651aa77c7b9a45","kind":"tag","published_at":"2016-05-30T20:55:35.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0/manifests"},{"name":"0.4.0","sha":"4931fcd5acebcc408a676b00cd1b9822e868c279","kind":"tag","published_at":"2016-01-27T16:59:28.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.4.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0/manifests"},{"name":"0.3.1","sha":"b193aaa906161ba590f2e0722eb479defa073923","kind":"tag","published_at":"2015-06-14T18:57:49.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1/manifests"},{"name":"0.3","sha":"e8aea16d28e92bd3c62601275762fc9c16808f6c","kind":"commit","published_at":"2014-12-17T01:22:10.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3/manifests"},{"name":"0.2.1","sha":"255ca7f93d62d56f53c1b7b8eb74923dec30ffe4","kind":"commit","published_at":"2013-04-03T12:45:13.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1/manifests"},{"name":"0.2","sha":"e88be51e0c6c2bd1b87d7a44b7e71b78fdc53959","kind":"commit","published_at":"2013-02-22T07:04:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2/manifests"},{"name":"0.1","sha":"4c326ed876b4a3046d1f2521c61b1d29d7633cd6","kind":"commit","published_at":"2013-02-11T08:14:25.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1/manifests"}]},"repo_metadata_updated_at":"2026-08-18T12:14:56.682Z","dependent_packages_count":14,"downloads":null,"downloads_period":null,"dependent_repos_count":432,"rankings":{"downloads":null,"dependent_repos_count":1.3773142372373872,"dependent_packages_count":4.471281002046011,"stargazers_count":16.83217725435401,"forks_count":25.07111133290084,"docker_downloads_count":null,"average":11.937970956634562},"purl":"pkg:conda/mccabe?repository_url=https://conda-forge.org","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/conda/mccabe","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/conda/mccabe","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/conda/mccabe/dependencies","status":null,"funding_links":[],"critical":true,"issue_metadata":{"last_synced_at":"2026-08-18T10:31:57.067Z","issues_count":50,"pull_requests_count":64,"avg_time_to_close_issue":8569675.048780488,"avg_time_to_close_pull_request":8642673.064516129,"issues_closed_count":41,"pull_requests_closed_count":62,"pull_request_authors_count":36,"issue_authors_count":40,"avg_comments_per_issue":2.72,"avg_comments_per_pull_request":1.828125,"merged_pull_requests_count":43,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":3,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":13909.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/issues","maintainers":[{"login":"sigmavirus24","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sigmavirus24"},{"login":"asottile","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/asottile"},{"login":"ssbarnea","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ssbarnea"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/mccabe/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/mccabe/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/mccabe/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/mccabe/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/mccabe/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/mccabe/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":13549,"github":"conda-forge","metadata":{"kind":"conda-forge","key":"CondaForge","api":"https://conda.anaconda.org","funded_packages_count":2348},"icon_url":"https://github.com/conda-forge.png","created_at":"2022-10-03T15:37:08.743Z","updated_at":"2026-08-23T05:06:09.364Z","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":11139320,"name":"py3-mccabe","ecosystem":"alpine","description":"A McCabe complexity checker plugin for Flake8","homepage":"https://github.com/PyCQA/mccabe","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/PyCQA/mccabe","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2024-09-21T21:56:06.000Z","latest_release_published_at":"2024-09-21T21:56:06.000Z","latest_release_number":"0.7.0-r4","last_synced_at":"2026-08-24T11:30:19.032Z","created_at":"2024-12-07T12:50:59.991Z","updated_at":"2026-08-24T11:30:19.032Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.21/community/x86_64/py3-mccabe","install_command":"apk add py3-mccabe","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":7045095,"uuid":"8323509","full_name":"PyCQA/mccabe","owner":"PyCQA","description":"McCabe complexity checker for Python","archived":false,"fork":false,"pushed_at":"2026-06-28T01:01:39.000Z","size":116,"stargazers_count":680,"open_issues_count":11,"forks_count":64,"subscribers_count":15,"default_branch":"master","last_synced_at":"2026-08-04T07:21:06.588Z","etag":null,"topics":["complexity","complexity-analysis","flake8","flake8-extensions","flake8-plugin","linter-flake8","linter-plugin","mccabe","python"],"latest_commit_sha":null,"homepage":"pypi.python.org/pypi/mccabe","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"mxcl/PromiseKit","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PyCQA.png","metadata":{"files":{"readme":"README.rst","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-02-20T22:19:04.000Z","updated_at":"2026-08-03T02:32:04.000Z","dependencies_parsed_at":"2023-01-13T14:14:44.065Z","dependency_job_id":"97d17ba8-e5b2-4dcb-a1ef-90cbb568d25e","html_url":"https://github.com/PyCQA/mccabe","commit_stats":{"total_commits":110,"total_committers":26,"mean_commits":4.230769230769231,"dds":0.6818181818181819,"last_synced_commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"previous_names":["flintwork/mccabe"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/PyCQA/mccabe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/sbom","scorecard":{"id":115205,"data":{"date":"2025-08-11","repo":{"name":"github.com/PyCQA/mccabe","commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":"Code-Review","score":9,"reason":"Found 13/14 approved changesets -- score normalized to 9","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":-1,"reason":"no workflows found","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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: OSSFuzz integration found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 29 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T01:01:57.399Z","repository_id":7045095,"created_at":"2025-08-16T01:01:57.399Z","updated_at":"2025-08-16T01:01:57.399Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36318301,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-08-05T02:00:06.619Z","response_time":104,"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":"PyCQA","name":"Python Code Quality Authority","uuid":"8749848","kind":"organization","description":"Organization for code quality tools (and plugins) for the Python programming language","email":"code-quality@python.org","website":"http://meta.pycqa.org","location":"Everywhere","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/8749848?v=4","repositories_count":28,"last_synced_at":"2026-08-18T00:22:02.382Z","metadata":{"has_sponsors_listing":false,"funding":null},"html_url":"https://github.com/PyCQA","funding_links":[],"total_stars":28819,"followers":1026,"following":0,"created_at":"2022-11-02T16:22:05.191Z","updated_at":"2026-08-18T00:22:02.396Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA/repositories"},"tags":[{"name":"0.7.0","sha":"835a5400881b7460998be51d871fd36f836db3c9","kind":"tag","published_at":"2022-01-24T01:11:31.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.7.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0/manifests"},{"name":"0.6.1","sha":"55942cba66d39c39bd0d8425ee29822be16dfded","kind":"tag","published_at":"2017-02-07T12:31:06.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1/manifests"},{"name":"0.6.0","sha":"6a7aa34d0b7a03fd3a0ab42c45f4cc37c5e204f8","kind":"tag","published_at":"2017-01-23T12:41:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0/manifests"},{"name":"0.5.3","sha":"682145a37fee41fe7b6640244faa0c3f58e3b496","kind":"tag","published_at":"2016-12-14T13:07:37.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3/manifests"},{"name":"0.5.2","sha":"ec3787d685fe4ac3fa3f74ddd448db0a63f9464a","kind":"tag","published_at":"2016-07-31T19:05:08.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2/manifests"},{"name":"0.5.1","sha":"a3d91e8558e8d85d641b31276d34793caeb546ff","kind":"tag","published_at":"2016-07-28T10:54:32.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1/manifests"},{"name":"0.5.0","sha":"24ed5ee0791b1006e2d3d4774f651aa77c7b9a45","kind":"tag","published_at":"2016-05-30T20:55:35.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0/manifests"},{"name":"0.4.0","sha":"4931fcd5acebcc408a676b00cd1b9822e868c279","kind":"tag","published_at":"2016-01-27T16:59:28.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.4.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0/manifests"},{"name":"0.3.1","sha":"b193aaa906161ba590f2e0722eb479defa073923","kind":"tag","published_at":"2015-06-14T18:57:49.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1/manifests"},{"name":"0.3","sha":"e8aea16d28e92bd3c62601275762fc9c16808f6c","kind":"commit","published_at":"2014-12-17T01:22:10.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3/manifests"},{"name":"0.2.1","sha":"255ca7f93d62d56f53c1b7b8eb74923dec30ffe4","kind":"commit","published_at":"2013-04-03T12:45:13.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1/manifests"},{"name":"0.2","sha":"e88be51e0c6c2bd1b87d7a44b7e71b78fdc53959","kind":"commit","published_at":"2013-02-22T07:04:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2/manifests"},{"name":"0.1","sha":"4c326ed876b4a3046d1f2521c61b1d29d7633cd6","kind":"commit","published_at":"2013-02-11T08:14:25.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1/manifests"}]},"repo_metadata_updated_at":"2026-08-18T11:37:21.262Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:apk/alpine/py3-mccabe?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.21","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-mccabe","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-mccabe","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-mccabe/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:05:24.022Z","issues_count":50,"pull_requests_count":63,"avg_time_to_close_issue":8569675.048780488,"avg_time_to_close_pull_request":8642673.064516129,"issues_closed_count":41,"pull_requests_closed_count":62,"pull_request_authors_count":35,"issue_authors_count":40,"avg_comments_per_issue":2.72,"avg_comments_per_pull_request":1.8571428571428572,"merged_pull_requests_count":43,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":13909.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/issues","maintainers":[{"login":"sigmavirus24","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sigmavirus24"},{"login":"asottile","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/asottile"},{"login":"ssbarnea","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ssbarnea"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/py3-mccabe/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/py3-mccabe/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/py3-mccabe/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/py3-mccabe/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/py3-mccabe/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/py3-mccabe/codemeta","maintainers":[{"uuid":"alpine@ptrcnull.me","login":null,"name":"Patrycja Rosa","email":"alpine@ptrcnull.me","url":"https://pkgs.alpinelinux.org/packages?maintainer=Patrycja Rosa","packages_count":492,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Patrycja Rosa","role":null,"created_at":"2024-12-11T20:25:06.741Z","updated_at":"2024-12-11T20:25:06.741Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/maintainers/alpine@ptrcnull.me/packages"}],"registry":{"name":"alpine-v3.21","url":"https://pkgs.alpinelinux.org/packages?branch=v3.21","ecosystem":"alpine","default":false,"packages_count":25394,"maintainers_count":413,"namespaces_count":2,"keywords_count":3607,"github":"alpinelinux","metadata":{"repos":["main","community"],"funded_packages_count":1400},"icon_url":"https://github.com/alpinelinux.png","created_at":"2024-12-06T12:06:36.014Z","updated_at":"2026-08-24T05:06:22.358Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/namespaces"}},{"id":75665,"name":"py-mccabe","ecosystem":"spack","description":"Ned's script to check McCabe complexity.\n","homepage":"https://github.com/PyCQA/mccabe","licenses":"[]","normalized_licenses":["Other"],"repository_url":"https://github.com/PyCQA/mccabe","keywords_array":[],"namespace":null,"versions_count":13,"first_release_published_at":"2022-04-05T09:26:01.214Z","latest_release_published_at":"2022-11-11T01:36:58.258Z","latest_release_number":"0.7.0","last_synced_at":"2026-08-24T13:34:24.332Z","created_at":"2022-04-05T09:26:01.185Z","updated_at":"2026-08-24T13:34:24.333Z","registry_url":"https://packages.spack.io/package.html?name=py-mccabe","install_command":"spack install py-mccabe","documentation_url":null,"metadata":{},"repo_metadata":{"id":7045095,"uuid":"8323509","full_name":"PyCQA/mccabe","owner":"PyCQA","description":"McCabe complexity checker for Python","archived":false,"fork":false,"pushed_at":"2026-06-28T01:01:39.000Z","size":116,"stargazers_count":680,"open_issues_count":11,"forks_count":64,"subscribers_count":15,"default_branch":"master","last_synced_at":"2026-08-04T07:21:06.588Z","etag":null,"topics":["complexity","complexity-analysis","flake8","flake8-extensions","flake8-plugin","linter-flake8","linter-plugin","mccabe","python"],"latest_commit_sha":null,"homepage":"pypi.python.org/pypi/mccabe","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"mxcl/PromiseKit","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PyCQA.png","metadata":{"files":{"readme":"README.rst","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-02-20T22:19:04.000Z","updated_at":"2026-08-03T02:32:04.000Z","dependencies_parsed_at":"2023-01-13T14:14:44.065Z","dependency_job_id":"97d17ba8-e5b2-4dcb-a1ef-90cbb568d25e","html_url":"https://github.com/PyCQA/mccabe","commit_stats":{"total_commits":110,"total_committers":26,"mean_commits":4.230769230769231,"dds":0.6818181818181819,"last_synced_commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"previous_names":["flintwork/mccabe"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/PyCQA/mccabe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/sbom","scorecard":{"id":115205,"data":{"date":"2025-08-11","repo":{"name":"github.com/PyCQA/mccabe","commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":"Code-Review","score":9,"reason":"Found 13/14 approved changesets -- score normalized to 9","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":-1,"reason":"no workflows found","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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: OSSFuzz integration found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 29 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T01:01:57.399Z","repository_id":7045095,"created_at":"2025-08-16T01:01:57.399Z","updated_at":"2025-08-16T01:01:57.399Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36318301,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-08-05T02:00:06.619Z","response_time":104,"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":"PyCQA","name":"Python Code Quality Authority","uuid":"8749848","kind":"organization","description":"Organization for code quality tools (and plugins) for the Python programming language","email":"code-quality@python.org","website":"http://meta.pycqa.org","location":"Everywhere","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/8749848?v=4","repositories_count":28,"last_synced_at":"2026-08-18T00:22:02.382Z","metadata":{"has_sponsors_listing":false,"funding":null},"html_url":"https://github.com/PyCQA","funding_links":[],"total_stars":28819,"followers":1026,"following":0,"created_at":"2022-11-02T16:22:05.191Z","updated_at":"2026-08-18T00:22:02.396Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA/repositories"},"tags":[{"name":"0.7.0","sha":"835a5400881b7460998be51d871fd36f836db3c9","kind":"tag","published_at":"2022-01-24T01:11:31.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.7.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0/manifests"},{"name":"0.6.1","sha":"55942cba66d39c39bd0d8425ee29822be16dfded","kind":"tag","published_at":"2017-02-07T12:31:06.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1/manifests"},{"name":"0.6.0","sha":"6a7aa34d0b7a03fd3a0ab42c45f4cc37c5e204f8","kind":"tag","published_at":"2017-01-23T12:41:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0/manifests"},{"name":"0.5.3","sha":"682145a37fee41fe7b6640244faa0c3f58e3b496","kind":"tag","published_at":"2016-12-14T13:07:37.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3/manifests"},{"name":"0.5.2","sha":"ec3787d685fe4ac3fa3f74ddd448db0a63f9464a","kind":"tag","published_at":"2016-07-31T19:05:08.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2/manifests"},{"name":"0.5.1","sha":"a3d91e8558e8d85d641b31276d34793caeb546ff","kind":"tag","published_at":"2016-07-28T10:54:32.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1/manifests"},{"name":"0.5.0","sha":"24ed5ee0791b1006e2d3d4774f651aa77c7b9a45","kind":"tag","published_at":"2016-05-30T20:55:35.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0/manifests"},{"name":"0.4.0","sha":"4931fcd5acebcc408a676b00cd1b9822e868c279","kind":"tag","published_at":"2016-01-27T16:59:28.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.4.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0/manifests"},{"name":"0.3.1","sha":"b193aaa906161ba590f2e0722eb479defa073923","kind":"tag","published_at":"2015-06-14T18:57:49.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1/manifests"},{"name":"0.3","sha":"e8aea16d28e92bd3c62601275762fc9c16808f6c","kind":"commit","published_at":"2014-12-17T01:22:10.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3/manifests"},{"name":"0.2.1","sha":"255ca7f93d62d56f53c1b7b8eb74923dec30ffe4","kind":"commit","published_at":"2013-04-03T12:45:13.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1/manifests"},{"name":"0.2","sha":"e88be51e0c6c2bd1b87d7a44b7e71b78fdc53959","kind":"commit","published_at":"2013-02-22T07:04:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2/manifests"},{"name":"0.1","sha":"4c326ed876b4a3046d1f2521c61b1d29d7633cd6","kind":"commit","published_at":"2013-02-11T08:14:25.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1/manifests"}]},"repo_metadata_updated_at":"2026-08-18T11:17:42.825Z","dependent_packages_count":3,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":14.186466583298596,"stargazers_count":9.809642906766708,"forks_count":14.742253716826456,"average":9.68459080172294},"purl":"pkg:spack/py-mccabe","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/spack/py-mccabe","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/spack/py-mccabe","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/spack/py-mccabe/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-17T10:05:24.022Z","issues_count":50,"pull_requests_count":63,"avg_time_to_close_issue":8569675.048780488,"avg_time_to_close_pull_request":8642673.064516129,"issues_closed_count":41,"pull_requests_closed_count":62,"pull_request_authors_count":35,"issue_authors_count":40,"avg_comments_per_issue":2.72,"avg_comments_per_pull_request":1.8571428571428572,"merged_pull_requests_count":43,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":13909.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/issues","maintainers":[{"login":"sigmavirus24","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sigmavirus24"},{"login":"asottile","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/asottile"},{"login":"ssbarnea","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ssbarnea"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/spack.io/packages/py-mccabe/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/spack.io/packages/py-mccabe/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/spack.io/packages/py-mccabe/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/spack.io/packages/py-mccabe/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/spack.io/packages/py-mccabe/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/spack.io/packages/py-mccabe/codemeta","maintainers":[{"uuid":"adamjstewart","login":"adamjstewart","name":null,"email":null,"url":"https://github.com/adamjstewart","packages_count":2153,"html_url":null,"role":null,"created_at":"2022-11-14T16:52:26.046Z","updated_at":"2022-11-14T16:52:26.046Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/spack.io/maintainers/adamjstewart/packages"}],"registry":{"name":"spack.io","url":"https://packages.spack.io","ecosystem":"spack","default":true,"packages_count":9303,"maintainers_count":1032,"namespaces_count":0,"keywords_count":3959,"github":"spack","metadata":{"funded_packages_count":510},"icon_url":"https://github.com/spack.png","created_at":"2022-04-04T15:19:23.514Z","updated_at":"2026-08-24T05:06:47.739Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/spack.io/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/spack.io/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/spack.io/namespaces"}},{"id":2797312,"name":"mccabe","ecosystem":"pypi","description":"McCabe checker, plugin for flake8","homepage":"https://github.com/pycqa/mccabe","licenses":"Expat license","normalized_licenses":["Saxpath"],"repository_url":"https://github.com/pycqa/mccabe","keywords_array":["flake8","mccabe"],"namespace":null,"versions_count":13,"first_release_published_at":"2013-02-22T07:07:44.000Z","latest_release_published_at":"2022-01-24T01:14:49.000Z","latest_release_number":"0.7.0","last_synced_at":"2026-08-24T13:34:23.880Z","created_at":"2022-04-10T11:33:53.045Z","updated_at":"2026-08-24T13:34:23.881Z","registry_url":"https://pypi.org/project/mccabe/","install_command":"pip install mccabe --index-url https://pypi.org/simple","documentation_url":"https://mccabe.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Development Status :: 5 - Production/Stable","Environment :: Console","Intended Audience :: Developers","License :: OSI Approved :: MIT License","Operating System :: OS Independent","Programming Language :: Python","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.6","Programming Language :: Python :: 3.7","Programming Language :: Python :: 3.8","Programming Language :: Python :: 3.9","Topic :: Software Development :: Libraries :: Python Modules","Topic :: Software Development :: Quality Assurance"],"normalized_name":"mccabe","project_status":null},"repo_metadata":{"id":7045095,"uuid":"8323509","full_name":"PyCQA/mccabe","owner":"PyCQA","description":"McCabe complexity checker for Python","archived":false,"fork":false,"pushed_at":"2026-06-28T01:01:39.000Z","size":116,"stargazers_count":681,"open_issues_count":12,"forks_count":65,"subscribers_count":15,"default_branch":"master","last_synced_at":"2026-08-18T10:36:57.494Z","etag":null,"topics":["complexity","complexity-analysis","flake8","flake8-extensions","flake8-plugin","linter-flake8","linter-plugin","mccabe","python"],"latest_commit_sha":null,"homepage":"pypi.python.org/pypi/mccabe","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"mxcl/PromiseKit","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PyCQA.png","metadata":{"files":{"readme":"README.rst","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-02-20T22:19:04.000Z","updated_at":"2026-08-13T18:12:59.000Z","dependencies_parsed_at":"2023-01-13T14:14:44.065Z","dependency_job_id":"97d17ba8-e5b2-4dcb-a1ef-90cbb568d25e","html_url":"https://github.com/PyCQA/mccabe","commit_stats":{"total_commits":110,"total_committers":26,"mean_commits":4.230769230769231,"dds":0.6818181818181819,"last_synced_commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"previous_names":["flintwork/mccabe"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/PyCQA/mccabe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/sbom","scorecard":{"id":115205,"data":{"date":"2025-08-11","repo":{"name":"github.com/PyCQA/mccabe","commit":"60cf21c21f8e5880f9907561c53732e80d1be400"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"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":"Code-Review","score":9,"reason":"Found 13/14 approved changesets -- score normalized to 9","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":-1,"reason":"no workflows found","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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: OSSFuzz integration found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 29 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T01:01:57.399Z","repository_id":7045095,"created_at":"2025-08-16T01:01:57.399Z","updated_at":"2025-08-16T01:01:57.399Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782157,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"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":"PyCQA","name":"Python Code Quality Authority","uuid":"8749848","kind":"organization","description":"Organization for code quality tools (and plugins) for the Python programming language","email":"code-quality@python.org","website":"http://meta.pycqa.org","location":"Everywhere","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/8749848?v=4","repositories_count":28,"last_synced_at":"2026-08-20T01:07:13.833Z","metadata":{"has_sponsors_listing":false,"funding":null},"html_url":"https://github.com/PyCQA","funding_links":[],"total_stars":28819,"followers":1026,"following":0,"created_at":"2022-11-02T16:22:05.191Z","updated_at":"2026-08-20T01:07:13.848Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PyCQA/repositories"},"tags":[{"name":"0.7.0","sha":"835a5400881b7460998be51d871fd36f836db3c9","kind":"tag","published_at":"2022-01-24T01:11:31.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.7.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.7.0/manifests"},{"name":"0.6.1","sha":"55942cba66d39c39bd0d8425ee29822be16dfded","kind":"tag","published_at":"2017-02-07T12:31:06.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.1/manifests"},{"name":"0.6.0","sha":"6a7aa34d0b7a03fd3a0ab42c45f4cc37c5e204f8","kind":"tag","published_at":"2017-01-23T12:41:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.6.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.6.0/manifests"},{"name":"0.5.3","sha":"682145a37fee41fe7b6640244faa0c3f58e3b496","kind":"tag","published_at":"2016-12-14T13:07:37.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.3/manifests"},{"name":"0.5.2","sha":"ec3787d685fe4ac3fa3f74ddd448db0a63f9464a","kind":"tag","published_at":"2016-07-31T19:05:08.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.2/manifests"},{"name":"0.5.1","sha":"a3d91e8558e8d85d641b31276d34793caeb546ff","kind":"tag","published_at":"2016-07-28T10:54:32.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.1/manifests"},{"name":"0.5.0","sha":"24ed5ee0791b1006e2d3d4774f651aa77c7b9a45","kind":"tag","published_at":"2016-05-30T20:55:35.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.5.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.5.0/manifests"},{"name":"0.4.0","sha":"4931fcd5acebcc408a676b00cd1b9822e868c279","kind":"tag","published_at":"2016-01-27T16:59:28.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.4.0","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.4.0/manifests"},{"name":"0.3.1","sha":"b193aaa906161ba590f2e0722eb479defa073923","kind":"tag","published_at":"2015-06-14T18:57:49.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3.1/manifests"},{"name":"0.3","sha":"e8aea16d28e92bd3c62601275762fc9c16808f6c","kind":"commit","published_at":"2014-12-17T01:22:10.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.3","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.3/manifests"},{"name":"0.2.1","sha":"255ca7f93d62d56f53c1b7b8eb74923dec30ffe4","kind":"commit","published_at":"2013-04-03T12:45:13.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2.1/manifests"},{"name":"0.2","sha":"e88be51e0c6c2bd1b87d7a44b7e71b78fdc53959","kind":"commit","published_at":"2013-02-22T07:04:53.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.2","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.2/manifests"},{"name":"0.1","sha":"4c326ed876b4a3046d1f2521c61b1d29d7633cd6","kind":"commit","published_at":"2013-02-11T08:14:25.000Z","download_url":"https://codeload.github.com/PyCQA/mccabe/tar.gz/0.1","html_url":"https://github.com/PyCQA/mccabe/releases/tag/0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/PyCQA/mccabe@0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/tags/0.1/manifests"}]},"repo_metadata_updated_at":"2026-08-20T12:15:18.688Z","dependent_packages_count":240,"downloads":89895548,"downloads_period":"last-month","dependent_repos_count":139502,"rankings":{"downloads":0.03723356449935529,"dependent_repos_count":0.005502497216653491,"dependent_packages_count":0.0933590361092209,"stargazers_count":3.311035991834294,"forks_count":6.984869966819941,"docker_downloads_count":0.05887672021819236,"average":1.7484796294496094},"purl":"pkg:pypi/mccabe","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/mccabe","docker_dependents_count":5143,"docker_downloads_count":1001380975,"usage_url":"https://repos.ecosyste.ms/usage/pypi/mccabe","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/mccabe/dependencies","status":null,"funding_links":[],"critical":true,"issue_metadata":{"last_synced_at":"2026-08-19T11:02:19.694Z","issues_count":50,"pull_requests_count":64,"avg_time_to_close_issue":8569675.048780488,"avg_time_to_close_pull_request":8642673.064516129,"issues_closed_count":41,"pull_requests_closed_count":62,"pull_request_authors_count":36,"issue_authors_count":40,"avg_comments_per_issue":2.72,"avg_comments_per_pull_request":1.828125,"merged_pull_requests_count":43,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":3,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":13909.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/issues","maintainers":[{"login":"sigmavirus24","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sigmavirus24"},{"login":"asottile","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/asottile"},{"login":"ssbarnea","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ssbarnea"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/mccabe/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/mccabe/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/mccabe/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/mccabe/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/mccabe/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/mccabe/codemeta","maintainers":[{"uuid":"flox","login":"flox","name":null,"email":null,"url":null,"packages_count":14,"html_url":"https://pypi.org/user/flox/","role":null,"created_at":"2023-02-24T15:55:05.554Z","updated_at":"2023-02-24T15:55:05.554Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/flox/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":930432,"maintainers_count":399695,"namespaces_count":0,"keywords_count":311773,"github":"pypi","metadata":{"funded_packages_count":58574,"rate_limit":2},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2026-08-24T05:05:47.334Z","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":2565,"full_name":"PyCQA/mccabe","default_branch":"master","total_commits":111,"total_committers":24,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":4.625,"dds":0.6846846846846847,"past_year_total_commits":1,"past_year_total_committers":1,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":1.0,"past_year_dds":0.0,"last_synced_at":"2026-08-19T11:03:24.936Z","last_synced_commit":"292b5c71c3fe5496771b46ac9d86361c9b760d17","created_at":"2023-03-07T09:14:56.599Z","updated_at":"2026-08-19T11:03:24.388Z","committers":[{"name":"Ian Cordasco","email":"graffatcolmingov@gmail.com","login":"sigmavirus24","count":35},{"name":"Florent Xicluna","email":"florent.xicluna@gmail.com","login":"florentx","count":31},{"name":"Christian Clauss","email":"cclauss@me.com","login":"cclauss","count":7},{"name":"Jon Dufresne","email":"jon.dufresne@gmail.com","login":"jdufresne","count":7},{"name":"Buck Golemon","email":"buck@yelp.com","login":null,"count":5},{"name":"Anthony Sottile","email":"asottile@umich.edu","login":"asottile","count":3},{"name":"John Wiggins","email":"john.wiggins@xfel.eu","login":"jwiggins","count":3},{"name":"Max Görner","email":"5477952+MaxG87","login":"MaxG87","count":2},{"name":"Marc Schlaich","email":"marc.schlaich@googlemail.com","login":"schlamar","count":2},{"name":"Buck Evan","email":"workitharder@gmail.com","login":"bukzor","count":2},{"name":"Eugene Vereshchagin","email":"evvers@yandex-team.ru","login":null,"count":1},{"name":"Robrecht De Rouck","email":"Robrecht.De.Rouck@gmail.com","login":null,"count":1},{"name":"Daniel Hahler","email":"git@thequod.de","login":"blueyed","count":1},{"name":"Derek Gustafson","email":"degustaf@gmail.com","login":"degustaf","count":1},{"name":"GalaxySnail","email":"ylc991@163.com","login":"GalaxySnail","count":1},{"name":"Jason R. Coombs","email":"jaraco@jaraco.com","login":"jaraco","count":1},{"name":"Karthikeyan Singaravelan","email":"tir.karthi@gmail.com","login":"tirkarthi","count":1},{"name":"Miro Hrončok","email":"miro@hroncok.cz","login":"hroncok","count":1},{"name":"Nicholas Chammas","email":"nicholas.chammas@gmail.com","login":"nchammas","count":1},{"name":"Nikita Sobolev","email":"mail@sobolevn.me","login":"sobolevn","count":1},{"name":"Sam Brightman","email":"sam.brightman@gmail.com","login":"sambrightman","count":1},{"name":"Samuel Colvin","email":"samcolvin@gmail.com","login":"samuelcolvin","count":1},{"name":"Tushar Sadhwani","email":"86737547+tushar-deepsource","login":"tushar-deepsource","count":1},{"name":"nikolas","email":"nnyby@columbia.edu","login":"nikolas","count":1}],"past_year_committers":[{"name":"Buck Evan","email":"workitharder@gmail.com","login":"bukzor","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-08-20T00:00:10.776Z","repositories_count":6740034,"commits_count":975859012,"contributors_count":41146129,"owners_count":1356232,"committers_count":3349823,"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":{"table":{"full_name":"PyCQA/mccabe","html_url":"https://github.com/PyCQA/mccabe","last_synced_at":"2026-08-24T13:33:30.638Z","status":null,"issues_count":50,"pull_requests_count":64,"avg_time_to_close_issue":8569675.048780488,"avg_time_to_close_pull_request":8642673.064516129,"issues_closed_count":41,"pull_requests_closed_count":62,"pull_request_authors_count":36,"issue_authors_count":40,"avg_comments_per_issue":2.72,"avg_comments_per_pull_request":1.828125,"merged_pull_requests_count":43,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":3,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":13909.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"created_at":"2023-05-10T11:04:58.864Z","updated_at":"2026-08-24T13:33:30.639Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/PyCQA%2Fmccabe/issues","issue_labels_count":{"table":{"bug":1}},"pull_request_labels_count":{"table":{"do not merge":1}},"issue_author_associations_count":{"table":{"NONE":32,"CONTRIBUTOR":14,"MEMBER":4}},"pull_request_author_associations_count":{"table":{"CONTRIBUTOR":35,"NONE":18,"MEMBER":11}},"issue_authors":{"table":{"bukzor":8,"samuelcolvin":2,"robrechtdr":2,"ssbarnea":2,"amrishparmar":1,"Arcanemagus":1,"jwiggins":1,"limburgher":1,"tirkarthi":1,"atrigent":1,"xujianhua1974":1,"hroncok":1,"xmnlab":1,"felixonmars":1,"0-wiz-0":1,"buhtz":1,"nanonyme":1,"fuqianz":1,"raxod502":1,"sobolevn":1,"jrom99":1,"JanChec":1,"mikeweltevrede":1,"slava-shor-emporus":1,"karyon":1,"CaBazaga":1,"wbolster":1,"fkromer":1,"tamentis":1,"cjwatson":1,"Korijn":1,"Peque":1,"sharkwouter":1,"asottile":1,"sigmavirus24":1,"Apteryks":1,"kleptog":1,"thatch":1,"ghost":1,"PyGuy2":1}},"pull_request_authors":{"table":{"sigmavirus24":8,"jdufresne":7,"bukzor":5,"cclauss":5,"schlamar":3,"asottile":3,"ninjamar":2,"hugovk":2,"ghost":2,"jaraco":1,"nikolas":1,"florent-vial":1,"nchammas":1,"l46983284-cpu":1,"samuelcolvin":1,"gopackgo90":1,"tirkarthi":1,"tiagovrtr":1,"degustaf":1,"robrechtdr":1,"seppeljordan":1,"zwn":1,"sobolevn":1,"M001N":1,"sambrightman":1,"blueyed":1,"hroncok":1,"tushar-deepsource":1,"tombasche":1,"GalaxySnail":1,"MaxG87":1,"dcrosta":1,"jwiggins":1,"mgorny":1,"florentx":1,"Yourun-proger":1}},"host":{"table":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-08-25T00:00:09.459Z","repositories_count":16355184,"issues_count":42497104,"pull_requests_count":136066256,"authors_count":11525578,"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":{"table":{}},"past_year_pull_request_labels_count":{"table":{}},"past_year_issue_author_associations_count":{"table":{}},"past_year_pull_request_author_associations_count":{"table":{"NONE":2,"CONTRIBUTOR":1}},"past_year_issue_authors":{"table":{}},"past_year_pull_request_authors":{"table":{"bukzor":1,"l46983284-cpu":1,"M001N":1}},"maintainers":[{"table":{"login":"sigmavirus24","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sigmavirus24"}},{"table":{"login":"asottile","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/asottile"}},{"table":{"login":"ssbarnea","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ssbarnea"}}],"active_maintainers":[]}},"events":{"total":{"ForkEvent":4,"IssueCommentEvent":4,"IssuesEvent":2,"PullRequestEvent":3,"WatchEvent":27},"last_year":{"ForkEvent":1,"PullRequestEvent":1,"WatchEvent":3}},"keywords":["complexity","complexity-analysis","flake8","flake8-extensions","flake8-plugin","linter-flake8","linter-plugin","mccabe","python"],"dependencies":[],"score":30.530317518156107,"created_at":"2026-05-04T06:49:11.544Z","updated_at":"2026-08-25T14:03:49.759Z","avatar_url":"https://github.com/PyCQA.png","language":"Python","codemeta":null,"publiccode":null,"project_url":"https://summary.ecosyste.ms/api/v1/projects/371680","html_url":"https://summary.ecosyste.ms/projects/371680"}